The Community for Technology Leaders
Green Image
<p><b>Abstract</b>—Self-scheduling is a method for task scheduling in parallel programs, in which each processor acquires a new block of tasks for execution whenever it becomes idle. To get the best performance, the block size must be chosen to balance the scheduling overhead against the load imbalance. To determine the best block size, a better understanding of the role of load imbalance in self-scheduling performance is needed.</p><p>In this paper we study the effect of memory contention on task duration distributions and, hence, load balancing in self-scheduling on a Nonuniform Memory Access (NUMA) machine. Experimental studies on a BBN TC2000 are used to reveal the strengths and weaknesses of analytical performance models to predict running time and optimal block size. The models are shown to be very accurate for small block sizes. However, the models fail when the block size is large due to a previously unrecognized source of load imbalance. We extend the analytical models to address this failure. The implications for the construction of compilers and runtime systems are discussed.</p>
Dynamic scheduling, load balancing, memory performance, NUMA multiprocessors, self-scheduling.

T. Montaut, W. Jalby, L. Kervella and D. Durand, "Impact of Memory Contention on Dynamic Scheduling on NUMA Multiprocessors," in IEEE Transactions on Parallel & Distributed Systems, vol. 7, no. , pp. 1201-1214, 1996.
94 ms
(Ver 3.3 (11022016))