Dynamic Tuning of OpenMP Memory Bound Applications in Multisocket Systems using MATE

The performance of OpenMP applications executed in multisocket multicore processors can be limited by the memory interface. In a multisocket environment, each multicore processor can present a performance degradation in memory-bound parallel regions when sharing the same Last Level Cache (LLC). In this case the use of all available resources is not always the best choice in terms of execution time and/or efficiency. The best configuration for an application depends on the system's architecture, the input data, and the data evolution; hence, it can vary from execution to execution or even during the same execution. This means that, in order to find a configuration that makes an efficient use of the available resources, an adequate methodology and tools are needed. In this work we present the integration of a performance model for OpenMP memory bound applications in a dynamic performance tuning tool called MATE. For achieving this integration, MATE was extended to support measurement of hardware counters, and the performance model was adapted for determining the best number of threads for an application and for being implemented in MATE as a Tunlet. The developed Tunlet has been evaluated using different multi-socket architectures and memory bound application benchmarks, showing that the proposed approach can be efficient.

[1]  David H. Bailey,et al.  The Nas Parallel Benchmarks , 1991, Int. J. High Perform. Comput. Appl..

[2]  Anna Sikora,et al.  Performance model based on memory footprint for OpenMP memory bound applications , 2015, PARCO.

[3]  F P O'BoyleMichael,et al.  Mapping parallelism to multi-cores , 2009 .

[4]  Michael Gerndt,et al.  READEX Tool Suite for Energy-efficiency Tuning of HPC Applications , 2017, SEM4HPC@HPDC.

[5]  Bernd Mohr,et al.  The Scalasca performance toolset architecture , 2010, Concurr. Comput. Pract. Exp..

[6]  Tomàs Margalef,et al.  Dynamic performance tuning supported by program specification , 2002, Sci. Program..

[7]  Shajulin Benedict SCALE-EA: A Scalability Aware Performance Tuning Framework for OpenMP Applications , 2018, Scalable Comput. Pract. Exp..

[8]  Anna Sikora,et al.  A Performance Model for OpenMP Memory Bound Applications in Multisocket Systems , 2014, ICCS.

[9]  I-Hsin Chung,et al.  Active Harmony: Towards Automated Performance Tuning , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[10]  David H. Bailey,et al.  The Nas Parallel Benchmarks , 1991, Int. J. High Perform. Comput. Appl..

[11]  Emilio Luque,et al.  Modeling Master/Worker applications for automatic performance tuning , 2006, Parallel Comput..

[12]  Jack J. Dongarra,et al.  A Portable Programming Interface for Performance Evaluation on Modern Processors , 2000, Int. J. High Perform. Comput. Appl..

[13]  Anna Sikora,et al.  Autotuning of MPI Applications Using PTF , 2016, SEM4HPC@HPDC.

[14]  Allen D. Malony,et al.  The Tau Parallel Performance System , 2006, Int. J. High Perform. Comput. Appl..

[15]  Anna Sikora,et al.  ELASTIC: A large scale dynamic tuning environment , 2014, Sci. Program..

[16]  Tomàs Margalef,et al.  MATE: Monitoring, Analysis and Tuning Environment for parallel/distributed applications , 2007, Concurr. Comput. Pract. Exp..

[17]  Michael F. P. O'Boyle,et al.  Mapping parallelism to multi-cores: a machine learning based approach , 2009, PPoPP '09.

[18]  Bernd Mohr,et al.  The Scalasca performance toolset architecture , 2010 .

[19]  Matthias S. Müller,et al.  The Vampir Performance Analysis Tool-Set , 2008, Parallel Tools Workshop.

[20]  L. Miles,et al.  2000 , 2000, RDH.