SlideShare a Scribd company logo
1 of 37
Download to read offline
Adopting Autonomic Computing
Capabilities in Existing Large-Scale
Systems
Heng Li Tse-Hsun (Peter) Chen Ahmed E. Hassan
Mohamed Nasser, Parminder Flora
Manually configuring large-scale
software systems is costly & error-prone
Software systemWorkload Performance
4
Manually configuring large-scale
software systems is costly & error-prone
Software systemWorkload Performance
Configuration
5
Unsatisfied
perf. ?
Workloads are constantly evolving, requiring constant human
intervention to ensure optimal performance
6
Business
logic
Autonomic
computing
system
Autonomic computing aims to reduce
manual efforts
Adding autonomic computing capabilities
to existing large-scale systems
7
Software
system
Adding autonomic computing capabilities
to existing large-scale systems
Original system
Self-
monitoring
Self-configuring Self-optimizingOptimized
parameter values
Perf.
measures
8
Our subject system is designed without
an autonomic computing mindset
9
Millions of lines of code
Actively evolving (many
full-time developers)
Fast-paced agile
development
Thousands of organizations
use it for mission-critical
operations
Adding autonomic computing capabilities to
existing mission-critical systems is challenging
10
Millions of lines of code
Actively evolving (many
full-time developers)
Fast-paced agile
development
Thousands of organizations
use it for mission-critical
operations
Adopting autonomic computing
capabilities in existing large-scale systems
Understanding
runtime
behavior
Minimizing
footprint
Minimizing
risk
12
Statistics &
test
automation
Separation
from original
business logic
Getting
developers
involved
Expecting
failures & full
control
Proof of
concept &
transparencyThese challenges can generally apply to many other existing
systems that need autonomic computing capabilities
Minimizing
footprint
Minimizing
risk
Getting
developers
involved
Statistics &
test
automation
Separation
from original
business logic
Adopting autonomic computing
capabilities in existing large-scale systems
13
Expecting
failures & full
control
Proof of
concept &
transparency
Understanding
runtime
behavior
The runtime behaviour of a large-scale
system is usually not well understood
Environment Workload
Performance
Configuration
14
Developers may not fully understand the
performance impact of configurations
Environment Workload
Performance
Configuration
15
Studying the relationship between
configuration parameters and performance
Asking domain
experts
16
Perf. related
parameters Perf. data
Statistical
analysis
Perf. critical
parameters
Running
tests
Only a few out of many candidate parameters significantly
impact the system performance
Very costly!
Using test automation to minimize
experimental overhead
17
Cleanup system
Test run
Configuring
New configuration
Start system
Stop system
The original system only read
configs at startup
Removing the impact of the
previous test
Test automation is critical for minimizing manual effort and
leveraging testing resources during machine-spare time
Minimizing
footprint
Minimizing
risk
Getting
developers
involved
Adopting autonomic computing
capabilities in existing large-scale systems
18
Statistics &
test
automation
Separation
from original
business logic
Expecting
failures & full
control
Proof of
concept &
transparency
Understanding
runtime
behavior
Understanding
runtime
behavior
Minimizing
risk
Getting
developers
involved
Adopting autonomic computing
capabilities in existing large-scale systems
19
Statistics &
test
automation
Separation
from original
business logic
Expecting
failures & full
control
Proof of
concept &
transparency
Minimizing
footprint
Separating autonomic computing
concerns from the original business logic
Original system
Self-
monitoring
Self-configuring Self-optimizingOptimized
parameter values
Perf.
measures
22
Separating autonomic computing
concerns from the original business logic
Original system
Self-
monitoring
Self-configuring Self-optimizingOptimized
parameter values
24
Separate! Perf.
measures
Separating autonomic computing
concerns from the original business logic
Original system
Self-
monitoring
Self-configuring Self-optimizingOptimized
parameter values
Remote
management
Separate!
Streamed
log data
(Readily
available) 25
Perf.
measures
Separating autonomic computing
concerns from the original business logic
Original system
Self-
monitoring
Self-configuring Self-optimizingOptimized
parameter values
Remote
management
Separate!
Streamed
log data
(Readily
available) 26
Perf.
measures
Only changed a few hundreds lines of code to
the original system
Negligible performance overhead
Leveraging readily-existing logs to
monitor system runtime behavior
27
Log
streamsOriginal system
Real-time perf.
measures
Fast response to workload changes
(within seconds)
Log files
Perf. opt.
Understanding
runtime
behavior
Minimizing
risk
Getting
developers
involved
Adopting autonomic computing
capabilities in existing large-scale systems
28
Statistics &
test
automation
Expecting
failures & full
control
Proof of
concept &
transparency
Separation
from original
business logic
Minimizing
footprint
Understanding
runtime
behavior
Minimizing
risk
Minimizing
footprint
Process &
product
transparency
Statistics &
test
automation
Adopting autonomic computing
capabilities in existing large-scale systems
Expecting
failures &
transparency
29
Separation
from original
business logic
Getting
developers
involved
We need to drive developers to change
their code
Original system
Self-
monitoring
Self-configuring Self-optimizingOptimized
parameter values
Remote
management
Streamed
log data
(Readily
available) 30
Perf.
measures
(Involving
developers)
Motivate developers by proving the
concept of autonomic computing
31
Prove
the
concept
Motivate developers by proving the
concept of autonomic computing
Original system
Self-
monitoring
Self-configuring Self-optimizingOptimized
parameter values
Remote
management
Streamed
log data
(Readily
available) 32
Perf.
measures
(Involving
developers)
Stop and
re-config
Proving the concept of autonomic
computing
33
We regularly meet with the stakeholders to present/demo our
work, ensuring they are on the same pages as us
Prove
the
concept
Developers
change
code
Integrate code
changes & Prove
the concept
Developers
change
code
…
…
Visualizing the dynamics of autonomic
computing (transparency)
34
Monitoring
autonomic
computing
progress
Dashboard
Providing real-time debugging support to developers
Understanding
runtime
behavior
Minimizing
risk
Minimizing
footprint
Statistics &
test
automation
Adopting autonomic computing
capabilities in existing large-scale systems
Expecting
failures &
transparency
35
Separation
from original
business logic
Proof of
concept &
transparency
Getting
developers
involved
Understanding
runtime
behavior
Getting
developers
involved
Minimizing
footprint
Statistics &
test
automation
Adopting autonomic computing
capabilities in existing large-scale systems
Expecting
failures &
transparency
36
Separation
from original
business logic
Proof of
concept &
transparency
Minimizing
risk
Expecting failures
37
In case of a problem (e.g., crash):
- Ability to automatically unplug
the autonomic computing
capabilities;
- Ability to recover to a default
state.
The failures of the autonomic computing capabilities will not
interrupt the normal execution of the original system
Providing full manual control
38
Full
manual
control
Dashboard
Practitioners can turn on/off autonomic computing capabilities or
manually change configurations at any time
Understanding
runtime
behavior
Getting
developers
involved
Minimizing
footprint
Adopting autonomic computing
capabilities in existing large-scale systems
39
Statistics &
test
automation
Separation
from original
business logic
Expecting
failures & full
control
Proof of
concept &
transparency
Minimizing
risk
The autonomic computing capabilities
significantly improve system performance
40
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●●●●
●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●●●
●
●
●●
●
●●●●
●
●
●
●
●
●●●●●●
●
●
●
●
●●●●
●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●●●●
●●
●
●
●
●
●●●
●
●
●
●
●
●●
●
●
●●
●●
●
●
●
●
●
●
●●●●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●●
●●●●
●
●
●
●●●
●
●
●●
●●●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●●●●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●●
●
●
●●●
●
●●
●●●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●●●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●●
●
●
●
●
●
●
●
●●●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
0 60 120 180 240 300
Running Time (minutes)
Key
Performance
Indicator
Autonomic computing capabilities
● Turned off
Turned on
Low workload, KPI is optimal
High workload, KPI drops
(KPI)
The autonomic computing capabilities
significantly improve system performance
41
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●●●●
●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●●●
●
●
●●
●
●●●●
●
●
●
●
●
●●●●●●
●
●
●
●
●●●●
●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●●●●
●●
●
●
●
●
●●●
●
●
●
●
●
●●
●
●
●●
●●
●
●
●
●
●
●
●●●●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●●
●●●●
●
●
●
●●●
●
●
●●
●●●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●●●●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●●
●
●
●●●
●
●●
●●●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●●●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●●
●
●
●
●
●
●
●
●●●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
0 60 120 180 240 300
Running Time (minutes)
Key
Performance
Indicator
Autonomic computing capabilities
● Turned off
Turned on
KPI is always optimal
Adapting quickly to the changing workloads
(KPI)
Adopting autonomic computing
capabilities in existing large-scale systems
42
Statistics &
test
automation
Separation
from original
business logic
Expecting
failures & full
control
Proof of
concept &
transparency
Understanding
runtime
behavior
Minimizing
risk
Getting
developers
involved
Minimizing
footprint
Adopting autonomic computing
capabilities in existing large-scale systems
43
Statistics &
test
automation
Separation
from original
business logic
Expecting
failures & full
control
Proof of
concept &
transparency
Understanding
runtime
behavior
Minimizing
risk
Getting
developers
involved
Minimizing
footprint
Thank you!
http://hengli.org
hengli@cs.queensu.ca
@henglli

