Issue No. 07 - July (1990 vol. 39)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.55693
<p>A processor self-scheduling scheme is proposed for general parallel nested loops in multiprocessor systems. In this scheme, programs are instrumented to allow processors to schedule loop iterations among themselves dynamically at run time without involving the operating system. The scheme has two levels. At the low level, it uses simple fetch-and-op operations to take advantage of the regular structure in the innermost parallel loop nests; at the high level, the irregular structure of the outer loops (parallel or serial) and the IF-THEN-ELSE constructs are handled by using dynamic parallel linked lists. The larger granularity or the processes at the high level easily justifies the added overhead incurred from maintaining such dynamic data structures. The use of guided self-scheduling (GSS) and shortest-delay self-scheduling (SDSS) in this scheme is analyzed.</p>
dynamic processor self scheduling; general parallel nested loops; multiprocessor systems; fetch-and-op operations; innermost parallel loop nests; dynamic parallel linked lists; granularity; dynamic data structures; guided self-scheduling; shortest-delay self-scheduling; data structures; multiprocessing systems; scheduling.
Z. Fang, P. Tang, P.-C. Yew, C.Q. Zhu, "Dynamic Processor Self-Scheduling for General Parallel Nested Loops", IEEE Transactions on Computers, vol. 39, no. , pp. 919-929, July 1990, doi:10.1109/12.55693