A comparative analysis of fine-grain threads packages
Price, Gregory W.
MetadataShow full item record
The rising availability of multiprocessing platforms has increased the importance of providing programming models that allow users to express parallelism simply, portably, and efficiently. One popular way to write parallel programs is to use different threads for concurrent sections of code. User-level threads packages allow programmers to implement multithreaded programs in which thread creation, synchronization, and management are relatively inexpensive. Fine-grain programs are multithreaded programs in which the work is divided into a large number of threads and each contains a relatively small amount of work. The potential benefit of large numbers of threads include better load balancing, improved scalability, the potential for overlapping communication and computation, and more platform-independent programs. However, fine-grain programs are generally considered to be inefficient due to the overheads involved in managing numerous threads. In this thesis, we examine several user-level thread packages that implement different techniques for efficient fine-grain thread support. A set of benchmarks and comparison criteria are presented to measure the performance and robustness of these packages.