Hierarchical Multithreading: Programming Model and System Software Guang R. Gao1, Thomas Sterling2,3,RickStevens4, Mark Hereld4,WeirongZhu1 1 2 Department of Electrical and Computer Engineering Center for Advanced Computing Research University of Delaware California Institute of Technology {ggao,weirong}@capsl.udel.edu
[email protected] 3 4 Department of Computer Science Mathematics and Computer Science Division Louisiana State University Argonne National Laboratory
[email protected] {stevens,hereld}@mcs.anl.gov Abstract 1 Introduction With the rapid increase in both the scale and com- This paper addresses the underlying sources of per- plexity of scientific and engineering problems, the com- formance degradation (e.g. latency, overhead, and putational demands grow accordingly. Breakthrough- starvation) and the difficulties of programmer produc- quality scientific discoveries and optimal engineering tivity (e.g. explicit locality management and schedul- designs often rely on large scale simulations on High- ing, performance tuning, fragmented memory, and syn- End Computing (HEC) systems with performance re- chronous global barriers) to dramatically enhance the quirement reaching peta-flops and beyond. However, broad effectiveness of parallel processing for high end current HEC systems lack system software and tools computing. We are developing a hierarchical threaded optimized for advanced scientific and engineering work virtual machine (HTVM) that defines a dynamic, mul- of interest, and are extremely difficult to program and tithreaded execution