Efficient computation of optimal assignments for distributed tasks
Journal of Parallel and Distributed Computing
On the Assignment Problem of Arbitrary Process Systems to Heterogeneous Distributed Computer Systems
IEEE Transactions on Computers
Simulated annealing and the mapping problem: a computational study
Computers and Operations Research
Efficient Algorithms for a Class of Partitioning Problems
IEEE Transactions on Parallel and Distributed Systems
Genetic Algorithms in Search, Optimization and Machine Learning
Genetic Algorithms in Search, Optimization and Machine Learning
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
Fast Allocation of Processes in Distributed and Parallel Systems
IEEE Transactions on Parallel and Distributed Systems
A parallel approach for multiprocessor scheduling
IPPS '95 Proceedings of the 9th International Symposium on Parallel Processing
Problem-Solving Methods in Artificial Intelligence
Problem-Solving Methods in Artificial Intelligence
A Task Allocation Model for Distributed Computing Systems
IEEE Transactions on Computers
IEEE Transactions on Computers
IEEE Transactions on Computers
Multiprocessor Scheduling with the Aid of Network Flow Algorithms
IEEE Transactions on Software Engineering
Characterization and enhancement of Static Mapping Heuristics for Heterogeneous Systems
HiPC '00 Proceedings of the 7th International Conference on High Performance Computing
Mapping Heterogeneous Task Graphs onto Networks: Execution Time Optimization
PaCT '01 Proceedings of the 6th International Conference on Parallel Computing Technologies
Scheduling functional regression tests for IBM DB2 products
CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
A performance study of multiprocessor task scheduling algorithms
The Journal of Supercomputing
A systematic approach to classify design-time global scheduling techniques
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
Distributed systems comprising networked heterogeneous workstations are now considered to be a viable choice for high-performance computing. For achieving a fast response time from such systems, an efficient assignment of the application tasks to the processors is imperative. The general assignment problem is known to be NP-hard, except in a few special cases with strict assumptions. While a large number of heuristic techniques have been suggested in the literature that can yield sub-optimal solutions in a reasonable amount of time, we aim to develop techniques for optimal solutions under relaxed assumptions. The basis of our research is a best-first search technique known as the A* algorithm from the area of artificial intelligence. The original search technique guarantees an optimal solution but is not feasible for problems of practically large sizes due to its high time and space complexity. We propose a number of algorithms based around the A* technique. The proposed algorithms also yield optimal solutions but are considerably faster. The first algorithm solves the assignment problem by using parallel processing. Parallelizing the assignment algorithm is a natural way to lower the time complexity, and we believe our algorithm to be novel in this regard. The second algorithm is based on a clustering based pre-processing technique that merges the high affinity tasks. Clustering reduces the problem size, which in turn reduces the state-space for the assignment algorithm. We also propose three heuristics which do not guarantee optimal solutions but provide near-optimal solutions and are considerably faster. By using our parallel formulation, the proposed clustering technique and the heuristics can also be parallelized to further improve their time complexity.