Efficient scheduling of parallel tasks in a multiprogramming environment
Dale Schouten · 1994
Considerable research has produced a plethora of efficient methods of exploiting parallelism on dedicated machines. On typical real systems, however, some of the important assumptions that lead to efficiency on a dedicated machine either do not hold or cause other problems on a machine which is time or space shared. Foremost among these assumptions is that the number of processors available to a parallel job is constant throughout the execution of the job. Maintaining such consistency in a real multiprogramming system can lead to poor utilization of the machine. This thesis will address issues involving the efficient exploitation of parallelism in a multiprogramming environment including OS support for user level scheduling and dynamic granularity control. Implementation of some of these techniques in the nanoThreads thread library will be discussed, as well as other details of the implementation of nanoThreads. iv For my brother, Duane Schouten, who in his way encouraged my scientif...