A Hierarchical Library for User-Defined Schedulers

Kohei Suzuki, Masaki Matsumoto, Kazuhiko Ohno, Takahiro Sasaki, and Toshio Kondo


Task Scheduling, Parallel Computing Systems, Programming Environments, Workflow Systems


The demand for large-scale computing is increasing. A widely distributed system may be a practical solution for such purpose. Therefore, we are developing a task parallel script language MegaScript for large-scale computing in a widely distributed environment. Task scheduling is very important for efficient largescale computing. MegaScript permits users to extend/ modify its scheduler. However, the user needs to handle low-level system components and resources, thus implementing a scheduler on MegaScript runtime is a heavy burden for the user. To solve this problem, we propose a scheduler library which hides the low-level runtime components and resources. Our library also has high reusability based on the class inheritance and composition. We implemented several schedulers using/not using our library, and compared the number of lines of scheduler code and the scheduling time. Using our library, the number of lines of static and dynamic scheduler code were reduced to 31–44% and 34–47% compared with conventional implementaions, respectively. Moreover, low-level code was eliminated from the scheduler code using our library. Despite the class inheritance and composition cause overhead, the increased scheduling time was small enough for most static and dynamic schedulers to use our library practically.

Important Links:

Go Back