1 / 14

Towards Automated Tuning of Parallel Programs

Towards Automated Tuning of Parallel Programs. Jeffrey K. Hollingsworth hollings@cs.umd.edu Department of Computer Science University of Maryland, College Park, MD 20742. Why Automated Performance Tuning?. Software commonly have parameters that impact their performance.

von
Télécharger la présentation

Towards Automated Tuning of Parallel Programs

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. Towards Automated Tuning of Parallel Programs Jeffrey K. Hollingsworth hollings@cs.umd.edu Department of Computer Science University of Maryland, College Park, MD 20742

  2. Why Automated Performance Tuning? • Software commonly have parameters that impact their performance. • Optimal parameter values are usually variable and un-predictable. Automated Parameter tuning can be used for adaptive parameter tuning in complex software.

  3. Automated Performance Tuning • Goal: Maximize achieved performance • Problems: • Large number of parameters to tune • Shape of objective function unknown • Multiple libraries and coupled applications • Analytical model may not be available • Requirements: • Runtime tuning for long running programs • Don’t try too many configurations • Avoid gradients

  4. Active Harmony • Runtime performance optimization • Can also support training runs • Automatic library selection (code) • Monitor library performance • Switch library if necessary • Automatic performance tuning (parameter) • Monitor system performance • Adjust runtime parameters • Hooks for Compiler Frameworks • Working to integrate USC/ISI Chill • Looking at others too

  5. Example: Cluster Based Web Server • 3-tier system • Harmony Provides • Parameter updates for DB, and App Severs • TPC-W Benchmark • Transactional web benchmark • Mimic operations of an e-commerce site • Uses Java implementation from Univ. of Wisconsin • Performance metrics • Web Interaction Per Second (WIPS)

  6. Best configuration after 200 iterations Browsing Shopping Ordering Improvements compared to the default configuration 15% 16% 5% Cluster-Based Web Service Tuning

  7. Importance of various parameters

  8. A Bit More About Harmony Search • Pre-execution • Sensitivity Discovery Phase • Used to Order not Eliminate search dimensions • Online • Use Parallel Rank Order Search • Different configurations on different nodes

  9. Performance for Two Programs High Performance Linpack POP Ocean Code Benefits of Searching in Parallel

  10. Integrating Compiler Transformations 10

  11. Performance of Matrix Multiply ActiveHarmony + CHiLL vs ATLAS and MKL 11

  12. Must Coordinate Auto Tuners • Problem: Warring auto tuning systems • Multiple components “auto tuning” at once • Tuning based on multiple changes at once • Solution: • Need some level of coordination • Possible Answer: • Exposing different tuning systems • Part of PERI Auto-tuning Effort

  13. Conclusion • Active Harmony • An infrastructure for runtime tuning • Automatic tuning and environment adaptation • It works ! • Auto Tuning Integration • Need to integrate multiple tools • Compilers, runtime, application

  14. Acknowledgements • Coding and Experiments • I-Hsin Chung (IBM Watson) • Vahid Tabatabaee • Ananta Tiwari • Chill Integration Effort • Marry Hall (Utah) • Chun Chen (USC/ISI) • Jacqueline Chame (USC/ISI) • Funding • DOE – PERC/PERI • NSF • LTS (DoD)

More Related