Process control and scheduling issues for multiprogrammed shared-memory multiprocessors
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
SIGMETRICS '91 Proceedings of the 1991 ACM SIGMETRICS conference on Measurement and modeling of computer systems
Scheduler-conscious synchronization
ACM Transactions on Computer Systems (TOCS)
Thread scheduling for multiprogrammed multiprocessors
Proceedings of the tenth annual ACM symposium on Parallel algorithms and architectures
The implementation of the Cilk-5 multithreaded language
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Hi-index | 0.00 |
Parallel programs executing on non-dedicated SMPs should be adaptive, that is, they should be able to execute on a dynamically varying environment without loss of efficiency. This paper defines a unified set of services, implemented at the operating system level, which can be used to embed adaptability in any thread-based programming paradigm. These services meet simultaneously three goals: they are highly efficient; they are orthogonal and transparent to the multithreading programming model and its API; and they are non-intrusive, that is, they do not compromise the native operating system's resource management policies. The paper presents an implementation and evaluation of these services in the Linux kernel, using two popular multithreading programming systems, namely OpenMP and Cilk. Our experiments show that using these services in a multiprogrammed SMP yields a throughput improvement of up to 41.2%.