SlideShare a Scribd company logo
Supporting the Comprehension of System Behaviour Under Load
Mark D. Syer, Bram Adams and Ahmed E. Hassan http://sail.cs.queensu.ca/~mdsyer
How To Understand ULS Systems?How To Understand ULS Systems? Case Study: Thread PoolsCase Study: Thread Pools
Ultra-large-scale (ULS) systems dominate the fields of e-commerce and telecommunications.
!Highly concurrent and highly distributed. Behaviour is hard to understand!
!Complex architectures built on complex sub-architectures
We propose:
• an iterative methodology
• for automatically identifying and ranking deviating behaviour
• based on the level of dissimilarity between the resource usage metrics of threads.
Iterative MethodologyIterative Methodology
2. Distance Calculation2. Distance Calculation1. Metric Abstraction1. Metric Abstraction
4. Ranking4. Ranking 3. Hierarchical Clustering3. Hierarchical Clustering
Conclusions and Future WorkConclusions and Future Work
Our methodology has enabled us:
• Develop a better understanding of the subject system
• Identify and rank similar and deviating behaviour
• Tackle different problems where resource usage
_metrics are collected
Threads pools face a variety of challenges:
• Synchronization errors
• Deadlock
Thorough understanding of the system is needed to address these challenges
The subject system in our case study was a commercial ULS system that
implemented the typical thread pool architecture.
Abstracted
Metrics
Distance Matrix
Clusters
Service Request
Service Request
Handler
Thread 1
Thread 2
Thread n
…
Load Balancer
Risks? =>
New Level of
Abstraction
Threads Within A Load TestThreads Within A Load Test
letters
a b
aa ab ba bb
aaa aab aba abb baa bab bba bbb
aa ab bbba
aa ab bbba
Covariance Matrices
- - - - - - - - - - - - - - - Individual threads - - - - - - - - - - - - - - -
Threads Between Load TestsThreads Between Load Tests
• Resource thrashing
• Thread leakage
T1W1
T1W8
T1W2, T1W3,
T1W4, T1W5,
T1W6, T1W7.
Future work:
• More systems
• More design patterns and architectural styles
• Improved ranking algorithm (e.g. load testing)
.5
Ramp up
Ramp down
Iterative
aa
ab
ba bb
Height
00.51.01.52.02.5
Height
aa
ab
ba bb
00.51.01.52.02.5

More Related Content

ODP
Mule flow processing strategies
PPTX
Classification by backpropacation
PPTX
Thread Management In Mule
ODP
Mule esb flow processing strategies
PPTX
Threads concurrency identifying performance deviations in thread pools(1)
PPTX
PPT
PRUEBAS PARA MEDIR EL EQUILIBRIO DE LAS PERSONAS
PDF
Threads and Concurrency Identifying Performance Deviations in Thread Pools
Mule flow processing strategies
Classification by backpropacation
Thread Management In Mule
Mule esb flow processing strategies
Threads concurrency identifying performance deviations in thread pools(1)
PRUEBAS PARA MEDIR EL EQUILIBRIO DE LAS PERSONAS
Threads and Concurrency Identifying Performance Deviations in Thread Pools

Similar to Icpc2011 syer (20)

PPTX
From use case to software architecture
PPTX
Esl basics
PPT
M03 2 Behavioral Diagrams
PPTX
Chapter 4.pptx
PDF
Uml intro
PDF
System Design Interview - from both sides of the table.pdf
ODP
BIS09 Application Development - III
PDF
Requirements & system modelling for verification
PPTX
SAD06 - Use Case Diagrams
PPT
Beyond Static Analysis: Integrating .NET Static Analysis with Unit Testing a...
PDF
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
PDF
18540PhDreport.pdf
PPTX
Dynamic Analysis And Profiling Of Multi Threaded Systems
PPT
Unit 3(advanced state modeling & interaction meodelling)
PPT
Steps for System Design Realize all Use Cases Use Sequence Diagram
PPT
Object Oriented Analysis and Design
PPTX
Swis modeling
PDF
Building Better, Stronger Systems - Thoughtfully Critical Podcast
PPT
Chapter 6 System Design and Decomposing the system.ppt
PPTX
PHASE II.pptx
From use case to software architecture
Esl basics
M03 2 Behavioral Diagrams
Chapter 4.pptx
Uml intro
System Design Interview - from both sides of the table.pdf
BIS09 Application Development - III
Requirements & system modelling for verification
SAD06 - Use Case Diagrams
Beyond Static Analysis: Integrating .NET Static Analysis with Unit Testing a...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
18540PhDreport.pdf
Dynamic Analysis And Profiling Of Multi Threaded Systems
Unit 3(advanced state modeling & interaction meodelling)
Steps for System Design Realize all Use Cases Use Sequence Diagram
Object Oriented Analysis and Design
Swis modeling
Building Better, Stronger Systems - Thoughtfully Critical Podcast
Chapter 6 System Design and Decomposing the system.ppt
PHASE II.pptx
Ad

