Pegasus: Performance Engineering for Software Applications Targeting HPC Systems

Detalhes bibliográficos
Autor(a) principal: Pedro Pinto
Data de Publicação: 2020
Outros Autores: João Bispo, João M. P. Cardoso, Jorge Manuel Gomes Barbosa, Davide Gadioli, Gianluca Palermo, Jan Martinovic, Martin Golasowski, Katerina Slaninova, Radim Cmar, Cristina Silvano
Tipo de documento: Artigo
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: https://hdl.handle.net/10216/127756
Resumo: Developing and optimizing software applications for high performance and energy efficiency is a very challenging task, even when considering a single target machine. For instance, optimizing for multicore-based computing systems requires in-depth knowledge about programming languages, application programming interfaces, compilers, performance tuning tools, and computer architecture and organization. Many of the tasks of performance engineering methodologies require manual efforts and the use of different tools not always part of an integrated toolchain. This paper presents Pegasus, a performance engineering approach supported by a framework that consists of a source-to-source compiler, controlled and guided by strategies programmed in a Domain-Specific Language, and an autotuner. Pegasus is a holistic and versatile approach spanning various decision layers composing the software stack, and exploiting the system capabilities and workloads effectively through the use of runtime autotuning. The Pegasus approach helps developers by automating tasks regarding the efficient implementation of software applications in multicore computing systems. These tasks focus on application analysis, profiling, code transformations, and the integration of runtime autotuning. Pegasus allows developers to program their strategies or to automatically apply existing strategies to software applications in order to ensure the compliance of non-functional requirements, such as performance and energy efficiency. We show how to apply Pegasus and demonstrate its applicability and effectiveness in a complex case study, which includes tasks from a smart navigation system.
id RCAP_e5c7ec8a53840fdacd3fe1f1020fed1d
oai_identifier_str oai:repositorio-aberto.up.pt:10216/127756
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Pegasus: Performance Engineering for Software Applications Targeting HPC SystemsDeveloping and optimizing software applications for high performance and energy efficiency is a very challenging task, even when considering a single target machine. For instance, optimizing for multicore-based computing systems requires in-depth knowledge about programming languages, application programming interfaces, compilers, performance tuning tools, and computer architecture and organization. Many of the tasks of performance engineering methodologies require manual efforts and the use of different tools not always part of an integrated toolchain. This paper presents Pegasus, a performance engineering approach supported by a framework that consists of a source-to-source compiler, controlled and guided by strategies programmed in a Domain-Specific Language, and an autotuner. Pegasus is a holistic and versatile approach spanning various decision layers composing the software stack, and exploiting the system capabilities and workloads effectively through the use of runtime autotuning. The Pegasus approach helps developers by automating tasks regarding the efficient implementation of software applications in multicore computing systems. These tasks focus on application analysis, profiling, code transformations, and the integration of runtime autotuning. Pegasus allows developers to program their strategies or to automatically apply existing strategies to software applications in order to ensure the compliance of non-functional requirements, such as performance and energy efficiency. We show how to apply Pegasus and demonstrate its applicability and effectiveness in a complex case study, which includes tasks from a smart navigation system.2020-06-102020-06-10T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articleapplication/pdfhttps://hdl.handle.net/10216/127756eng0098-558910.1109/TSE.2020.3001257Pedro PintoJoão BispoJoão M. P. CardosoJorge Manuel Gomes BarbosaDavide GadioliGianluca PalermoJan MartinovicMartin GolasowskiKaterina SlaninovaRadim CmarCristina Silvanoinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-29T13:11:45Zoai:repositorio-aberto.up.pt:10216/127756Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T23:35:36.243978Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Pegasus: Performance Engineering for Software Applications Targeting HPC Systems
title Pegasus: Performance Engineering for Software Applications Targeting HPC Systems
spellingShingle Pegasus: Performance Engineering for Software Applications Targeting HPC Systems
Pedro Pinto
title_short Pegasus: Performance Engineering for Software Applications Targeting HPC Systems
title_full Pegasus: Performance Engineering for Software Applications Targeting HPC Systems
title_fullStr Pegasus: Performance Engineering for Software Applications Targeting HPC Systems
title_full_unstemmed Pegasus: Performance Engineering for Software Applications Targeting HPC Systems
title_sort Pegasus: Performance Engineering for Software Applications Targeting HPC Systems
author Pedro Pinto
author_facet Pedro Pinto
João Bispo
João M. P. Cardoso
Jorge Manuel Gomes Barbosa
Davide Gadioli
Gianluca Palermo
Jan Martinovic
Martin Golasowski
Katerina Slaninova
Radim Cmar
Cristina Silvano
author_role author
author2 João Bispo
João M. P. Cardoso
Jorge Manuel Gomes Barbosa
Davide Gadioli
Gianluca Palermo
Jan Martinovic
Martin Golasowski
Katerina Slaninova
Radim Cmar
Cristina Silvano
author2_role author
author
author
author
author
author
author
author
author
author
dc.contributor.author.fl_str_mv Pedro Pinto
João Bispo
João M. P. Cardoso
Jorge Manuel Gomes Barbosa
Davide Gadioli
Gianluca Palermo
Jan Martinovic
Martin Golasowski
Katerina Slaninova
Radim Cmar
Cristina Silvano
description Developing and optimizing software applications for high performance and energy efficiency is a very challenging task, even when considering a single target machine. For instance, optimizing for multicore-based computing systems requires in-depth knowledge about programming languages, application programming interfaces, compilers, performance tuning tools, and computer architecture and organization. Many of the tasks of performance engineering methodologies require manual efforts and the use of different tools not always part of an integrated toolchain. This paper presents Pegasus, a performance engineering approach supported by a framework that consists of a source-to-source compiler, controlled and guided by strategies programmed in a Domain-Specific Language, and an autotuner. Pegasus is a holistic and versatile approach spanning various decision layers composing the software stack, and exploiting the system capabilities and workloads effectively through the use of runtime autotuning. The Pegasus approach helps developers by automating tasks regarding the efficient implementation of software applications in multicore computing systems. These tasks focus on application analysis, profiling, code transformations, and the integration of runtime autotuning. Pegasus allows developers to program their strategies or to automatically apply existing strategies to software applications in order to ensure the compliance of non-functional requirements, such as performance and energy efficiency. We show how to apply Pegasus and demonstrate its applicability and effectiveness in a complex case study, which includes tasks from a smart navigation system.
publishDate 2020
dc.date.none.fl_str_mv 2020-06-10
2020-06-10T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/article
format article
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/10216/127756
url https://hdl.handle.net/10216/127756
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 0098-5589
10.1109/TSE.2020.3001257
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799135668441448448