Towards a First Vertical Prototyping of an Extremely Fine-Grained Parallel Programming Approach

Explicit multithreading (XMT) is a parallel programming approach for exploiting on-chip parallelism. XMT introduces a computational framework with (1) a simple programming style that relies on fine-grained PRAM-style algorithms; (2) hardware support for low-overhead parallel threads, scalable load b...

Full description

Saved in:
Bibliographic Details
Published inTheory of computing systems Vol. 36; no. 5; pp. 521 - 552
Main Authors Naishlos, Dorit, Nuzman, Joseph, Tseng, Chau-Wen, Vishkin, Uzi
Format Journal Article
LanguageEnglish
Published New York Springer Nature B.V 01.09.2003
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Explicit multithreading (XMT) is a parallel programming approach for exploiting on-chip parallelism. XMT introduces a computational framework with (1) a simple programming style that relies on fine-grained PRAM-style algorithms; (2) hardware support for low-overhead parallel threads, scalable load balancing, and efficient synchronization. The missing link between the algorithmic-programming level and the architecture level is provided by the first prototype XMT compiler. This paper also takes this new opportunity to evaluate the overall effectiveness of the interaction between the programming model and the hardware, and enhance its performance where needed, incorporating new optimizations into the XMT compiler. We present a wide range of applications, which written in XMT obtain significant speedups relative to the best serial programs. We show that XMT is especially useful for more advanced applications with dynamic, irregular access patterns, where for regular computations we demonstrate performance gains that scale up to much higher levels than have been demonstrated before for on-chip systems.
ISSN:1432-4350
1433-0490
DOI:10.1007/s00224-003-1086-6