More from SAIL_QU (20)

PDF
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
PDF
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
PPTX
Improving the testing efficiency of selenium-based load tests
PDF
Studying User-Developer Interactions Through the Distribution and Reviewing M...
PDF
Studying online distribution platforms for games through the mining of data f...
PPTX
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
PDF
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
PDF
Mining Development Knowledge to Understand and Support Software Logging Pract...
PPTX
Which Log Level Should Developers Choose For a New Logging Statement?
PPTX
Towards Just-in-Time Suggestions for Log Changes
PDF
The Impact of Task Granularity on Co-evolution Analyses
PPTX
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
PPTX
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
PPTX
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
PDF
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
PPTX
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
PDF
What Do Programmers Know about Software Energy Consumption?
PPTX
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
PDF
Revisiting the Experimental Design Choices for Approaches for the Automated R...
PPTX
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Improving the testing efficiency of selenium-based load tests
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying online distribution platforms for games through the mining of data f...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Mining Development Knowledge to Understand and Support Software Logging Pract...
Which Log Level Should Developers Choose For a New Logging Statement?
Towards Just-in-Time Suggestions for Log Changes
The Impact of Task Granularity on Co-evolution Analyses
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
What Do Programmers Know about Software Energy Consumption?
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Ad

Icpc2011 syer

  • 1. Supporting the Comprehension of System Behaviour Under Load Mark D. Syer, Bram Adams and Ahmed E. Hassan http://sail.cs.queensu.ca/~mdsyer How To Understand ULS Systems?How To Understand ULS Systems? Case Study: Thread PoolsCase Study: Thread Pools Ultra-large-scale (ULS) systems dominate the fields of e-commerce and telecommunications. !Highly concurrent and highly distributed. Behaviour is hard to understand! !Complex architectures built on complex sub-architectures We propose: • an iterative methodology • for automatically identifying and ranking deviating behaviour • based on the level of dissimilarity between the resource usage metrics of threads. Iterative MethodologyIterative Methodology 2. Distance Calculation2. Distance Calculation1. Metric Abstraction1. Metric Abstraction 4. Ranking4. Ranking 3. Hierarchical Clustering3. Hierarchical Clustering Conclusions and Future WorkConclusions and Future Work Our methodology has enabled us: • Develop a better understanding of the subject system • Identify and rank similar and deviating behaviour • Tackle different problems where resource usage _metrics are collected Threads pools face a variety of challenges: • Synchronization errors • Deadlock Thorough understanding of the system is needed to address these challenges The subject system in our case study was a commercial ULS system that implemented the typical thread pool architecture. Abstracted Metrics Distance Matrix Clusters Service Request Service Request Handler Thread 1 Thread 2 Thread n … Load Balancer Risks? => New Level of Abstraction Threads Within A Load TestThreads Within A Load Test letters a b aa ab ba bb aaa aab aba abb baa bab bba bbb aa ab bbba aa ab bbba Covariance Matrices - - - - - - - - - - - - - - - Individual threads - - - - - - - - - - - - - - - Threads Between Load TestsThreads Between Load Tests • Resource thrashing • Thread leakage T1W1 T1W8 T1W2, T1W3, T1W4, T1W5, T1W6, T1W7. Future work: • More systems • More design patterns and architectural styles • Improved ranking algorithm (e.g. load testing) .5 Ramp up Ramp down Iterative aa ab ba bb Height 00.51.01.52.02.5 Height aa ab ba bb 00.51.01.52.02.5