Parallel task scheduling (also called parallel job scheduling[1][2] or parallel processing scheduling[3]) is an optimization problem in computer science and operations research. It is a variant of optimal job scheduling. In a general job scheduling problem, we are given n jobs J1, J2, ..., Jn of varying processing times, which need to be scheduled on m machines while trying to minimize the makespan - the total length of the schedule (that is, when all the jobs have finished processing). In the specific variant known as parallel-task scheduling, all machines are identical. Each job j has a length parameter pj and a size parameter qj, and it must run for exactly pj time-steps on exactly qj machines in parallel.
Veltman et al.[4] and Drozdowski[3] denote this problem by in the three-field notation introduced by Graham et al.[5]P means that there are several identical machines running in parallel; sizej means that each job has a size parameter; Cmax means that the goal is to minimize the maximum completion time. Some authors use instead.[1] Note that the problem of parallel-machines scheduling is a special case of parallel-task scheduling where for all j, that is, each job should run on a single machine.
The origins of this problem formulation can be traced back to 1960.[6] For this problem, there exists no polynomial time approximation algorithm with a ratio smaller than unless .[citation needed]
^ abCite error: The named reference Johannes was invoked but never defined (see the help page).
^Cite error: The named reference PPTAS was invoked but never defined (see the help page).
^ abDrozdowski, Maciej (2009). "Scheduling for Parallel Processing". Computer Communications and Networks. doi:10.1007/978-1-84882-310-5. ISBN 978-1-84882-309-9. ISSN 1617-7975.
^Veltman, B; Lageweg, B. J; Lenstra, J. K (1990-12-01). "Multiprocessor scheduling with communication delays". Parallel Computing. 16 (2): 173–182. doi:10.1016/0167-8191(90)90056-F. ISSN 0167-8191.
^Graham, R. L.; Lawler, E. L.; Lenstra, J.K.; Rinnooy Kan, A.H.G. (1979). "Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey" (PDF). Proceedings of the Advanced Research Institute on Discrete Optimization and Systems Applications of the Systems Science Panel of NATO and of the Discrete Optimization Symposium. Elsevier. pp. (5) 287–326.
^Codd, E. F. (1960-06-01). "Multiprogram scheduling". Communications of the ACM. 3 (6): 347–350. doi:10.1145/367297.367317. S2CID 14701351.
and 24 Related for: Parallel task scheduling information
Paralleltaskscheduling (also called parallel job scheduling or parallel processing scheduling) is an optimization problem in computer science and operations...
scheduling is a class of optimization problems related to scheduling. The inputs to such problems are a list of jobs (also called processes or tasks)...
data in parallel. It can be applied on regular data structures like arrays and matrices by working on each element in parallel. It contrasts to task parallelism...
single processor. I.e., m different tasks can run in parallel. See identical-machines scheduling. Single-machine scheduling is also a very similar problem...
order to optimize locality of task assignments. Job scheduling Supercomputer operating systems Scheduling for Parallel Processing by Maciej Drozdowski...
panel and task 'B' requires 'sunrise', a scheduling constraint on the testing activity could be that it would not start until the scheduled time for sunrise...
time. There are several different forms of parallel computing: bit-level, instruction-level, data, and task parallelism. Parallelism has long been employed...
The TaskParallel Library (TPL) is the task parallelism component of the Parallel Extensions to .NET. It exposes parallel constructs like parallel For...
In parallel computing, work stealing is a scheduling strategy for multithreaded computer programs. It solves the problem of executing a dynamically multithreaded...
Schmarje, Lars (2019). "Complexity and Inapproximability Results for ParallelTaskScheduling and Strip Packing". Theory of Computing Systems. 64: 120–140. arXiv:1705...
based on Hilbert curve scheduling or fat tree network topology in order to optimize locality of task assignments on parallel computers. Slurm began development...
at regular intervals. Cron is most suitable for scheduling repetitive tasks. Scheduling one-time tasks can be accomplished using the associated at utility...
In computer science, gang scheduling is a scheduling algorithm for parallel systems that schedules related threads or processes to run simultaneously on...
by Intel for parallel programming on multi-core processors. Using TBB, a computation is broken down into tasks that can run in parallel. The library manages...
The canonical application of topological sorting is in scheduling a sequence of jobs or tasks based on their dependencies. The jobs are represented by...
"Performance-effective and low-complexity taskscheduling for heterogeneous computing". IEEE Transactions on Parallel and Distributed Systems. 13 (3): 260–274...
Fractional job scheduling is a variant of optimal job scheduling in which it is allowed to break jobs into parts and process each part separately on the...
are assigned to threads according to the scheduling method defined by this clause. The three types of scheduling are: static: Here, all the threads are...
single task can be executed on multiple slave nodes. By default Hadoop uses FIFO scheduling, and optionally 5 scheduling priorities to schedule jobs from...
set and scheduling) or -mtune (only scheduling) flags. It uses descriptions of instruction latencies and what instructions can be run in parallel (or equivalently...
computers, computer clusters have each node set to perform the same task, controlled and scheduled by software. The newest manifestation of cluster computing is...
multi-user computer system job scheduling is in effect a tasking problem for processing and peripheral resources, in a massively parallel system, the job management...
garbage collection and taskscheduling algorithms. Like Scheme, MultiLisp was optimized for symbolic computing. Unlike some parallel programming languages...
Dependence-Aware Scheduling "Automatic parallelism and data dependency". Archived from the original on 14 July 2014. Rünger, Gudula (2006). "Parallel Programming...