An automated OpenMP mutation testing framework for performance optimization.

Saved in:
Bibliographic Details
Title: An automated OpenMP mutation testing framework for performance optimization.
Authors: Miao, Dolores1 (AUTHOR) wjmiao@ucdavis.edu, Laguna, Ignacio2 (AUTHOR), Georgakoudis, Giorgis2 (AUTHOR), Parasyris, Konstantinos2 (AUTHOR), Rubio-González, Cindy1 (AUTHOR)
Source: Parallel Computing. Sep2024, Vol. 121, pN.PAG-N.PAG. 1p.
Subjects: Optimization algorithms, Mathematical optimization, Source code, Decision trees, Debugging, Compilers (Computer programs)
Abstract: Performance optimization continues to be a challenge in modern HPC software. Existing performance optimization techniques, including profiling-based and auto-tuning techniques, fail to indicate program modifications at the source level thus preventing their portability across compilers. This paper describes Muppet , a new approach that identifies program modifications called mutations aimed at improving program performance. Muppet 's mutations help developers reason about performance defects and missed opportunities to improve performance at the source code level. In contrast to compiler techniques that optimize code at intermediate representations (IR), Muppet uses the idea of source-level mutation testing to relax correctness constraints and automatically discover optimization opportunities that otherwise are not feasible using the IR. We demonstrate the Muppet 's concept in the OpenMP programming model. Muppet generates a list of OpenMP mutations that alter the program parallelism in various ways, and is capable of running a variety of optimization algorithms such as delta debugging, Bayesian Optimization and decision tree optimization to find a subset of mutations which, when applied to the original program, cause the most speedup while maintaining program correctness. When Muppet is evaluated against a diverse set of benchmark programs and proxy applications, it is capable of finding sets of mutations that induce speedup in 75.9% of the evaluated programs. [ABSTRACT FROM AUTHOR]
Copyright of Parallel Computing is the property of Elsevier B.V. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 179499839
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: An automated OpenMP mutation testing framework for performance optimization.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Miao%2C+Dolores%22">Miao, Dolores</searchLink><relatesTo>1</relatesTo> (AUTHOR)<i> wjmiao@ucdavis.edu</i><br /><searchLink fieldCode="AR" term="%22Laguna%2C+Ignacio%22">Laguna, Ignacio</searchLink><relatesTo>2</relatesTo> (AUTHOR)<br /><searchLink fieldCode="AR" term="%22Georgakoudis%2C+Giorgis%22">Georgakoudis, Giorgis</searchLink><relatesTo>2</relatesTo> (AUTHOR)<br /><searchLink fieldCode="AR" term="%22Parasyris%2C+Konstantinos%22">Parasyris, Konstantinos</searchLink><relatesTo>2</relatesTo> (AUTHOR)<br /><searchLink fieldCode="AR" term="%22Rubio-González%2C+Cindy%22">Rubio-González, Cindy</searchLink><relatesTo>1</relatesTo> (AUTHOR)
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Parallel+Computing%22">Parallel Computing</searchLink>. Sep2024, Vol. 121, pN.PAG-N.PAG. 1p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Optimization+algorithms%22">Optimization algorithms</searchLink><br /><searchLink fieldCode="DE" term="%22Mathematical+optimization%22">Mathematical optimization</searchLink><br /><searchLink fieldCode="DE" term="%22Source+code%22">Source code</searchLink><br /><searchLink fieldCode="DE" term="%22Decision+trees%22">Decision trees</searchLink><br /><searchLink fieldCode="DE" term="%22Debugging%22">Debugging</searchLink><br /><searchLink fieldCode="DE" term="%22Compilers+%28Computer+programs%29%22">Compilers (Computer programs)</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Performance optimization continues to be a challenge in modern HPC software. Existing performance optimization techniques, including profiling-based and auto-tuning techniques, fail to indicate program modifications at the source level thus preventing their portability across compilers. This paper describes Muppet , a new approach that identifies program modifications called mutations aimed at improving program performance. Muppet 's mutations help developers reason about performance defects and missed opportunities to improve performance at the source code level. In contrast to compiler techniques that optimize code at intermediate representations (IR), Muppet uses the idea of source-level mutation testing to relax correctness constraints and automatically discover optimization opportunities that otherwise are not feasible using the IR. We demonstrate the Muppet 's concept in the OpenMP programming model. Muppet generates a list of OpenMP mutations that alter the program parallelism in various ways, and is capable of running a variety of optimization algorithms such as delta debugging, Bayesian Optimization and decision tree optimization to find a subset of mutations which, when applied to the original program, cause the most speedup while maintaining program correctness. When Muppet is evaluated against a diverse set of benchmark programs and proxy applications, it is capable of finding sets of mutations that induce speedup in 75.9% of the evaluated programs. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Parallel Computing is the property of Elsevier B.V. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=179499839
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1016/j.parco.2024.103097
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 1
        StartPage: N.PAG
    Subjects:
      – SubjectFull: Optimization algorithms
        Type: general
      – SubjectFull: Mathematical optimization
        Type: general
      – SubjectFull: Source code
        Type: general
      – SubjectFull: Decision trees
        Type: general
      – SubjectFull: Debugging
        Type: general
      – SubjectFull: Compilers (Computer programs)
        Type: general
    Titles:
      – TitleFull: An automated OpenMP mutation testing framework for performance optimization.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Miao, Dolores
      – PersonEntity:
          Name:
            NameFull: Laguna, Ignacio
      – PersonEntity:
          Name:
            NameFull: Georgakoudis, Giorgis
      – PersonEntity:
          Name:
            NameFull: Parasyris, Konstantinos
      – PersonEntity:
          Name:
            NameFull: Rubio-González, Cindy
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 09
              Text: Sep2024
              Type: published
              Y: 2024
          Identifiers:
            – Type: issn-print
              Value: 01678191
          Numbering:
            – Type: volume
              Value: 121
          Titles:
            – TitleFull: Parallel Computing
              Type: main
ResultId 1