
Scalable Task Parallelism for NUMA: A Uniform Abstraction for Coordinated Scheduling and Memory Management
Authors: Andi Drebes, Antoniu Pop, Karine Heydemann, Albert Cohen, Nathalie Drach
Journal: Proceedings of the 2016 International Conference on Parallel Architectures and Compilation
Publication Date: 11 September, 2016
Department of: Computer Science
In Abstract
Scalable Task Parallelism for NUMA: A Uniform Abstraction for Coordinated Scheduling and Memory Management
An automatic run-time optimisation system has been developed that allows programmers to ignore non-uniformity in parallel computing systems without sacrificing performance.
The research was conducted by an international team of computer scientists led from the University of Manchester. The resulting system allows software engineers to harness the ever-increasing power of contemporary computing systems without being exposed to their complexity. The system is automatic, application-independent, performance-portable across machines, and adapts seamlessly to dynamic changes.
While computing devices have become faster and more energy-efficient every year, this capability is often not translated into faster and more efficient applications for users. This is due to the difficulty of writing programs that can cope with the significant static and dynamic non-uniformity in modern computing systems. The optimization strategy uses semantic program information, gathered during compilation, to make precise scheduling and memory placement decisions at run time. This dynamic approach allows the preservation of a uniform hardware abstraction for programmers, leaving the work of managing non-uniformity to an automated run-time system.
It is anticipated that this research will influence the key trade-offs that determine how computing systems are designed and, eventually, lead to significant changes in the way software is deployed and optimised in future computing systems.
- Computing systems use more time and energy moving data around than on computing.
- The impact of this research on distributed systems is expected to be even more important because of the exacerbated costs of data movement.
- A key factor to the success of this research is the concurrent development of the Aftermath (https://www.aftermath-tracing.com/) program analysis tool at The University of Manchester. This tool allowed a much finer understanding of the behaviour of programs and their interaction with the hardware.