In April 2016 Manchester eScholar was replaced by the University of Manchester’s new Research Information Management System, Pure. In the autumn the University’s research outputs will be available to search and browse via a new Research Portal. Until then the University’s full publication record can be accessed via a temporary portal and the old eScholar content is available to search and browse via this archive.

Related resources

University researcher(s)

    Academic department(s)

      Comprehensive Parallel Performance Profiling, Characterisation, and Optimisation

      Neill, Richard

      [Thesis]. Manchester, UK: The University of Manchester; 2020.

      Access to files

      Abstract

      Modern hardware systems consist of highly-complex multi-processor hardware architectures that are often supported by specialised accelerator devices. This has resulted in an increased burden on programmers to write software capable of fully exploiting parallel, co-operative, and heterogeneous modes of execution, which is a challenging task that can lead to significantly sub-optimal parallel program execution. Parallel execution profiling and post-mortem performance analysis is a well-established technique to investigate potential sub-optimal execution and thus guide subsequent optimisation efforts. However, micro-architectural support for recording on-chip activity during the execution of parallel programs is limited. Furthermore, due to the complexity of interactions between the application, dynamic runtime system and underlying hardware, modern systems can produce large volumes of intricate profiling data captured during parallel program execution, rendering manual performance analysis techniques difficult, time-consuming, and error-prone. Moreover, while performance analysis techniques may identify regions of sub-optimal execution and determine the underlying performance issues, the necessary configuration required to optimise the performance may be unclear. This thesis explores three aspects of this research area: 1. parallel performance profiling techniques; 2. analysis and interpretation of profiling data; and 3. guiding performance optimisation based on interpreted performance characteristics. In order to relieve the programmer from the burden of manual analysis and optimisation effort, this thesis focuses on statistical, empirical approaches that automate these aspects. It is shown that such approaches can enable more comprehensive generation of profiling data, automated extraction of insights from that profiling data, as well as the potential automation of subsequent performance optimisation decisions.

      Bibliographic metadata

      Type of resource:
      Content type:
      Form of thesis:
      Type of submission:
      Degree type:
      Doctor of Philosophy
      Degree programme:
      PhD Computer Science (CDT)
      Publication date:
      Location:
      Manchester, UK
      Total pages:
      227
      Abstract:
      Modern hardware systems consist of highly-complex multi-processor hardware architectures that are often supported by specialised accelerator devices. This has resulted in an increased burden on programmers to write software capable of fully exploiting parallel, co-operative, and heterogeneous modes of execution, which is a challenging task that can lead to significantly sub-optimal parallel program execution. Parallel execution profiling and post-mortem performance analysis is a well-established technique to investigate potential sub-optimal execution and thus guide subsequent optimisation efforts. However, micro-architectural support for recording on-chip activity during the execution of parallel programs is limited. Furthermore, due to the complexity of interactions between the application, dynamic runtime system and underlying hardware, modern systems can produce large volumes of intricate profiling data captured during parallel program execution, rendering manual performance analysis techniques difficult, time-consuming, and error-prone. Moreover, while performance analysis techniques may identify regions of sub-optimal execution and determine the underlying performance issues, the necessary configuration required to optimise the performance may be unclear. This thesis explores three aspects of this research area: 1. parallel performance profiling techniques; 2. analysis and interpretation of profiling data; and 3. guiding performance optimisation based on interpreted performance characteristics. In order to relieve the programmer from the burden of manual analysis and optimisation effort, this thesis focuses on statistical, empirical approaches that automate these aspects. It is shown that such approaches can enable more comprehensive generation of profiling data, automated extraction of insights from that profiling data, as well as the potential automation of subsequent performance optimisation decisions.
      Thesis main supervisor(s):
      Thesis co-supervisor(s):
      Language:
      en

      Institutional metadata

      University researcher(s):
      Academic department(s):

        Record metadata

        Manchester eScholar ID:
        uk-ac-man-scw:323712
        Created by:
        Neill, Richard
        Created:
        18th February, 2020, 13:03:40
        Last modified by:
        Neill, Richard
        Last modified:
        2nd March, 2020, 10:55:44

        Can we help?

        The library chat service will be available from 11am-3pm Monday to Friday (excluding Bank Holidays). You can also email your enquiry to us.