Towards an architecture-independent analysis of parallel algorithms
SIAM Journal on Computing
IEEE Transactions on Parallel and Distributed Systems
Clustering Algorithm for Parallelizing Software Systems in Multiprocessors Environment
IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools parallel processing
Static scheduling algorithms for allocating directed task graphs to multiprocessors
ACM Computing Surveys (CSUR)
Hypertool: A Programming Aid for Message-Passing Systems
IEEE Transactions on Parallel and Distributed Systems
On the Granularity and Clustering of Directed Acyclic Task Graphs
IEEE Transactions on Parallel and Distributed Systems
DSC: Scheduling Parallel Tasks on an Unbounded Number of Processors
IEEE Transactions on Parallel and Distributed Systems
A task duplication scheme for resolving deadlocks in clustered DAGs
Parallel Computing
Hi-index | 0.00 |
In this work, we are interested in developing an efficient heuristic algorithm for scheduling the tasks of a parallel program based on the class of UNC (Unbounded Number of Clusters) scheduling algorithms for clusters of NOWs. The main objective of the proposed UNC algorithm is to consider synchronous communication with deadlock avoidance strategy, for inter-task message-passing. The proposed algorithm generates non-linear clusters by traversing the task graph (DAG) once, using the Edge-Zeroing (EZ) technique. The objectives of the clustering algorithm is reducing the parallel time of the program, reducing the communication cost, improving the Program Computation to Communication Ratio (PCCR), and avoiding deadlock situations. The algorithm achieves its objectives with a time complexity O(|V| (log |V| + (|E|)2)) using nonlinear clustering in order to avoid more than one pass through the task DAG and to be able to deal with task DAG's with fine, medium, and coarse granularity.