The design of the UNIX operating system
The design of the UNIX operating system
Scheduler activations: effective kernel support for the user-level management of parallelism
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Orca: A Language for Parallel Programming of Distributed Systems
IEEE Transactions on Software Engineering
The SR programming language: concurrency in practice
The SR programming language: concurrency in practice
Parallel programming in Split-C
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
Implementing a parallel C++ runtime system for scalable parallel systems
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
Solaris multithreaded programming guide
Solaris multithreaded programming guide
Designing and Coding Reusable C++
Designing and Coding Reusable C++
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
On the design of Chant: a talking threads package
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Constructing Applications from Reusable Components
IEEE Software
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
Runtime support for data parallel tasks
FRONTIERS '95 Proceedings of the Fifth Symposium on the Frontiers of Massively Parallel Computation (Frontiers'95)
Object-oriented real-time concurrency
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Platform-Independent Runtime Optimizations Using OpenThreads
IPPS '97 Proceedings of the 11th International Symposium on Parallel Processing
A Framework for Specializing Threads in Concurrent Run-Time Systems
LCR '98 Selected Papers from the 4th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers
Multithreading in the Kylin Operating System for High End Computing
HPCASIA '05 Proceedings of the Eighth International Conference on High-Performance Computing in Asia-Pacific Region
Hi-index | 0.00 |
Existing user-level thread packages employ a "black box" design approach, where the implementation of the threads is hidden from the user. While this approach is often sufficient for application-level programmers, it hides critical design decisions that system-level programmers must be able to change in order to provide efficient service for high-level systems. By applying the principles of Open Implementation Analysis and Design, we construct a new user-level threads package that supports common thread abstractions and a well-defined meta-interface for altering the behavior of these abstractions. As a result, system-level programmers will have the advantages of using high-level thread abstractions without having to sacrifice performance, flexibility, or portability.