Dynamically adapting to system load and program behavior in multiprogrammed multiprocessor systems

Iffat H. Kazi, David J. Lilja

Research output: Contribution to journalArticlepeer-review


Parallel execution of application programs on a multiprocessor system may lead to performance degradation if the workload of a parallel region is not large enough to amortize the overheads associated with the parallel execution. Furthermore, if too many processes are running on the system in a multiprogrammed environment, the performance of the parallel application may degrade due to resource contention. This work proposes a comprehensive dynamic processor allocation scheme that takes both program behavior and system load into consideration when dynamically allocating processors. This mechanism was implemented on the Solaris operating system to dynamically control the execution of parallel C and Java application programs. Performance results show the effectiveness of this scheme in dynamically adapting to the current execution environment and program behavior, and that it outperforms a conventional time-shared system.

Original languageEnglish (US)
Pages (from-to)957-985
Number of pages29
JournalConcurrency Computation Practice and Experience
Issue number12
StatePublished - Oct 1 2002


  • Dynamic adaption
  • Loop-level parallelism
  • Multiprogramming
  • Processor allocation
  • Shared memory multiprocessor system

Fingerprint Dive into the research topics of 'Dynamically adapting to system load and program behavior in multiprogrammed multiprocessor systems'. Together they form a unique fingerprint.

Cite this