Title :
Qthreads: An API for programming with millions of lightweight threads
Author :
Wheeler, Kyle B. ; Murphy, Richard C. ; Thain, Douglas
Author_Institution :
Univ. of Notre Dame, South Bend, IN
Abstract :
Large scale hardware-supported multithreading, an attractive means of increasing computational power, benefits significantly from low per-thread costs. Hardware support for lightweight threads is a developing area of research. Each architecture with such support provides a unique interface, hindering development for them and comparisons between them. A portable abstraction that provides basic lightweight thread control and synchronization primitives is needed. Such an abstraction would assist in exploring both the architectural needs of large scale threading and the semantic power of existing languages. Managing thread resources is a problem that must be addressed if massive parallelism is to be popularized. The qthread abstraction enables development of large-scale multithreading applications on commodity architectures. This paper introduces the qthread API and its Unix implementation, discusses resource management, and presents performance results from the HPCCG benchmark.
Keywords :
Unix; application program interfaces; multi-threading; resource allocation; API; HPCCG benchmark; Qthreads; Unix implementation; application program interfaces; large scale hardware supported multithreading; lightweight threads; qthread API; qthread abstraction; resource management; Computer architecture; Costs; Hardware; Laboratories; Large-scale systems; Multithreading; Parallel processing; Programming profession; Resource management; Yarn;
Conference_Titel :
Parallel and Distributed Processing, 2008. IPDPS 2008. IEEE International Symposium on
Conference_Location :
Miami, FL
Print_ISBN :
978-1-4244-1693-6
Electronic_ISBN :
1530-2075
DOI :
10.1109/IPDPS.2008.4536359