SLIDE 1 Blended Analysis for Blended Analysis for Performance Understanding of Performance Understanding of Framework Framework-
based Applications
Bruno Dufour, Barbara G. Ryder, Gary Sevitsky Course: IFT6310 Presented by Wei Wu IRO, UdeM 2008-03-19
SLIDE 2 Outline Outline
- Introduction
- Context
- Content
- Conclusion
- Future work
- Related work
- Discussion
- References
SLIDE 3 Outline Outline
- Introduction
- Connection with Knuth
- The authors
- Context
- Content
- Conclusion
- New development
- Related work
- Discussion
- References
SLIDE 4
%&'&
()% *#
+) *#
,-%!.
!!!! ,#/%
SLIDE 5
Introduction Introduction
Bruno Dufour
– Ph.D. student of Rutgers University – http://www.prolangs.rutgers.edu/~dufour/
SLIDE 6 Introduction Introduction
Barbara G. Ryder
– Professor II
at Rutgers University
– http://www.cs.rutgers.edu/~ryder/
SLIDE 7 Introduction Introduction
Gary S. Sevitsky
– Research Staff Member
- f Watson Research Center, IBM
– http://domino.research.ibm.com/comm/res
earch_people.nsf/pages/sevitsky.index.htm l
SLIDE 8 Outline Outline
- Introduction
- Context
- Content
- Conclusion
- New development
- Related work
- Discussion
- References
SLIDE 9
Context Context
Commercial object-oriented programs
are built on libraries and frameworks.
Performance problems Object churn
SLIDE 10 Outline Outline
- Introduction
- Context
- Content
- Escape analysis
- Blended analysis
- Blended escape analysis
- Experiment
- Conclusion
- Future work
- Related work
- Discussion
- References
SLIDE 11 Content Content
- Escape analysis
- Escape analysis computes an
approximation of the effective lifetime
- f an object.
- Effective lifetime: the period between the
- bject’s creation and its last use during an
execution.
- Set-base algorithms
- Dataflow algorithms
SLIDE 12 Content Content
– Escaped form method f: If during
execution, that object can be accessed beyond the lifetime of an invocation of a method f in its allocation context.
– Captured by method g: if g is in its
allocation context and the object cannot be accessed beyond the lifetime of the invocation of g.
SLIDE 13
SLIDE 14 Content Content
- Blended analysis
- a new analysis paradigm that performs
an interprocedural static analysis on a calling structure obtained through dynamic analysis, thus capturing properties of a single execution.
SLIDE 15 Content Content
- Belended analysis
- Advantage:
- Precision of fully dynamic analysis
- Less cost
- Limitation
- Only safe for a give execution
- The execution must be repeatable
SLIDE 16
SLIDE 17 Content Content
- Blended escape analysis:
- A instance of blended analysis paradigm
- Modification: keep track of a distinct escape
state for each object at each node in the calling structure, rather than keeping only
- ne escape state per abstract object.
SLIDE 18 Content Content
- Blended escape analysis:
- Implementation:
- Dynamic analysis component: modified
version of Jinsight.
- Static analysis component: base on IBM
WALA analysis framework
SLIDE 19 Content Content
- Experiment:
- Environment:
- Trade 6.0.1 financial transactions benchmark
- WebSphere 6.0.0.1
- DB2 8.2.0.12
- Configuration:
- Direct-Standard
- Direct-WebService
- EJB-Standard
- EJB-WebService
SLIDE 20 Content Content
- Experiment
- Scenario:
- login
- getHoldings
- Jsp
- Metrics
- Distribution of escaping object states
- Distribution of allocating nodes
- Depth of escaping path
- Depth of capturing path
SLIDE 21 Content Content
- Experiment:
- Result: size of comparison:
SLIDE 22 Content Content
- Experiment
- Result: distribution of escaping object
states
SLIDE 23 Content Content
- Experiment
- Result: distribution of allocating nodes
SLIDE 24 Content Content
- Experiment
- Result: distribution of allocating nodes
SLIDE 25 Content Content
- Experiment
- Result: depth of escaping path
SLIDE 26 Content Content
- Experiment
- Result: depth of capturing path
SLIDE 27 Content Content
- Performance understanding
- Postprocessing: Reduced connection
graph
SLIDE 28
SLIDE 29
SLIDE 30 Outline Outline
- Introduction
- Context
- Content
- Conclusion
- Future work
- Related work
- Discussion
- References
SLIDE 31 Conclusion Conclusion
- Blended Escape Analysis helps
performance understanding in layered applications by explaining how temporary objects and structures are built and used.
SLIDE 32 Outline Outline
- Introduction
- Context
- Content
- Conclusion
- Future work
- Related work
- Discussion
- References
SLIDE 33
Future work Future work
The influence of class loader and
garbage collector.
Using dynamic information to eliminate
the irrelevant objects from escaping state.
The influence of JIT (just-in-time
compiler)
SLIDE 34 Outline Outline
- Introduction
- Context
- Content
- Conclusion
- New development
- Related work
- Discussion
- References
SLIDE 35
Related work Related work
Performance specification of software
components, Murali Sitaraman et al. 2001
An AOP-based Performance Evaluation
Framework for UML Models, Kim Dong Kwan, Bohner Shawn, 2007
SLIDE 36 Outline Outline
- Introduction
- Context
- Content
- Conclusion
- New development
- Related work
- Discussion
- References
SLIDE 37
Discussion Discussion
Pros
– Focus on framework-based applications – Clear examples – Implementation – Experiment
SLIDE 38
Discussion Discussion
Cons
– No performance comparison – No experiment after optimization
suggestion.
– No future work summary
SLIDE 39 References References
Murali Sitaraman, Greg Kulczycki, Joan Krone,
William F. Ogden, A. L. N. Reddy, Performance specification of software components, SSR’01, May 18-20, 2001, Toronto, Ontario, Canada. ACM
Kim Dong Kwan, Bohner Shawn, An AOP-based
Performance Evaluation Framework for UML Models, Software Engineering Workshop, 2007. SEW 2007. 31st IEEE, March 6 2007-Feb. 8 2007 Page(s):227 - 235
SLIDE 40
Thank you! Thank you!