A Machine Independent Interface for Lightweight Threads
Eisenhauer, Greg Stephen
MetadataShow full item record
Recently, lightweight thread libraries have become a common entity to support concurrent programming on shared memory multiprocessors. However, the disparity between primitives offered by operating systems creates a challenge for those who wish to create portable lightweight thread packages. What should be the interface between the machine-independent and machine-dependent parts of the thread library? We have implemented a portable lightweight thread library on top of Unix on a KSR-1 supercomputer, BBN Butterfly multiprocessor, SGI multiprocessor, Sequent multiprocessor and Sun 3/4 family of uniprocessors. This paper first compares the nature and performance of the OS primitives offered by these machines. We then present a procedure-level abstraction that is efficiently implementable on all the architectures and is a sufficient base upon which a user-level thread package can be built.
Showing items related by title, author, creator and subject.
Diamos, Gregory; Kerr, Andrew; Kesavan, Mukil (Georgia Institute of Technology, 2009)Parallel Thread Execution ISA (PTX) is a virtual instruction set used by NVIDIA GPUs that explicitly expresses hierarchical MIMD and SIMD style parallelism in an application. In such a programming model, the programmer ...
Lee, Jaekyu; Li, Si; Kim, Hyesoon; Yalamanchili, Sudhakar (Georgia Institute of Technology, 2012)Future chip multiprocessors (CMP) will only grow in core count and diversity in terms of frequency, power consumption, and resource distribution. Incorporating a GPU architecture into CMP, which is more efficient with ...
Collins, Ryan; Alegre, Fernando; Zhuang, Xiaotong; Pande, Santosh (Georgia Institute of Technology, 2005)Modern network processors such as the Intel IXP family hide the latency of slow instructions by supporting multiple threads of execution. Context switches in the IXP architecture are designed to be very fast. However, the ...