Skip to Main Content
In the grid applications, it is very likely that object oriented languages, like Java and Ruby, are employed as well as large-scale semi-structured data like XML. However, their inherent dynamic memory management has to suspend the execution of all the tasks running on processors when it is invoked. This adversely affects the grid computing severely unless the task scheduling system can avoid it with some special mechanism. We propose a new task scheduling method, referenced to as CP/MM, which can efficiently schedule tasks for applications requiring memory management. The underlying concept is to consider the cost due to memory management when the task scheduling system allocates ready coarse grain tasks, or macro-tasks, to processors. We have developed three task scheduling modules including an implementation of CP/MM into a task scheduling system is implemented on Java RMI (remote method invocation) communication infrastructure. Moreover, we evaluate the fundamental performance of CP/MM in two ways. The first is the performance evaluation of CP/MM which is applied to a small but practical test application program on a PC cluster. The second is the performance evaluation for test programs which have many tasks with complicated dependency relations on the test bed system consisting of computers on our two campuses located at a distance of approximately 32 km. These experimental results show that CP/MM can successfully prevent high priority macro-tasks from being affected by the garbage collection arising from the memory management, so that CP/MM can efficiently schedule distributed programs whose critical paths are relatively long.