More Related Content

What's hot

Fairness in AI (DDSW 2019)
Fairness in AI (DDSW 2019)Fairness in AI (DDSW 2019)
Fairness in AI (DDSW 2019)GoDataDriven
 
introduction to machin learning
introduction to machin learningintroduction to machin learning
introduction to machin learningnilimapatel6
 
Hizmet Kalitesi Ölçülebilir mi?
Hizmet Kalitesi Ölçülebilir mi?Hizmet Kalitesi Ölçülebilir mi?
Hizmet Kalitesi Ölçülebilir mi?ubulgan
 
The Future of Machine Learning
The Future of Machine LearningThe Future of Machine Learning
The Future of Machine LearningRussell Miles
 
BULUT BİLİŞİM (CLOUD COMPUTING) TEKNOLOJİSİNİN UZAKTAN ALGILAMA ve COĞRAFİ Bİ...
BULUT BİLİŞİM (CLOUD COMPUTING) TEKNOLOJİSİNİN UZAKTAN ALGILAMA ve COĞRAFİ Bİ...BULUT BİLİŞİM (CLOUD COMPUTING) TEKNOLOJİSİNİN UZAKTAN ALGILAMA ve COĞRAFİ Bİ...
BULUT BİLİŞİM (CLOUD COMPUTING) TEKNOLOJİSİNİN UZAKTAN ALGILAMA ve COĞRAFİ Bİ...Levent Sabah
 
