Back to results

University of Illinois at Urbana-Champaign

Message-driven parallel language runtime design and optimizations for multicore-based massively parallel machines

Abstract

dc:description

Multicore chips have become the standard building blocks for all current and future massively parallel machines. Much work has been done in scientific and engineering HPC applications to exploit shared-memory multicore nodes. This thesis, in contrast, pays close attention to the parallel language runtime system–a software layer that supports the execution of parallel applications. The essential idea is to parallelize the language runtime with threads as a natural consequence of the same general approach in applications to take advantage of the shared memory on a multicore node. Using the asynchronous message-driven CHARM++ runtime system as an evaluation platform, we address the key question of how the runtime should be designed and how it can be optimized for multicore nodes on parallel machines so that applications running atop the runtime can achieve better performance with as few changes as possible. Since the runtime performance on a single node is the basis for the overall runtime performance at scale, we have identified key factors for the runtime to run well on a single node, and developed corresponding optimization techniques. We have also developed the CkLoop library in the CHARM++ runtime, which showcases the necessity of a unified runtime that can make better support of the parallelism at different granularity. Furthermore, we have explored the design space of work responsibility assignment among the threads in the multithreaded runtime. In the context of a runtime design of dedicated communication threads, we have investigated the consequent communication issues with the help from our extension to a performance analysis tool, and proposed methods that can resolve the issues. To achieve even better performance in applications, we have shown how developers can leverage new capabilities offered by the runtime, and developed new load balancing strategies that are more effective on multicore platforms. Finally, we have demonstrated the performance improvement on real production-levelscientific applications, including NAMD, a widely-used molecular dynamics simulation program, by using this multithreaded runtime on petascale massively parallel machines. In the case of the 100M-atom STMV simulation using NAMD, the multithreaded runtime leads NAMD to achieve about two-fold performance improvement on 224,076 cores of JaguarPF (Cray XT5), and about three times improvement in machine utilization on Intrepid (BlueGene/P). It also makes NAMD more scalable up to the full machine of JaguarPF and Titan (Cray XK6).

Degree

thesis:*
Name thesis:degree_name
Ph.D.
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Computer Science
Grantor
University of Illinois at Urbana-Champaign
Year dc:date
2012

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Mei, Chao
Contributors dc:contributor
  • Kale, Laxmikant V.
  • Padua, David A.
  • Torrellas, Josep
  • Balaji, Pavan

Subjects

dc:subject × 8

Rights

dc:rights
Statement dc:rights
  • Copyright 2012 Chao Mei
Language dc:language
en

Identifiers

dc:identifier.*
Handle dc:identifier
http://hdl.handle.net/2142/34238
OAI identifier oai:identifier
oai:www.ideals.illinois.edu:2142/34238

Chain of custody

source
Harvested from
University of Illinois - Urbana-Champaign
Base URL
www.ideals.illinois.edu/oai-pmh
Last updated
2026-07-22
Source record
OAI-PMH GetRecord
citation

Mei, Chao. Message-driven parallel language runtime design and optimizations for multicore-based massively parallel machines. Dissertation thesis, University of Illinois at Urbana-Champaign, 2012. http://hdl.handle.net/2142/34238