next up previous contents
Next: 12.2 When to multi-task Up: 12. Multi-tasking Previous: 12. Multi-tasking

   
12.1 Scalability

When multi-tasking, multiple processors are deployed against a job to reduce the job's overall wall clock time. The cpu time (summed over all processors) is not reduced12.1 compared to uni-tasking. The degree to which multiple processors are able to reduce a job's wall clock time is a measure of the job's parallel efficiency or scalability. For instance, if a job, which takes 10 hours of wall clock time on one processors, can be divided into pieces so that it will take one hour using 10 processors, then the job is 100% parallel. The job is then said to scale well which means it scales linearly with the number of processors. It should be kept in mind that a prefectly linear scaling with the number of processors assumes a dedicated environment. In a non-dedicated environment, other executables will steal processors and the job's captured processors must wait for stolen processors to be re-claimed before continuing. The wait time degrades scaling.

How parallel must a job be? Almost linear scaling may be good enough for a small number of processors, but it is not for large numbers of processors. For instance, if a job is 99.5% parallel, it will saturate about 14.8 out of 16 processors. That means the speedup from 16 processors is about 15 times as fast as the uni-tasked job. However, the same job will only give a speedup of 49 on 64 processors and on 1024 processors, the speedup is only 168! This is a consequence of Amdahl's law.


next up previous contents
Next: 12.2 When to multi-task Up: 12. Multi-tasking Previous: 12. Multi-tasking
RC Pacanowski and SM Griffies, GFDL, Jan 2000