97,203 research outputs found

    List Scheduling: The Price of Distribution

    Get PDF
    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

    Get PDF
    In this paper we study a scheduling problem with malleable and non-malleable parallel tasks on mm 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 mm 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 22. On the other hand, there does not exist an approximation algorithm for scheduling non-malleable parallel tasks with ratio smaller than 1.51.5, unless P=NPP=NP. In this paper we show that a schedule with length (1.5+ϵ)OPT(1.5 +\epsilon) OPT can be computed for the scheduling problem in time O(nlogn)+f(1/ϵ)O(n \log n) + f(1/\epsilon). Furthermore we present an (1.5+ϵ)(1.5 + \epsilon) 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

    Get PDF
    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

    Get PDF
    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

    Full text link
    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

    Get PDF
    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

    Get PDF
    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
    corecore