Some Basic Concepts of Object Oriented Methodology
Some Basic Concepts of Object Oriented MethodologySome Basic Concepts of Object Oriented Methodology
Some Basic Concepts of Object Oriented MethodologyManoj Kumar
 
A Tutorial to AI Ethics - Fairness, Bias & Perception
A Tutorial to AI Ethics - Fairness, Bias & Perception A Tutorial to AI Ethics - Fairness, Bias & Perception
A Tutorial to AI Ethics - Fairness, Bias & Perception Dr. Kim (Kyllesbech Larsen)
 

What's hot (8)

Responsible AI
Responsible AIResponsible AI
Responsible AI
 
Fairness in AI (DDSW 2019)
Fairness in AI (DDSW 2019)Fairness in AI (DDSW 2019)
Fairness in AI (DDSW 2019)
 
introduction to machin learning
introduction to machin learningintroduction to machin learning
introduction to machin learning
 
Hizmet Kalitesi Ölçülebilir mi?
Hizmet Kalitesi Ölçülebilir mi?Hizmet Kalitesi Ölçülebilir mi?
Hizmet Kalitesi Ölçülebilir mi?
 
The Future of Machine Learning
The Future of Machine LearningThe Future of Machine Learning
The Future of Machine Learning
 
BULUT BİLİŞİM (CLOUD COMPUTING) TEKNOLOJİSİNİN UZAKTAN ALGILAMA ve COĞRAFİ Bİ...
BULUT BİLİŞİM (CLOUD COMPUTING) TEKNOLOJİSİNİN UZAKTAN ALGILAMA ve COĞRAFİ Bİ...BULUT BİLİŞİM (CLOUD COMPUTING) TEKNOLOJİSİNİN UZAKTAN ALGILAMA ve COĞRAFİ Bİ...
BULUT BİLİŞİM (CLOUD COMPUTING) TEKNOLOJİSİNİN UZAKTAN ALGILAMA ve COĞRAFİ Bİ...
 
