Blended Analysis for Blended Analysis for Performance Understanding of Performance Understanding of Framework- -based Applications based Applications Framework Bruno Dufour, Barbara G. Ryder, Gary Sevitsky Course: IFT6310 Presented by Wei Wu IRO, UdeM 2008-03-19
Outline Outline • Introduction • Context • Content • Conclusion • Future work • Related work • Discussion • References
Outline Outline • Introduction • Connection with Knuth • The authors • Context • Content • Conclusion • New development • Related work • Discussion • References
������������ ������������ � ������������������������������������������������ ���������������������������������������������� ������� ����� � �����!�"����������������������������������� ����#$������ � �������%������������������������&�'&������������������ ����������������������(�)��%������������������ ����*#� ����� � ��������������������������������+�)����������� ����������������������+�)� � ����*#������ � ,-�������������������������%����������������!����������.� ����!��!�������������������������!�����������!� �����������������������,�����#/���%�
Introduction Introduction � Bruno Dufour – Ph.D. student of Rutgers University – http://www.prolangs.rutgers.edu/~dufour/
Introduction Introduction � Barbara G. Ryder – Professor II of Computer Science at Rutgers University – http://www.cs.rutgers.edu/~ryder/
Introduction Introduction � Gary S. Sevitsky – Research Staff Member of Watson Research Center, IBM – http://domino.research.ibm.com/comm/res earch_people.nsf/pages/sevitsky.index.htm l
Outline Outline • Introduction • Context • Content • Conclusion • New development • Related work • Discussion • References
Context Context � Commercial object-oriented programs are built on libraries and frameworks. � Performance problems � Object churn
Outline Outline Introduction • Context • Content • Escape analysis • Blended analysis • Blended escape analysis • Experiment • Conclusion • Future work • Related work • Discussion • References •
Content Content • Escape analysis • Escape analysis computes an approximation of the effective lifetime of an object. • Effective lifetime: the period between the object’s creation and its last use during an execution. • Set-base algorithms • Dataflow algorithms
Content Content • Escape analysis – 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.
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.
Content Content • Belended analysis • Advantage: • Precision of fully dynamic analysis • Less cost • Limitation • Only safe for a give execution • The execution must be repeatable
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 one escape state per abstract object.
Content Content Blended escape analysis: • • Implementation: • Dynamic analysis component: modified version of Jinsight. • Static analysis component: base on IBM WALA analysis framework
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
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
Content Content • Experiment: • Result: size of comparison:
Content Content • Experiment • Result: distribution of escaping object states
Content Content • Experiment • Result: distribution of allocating nodes
Content Content • Experiment • Result: distribution of allocating nodes
Content Content • Experiment • Result: depth of escaping path
Content Content • Experiment • Result: depth of capturing path
Content Content • Performance understanding • Postprocessing: Reduced connection graph
Outline Outline • Introduction • Context • Content • Conclusion • Future work • Related work • Discussion • References
Conclusion Conclusion • Blended Escape Analysis helps performance understanding in layered applications by explaining how temporary objects and structures are built and used.
Outline Outline • Introduction • Context • Content • Conclusion • Future work • Related work • Discussion • References
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)
Outline Outline • Introduction • Context • Content • Conclusion • New development • Related work • Discussion • References
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
Outline Outline • Introduction • Context • Content • Conclusion • New development • Related work • Discussion • References
Discussion Discussion � Pros – Focus on framework-based applications – Clear examples – Implementation – Experiment
Discussion Discussion � Cons – No performance comparison – No experiment after optimization suggestion. – No future work summary
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
Thank you! Thank you!
Recommend
More recommend