71 research outputs found
Group-based optimization for parallel job scheduling in clusters via heuristic search
Job scheduling for parallel processing typically makes scheduling decisions on a per job basis due to the dynamic arrival of jobs. Such decision making provides limited options to find globally best schedules. Most research uses off-line optimization which is not realistic. We propose an optimization on the basis of limited-size dynamic job grouping per priority class. We apply heuristic domain-knowledge-based hi-level search and branch-and-bound methods to heavy workload traces to capture good schedules. Special plan-based conservative backfilling and shifting policies are used to augment the search. Our objective is to minimize average relative response times for long and medium job classes, while keeping utilization high. The scheduling algorithm is extended from the SCOJO-PECT coarse-grain pre-emptive time-sharing scheduler. The proposed scheduler was evaluated using real traces and Lublin-Feitelson synthetic workload model. The comparisons were made with the conservative SCOJO-PECT scheduler. The results are promising--the average relative response times were improved by 18-32 while still able to contain the loss of utilization within 2
Split Scheduling with Uniform Setup Times
We study a scheduling problem in which jobs may be split into parts, where
the parts of a split job may be processed simultaneously on more than one
machine. Each part of a job requires a setup time, however, on the machine
where the job part is processed. During setup a machine cannot process or set
up any other job. We concentrate on the basic case in which setup times are
job-, machine-, and sequence-independent. Problems of this kind were
encountered when modelling practical problems in planning disaster relief
operations. Our main algorithmic result is a polynomial-time algorithm for
minimising total completion time on two parallel identical machines. We argue
why the same problem with three machines is not an easy extension of the
two-machine case, leaving the complexity of this case as a tantalising open
problem. We give a constant-factor approximation algorithm for the general case
with any number of machines and a polynomial-time approximation scheme for a
fixed number of machines. For the version with objective minimising weighted
total completion time we prove NP-hardness. Finally, we conclude with an
overview of the state of the art for other split scheduling problems with job-,
machine-, and sequence-independent setup times
Recommended from our members
Computer-aided programming for multiprocessing systems
As both the number of processors and the complexity of problems to be solved increase, programming multiprocessing systems becomes more difficult and error-prone. This report discusses parallel models of computation and tools for computer-aided programming (CAP). Program development tools are necessary since programmers are not able to develop complex parallel programs efficiently. In particular, a CAP tool, named Hypertool, is described here. It performs scheduling and handles the communication primitive insertion automatically so that many errors are eliminated. It also generates the performance estimates and other program quality measures to help programmers in improving their algorithms and programs. Experiments have shown that up to a 300% performance improvement can be achieved by computer-aided programming
- …