Some Basic Concepts of Object Oriented Methodology
Some Basic Concepts of Object Oriented MethodologySome Basic Concepts of Object Oriented Methodology
Some Basic Concepts of Object Oriented Methodology
 
A Tutorial to AI Ethics - Fairness, Bias & Perception
A Tutorial to AI Ethics - Fairness, Bias & Perception A Tutorial to AI Ethics - Fairness, Bias & Perception
A Tutorial to AI Ethics - Fairness, Bias & Perception
 

Similar to Adopting Autonomic Computing to Improve Existing Systems Performance

ITLCHN 18 - Automation & DevOps - Automic
ITLCHN 18 -  Automation & DevOps - AutomicITLCHN 18 -  Automation & DevOps - Automic
ITLCHN 18 - Automation & DevOps - AutomicIT Expert Club
 
UiPath Amsterdam DEV meet-up For Developers, By Developers
UiPath Amsterdam DEV meet-up For Developers, By DevelopersUiPath Amsterdam DEV meet-up For Developers, By Developers
UiPath Amsterdam DEV meet-up For Developers, By DevelopersCristina Vidu
 
Automotive engineering design - Model Based Design
Automotive engineering design - Model Based DesignAutomotive engineering design - Model Based Design
Automotive engineering design - Model Based DesignVinayagam Mariappan
 
Our Journey To Continuous Delivery
Our Journey To Continuous DeliveryOur Journey To Continuous Delivery
Our Journey To Continuous DeliveryRobert Mircea
 
Engineering plant facilities 17 artificial intelligence algorithms & proc...
Engineering plant facilities 17 artificial intelligence algorithms & proc...Engineering plant facilities 17 artificial intelligence algorithms & proc...
Engineering plant facilities 17 artificial intelligence algorithms & proc...Luis Cabrera
 
Engineering plant facilities 17 artificial intelligence algorithms & proc...
Engineering plant facilities 17 artificial intelligence algorithms & proc...Engineering plant facilities 17 artificial intelligence algorithms & proc...
Engineering plant facilities 17 artificial intelligence algorithms & proc...Luis Cabrera
 
Icon solutions presentation - Pure Hybrid Cloud Event, 11th September London
Icon solutions presentation - Pure Hybrid Cloud Event, 11th September LondonIcon solutions presentation - Pure Hybrid Cloud Event, 11th September London
Icon solutions presentation - Pure Hybrid Cloud Event, 11th September LondonIBM Systems UKI
 
Presentation Verification & Validation
Presentation Verification & ValidationPresentation Verification & Validation
Presentation Verification & ValidationElmar Selbach
 
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...Mozaic Works
 
Test Automation Trends For 2021
Test Automation Trends For 2021Test Automation Trends For 2021
Test Automation Trends For 2021BugRaptors
 
System imolementation(Modern Systems Analysis and Design)
System imolementation(Modern Systems Analysis and Design)System imolementation(Modern Systems Analysis and Design)
System imolementation(Modern Systems Analysis and Design)United International University
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQMIBM Rational
 
The future of testing - value generation 2021-04-24
The future of testing - value generation 2021-04-24The future of testing - value generation 2021-04-24
The future of testing - value generation 2021-04-24UiPath
 
