Towards a first vertical prototyping of an extremely fine-grained parallel programming approach

TitleTowards a first vertical prototyping of an extremely fine-grained parallel programming approach
Publication TypeJournal Articles
Year of Publication2003
AuthorsNaishlos D, Nuzman J, Tseng CW, Vishkin U
JournalTheory of Computing Systems
Volume36
Issue5
Pagination521 - 552
Date Published2003///
Abstract

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.