Performance Analysis and Modeling of Task-Based Runtimes

TitlePerformance Analysis and Modeling of Task-Based Runtimes
Publication TypeThesis
Year of Publication2016
AuthorsHaugen, B.
Academic DepartmentDepartment of Electrical Engineering and Computer Science
DegreePhD
Date Published05-2016
UniversityUniversity of Tennessee
CityKnoxville
AbstractThe shift toward multicore processors has transformed the software and hardware landscape in the last decade. As a result, software developers must adopt parallelism in order to efficiently make use of multicore CPUs. Task-based scheduling has emerged as one method to reduce the complexity of parallel computing. Although task-based scheduling has been around for many years, the inclusion of task dependencies in OpenMP 4.0 suggests the paradigm will be around for the foreseeable future. While task-based schedulers simplify the process of parallel software development, they can obfuscate the performance characteristics of the execution of an algorithm. Additionally, they can create a challenge for users to analyze the performance of their software and tune algorithmic parameters accordingly.

We will present the basic principles of task-based runtimes as well as two new tools developed to assist engineers developing these runtimes and users employing them to parallelize their workloads. The first is a tool allowing users to simulate the execution of their algorithm. The second is an extension to the common execution trace which includes information about task dependencies.