Abstract

Scheduling order has a significant impact on performance for nested parallel loops running on a multiprocessor system. More serious than affecting completion time, some scheduling orders may cause deadlock if only a limited number of processors is available. We identify all possible data dependence direction vectors for a two-level loop. Then we specify the conditions for which deadlock may occur. For deadlock-free cases, scheduling orders are compared based on total completion time and system processor utilization. If deadlock may occur, a scheduling order should be chosen such that deadlock can be prevented and the best possible solution can be achieved. We propose a general guideline to guide the selection process. There is no need to modify a user's program in our approach because only the most appropriate scheduling order is selected for a specific program.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call