1 / 42

Automatic Performance Tuning: Automatic Development of Tunlets Universitat Autònoma de Barcelona

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

miller
Download Presentation

Automatic Performance Tuning: Automatic Development of Tunlets Universitat Autònoma de Barcelona

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 • MATE • Tunlets • Our work • Automatic Development of Tunlets • Motivation • Abstractions and Methodology • Tunlet Specification Language • Tunlet Generator • Use Case • Conclusions

  3. Outline • Introduction • 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. Problem / Solution Application development Source User Application Execution Performance data Monitoring Tuning Tool Events Performance analysis MATE • Monitoring, Analysis and Tuning Environment • Dynamic automatic tuning of parallel/distributed applications Modifications DynInst Instrumentation

  6. 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. Application code API Framework code API Libraries code OS API Operating System kernel Hardware 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?

  8. Performance models for patterns Performance models for libraries Application code API Framework code API Libraries code OS API Operating System kernel Hardware What are we working on? Execution MATE extensions: Tunlets Specification Measure points Monitoring Tuning Grid Performance analysis Performance model Tuning point, action, sync

  9. Outline • Introduction • 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 Tunlet

  11. Motivation Application User MATE Framework Tunlet Tunlet … Tunlet Application 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 Measure Points Model Parameters p , p ... p 1 2 i p , p ... p 1 2 i User Performance Functions performance Mathematical Model f ... f problem 1 j e ... e 1 j Tuning Actions/Points a ... a 1 k tp ... tp 1 h Execution Automatic Generation Tuning Monitoring Tool Performance Analysis ... Tunlet Tunlet

  14. Automatic Development of Tunlets Tunlet Specification Performance Model Programming Measure Points Model Parameters p , p ... p 1 2 i p , p ... p 1 2 i User Performance Functions performance Mathematical Model f ... f problem 1 j e ... e 1 j Tuning Actions/Points a ... a 1 k tp ... tp 1 h Execution Automatic Generation Tuning Monitoring Tool Performance Analysis ... Tunlet Tunlet

  15. Automatic Development of Tunlets Tunlet Specification Performance Model Programming Measure Points Model Parameters p , p ... p 1 2 i p , p ... p 1 2 i User Performance Functions performance Mathematical Model f ... f problem 1 j e ... e 1 j Tuning Actions/Points a ... a 1 k tp ... tp 1 h Execution Automatic Generation Tuning Monitoring Tool Performance Analysis ... Tunlet Tunlet

  16. Automatic Development of Tunlets Application Tunlet Specification Performance Model Programming Measure Points Model Parameters p , p ... p 1 2 i p , p ... p 1 2 i User Performance Functions performance Mathematical Model f ... f problem 1 j e ... e 1 j Tuning Actions/Points a ... a 1 k tp ... tp 1 h Execution Automatic Generation Tuning Monitoring Tool Performance Analysis ... Tunlet Tunlet

  17. Automatic Development of Tunlets Application Tunlet Specification Performance Model Programming Measure Points Model Parameters p , p ... p 1 2 i p , p ... p 1 2 i User Performance Functions performance Mathematical Model f ... f problem 1 j e ... e 1 j Tuning Actions/Points a ... a 1 k tp ... tp 1 h Execution Automatic Generation Tuning Monitoring Tool 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 • Function • Entry or Exit • Attributes • Variables and Values • Variable, parameter or result • Name • Data Type • Actor • Name • Class • Exe • Min/Max • Completion Condition • Attributes

  22. Methodology II • Events • Function • Entry or Exit • Attributes • Variables and Values • Variable, parameter or result • Name • Data Type • Actor • Name • Class • Exe • Min/Max • Completion Condition • Attributes

  23. Methodology II • Events • Function • Entry or Exit • Attributes • Variables and Values • Variable, parameter or result • Name • Data Type • Actor • Name • Class • Exe • Min/Max • Completion Condition • Attributes

  24. Methodology II • Events • Function • Entry or Exit • Attributes • Variables and Values • Variable, parameter or result • Name • Data Type • Actor • Name • Class • Exe • Min/Max • Completion Condition • Attributes

  25. Automatic development of Tunlets Abstractions Formalize using our Tunlet Specification Language

  26. What, where? How? What? When? Where? Tunlet Specification Language What should be included? Tunlet name: comment: Measure points Performance functions Tuning points

  27. Tunlet Specification Language Tunlet 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 Tunlet name: comment: Measure points Performance functions f1() … fn() Tuning points What? where? How? What? When? Where?

  29. Tunlet Specification Language Tunlet name: comment: Measure points Performance functions Tuning points point1 … pointn What? where? How? What? When? Where?

  30. What, where? How? What? When? Where? Tunlet Specification Language Tunlet name: comment: Measure points Performance functions Tuning points

  31. Tunlet Generation Tunlet 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 • MATE • Tunlets • Our work • Automatic Development of Tunlets • Motivation • Abstractions and Methodology • Tunlet Specification Language • Tunlet Generator • Use Case • Conclusions

  33. Analyzer Analyzer Tunlet Tunle t Performance Model Tuning Measure points/ points actions Example: number of workers • Framework + MATE • Define the tunlet basing on the classes of the framework. • Adapt the framework to allow tuning of the applications via MATE

  34. Analyzer Analyzer Tunlet Tunle t Performance Model Tuning Measure points/ points actions Example: number of workers • Framework + MATE • Define the tunlet basing on the classes of the framework. • Adapt the framework to allow tuning of the applications via MATE Where... tl = latency λ = inverse bandwidth V = data volume Tc= computing time

  35. Analyzer Analyzer Tunlet Tunle t Performance Model Tuning Measure points/ points actions Example: number of workers • Framework + MATE • Define the tunlet basing on the classes of the framework. • 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. Analyzer Analyzer Tunlet Tunle t Performance Model Tuning Measure points/ points actions Example: number of workers • Framework + MATE • Define the tunlet basing on the classes of the framework. • Adapt the framework to allow tuning of the applications via MATE

  37. Analyzer Analyzer Tunlet Tunle t Performance Model Tuning Measure points/ points actions Example: number of workers • Framework + MATE • Define the tunlet basing on the classes of the framework. • Variable • Nopt • Adapt the framework to allow tuning of the applications via MATE

  38. Analyzer Analyzer Tunlet Tunle t Performance Model Tuning Measure points/ points actions Example: number of workers • Framework + MATE • Define the tunlet basing on the classes of the framework. • Adapt the framework to allow tuning of the applications via MATE

  39. 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 Number of workers: Specification

  40. Outline • Introduction • 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

More Related