Complexity of scheduling multiprocessor tasks with prespecified processor allocations
Discrete Applied Mathematics
Graph-partitioning based instruction scheduling for clustered processors
Proceedings of the 34th annual ACM/IEEE international symposium on Microarchitecture
Introduction to Algorithms
On the Granularity and Clustering of Directed Acyclic Task Graphs
IEEE Transactions on Parallel and Distributed Systems
Triplet: A Clustering Scheduling Algorithm for Heterogeneous Systems
ICPPW '01 Proceedings of the 2001 International Conference on Parallel Processing Workshops
Anahy: a programming environment for cluster computing
VECPAR'06 Proceedings of the 7th international conference on High performance computing for computational science
Hi-index | 0.00 |
In parallel and distributed processing, tasks are ordinarily clustered and assigned to different processors or machines before they are scheduled. The assignment of tasks to processors is called clustering. The ordering of tasks for execution is called cluster scheduling. The set of tasks is typically modelled as a directed acyclic task graph (DAG). As a result of the clustering process, the set of tasks in each cluster either forms a total ordering, called linear, or it doesn't, called nonlinear, with respect to the DAG. It has been shown that two-cluster scheduling with one cluster being linear and the other nonlinear is strongly NP-hard. In this paper, we develop an exact algorithm to compute an optimal schedule for the above problem in O(e + α(n)n) time when tasks are restricted to unit tasks, where n is the number of nodes, e is the number of edges, and α(n) is similar to inverse Ack-erman function. We also show that when both clusters are nonlinear, even when tasks are restricted to unit-tasks and task graphs are restricted to those having no path of length more than three, the problem remains NP-complete in the strong sense.