Download presentation
Presentation is loading. Please wait.
Published byMarielies Gerber Modified over 6 years ago
1
Automatic Performance Tuning: Automatic Development of Tunlets
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
2
Outline Introduction Automatic Development of Tunlets Use Case
MATE Tunlets Our work Automatic Development of Tunlets Motivation Abstractions and Methodology Tunlet Specification Language Tunlet Generator Use Case Conclusions
3
Outline Introduction Automatic Development of Tunlets Use Case
MATE Tunlets Our work Automatic Development of Tunlets Motivation Abstractions and Methodology Tunlet Specification Language Tunlet Generator Use Case Conclusions
4
Introduction Parallel/Distributed Computing High performance
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
5
Application development
MATE Monitoring, Analysis and Tuning Environment Dynamic automatic tuning of parallel/distributed applications User Tuning Monitoring Tool Solution Problem / Performance analysis Performance data Application development Application Execution Source Events Modifications DynInst Instrumentation
6
How to determine problems and solutions?
MATE: Tunlets Analysis phase includes knowledge about possible performance problems in the applications. “TUNLETS” How to determine problems and solutions? What to modify? When? Where? What to measure? Where?
7
What can be tuned in an application?
MATE (III) Key question: Application specific code Frameworks - Skeletons Standard and custom libraries (API+code) Operating system libraries (API+code) Hardware What can be tuned in an application? Hardware Operating System kernel OS API Libraries code API Application code Framework code
8
What are we working on? Performance models for patterns
Hardware Operating System kernel OS API Libraries code API Application code Framework code Performance models for patterns Performance models for libraries Execution MATE extensions: Tunlets Specification Measure points Monitoring Tuning Grid Performance analysis Performance model Tuning point, action, sync
9
Outline Introduction Automatic Development of Tunlets Use Case
MATE Tunlets Our work Automatic Development of Tunlets Motivation Abstractions and Methodology Tunlet Specification Language Tunlet Generator Use Case Conclusions
10
Motivation Application User MATE Framework Tunlet Tunlet … Application
11
Motivation Application User MATE Framework Tunlet Tunlet … Tunlet
Automate
12
Automatic Development of Tunlets
We propose a methodology to: add new tunlets to overcome different performance problems avoid the user to enter in implementations details of MATE allow users to develop their applications without restrictions
13
Automatic Development of Tunlets
Tunlet Specification Performance Model Programming Model Measure Points Parameters p , p p p , p p 1 2 i User 1 2 i performance Performance Functions Mathematical Model problem f ... f e ... e 1 j 1 j Tuning Actions/Points a ... a 1 k tp ... tp 1 h Execution Tool Monitoring Tuning Automatic Generation Performance Analysis Tunlet ... Tunlet
14
Automatic Development of Tunlets
Tunlet Specification Performance Model Programming Model Measure Points Parameters p , p p p , p p 1 2 i User 1 2 i performance Performance Functions Mathematical Model problem f ... f e ... e 1 j 1 j Tuning Actions/Points a ... a 1 k tp ... tp 1 h Execution Tool Monitoring Tuning Automatic Generation Performance Analysis Tunlet ... Tunlet
15
Automatic Development of Tunlets
Tunlet Specification Performance Model Programming Model Measure Points Parameters p , p p p , p p 1 2 i User 1 2 i performance Performance Functions Mathematical Model problem f ... f e ... e 1 j 1 j Tuning Actions/Points a ... a 1 k tp ... tp 1 h Execution Tool Monitoring Tuning Automatic Generation Performance Analysis Tunlet ... Tunlet
16
Automatic Development of Tunlets
Application Tunlet Specification Performance Model Programming Model Measure Points Parameters p , p p p , p p 1 2 i User 1 2 i performance Performance Functions Mathematical Model problem f ... f e ... e 1 j 1 j Tuning Actions/Points a ... a 1 k tp ... tp 1 h Execution Tool Monitoring Tuning Automatic Generation Performance Analysis Tunlet ... Tunlet
17
Automatic Development of Tunlets
Application Tunlet Specification Performance Model Programming Model Measure Points Parameters p , p p p , p p 1 2 i User 1 2 i performance Performance Functions Mathematical Model problem f ... f e ... e 1 j 1 j Tuning Actions/Points a ... a 1 k tp ... tp 1 h Execution Tool Monitoring Tuning Automatic Generation Performance Analysis Tunlet ... Tunlet
18
Automatic Development of Tunlets
Abstractions Tunlet Measure point Performance model Tuning point Performance Model Performance parameters Performance functions Application Actor Event Variable Value Attribute
19
Abstractions
20
Methodology To provide a performance model (PM)
Pre-existing model Ad hoc model To understand the performance model Mainly the performance parameters To interpret the PM in the application Identifying the events Identifying the variables and values To identify the actors in the application
21
Methodology II Events Variables and Values Actor Function
Entry or Exit Attributes Variables and Values Variable, parameter or result Name Data Type Actor Class Exe Min/Max Completion Condition
22
Methodology II Events Variables and Values Actor Function
Entry or Exit Attributes Variables and Values Variable, parameter or result Name Data Type Actor Class Exe Min/Max Completion Condition
23
Methodology II Events Variables and Values Actor Function
Entry or Exit Attributes Variables and Values Variable, parameter or result Name Data Type Actor Class Exe Min/Max Completion Condition
24
Methodology II Events Variables and Values Actor Function
Entry or Exit Attributes Variables and Values Variable, parameter or result Name Data Type Actor Class Exe Min/Max Completion Condition
25
Automatic development of Tunlets
Abstractions Formalize using our Tunlet Specification Language
26
Tunlet Specification Language
What should be included? How? What? When? Where? What, where? Tunlet name: comment: Measure points Performance functions Tuning points
27
Tunlet Specification Language
name: comment: Measure points variables actors events iteration info performance params. Performance functions Tuning points What? where? How? What? When? Where?
28
Tunlet Specification Language
name: comment: Measure points Performance functions f1() … fn() Tuning points What? where? How? What? When? Where?
29
Tunlet Specification Language
name: comment: Measure points Performance functions Tuning points point1 … pointn What? where? How? What? When? Where?
30
Tunlet Specification Language
How? What? When? Where? What, where? Tunlet name: comment: Measure points Performance functions Tuning points
31
Tunlet Generation Flex + DOM XSLT Tunlet.h Tunlet.cpp Stats.h
name: comment: Measure points … Performance functions Tuning points <Tunlet name=“” comment=“” /> <Measure points> … </Measure points> <Performance functions> </Performance functions> <Tuning points> </Tuning points> Flex + DOM XSLT Tunlet.h Tunlet.cpp Stats.h Stats.cpp
32
Outline Introduction Automatic Development of Tunlets Use Case
MATE Tunlets Our work Automatic Development of Tunlets Motivation Abstractions and Methodology Tunlet Specification Language Tunlet Generator Use Case Conclusions
33
Example: number of workers
Framework + MATE Define the tunlet basing on the classes of the framework. Analyzer Tunle t Tunlet Performance Model Measure points Tuning points/ actions Adapt the framework to allow tuning of the applications via MATE
34
Example: number of workers
Framework + MATE Define the tunlet basing on the classes of the framework. Analyzer Tunle t Tunlet Performance Model Measure points Tuning points/ actions Adapt the framework to allow tuning of the applications via MATE Where... tl = latency λ = inverse bandwidth V = data volume Tc= computing time
35
Example: number of workers
Framework + MATE Define the tunlet basing on the classes of the framework. Analyzer Tunle t Tunlet Performance Model Measure points Tuning points/ actions Events Entry(Computing) Exit(Computing) Entry(iteration) Exit(iteration) Variables argvData ResSize Actors Master Worker Adapt the framework to allow tuning of the applications via MATE
36
Example: number of workers
Framework + MATE Define the tunlet basing on the classes of the framework. Analyzer Tunle t Tunlet Performance Model Measure points Tuning points/ actions Adapt the framework to allow tuning of the applications via MATE
37
Example: number of workers
Framework + MATE Define the tunlet basing on the classes of the framework. Analyzer Tunle t Tunlet Performance Model Measure points Tuning points/ actions Variable Nopt Adapt the framework to allow tuning of the applications via MATE
38
Example: number of workers
Framework + MATE Define the tunlet basing on the classes of the framework. Analyzer Tunle t Tunlet Performance Model Measure points Tuning points/ actions Adapt the framework to allow tuning of the applications via MATE
39
Number of workers: Specification
Tunlet name:numworkers comment:tunlet to tune the number of workers Measure points variables argvData ResSize nopt events IterationStarts IterationFinishes WStartsT WFinishesT 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
40
Outline Introduction Automatic Development of Tunlets Use Case
MATE Tunlets Our work Automatic Development of Tunlets Motivation Abstractions and Methodology Tunlet Specification Language Tunlet Generator Use Case Conclusions
41
Conclusions We defined/developed:
Methodology to define tunlets Tunlet Specification Language Automatic Tunlet Generator In this way, we make MATE (dynamic-automatic tuning) easier and transparent to the user.
42
Thank you… Automatic Performance Tuning:
Automatic Development of Tunlets Paola Caymes Scutari Thank you…
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.