Space-time scheduling of instruction-level parallelism on a raw machine
Proceedings of the eighth international conference on Architectural support for programming languages and operating systems
Optimized rapid prototyping for real-time embedded heterogeneous multiprocessors
CODES '99 Proceedings of the seventh international workshop on Hardware/software codesign
Static scheduling algorithms for allocating directed task graphs to multiprocessors
ACM Computing Surveys (CSUR)
Topology discovery for large ethernet networks
Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications
CASCH: A Tool for Computer-Aided Scheduling
IEEE Concurrency
Automatic Parallelization and Scheduling of Programs on Multiprocessors using CASCH
ICPP '97 Proceedings of the international Conference on Parallel Processing
Communication Contention in Task Scheduling
IEEE Transactions on Parallel and Distributed Systems
Toward a Realistic Task Scheduling Model
IEEE Transactions on Parallel and Distributed Systems
Dynamic mapping of cooperating tasks to nodes in a distributed system
Future Generation Computer Systems
Contentions-conscious dynamic but deterministic scheduling of computational and communication tasks
Proceedings of the 2006 ACM symposium on Applied computing
Contentions-conscious dynamic but deterministic scheduling of computational and communication tasks
Proceedings of the 2006 ACM symposium on Applied computing
Comparison of genetic representation schemes for scheduling soft real-time parallel applications
Proceedings of the 8th annual conference on Genetic and evolutionary computation
Dynamic mapping of cooperating tasks to nodes in a distributed system
Future Generation Computer Systems
Collaborative scheduling of DAG structured computations on multicore processors
Proceedings of the 7th ACM international conference on Computing frontiers
Joint computing and network resource scheduling in a lambda grid network
ICC'09 Proceedings of the 2009 IEEE international conference on Communications
Towards Energy Aware Scheduling for Precedence Constrained Parallel Tasks in a Cluster with DVFS
CCGRID '10 Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing
JSSPP'10 Proceedings of the 15th international conference on Job scheduling strategies for parallel processing
Grouping packet scheduling for virtual networks by genetic algorithm
Proceedings of the 6th International Conference on Future Internet Technologies
Energy-aware parallel task scheduling in a cluster
Future Generation Computer Systems
Hi-index | 0.01 |
In this paper, we survey algorithms that allocate a parallel program represented by an edge-weighted directed acyclic graph (DAG), also called a task graph or macro-dataflow graph, to a set of homogeneous processors, with the objective of minimizing the completion time. We analyze 21 such algorithms and classify them into four groups. The first group includes algorithms that schedule the DAG to a bounded number of processors directly. These algorithms are called the bounded number of processors (BNP) scheduling algorithms. The algorithms in the second group schedule the DAG to an unbounded number of clusters and are called the unbounded number of clusters (UNC) scheduling algorithms. The algorithms in the third group schedule the DAG using task duplication and are called the task duplication based (TDB) scheduling algorithms. The algorithms in the fourth group perform allocation and mapping on arbitrary processor network topologies. These algorithms are called the arbitrary processor network (APN) scheduling algorithms. The design philosophies and principles behind these algorithms are discussed, and the performance of all of the algorithms is evaluated and compared against each other on a unified basis by using various scheduling parameters.