On the Utility of Threads for Data Parallel Programming

By Thomas Fahringer, Institute for Computer Applications in Science and Engineering

On the Utility of Threads for Data Parallel Programming
Preview available
Abstract: "Threads provide a useful programming model for asynchronous behavior because of their ability to encapsulate units of work that can be scheduled for execution at runtime, based on the dynamic state of a system. Recently, the threaded model has been applied to the domain of data parallel scientific codes, and initial reports indicate that the threaded model can produce performance gains over non-threaded approaches, primarily through the use of overlapping useful computation with communication latency. However, overlapping computation with communication is possible without the benefit of threads if the communication system supports asynchronous primitives, and this comparison has not been made in previous papers. This paper provides a critical look at the utility of lightweight threads as applied to data parallel scientific programming."

Book Details