UiPath Test Suite Overview
UiPath Test Suite OverviewUiPath Test Suite Overview
UiPath Test Suite OverviewErik Leaseburg
 
Rules in Artificial Intelligence
Rules in Artificial IntelligenceRules in Artificial Intelligence
Rules in Artificial IntelligencePierre Feillet
 
SBST 2019 Keynote
SBST 2019 Keynote SBST 2019 Keynote
SBST 2019 Keynote Shiva Nejati
 

Similar to Adopting Autonomic Computing to Improve Existing Systems Performance (20)

ITLCHN 18 - Automation & DevOps - Automic
ITLCHN 18 -  Automation & DevOps - AutomicITLCHN 18 -  Automation & DevOps - Automic
ITLCHN 18 - Automation & DevOps - Automic
 
UiPath Amsterdam DEV meet-up For Developers, By Developers
UiPath Amsterdam DEV meet-up For Developers, By DevelopersUiPath Amsterdam DEV meet-up For Developers, By Developers
UiPath Amsterdam DEV meet-up For Developers, By Developers
 
Automotive engineering design - Model Based Design
Automotive engineering design - Model Based DesignAutomotive engineering design - Model Based Design
Automotive engineering design - Model Based Design
 
CS ppt.pptx
CS ppt.pptxCS ppt.pptx
CS ppt.pptx
 
Our Journey To Continuous Delivery
Our Journey To Continuous DeliveryOur Journey To Continuous Delivery
Our Journey To Continuous Delivery
 
Engineering plant facilities 17 artificial intelligence algorithms & proc...
Engineering plant facilities 17 artificial intelligence algorithms & proc...Engineering plant facilities 17 artificial intelligence algorithms & proc...
Engineering plant facilities 17 artificial intelligence algorithms & proc...
 
Engineering plant facilities 17 artificial intelligence algorithms & proc...
Engineering plant facilities 17 artificial intelligence algorithms & proc...Engineering plant facilities 17 artificial intelligence algorithms & proc...
Engineering plant facilities 17 artificial intelligence algorithms & proc...
 
Icon solutions presentation - Pure Hybrid Cloud Event, 11th September London
Icon solutions presentation - Pure Hybrid Cloud Event, 11th September LondonIcon solutions presentation - Pure Hybrid Cloud Event, 11th September London
Icon solutions presentation - Pure Hybrid Cloud Event, 11th September London
 
Presentation Verification & Validation
Presentation Verification & ValidationPresentation Verification & Validation
Presentation Verification & Validation
 
Cim unit i-2_marks
Cim unit i-2_marksCim unit i-2_marks
Cim unit i-2_marks
 
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
 
Test Automation Trends For 2021
Test Automation Trends For 2021Test Automation Trends For 2021
Test Automation Trends For 2021
 
UiPath Test Automation Webinar Recap
UiPath Test Automation Webinar RecapUiPath Test Automation Webinar Recap
UiPath Test Automation Webinar Recap
 
System imolementation(Modern Systems Analysis and Design)
System imolementation(Modern Systems Analysis and Design)System imolementation(Modern Systems Analysis and Design)
System imolementation(Modern Systems Analysis and Design)
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
 
The future of testing - value generation 2021-04-24
The future of testing - value generation 2021-04-24The future of testing - value generation 2021-04-24
The future of testing - value generation 2021-04-24
 
UiPath Test Suite Overview
UiPath Test Suite OverviewUiPath Test Suite Overview
UiPath Test Suite Overview
 
Rules in Artificial Intelligence
Rules in Artificial IntelligenceRules in Artificial Intelligence
Rules in Artificial Intelligence
 
Critical parameter management
Critical parameter managementCritical parameter management
Critical parameter management
 
SBST 2019 Keynote
SBST 2019 Keynote SBST 2019 Keynote
SBST 2019 Keynote
 

More from Concordia University

Towards better software quality assurance by providing intelligent support
Towards better software quality assurance by providing intelligent supportTowards better software quality assurance by providing intelligent support
Towards better software quality assurance by providing intelligent supportConcordia University
 
