An Introduction to Qthreads and Its Role in HPC

Alex Brooks
Seminar

With the increasing popularity of hardware support for multi-threading in large-scale machines, High Performance Computing (HPC) applications have looked toward using multi-threading libraries for further improving load-balancing. Most threading APIs provide kernel-level threading for applications. Recent research has looked into user-level threading which allows for fast context-switching, effectively decreasing the amount of idle time when threads are blocked. Most user-level threading support is unique to certain architectures or compilers and lacks portability. Qthreads is an API for providing portable support for user-level threading, allowing for the creation and use of millions of threads. This talk will introduce the Qthread API model and attempt to discuss the role of Qthreads in HPC.

Bio:
Alex Brooks will be a first year Computer Science Ph.D. student at the University of Illinois at Urbana-Champaign (UIUC) in the Fall of 2013. He will be working under the direction of Professor Marc Snir at UIUC. Before coming to UIUC, Alex received his Bachelors degree in Mathematics and Computer Science from Monmouth College in May 2013. His general research interest is High Performance Computing.