97,203 research outputs found
List Scheduling: The Price of Distribution
Classical list scheduling is a very popular and efficient technique for scheduling jobs in parallel and distributed platforms. It is inherently centralized. However, with the increasing number of processors in new parallel platforms, the cost for managing a single centralized list becomes too prohibitive. A suitable approach to reduce the contention is to distribute the list among the computational units. Thus each processor has only a local view of the work to execute. The objective of this work is to study the extra cost that must be paid when the list is distributed among the computational units. We present a general methodology for computing the expected makespan based on the analysis of an adequate potential function which represents the load unbalance between the local lists. It is applied to several scheduling problems, namely, for arbitrary divisible load, for unit independent tasks, for weighted independent tasks and for tasks with dependencies. It is presented in detail for the simplest case of divisible load, and then extended to the other cases
A (3/2+ɛ) approximation algorithm for scheduling malleable and non-malleable parallel tasks
In this paper we study a scheduling problem with malleable and non-malleable parallel tasks on processors. A non-malleable parallel task is one that runs in parallel on a specific given number of processors. The goal is to find a non-preemptive schedule on the processors which minimizes the makespan, or the latest task completion time. The previous best result is the list scheduling algorithm with an absolute approximation ratio of . On the other hand, there does not exist an approximation algorithm for scheduling non-malleable parallel tasks with ratio smaller than , unless . In this paper we show that a schedule with length can be computed for the scheduling problem in time . Furthermore we present an approximation algorithm for scheduling malleable parallel tasks. Finally, we show how to extend our algorithms to the variant with additional release dates
A Maximal Chain Approach for Scheduling Tasks in a Multiprocessor Systems
Scheduling dependent tasks is one of the most challenging versions of the scheduling problem in parallel and distributed systems. It is known to be computationally intractable in its general form as well as several restricted cases. As a result, researchers have studied restricted forms of the problem by constraining either the task graph representing the parallel tasks or the computer model. Also, in an attempt to solve the problem in the general case, a number of heuristics have been developed. In this paper, we study the scheduling problem for a fixed number of processors m. In the proposed work, we approach the problem by recursively reducing the m-processor scheduling to (m-1)-processor scheduling until we apply the optimal two-processor scheduling algorithm when m equals two. This is accomplished by identifying a maximal chain C in the task graph G and merging the (m-1) processor scheduling of (G-C) and the 1-processor scheduling of C. A number of experiments were conducted to compare the suggested approach with the standard list-scheduling algorithm. Based on the outcome of the conducted experiments, the proposed algorithms outperformed or matched the performance of the list heuristic almost all the time
A genetic approach using direct representation of solution for the parallel task scheduling problem
In scheduling, a set of machines in parallel is a setting that is important, from both the theoretical and practical points of view. From the theoretical viewpoint, it is a generalization of the single machine scheduling problem. From the practical point of view the occurrence of resources in parallel is common in real-world.
When machines are computers, a parallel program can be conceived as a set of parallel components (tasks) which can be executed according to some precedence relationship.
In this case efficient scheduling of tasks permits to take full advantage of the computational power provided by a multiprocessor or a multicomputer system. This kind of planning involves the assignment of partially ordered tasks onto the system architecture processing components.
This paper shows the problem of allocating a number of non-identical tasks in a multiprocessor or multicomputer system. The model assumes that the system consists of a number of identical processors and only one task may execute on a processor at a time. All schedules and tasks are non-preemptive. The well-known Graham’s list scheduling algorithm (LSA) is contrasted with an evolutionary approach using a direct representation of solutions.Eje: Computación evolutivaRed de Universidades con Carreras en Informática (RedUNCI
Decentralized List Scheduling
Classical list scheduling is a very popular and efficient technique for
scheduling jobs in parallel and distributed platforms. It is inherently
centralized. However, with the increasing number of processors, the cost for
managing a single centralized list becomes too prohibitive. A suitable approach
to reduce the contention is to distribute the list among the computational
units: each processor has only a local view of the work to execute. Thus, the
scheduler is no longer greedy and standard performance guarantees are lost.
The objective of this work is to study the extra cost that must be paid when
the list is distributed among the computational units. We first present a
general methodology for computing the expected makespan based on the analysis
of an adequate potential function which represents the load unbalance between
the local lists. We obtain an equation on the evolution of the potential by
computing its expected decrease in one step of the schedule. Our main theorem
shows how to solve such equations to bound the makespan. Then, we apply this
method to several scheduling problems, namely, for unit independent tasks, for
weighted independent tasks and for tasks with precendence constraints. More
precisely, we prove that the time for scheduling a global workload W composed
of independent unit tasks on m processors is equal to W/m plus an additional
term proportional to log_2 W. We provide a lower bound which shows that this is
optimal up to a constant. This result is extended to the case of weighted
independent tasks. In the last setting, precedence task graphs, our analysis
leads to an improvement on the bound of Arora et al. We finally provide some
experiments using a simulator. The distribution of the makespan is shown to fit
existing probability laws. The additive term is shown by simulation to be
around 3 \log_2 W confirming the tightness of our analysis
A genetic approach using direct representation of solution for the parallel task scheduling problem
In scheduling, a set of machines in parallel is a setting that is important, from both the theoretical and practical points of view. From the theoretical viewpoint, it is a generalization of the single machine scheduling problem. From the practical point of view the occurrence of resources in parallel is common in real-world.
When machines are computers, a parallel program can be conceived as a set of parallel components (tasks) which can be executed according to some precedence relationship.
In this case efficient scheduling of tasks permits to take full advantage of the computational power provided by a multiprocessor or a multicomputer system. This kind of planning involves the assignment of partially ordered tasks onto the system architecture processing components.
This paper shows the problem of allocating a number of non-identical tasks in a multiprocessor or multicomputer system. The model assumes that the system consists of a number of identical processors and only one task may execute on a processor at a time. All schedules and tasks are non-preemptive. The well-known Graham’s list scheduling algorithm (LSA) is contrasted with an evolutionary approach using a direct representation of solutions.Eje: Computación evolutivaRed de Universidades con Carreras en Informática (RedUNCI
On the Complexity of Conditional DAG Scheduling in Multiprocessor Systems
As parallel processing became ubiquitous in modern computing systems, parallel task models have been proposed to describe the structure of parallel applications. The workflow scheduling problem has been studied extensively over past years, focusing on multiprocessor systems and distributed environments (e.g. grids, clusters). In workflow scheduling, applications are modeled as directed acyclic graphs (DAGs). DAGs have also been introduced in the real-time scheduling community to model the execution of multi-threaded programs on a multi-core architecture. The DAG model assumes, in most cases, a fixed DAG structure capturing only straight-line code. Only recently, more general models have been proposed. In particular, the conditional DAG model allows the presence of control structures such as conditional (if-then-else) constructs. While first algorithmic results have been presented for the conditional DAG model, the complexity of schedulability analysis remains wide open. We perform a thorough analysis on the worst-case makespan (latest completion time) of a conditional DAG task under list scheduling (a.k.a. fixed-priority scheduling). We show several hardness results concerning the complexity of the optimization problem on multiple processors, even if the conditional DAG has a well-nested structure. For general conditional DAG tasks, the problem is intractable even on a single processor. Complementing these negative results, we show that certain practice-relevant DAG structures are very well tractable
- …