A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...Concordia University
 
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...Concordia University
 
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...Concordia University
 
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...Concordia University
 
CSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
CSER2016 - Detecting Problems in Database Access Code of Large Scale SystemsCSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
CSER2016 - Detecting Problems in Database Access Code of Large Scale SystemsConcordia University
 
Improving the Performance of Database-Centric Applications Through Program An...
Improving the Performance of Database-Centric Applications Through Program An...Improving the Performance of Database-Centric Applications Through Program An...
Improving the Performance of Database-Centric Applications Through Program An...Concordia University
 
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...Concordia University
 
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...Concordia University
 
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...Concordia University
 
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...Concordia University
 
MSR2014 - An Empirical Study of Dormant Bugs
MSR2014 - An Empirical Study of Dormant BugsMSR2014 - An Empirical Study of Dormant Bugs
MSR2014 - An Empirical Study of Dormant BugsConcordia University
 
MSR2012 - Explaining Software Defects Using Topic Models
MSR2012 - Explaining Software Defects Using Topic ModelsMSR2012 - Explaining Software Defects Using Topic Models
MSR2012 - Explaining Software Defects Using Topic ModelsConcordia University
 

More from Concordia University (13)

Towards better software quality assurance by providing intelligent support
Towards better software quality assurance by providing intelligent supportTowards better software quality assurance by providing intelligent support
Towards better software quality assurance by providing intelligent support
 
A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...
 
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
 
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
 
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
 
CSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
CSER2016 - Detecting Problems in Database Access Code of Large Scale SystemsCSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
CSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
 
Improving the Performance of Database-Centric Applications Through Program An...
Improving the Performance of Database-Centric Applications Through Program An...Improving the Performance of Database-Centric Applications Through Program An...
Improving the Performance of Database-Centric Applications Through Program An...
 
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
 
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
 
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
 
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
 
MSR2014 - An Empirical Study of Dormant Bugs
MSR2014 - An Empirical Study of Dormant BugsMSR2014 - An Empirical Study of Dormant Bugs
MSR2014 - An Empirical Study of Dormant Bugs
 
MSR2012 - Explaining Software Defects Using Topic Models
MSR2012 - Explaining Software Defects Using Topic ModelsMSR2012 - Explaining Software Defects Using Topic Models
MSR2012 - Explaining Software Defects Using Topic Models
 

Recently uploaded

Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGSIVASHANKAR N
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 

Recently uploaded (20)

Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 

