An evaluation of software multithreading in a conventional distributed memory multiprocessor
Matthew Haines, W. Böhm · 2002
Multithreading is often seen as a solution to the problem of large memory latencies that occur when remote data is needed for local computation. This paper quantifies the costs and benefits of software multithreading on a distributed memory multiprocessor. We describe the design of a machine-independent software multithreading system as part of a runtime system for a high-level parallel programming language, and present a quantitative analysis of the costs of our multithreading system, as well as its performance on the nCUBE/2 multiprocessor. We show that, in the presence of a sufficient number of remote references to cover the initial costs, or multithreading system provides speedup factors of between 1.27 and 1.65.>