An experimental investigation of distributed matrix multiplication techniques
Software—Practice & Experience
Models of machines and computation for mapping in multicomputers
ACM Computing Surveys (CSUR)
Models and algorithms for task allocation in a parallel environment
Models and algorithms for task allocation in a parallel environment
Tree scheduling with communication delays
Discrete Applied Mathematics - Special volume: viewpoints on optimization
Scheduling computer and manufacturing processes
Scheduling computer and manufacturing processes
Some models for scheduling parallel programs with communication delays
Discrete Applied Mathematics - Special issue on models and algorithms for planning and scheduling problems
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
Bounds and Algorithms for a Practical Task Allocation Model (Extended Abstract)
ISAAC '96 Proceedings of the 7th International Symposium on Algorithms and Computation
Task assignment in distributed systems
Task assignment in distributed systems
Multiprocessor Scheduling with the Aid of Network Flow Algorithms
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
In real practice, a job sometimes can be divided into s independent tasks to be distributed for execution on a network with a fixed number of processors. The overall finish time can vary widely depending on variables such as latency, data partitioning and/or data combining times, the individual execution times, the amount of data to be transferred, and the sending out of more tasks than needed. This paper studies the problem of finding an optimal task scheduling for a divisible job such that the overall finish time is minimized. We first prove the studied problem is NP-complete and give a simple 3-OPT approximation algorithm. Then we develop a (2 + ∈)-OPT linear-time approximation algorithm by generalizing our simple algorithm, where ∈ is an arbitrarily small constant. A linear-time 2-OPT approximation algorithm is given when we divide the tasks evenly. Algorithms to find optimal solutions are then given for two special cases: 1) when the network has exactly two processors and 2) when the evenly divided tasks have symmetric behaviors. These cases happen frequently in real practice.