A taxonomy of application scheduling tools for high performance cluster computing

Jiannong Cao, Alvin T.S. Chan, Yudong Sun, Sajal K. Das, Minyi Guo

Research output: Journal article publicationJournal articleAcademic researchpeer-review

27 Citations (Scopus)


Application scheduling plays an important role in high-performance cluster computing. Application scheduling can be classified as job scheduling and task scheduling. This paper presents a survey on the software tools for the graph-based scheduling on cluster systems with the focus on task scheduling. The tasks of a parallel or distributed application can be properly scheduled onto multi-processors in order to optimize the performance of the program (e.g., execution time or resource utilization). In general, scheduling algorithms are designed based on the notion of task graph that represents the relationship of parallel tasks. The scheduling algorithms map the nodes of a graph to the processors in order to minimize overall execution time. Although many scheduling algorithms have been proposed in the literature, surprisingly not many practical tools can be found in practical use. After discussing the fundamental scheduling techniques, we propose a framework and taxonomy for the scheduling tools on clusters. Using this framework, the features of existing scheduling tools are analyzed and compared. We also discuss the important issues in improving the usability of the scheduling tools.
Original languageEnglish
Pages (from-to)355-371
Number of pages17
JournalCluster Computing
Issue number3
Publication statusPublished - 1 Jul 2006


  • Cluster
  • Directed acyclic graph
  • Scheduling tool
  • Task graph
  • Task scheduling

ASJC Scopus subject areas

  • Software
  • Computer Networks and Communications

Cite this