The Performance Implications of Thread Management Alternatives for Shared-Memory Multiprocessors
IEEE Transactions on Computers
Processor scheduling in shared memory multiprocessors
SIGMETRICS '90 Proceedings of the 1990 ACM SIGMETRICS conference on Measurement and modeling of computer systems
The performance of multiprogrammed multiprocessor scheduling algorithms
SIGMETRICS '90 Proceedings of the 1990 ACM SIGMETRICS conference on Measurement and modeling of computer systems
SIGMETRICS '91 Proceedings of the 1991 ACM SIGMETRICS conference on Measurement and modeling of computer systems
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Scheduler activations: effective kernel support for the user-level management of parallelism
ACM Transactions on Computer Systems (TOCS)
The integration of virtual memory management and interprocess communication in Accent
ACM Transactions on Computer Systems (TOCS)
Experimentation with a Reconfigurable Microkernel
USENIX Microkernels and Other Kernel Architectures Symposium
Architecture independent virtual memory management for parallel and distributed environments: the mach approach
PORTS: a parallel, optimistic, real-time simulator
PADS '94 Proceedings of the eighth workshop on Parallel and distributed simulation
User-level threads on a general hardware interface
ACM SIGOPS Operating Systems Review
Models and languages for parallel computation
ACM Computing Surveys (CSUR)
Nanothreads vs. Fibers for the Support of Fine Grain Parallelism on Windows NT/2000 Platforms
ISHPC '00 Proceedings of the Third International Symposium on High Performance Computing
Hi-index | 0.00 |
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 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.