Adopting Autonomic Computing to Improve Existing Systems Performance

  • 1. Adopting Autonomic Computing Capabilities in Existing Large-Scale Systems Heng Li Tse-Hsun (Peter) Chen Ahmed E. Hassan Mohamed Nasser, Parminder Flora
  • 2. Manually configuring large-scale software systems is costly & error-prone Software systemWorkload Performance 4
  • 3. Manually configuring large-scale software systems is costly & error-prone Software systemWorkload Performance Configuration 5 Unsatisfied perf. ? Workloads are constantly evolving, requiring constant human intervention to ensure optimal performance
  • 5. Adding autonomic computing capabilities to existing large-scale systems 7 Software system
  • 6. Adding autonomic computing capabilities to existing large-scale systems Original system Self- monitoring Self-configuring Self-optimizingOptimized parameter values Perf. measures 8
  • 7. Our subject system is designed without an autonomic computing mindset 9 Millions of lines of code Actively evolving (many full-time developers) Fast-paced agile development Thousands of organizations use it for mission-critical operations
  • 8. Adding autonomic computing capabilities to existing mission-critical systems is challenging 10 Millions of lines of code Actively evolving (many full-time developers) Fast-paced agile development Thousands of organizations use it for mission-critical operations
  • 9. Adopting autonomic computing capabilities in existing large-scale systems Understanding runtime behavior Minimizing footprint Minimizing risk 12 Statistics & test automation Separation from original business logic Getting developers involved Expecting failures & full control Proof of concept & transparencyThese challenges can generally apply to many other existing systems that need autonomic computing capabilities
  • 10. Minimizing footprint Minimizing risk Getting developers involved Statistics & test automation Separation from original business logic Adopting autonomic computing capabilities in existing large-scale systems 13 Expecting failures & full control Proof of concept & transparency Understanding runtime behavior
  • 11. The runtime behaviour of a large-scale system is usually not well understood Environment Workload Performance Configuration 14
  • 12. Developers may not fully understand the performance impact of configurations Environment Workload Performance Configuration 15
  • 13. Studying the relationship between configuration parameters and performance Asking domain experts 16 Perf. related parameters Perf. data Statistical analysis Perf. critical parameters Running tests Only a few out of many candidate parameters significantly impact the system performance Very costly!
  • 14. Using test automation to minimize experimental overhead 17 Cleanup system Test run Configuring New configuration Start system Stop system The original system only read configs at startup Removing the impact of the previous test Test automation is critical for minimizing manual effort and leveraging testing resources during machine-spare time
  • 15. Minimizing footprint Minimizing risk Getting developers involved Adopting autonomic computing capabilities in existing large-scale systems 18 Statistics & test automation Separation from original business logic Expecting failures & full control Proof of concept & transparency Understanding runtime behavior
  • 16. Understanding runtime behavior Minimizing risk Getting developers involved Adopting autonomic computing capabilities in existing large-scale systems 19 Statistics & test automation Separation from original business logic Expecting failures & full control Proof of concept & transparency Minimizing footprint
  • 17. Separating autonomic computing concerns from the original business logic Original system Self- monitoring Self-configuring Self-optimizingOptimized parameter values Perf. measures 22
  • 18. Separating autonomic computing concerns from the original business logic Original system Self- monitoring Self-configuring Self-optimizingOptimized parameter values 24 Separate! Perf. measures
  • 19. Separating autonomic computing concerns from the original business logic Original system Self- monitoring Self-configuring Self-optimizingOptimized parameter values Remote management Separate! Streamed log data (Readily available) 25 Perf. measures
  • 20. Separating autonomic computing concerns from the original business logic Original system Self- monitoring Self-configuring Self-optimizingOptimized parameter values Remote management Separate! Streamed log data (Readily available) 26 Perf. measures Only changed a few hundreds lines of code to the original system Negligible performance overhead
  • 21. Leveraging readily-existing logs to monitor system runtime behavior 27 Log streamsOriginal system Real-time perf. measures Fast response to workload changes (within seconds) Log files Perf. opt.
  • 22. Understanding runtime behavior Minimizing risk Getting developers involved Adopting autonomic computing capabilities in existing large-scale systems 28 Statistics & test automation Expecting failures & full control Proof of concept & transparency Separation from original business logic Minimizing footprint
  • 23. Understanding runtime behavior Minimizing risk Minimizing footprint Process & product transparency Statistics & test automation Adopting autonomic computing capabilities in existing large-scale systems Expecting failures & transparency 29 Separation from original business logic Getting developers involved
  • 24. We need to drive developers to change their code Original system Self- monitoring Self-configuring Self-optimizingOptimized parameter values Remote management Streamed log data (Readily available) 30 Perf. measures (Involving developers)
  • 25. Motivate developers by proving the concept of autonomic computing 31 Prove the concept
  • 26. Motivate developers by proving the concept of autonomic computing Original system Self- monitoring Self-configuring Self-optimizingOptimized parameter values Remote management Streamed log data (Readily available) 32 Perf. measures (Involving developers) Stop and re-config
  • 27. Proving the concept of autonomic computing 33 We regularly meet with the stakeholders to present/demo our work, ensuring they are on the same pages as us Prove the concept Developers change code Integrate code changes & Prove the concept Developers change code … …
  • 28. Visualizing the dynamics of autonomic computing (transparency) 34 Monitoring autonomic computing progress Dashboard Providing real-time debugging support to developers
  • 29. Understanding runtime behavior Minimizing risk Minimizing footprint Statistics & test automation Adopting autonomic computing capabilities in existing large-scale systems Expecting failures & transparency 35 Separation from original business logic Proof of concept & transparency Getting developers involved
  • 30. Understanding runtime behavior Getting developers involved Minimizing footprint Statistics & test automation Adopting autonomic computing capabilities in existing large-scale systems Expecting failures & transparency 36 Separation from original business logic Proof of concept & transparency Minimizing risk
  • 31. Expecting failures 37 In case of a problem (e.g., crash): - Ability to automatically unplug the autonomic computing capabilities; - Ability to recover to a default state. The failures of the autonomic computing capabilities will not interrupt the normal execution of the original system
  • 32. Providing full manual control 38 Full manual control Dashboard Practitioners can turn on/off autonomic computing capabilities or manually change configurations at any time
  • 33. Understanding runtime behavior Getting developers involved Minimizing footprint Adopting autonomic computing capabilities in existing large-scale systems 39 Statistics & test automation Separation from original business logic Expecting failures & full control Proof of concept & transparency Minimizing risk
  • 34. The autonomic computing capabilities significantly improve system performance 40 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ● ● ● ● ●● ●● ● ● ● ● ● ●●●●● ● ● ● ● ●●● ● ● ● ● ● ● ● ●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●●● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●●●● ● ● ●● ● ●●●● ● ● ● ● ● ●●●●●● ● ● ● ● ●●●● ● ● ● ● ● ● ● ●●●● ● ● ● ● ● ●●●● ●● ● ● ● ● ●●● ● ● ● ● ● ●● ● ● ●● ●● ● ● ● ● ● ● ●●●● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ●● ●●●● ● ● ● ●●● ● ● ●● ●●● ● ● ● ● ●●● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ●●●●●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ●● ● ● ● ● ● ●● ●● ● ● ●●● ● ●● ●●● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ●●●●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●●● ● ● ●● ● ● ● ● ●● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ●●● ● ● ● ● ● ● ● ●●● ● ● ● ● ●●● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●●●● ●● ● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ●● ● ●●● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ● 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0 60 120 180 240 300 Running Time (minutes) Key Performance Indicator Autonomic computing capabilities ● Turned off Turned on Low workload, KPI is optimal High workload, KPI drops (KPI)
  • 35. The autonomic computing capabilities significantly improve system performance 41 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ● ● ● ● ●● ●● ● ● ● ● ● ●●●●● ● ● ● ● ●●● ● ● ● ● ● ● ● ●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●●● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●●●● ● ● ●● ● ●●●● ● ● ● ● ● ●●●●●● ● ● ● ● ●●●● ● ● ● ● ● ● ● ●●●● ● ● ● ● ● ●●●● ●● ● ● ● ● ●●● ● ● ● ● ● ●● ● ● ●● ●● ● ● ● ● ● ● ●●●● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ●● ●●●● ● ● ● ●●● ● ● ●● ●●● ● ● ● ● ●●● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ●●●●●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ●● ● ● ● ● ● ●● ●● ● ● ●●● ● ●● ●●● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ●●●●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●●● ● ● ●● ● ● ● ● ●● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ●●● ● ● ● ● ● ● ● ●●● ● ● ● ● ●●● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●●●● ●● ● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ●● ● ●●● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ● 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0 60 120 180 240 300 Running Time (minutes) Key Performance Indicator Autonomic computing capabilities ● Turned off Turned on KPI is always optimal Adapting quickly to the changing workloads (KPI)
  • 36. Adopting autonomic computing capabilities in existing large-scale systems 42 Statistics & test automation Separation from original business logic Expecting failures & full control Proof of concept & transparency Understanding runtime behavior Minimizing risk Getting developers involved Minimizing footprint
  • 37. Adopting autonomic computing capabilities in existing large-scale systems 43 Statistics & test automation Separation from original business logic Expecting failures & full control Proof of concept & transparency Understanding runtime behavior Minimizing risk Getting developers involved Minimizing footprint Thank you! http://hengli.org hengli@cs.queensu.ca @henglli