by Kelvin K. Yue, David J. Lilja
ftp://ftp-mount.ee.umn.edu/pub/faculty/lilja/papers/llpc-on-solaris.ps
Add To MetaCart
Abstract:
Parallel applications typically do not perform well in a multiprogrammed environment that uses time-sharing to allocate processor resources to the applications' parallel threads. Coscheduling related parallel threads, or statically partitioning the system, often can reduce the applications ' execution times, but at the expense of reducing the overall system utilization. To address this problem, there has been increasing interest in dynamically allocating processors to applications based on their resource demands and the dynamically varying system load. The Loop-Level Process Control (LLPC) policy [16] dynamically adjusts the number of threads an application is allowed to execute based on the application's available parallelism and the overall system load. This study demonstrates the feasibility of incorporating the LLPC strategy into an existing commercial operating system and parallelizing compiler and provides further evidence of the performance improvement that is possible using this dynamic allocation strategy. In this implementation, applications are automatically parallelized and enhanced with the appropriate LLPC hooks so that each application interacts with the modified version of the Solaris operating system. The parallelism of the applications are then dynamically adjusted automatically when they are executed in a multiprogrammed environment so that all applications obtain a fair share of the total processing resources.
Citations
|
409
|
Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism
– Anderson, Bershad, et al.
- 1992
|
|
311
|
The Design of the Unix Operating System
– Bach
- 1986
|
|
240
|
Scheduling Techniques for Concurrent Systems
– Ousterhout
- 1982
|
|
58
|
SunOS multi-thread architecture
– Powell, Kleiman, et al.
- 1991
|
|
50
|
Performance analysis of job scheduling policies in parallel supercomputing environments
– Naik, Squillante, et al.
- 1993
|
|
38
|
Efficient Scheduling on Multiprogrammed Shared-Memory Multiprocessors
– Tucker
- 1993
|
|
35
|
A scalable multi-discipline, multiple-processor scheduling framework for irix
– Barton, Bitar
- 1995
|
|
31
|
Exploiting the parallelism available in loops
– Lilja
- 1994
|
|
7
|
Application-assisted dynamic scheduling on largescale multi-computer systems
– Konuru, Moreira, et al.
- 1996
|
|
6
|
Efficient Execution of Parallel Applications in Multiprogrammed Multiprocessor Systems
– Yue, Lilja
- 1996
|
|
5
|
Loop-level process control: an effective processor allocation policy for multiprogrammed multiprocessor systems
– Yue, Lilja
- 1995
|
|
4
|
Automatic self-allocating threads on the Convex Exemplar
– Severance, Enbody, et al.
- 1995
|
|
3
|
The impact of operating system scheduling polices and synchronization methods on the performance of parallel applications
– Gupta, Tucker, et al.
- 1991
|
|
2
|
Performance analysis and prediction of processor scheduling strategies in multiprogrammed shared-memory multiprocessors
– Yue, Lilja
- 1996
|
|
1
|
SunSoft Parallelizing Compiler for Fortran and C
– Grover, Kong, et al.
- 1996
|