next up previous
Next: 3.2 The Workload Model Up: 3 The JobWorkload, Previous: 3 The JobWorkload,

3.1 The Job Model

In a uniprogrammed multiprocessor environment the execution time of a parallel program is mainly influenced the amount of basic work to be executed by the job. However, the execution time is also prolonged by a number of overheads incurred through the parallel execution of the job. These overheads include: the degree to which the work can be divided and balanced among multiple processors, the amount and type of communication among the cooperating processes, the amount and type of synchronization, as well as the costs incurred when creating and executing multiple processes on different processors. These different overheads can all be considered to be characteristics of the job being executed and can be modelled as inefficiencies in the ability of parallel programs to fully utilize the assigned processors. We use an execution rate function to model these inefficiencies.

In our job model two parameters are used to characterize a job, tex2html_wrap_inline815 .

  1. tex2html_wrap_inline825 -- is the amount of basic work executed. This corresponds to the execution time required to execute the program serially (i.e., the service demand).
  2. tex2html_wrap_inline777 -- is a parameter to an execution rate function and is used to characterize the rate at which the work, tex2html_wrap_inline825 , is executed when allocated a specified number of processors, tex2html_wrap_inline813 . This models the efficiency of the parallel job.

A number of models of parallel system and parallel program performance have been proposed and studied [10, 35, 7, 32]. We use the following execution rate function, used in a number of previous studies [5, 23, 30], which has been derived from an execution rate function (also called an execution signature) proposed by Dowdy [7]:

displaymath53

In this equation tex2html_wrap_inline833 is the speedup obtained when the job is executed on tex2html_wrap_inline813 processors and tex2html_wrap_inline777 is the parameter that is used to determine the efficiency of the job. If the number of processors allocated to a job, tex2html_wrap_inline813 , is fixed for the duration of the job's execution its execution time is therefore:

displaymath57

When working with the execution rate function, F, we found it difficult to think in terms of tex2html_wrap_inline777 values for the execution rate. For example, does tex2html_wrap_inline845 imply that the job attains good speedup? The answer depends on the number of processors in the system, P. Therefore, we use a term called effective efficiency, tex2html_wrap_inline849 , which expresses the speedup attained as a percentage of the number of processors used if all P processors would be allocated to the job. Therefore, tex2html_wrap_inline853 means that if the job was executed in isolation using all of the processors its speedup would be 90% of P. Alternately, E(P) = 0.90.

displaymath61

displaymath71

Note that if tex2html_wrap_inline859 , tex2html_wrap_inline861 and that a lower bound on tex2html_wrap_inline849 is tex2html_wrap_inline865 , since the parameter tex2html_wrap_inline777 , is bounded by zero.

Using tex2html_wrap_inline849 (rather than tex2html_wrap_inline777 ) we gain an intuitive feeling for possible values of, and perhaps even representative distributions of, tex2html_wrap_inline849 . Therefore, we can think of and perform experiments in terms of tex2html_wrap_inline849 values while the simulator internally uses the corresponding tex2html_wrap_inline777 values. Figure 1 plots the execution rate function using a number of tex2html_wrap_inline849 values (corresponding tex2html_wrap_inline777 values are also shown), assuming a system of 100 processors.

   figure78
Figure 1: Execution rate function, speedup (S(p)) versus the number of processors (p) for various tex2html_wrap_inline777

We recognize that this function does not accurately model the efficiency of all parallel applications because some applications may limit their parallelism (since they are unable to support P threads of execution efficiently) and because some applications will actually experience decreases in speedup when too many processors are allocated (due to increases in communication overhead). However, we chose not to use such models in this paper, because it could produce what might be considered an unfair bias against the equipartition policy. Since workloads can be easily generated on which the equipartition algorithm will perform poorly (because it will unknowingly allocate too many processors to jobs), developing algorithms that use job characteristics to improve mean response times would be trivial. Additionally, any algorithms developed using the model used here will only produce greater advantages when used with models of efficiency that consider jobs with limited parallelism and jobs that experience ``slowdown'' when too many processors are allocated. Note that more detailed and accurate models of efficiency, including a model that addresses both of these issues, are examined by Guha [12].


next up previous
Next: 3.2 The Workload Model Up: 3 The JobWorkload, Previous: 3 The JobWorkload,

Tim Brecht
Thu Jul 24 14:20:29 EDT 1997