Paradyn Week April 30 2007 Automatic Performance Tuning
- Slides: 42
Paradyn Week April 30, 2007 Automatic Performance Tuning: Automatic Development of Tunlets Universitat Autònoma de Barcelona Paola Caymes Scutari Genaro Costa, Ihab Salawdeh, Alexandre Guevara Anna Morajko, Eduardo César, Andreu Moreno, Josep Jorba Tomàs Margalef, Joan Sorribes, Emilio Luque Universitat Autònoma de Barcelona
Outline p Introduction n p Automatic Development of Tunlets n n p p MATE Tunlets Our work Motivation Abstractions and Methodology Tunlet Specification Language Tunlet Generator Use Case Conclusions
Outline p Introduction n p Automatic Development of Tunlets n n p p MATE Tunlets Our work Motivation Abstractions and Methodology Tunlet Specification Language Tunlet Generator Use Case Conclusions
Introduction Parallel/Distributed Computing n High performance p p n Developers must optimize application performance to provide efficient and useful applications Application behavior may change on input data or environment Difficult task especially for non-expert users
MATE n Monitoring, Analysis and Tuning Environment p Dynamic automatic tuning of parallel/distributed applications Application development r Use Application Source Execution Dyn. Inst Performance data Instrumentation Monitoring l Too Events Modifications Tuning Performance analysis Problem / Solution
MATE: Tunlets Analysis phase includes knowledge about possible performance problems in the applications. “TUNLETS” How to determine problems and solutions? What to measure? Where? What to modify? When? Where?
MATE (III) n Key question: What can be tuned in an application? Application code n Application specific code n Frameworks - Skeletons n Standard and custom libraries (API+code) n Operating system libraries (API+code) n Hardware API Framework code API Libraries code OS API Operating System kernel Hardware
What are we working on? Application code API Performance models for patterns Framework code Performance models for libraries API Libraries code OS API Operating System kernel Execution Hardware Measure points MATE extensions: Monitoring Tunlets Specification Performance model Tuning point, action, sync Grid Tuning Performance analysis
Outline p Introduction n p Automatic Development of Tunlets n n p p MATE Tunlets Our work Motivation Abstractions and Methodology Tunlet Specification Language Tunlet Generator Use Case Conclusions
Motivation User Application Framework Application MATE Tunlet … Tunlet
Motivation User Application Framework MATE Tunlet … Tunlet Application Automate Tunlet
Automatic Development of Tunlets p We propose a methodology to: n add new tunlets to overcome different performance problems n avoid the user to enter in implementations details of MATE n allow users to develop their applications without restrictions
Automatic Development of Tunlets Performance Model Programming Model r Use Parameters p 1, p 2. . . performance problem pi Mathematical Model e 1. . . ej Tunlet Specification Measure Points p 1, p 2. . . pi Performance Functions f 1. . . fj Tuning Actions/Points a 1. . . ak tp 1. . . tph Execution l Too Tuning Monitoring Performance Analysis Tunlet. . . Tunlet Automatic Generation
Automatic Development of Tunlets Performance Model Programming Model r Use Parameters p 1, p 2. . . performance problem pi Mathematical Model e 1. . . ej Tunlet Specification Measure Points p 1, p 2. . . pi Performance Functions f 1. . . fj Tuning Actions/Points a 1. . . ak tp 1. . . tph Execution l Too Tuning Monitoring Performance Analysis Tunlet. . . Tunlet Automatic Generation
Automatic Development of Tunlets Performance Model Programming Model r Use Parameters p 1, p 2. . . performance problem pi Mathematical Model e 1. . . ej Tunlet Specification Measure Points p 1, p 2. . . pi Performance Functions f 1. . . fj Tuning Actions/Points a 1. . . ak tp 1. . . tph Execution l Too Tuning Monitoring Performance Analysis Tunlet. . . Tunlet Automatic Generation
Automatic Development of Tunlets Application Programming Model r Use Performance Model Parameters p 1, p 2. . . performance problem pi Mathematical Model e 1. . . ej Tunlet Specification Measure Points p 1, p 2. . . pi Performance Functions f 1. . . fj Tuning Actions/Points a 1. . . ak tp 1. . . tph Execution l Too Tuning Monitoring Performance Analysis Tunlet. . . Tunlet Automatic Generation
Automatic Development of Tunlets Application Programming Model r Use Performance Model Parameters p 1, p 2. . . performance problem pi Mathematical Model e 1. . . ej Tunlet Specification Measure Points p 1, p 2. . . pi Performance Functions f 1. . . fj Tuning Actions/Points a 1. . . ak tp 1. . . tph Execution l Too Tuning Monitoring Performance Analysis Tunlet. . . Tunlet Automatic Generation
Automatic Development of Tunlets p Abstractions n Tunlet Measure point p Performance model p Tuning point p n Performance Model Performance parameters p Performance functions p n Application Actor p Event p Variable p Value p Attribute p
Abstractions
Methodology 1. To provide a performance model (PM) 1. 2. To understand the performance model 1. 3. Mainly the performance parameters To interpret the PM in the application 1. 2. 4. Pre-existing model Ad hoc model Identifying the events Identifying the variables and values To identify the actors in the application
Methodology II p Events n n n p Variables and Values n n n p Function Entry or Exit Attributes Variable, parameter or result Name Data Type Actor n n n Name Class Exe Min/Max Completion Condition Attributes
Methodology II p Events n n n p Variables and Values n n n p Function Entry or Exit Attributes Variable, parameter or result Name Data Type Actor n n n Name Class Exe Min/Max Completion Condition Attributes
Methodology II p Events n n n p Variables and Values n n n p Function Entry or Exit Attributes Variable, parameter or result Name Data Type Actor n n n Name Class Exe Min/Max Completion Condition Attributes
Methodology II p Events n n n p Variables and Values n n n p Function Entry or Exit Attributes Variable, parameter or result Name Data Type Actor n n n Name Class Exe Min/Max Completion Condition Attributes
Automatic development of Tunlets Abstractions Formalize using our Tunlet Specification Language
Tunlet Specification Language What should be included? Tunlet name: comment: Measure points What, where? How? Performance functions What? When? Where? Tuning points
Tunlet Specification Language Tunlet name: comment: Measure points variables actors events iteration info performance params. What? where? How? What? When? Where? Performance functions Tuning points
Tunlet Specification Language Tunlet name: comment: Measure points Performance functions What? where? f 1() How? … What? When? Where? fn() Tuning points
Tunlet Specification Language Tunlet name: comment: Measure points What? where? Performance functions How? Tuning points What? When? Where? point 1 … pointn
Tunlet Specification Language Tunlet name: comment: Measure points What, where? How? Performance functions What? When? Where? Tuning points
Tunlet Generation Tunlet <Tunlet name=“” comment=“” /> name: <Measure points> comment: … </Measure points> Flex + DOM Measure points <Performance functions> … … Performance functions </Performance functions> … <Tuning points> Tuning points … … </Tuning points> XSLT Tunlet. h Tunlet. cpp Stats. h Stats. cpp
Outline p Introduction n p Automatic Development of Tunlets n n p p MATE Tunlets Our work Motivation Abstractions and Methodology Tunlet Specification Language Tunlet Generator Use Case Conclusions
Example: number of workers p Framework + MATE n Define the tunlet basing on the classes of the framework. Analyzer Tunlet t Measure points Performance Model Tuning points/ actions n Adapt the framework to allow tuning of the applications via MATE
Example: number of workers p Framework + MATE n Define the tunlet basing on the classes of the framework. Analyzer Tunlet t Measure points Performance Model Tuning points/ actions n Where. . . tl = latency λ = inverse bandwidth V = data volume Tc= computing time Adapt the framework to allow tuning of the applications via MATE
Example: number of workers p Framework + MATE n Analyzer Tunlet t Define the tunlet basing on the classes of the framework. Measure points Events Variables • Entry(Computing) • argv. Data • Exit(Computing) • Res. Size • Entry(iteration) • Exit(iteration) Performance Model Tuning points/ actions Actors • Master • Worker n Adapt the framework to allow tuning of the applications via MATE
Example: number of workers p Framework + MATE n Define the tunlet basing on the classes of the framework. Analyzer Tunlet t Measure points Performance Model Tuning points/ actions n Adapt the framework to allow tuning of the applications via MATE
Example: number of workers p Framework + MATE n Define the tunlet basing on the classes of the framework. Analyzer Tunlet t Measure points Performance Model Tuning points/ actions Variable • Nopt n Adapt the framework to allow tuning of the applications via MATE
Example: number of workers p Framework + MATE n Define the tunlet basing on the classes of the framework. Analyzer Tunlet t Measure points Performance Model Tuning points/ actions n Adapt the framework to allow tuning of the applications via MATE
Number of workers: Specification Tunlet name: numworkers comment: tunlet to tune the number of workers Measure points variables argv. Data Res. Size nopt events Iteration. Starts Iteration. Finishes WStarts. T WFinishes. T actors master worker performance model parameters n tl lambda Vt Ct Performance Functions int pf() {return (int)sqrt((lambda*Vt+Ct)/tl); } Tuning Points nopt
Outline p Introduction n p Automatic Development of Tunlets n n p p MATE Tunlets Our work Motivation Abstractions and Methodology Tunlet Specification Language Tunlet Generator Use Case Conclusions
Conclusions p We defined/developed: n n n Methodology to define tunlets Tunlet Specification Language Automatic Tunlet Generator In this way, we make MATE (dynamicautomatic tuning) easier and transparent to the user.
Automatic Performance Tuning: Automatic Development of Tunlets Paola Caymes Scutari Thank you…
- 24 april 2007
- Week by week plans for documenting children's development
- Erm performance tuning
- Apache web server performance tuning
- Apache performance tuning windows
- Navision sql performance tuning
- Ssas performance tuning
- Informix performance tuning
- Cognos 8 performance tuning
- Database performance tuning and query optimization
- Performance tuning in abap
- Data warehouse performance tuning
- Sshfs performance tuning
- Performance tuning in oracle tutorial
- Solarwinds performance tuning
- Moodle yokr
- Terminal server performance tuning
- Ssis data flow performance tuning
- Ibm maximo architecture
- Glusterfs tuning
- Harrison performance and tuning
- Frog sql
- Informix performance tuning
- Sql server 2005 performance tuning
- All performance attributes designated as joint performance
- Bars performance appraisal
- Performance appraisal process
- Stenger test tuning fork
- Rough-tuning in teaching
- Arc: a self-tuning, low overhead replacement cache
- Tipsfororacle
- Tuning protocol worksheet
- El proyecto tuning
- Emittance
- Sc tuning
- Zoran tuning
- Proyecto tuning américa latina 2019
- Elastic sail ties
- When two tuning forks of 132 hz and 137 hz
- Lrest
- Arsenal tuning
- Tuning latinoamerica
- Fine tuning argument