19 research outputs found

    List and shelf schedules for independent parallel tasks to minimize the energy consumption with discrete or continuous speeds

    Get PDF
    International audienceScheduling independent tasks on a parallel platform is a widely-studied problem, in particular when the goal is to minimize the total execution time, or makespan (P||C_max problem in Graham's notations). Also, many applications do not consist of sequential tasks, but rather parallel tasks, either rigid, with a fixed degree of parallelism, or moldable, with a variable degree of parallelism (i.e., for which we can decide at the execution on how many processors they are executed). Furthermore, since the energy consumption of data centers is a growing concern, both from an environmental and economical point of view, minimizing the energy consumption of a schedule is a main challenge to be addressed. One can then decide, for each task, on how many processors it is executed, and at which speed the processors are operated, with the goal to minimize the total energy consumption. We further focus on co-schedules, where tasks are partitioned into shelves, and we prove that the problem of minimizing the energy consumption remains NP-complete when static energy is consumed during the whole duration of the application. We are however able to provide an optimal algorithm for the schedule within one shelf, i.e., for a set of tasks that start at the same time. Several approximation results are derived, both with discrete and continuous speed models, and extensive simulations are performed to show the performance of the proposed algorithms

    Ordonnancement de tâches parallèles sous multiples ressources : Ordonnancement de Listes vs ordonnancement de Packs

    Get PDF
    Scheduling in High-Performance Computing (HPC) has been traditionally centered around computing resources (e.g., processors/cores). The ever-growing amount of data produced by modern scientific applications start to drive novel architectures and new computing frameworks to support more efficient data processing, transfer and storage for future HPC systems. This trend towards data-driven computing demands the scheduling solutions to also consider other resources (e.g., I/O, memory, cache) that can be shared amongst competing applications. In this paper, we study the problem of scheduling HPC applications while exploring the availability of multiple types of resources that could impact their performance. The goal is to minimize the overall execution time, or makespan, for a set of moldable tasks under multiple-resource constraints. Two scheduling paradigms, namely, list scheduling and pack scheduling, are compared through both theoretical analyses and experimental evaluations. Theoretically, we prove, for several algorithms falling in the two scheduling paradigms, tight approximation ratios that increase linearly with the number of resource types. As the complexity of direct solutions grows exponentially with the number of resource types, we also design a strategy to indirectly solve the problem via a transformation to a single-resource-type problem, which can significantly reduce the algorithms' running times without compromising their approximation ratios. Experiments conducted on Intel Knights Landing with two resource types (processor cores and high-bandwidth memory) and simulations designed on more resource types confirm the benefit of the transformation strategy and show that pack-based scheduling, despite having a worse theoretical bound, offers a practically promising and easy-to-implement solution, especially when more resource types need to be managed.L'ordonnancement en Calcul Haute-Performance est traditionnellement centré autour des ressources de calculs (processeurs, coeurs). Suite à l'explosion des quantités de données dans les applications scientifiques, de nouvelles architectures et nouveaux paradigmes de calcul apparaissent pour soutenir plus efficacement les calculs dirigés par l'accès aux données. Nous présentons ici des solutions algorithmiques qui prennent en compte cette multitude de ressources

    Bornes théoriques de problèmes d'ordonnancement et leurs applications à l'analyse asymptotique et la minimisation de la consommation d'énergie

    Full text link
    Scheduling problems consist in studying how to assign a set of tasks automatically to a set of resources by optimising some criteria, such as the total execution time. Depending on the constraints imposed on the tasks, resources and optimisation criteria, there are dozens of different scheduling problems. These problems are often NP-complete, so we cannot find an optimal solution in a reasonable time with our current level of knowledge. The practical approaches are based on heuristics, consisting in finding quickly a solution which is not necessarily optimal, but which remains close to the optimal.In this thesis we are interested in the case of independent tasks and identical resources (processors) with two optimization criteria: the total execution time to finish all tasks and the and the total energy consumed to execute all tasks, under the assumption that the processors can have variable and controllable speeds. In this context, we study existing heuristics and propose new ones with two theoretical angles. On the one one hand we provide probabilistic asymptotic bounds for convergences, depending on the theoretical distribution of tasks. These bounds make it possible to guarantee, when there is a large number of tasks that, with a high probability, the heuristics provide near-optimal solutions. This type of result theoretically explain the excellent behaviour of the LPT heuristic. On the other hand, we provide different approximation ratios, notably in the case of the energy minimization, proving that efficient algorithms do not deviate too much from optimal solutions, which we do not know how to compute quickly enough. These results are obtained in particular for moldable tasks, i.e. tasks that can be executed on any number of processors. We also propose results combining the two types of approach for the SLACK heuristic.Les problèmes d'ordonnancement consistent à étudier comment affecter de façon automatique un ensemble de tâches à un ensemble de ressources en optimisant un ou plusieurs critères, comme par exemple le temps d'exécution total. En fonction des contraintes que l'on peut imposer sur les tâches, les ressources ainsi que sur les critères d'optimisation, il existe des dizaines de problèmes d'ordonnancement différents. Ces problèmes sont le plus souvent NP-complets. On ne sait donc pas trouver une solution garantie comme optimale en un temps raisonnable dans l'état actuel des connaissances humaines. Les approches pratiques s'appuient alors sur des heuristiques, qui consistent à trouver une solution rapidement dont le critère optimisé n'est pas nécessairement l'optimal mais qui en reste proche.Dans cette thèse nous nous intéressons aux cas de tâches indépendantes et de ressources (processeurs) identiques avec deux critères d'optimisation : le temps d'exécution total pour finir toutes les tâches et la consommation énergétique totale, dans l'hypothèse où les processeurs peuvent avoir des vitesses variables et contrôlables. Dans ce cadre, nous étudions des heuristiques existantes et nous en proposons de nouvelles avec deux angles d'analyse théorique. D'une part nous fournissons des bornes asymptotiques probabilistes de convergences, dépendant de la distribution des tâches. Ces bornes permettent de garantir, lorsqu'il y a un grand nombre de tâches à réaliser, qu'avec une forte probabilité les heuristiques fournissent des solutions presque optimale. Ce type de résultat permet d'expliquer théoriquement l'excellent comportement dans les cas pratiques de l'heuristique LPT. D'autre part, nous fournissons différents ratio d'approximation, notamment dans le cas de l'énergie, prouvant que des algorithmes efficaces ne dévient pas trop d'une solution optimale qu'on ne sait pas calculer en temps raisonnable. Ces résultats sont obtenus en particuliers pour des tâches moldables, c'est-à-dire pouvant être exécutées chacune sur un nombre quelconque de processeurs. Nous proposons aussi des résultats mixant les deux types d'approches pour l'heuristique SLACK

    Bornes théoriques de problèmes d'ordonnancement et leurs applications à l'analyse asymptotique et la minimisation de la consommation d'énergie

    Full text link
    Scheduling problems consist in studying how to assign a set of tasks automatically to a set of resources by optimising some criteria, such as the total execution time. Depending on the constraints imposed on the tasks, resources and optimisation criteria, there are dozens of different scheduling problems. These problems are often NP-complete, so we cannot find an optimal solution in a reasonable time with our current level of knowledge. The practical approaches are based on heuristics, consisting in finding quickly a solution which is not necessarily optimal, but which remains close to the optimal.In this thesis we are interested in the case of independent tasks and identical resources (processors) with two optimization criteria: the total execution time to finish all tasks and the and the total energy consumed to execute all tasks, under the assumption that the processors can have variable and controllable speeds. In this context, we study existing heuristics and propose new ones with two theoretical angles. On the one one hand we provide probabilistic asymptotic bounds for convergences, depending on the theoretical distribution of tasks. These bounds make it possible to guarantee, when there is a large number of tasks that, with a high probability, the heuristics provide near-optimal solutions. This type of result theoretically explain the excellent behaviour of the LPT heuristic. On the other hand, we provide different approximation ratios, notably in the case of the energy minimization, proving that efficient algorithms do not deviate too much from optimal solutions, which we do not know how to compute quickly enough. These results are obtained in particular for moldable tasks, i.e. tasks that can be executed on any number of processors. We also propose results combining the two types of approach for the SLACK heuristic.Les problèmes d'ordonnancement consistent à étudier comment affecter de façon automatique un ensemble de tâches à un ensemble de ressources en optimisant un ou plusieurs critères, comme par exemple le temps d'exécution total. En fonction des contraintes que l'on peut imposer sur les tâches, les ressources ainsi que sur les critères d'optimisation, il existe des dizaines de problèmes d'ordonnancement différents. Ces problèmes sont le plus souvent NP-complets. On ne sait donc pas trouver une solution garantie comme optimale en un temps raisonnable dans l'état actuel des connaissances humaines. Les approches pratiques s'appuient alors sur des heuristiques, qui consistent à trouver une solution rapidement dont le critère optimisé n'est pas nécessairement l'optimal mais qui en reste proche.Dans cette thèse nous nous intéressons aux cas de tâches indépendantes et de ressources (processeurs) identiques avec deux critères d'optimisation : le temps d'exécution total pour finir toutes les tâches et la consommation énergétique totale, dans l'hypothèse où les processeurs peuvent avoir des vitesses variables et contrôlables. Dans ce cadre, nous étudions des heuristiques existantes et nous en proposons de nouvelles avec deux angles d'analyse théorique. D'une part nous fournissons des bornes asymptotiques probabilistes de convergences, dépendant de la distribution des tâches. Ces bornes permettent de garantir, lorsqu'il y a un grand nombre de tâches à réaliser, qu'avec une forte probabilité les heuristiques fournissent des solutions presque optimale. Ce type de résultat permet d'expliquer théoriquement l'excellent comportement dans les cas pratiques de l'heuristique LPT. D'autre part, nous fournissons différents ratio d'approximation, notamment dans le cas de l'énergie, prouvant que des algorithmes efficaces ne dévient pas trop d'une solution optimale qu'on ne sait pas calculer en temps raisonnable. Ces résultats sont obtenus en particuliers pour des tâches moldables, c'est-à-dire pouvant être exécutées chacune sur un nombre quelconque de processeurs. Nous proposons aussi des résultats mixant les deux types d'approches pour l'heuristique SLACK

    Bornes théoriques de problèmes d'ordonnancement et leurs applications à l'analyse asymptotique et la minimisation de la consommation d'énergie

    Full text link
    Les problèmes d'ordonnancement consistent à étudier comment affecter de façon automatique un ensemble de tâches à un ensemble de ressources en optimisant un ou plusieurs critères, comme par exemple le temps d'exécution total. En fonction des contraintes que l'on peut imposer sur les tâches, les ressources ainsi que sur les critères d'optimisation, il existe des dizaines de problèmes d'ordonnancement différents. Ces problèmes sont le plus souvent NP-complets. On ne sait donc pas trouver une solution garantie comme optimale en un temps raisonnable dans l'état actuel des connaissances humaines. Les approches pratiques s'appuient alors sur des heuristiques, qui consistent à trouver une solution rapidement dont le critère optimisé n'est pas nécessairement l'optimal mais qui en reste proche.Dans cette thèse nous nous intéressons aux cas de tâches indépendantes et de ressources (processeurs) identiques avec deux critères d'optimisation : le temps d'exécution total pour finir toutes les tâches et la consommation énergétique totale, dans l'hypothèse où les processeurs peuvent avoir des vitesses variables et contrôlables. Dans ce cadre, nous étudions des heuristiques existantes et nous en proposons de nouvelles avec deux angles d'analyse théorique. D'une part nous fournissons des bornes asymptotiques probabilistes de convergences, dépendant de la distribution des tâches. Ces bornes permettent de garantir, lorsqu'il y a un grand nombre de tâches à réaliser, qu'avec une forte probabilité les heuristiques fournissent des solutions presque optimale. Ce type de résultat permet d'expliquer théoriquement l'excellent comportement dans les cas pratiques de l'heuristique LPT. D'autre part, nous fournissons différents ratio d'approximation, notamment dans le cas de l'énergie, prouvant que des algorithmes efficaces ne dévient pas trop d'une solution optimale qu'on ne sait pas calculer en temps raisonnable. Ces résultats sont obtenus en particuliers pour des tâches moldables, c'est-à-dire pouvant être exécutées chacune sur un nombre quelconque de processeurs. Nous proposons aussi des résultats mixant les deux types d'approches pour l'heuristique SLACK.Scheduling problems consist in studying how to assign a set of tasks automatically to a set of resources by optimising some criteria, such as the total execution time. Depending on the constraints imposed on the tasks, resources and optimisation criteria, there are dozens of different scheduling problems. These problems are often NP-complete, so we cannot find an optimal solution in a reasonable time with our current level of knowledge. The practical approaches are based on heuristics, consisting in finding quickly a solution which is not necessarily optimal, but which remains close to the optimal.In this thesis we are interested in the case of independent tasks and identical resources (processors) with two optimization criteria: the total execution time to finish all tasks and the and the total energy consumed to execute all tasks, under the assumption that the processors can have variable and controllable speeds. In this context, we study existing heuristics and propose new ones with two theoretical angles. On the one one hand we provide probabilistic asymptotic bounds for convergences, depending on the theoretical distribution of tasks. These bounds make it possible to guarantee, when there is a large number of tasks that, with a high probability, the heuristics provide near-optimal solutions. This type of result theoretically explain the excellent behaviour of the LPT heuristic. On the other hand, we provide different approximation ratios, notably in the case of the energy minimization, proving that efficient algorithms do not deviate too much from optimal solutions, which we do not know how to compute quickly enough. These results are obtained in particular for moldable tasks, i.e. tasks that can be executed on any number of processors. We also propose results combining the two types of approach for the SLACK heuristic

    Max-stretch minimization on an edge-cloud platform

    Get PDF
    We consider the problem of scheduling independent jobs that are generated by processing units at the edge of the network. These jobs can either be executed locally, or sent to a centralized cloud platform that can execute them at greater speed. Such edge-generated jobs may come from various applications, such as e-health, disaster recovery, autonomous vehicles or flying drones. The problem is to decide where and when to schedule each job, with the objective to minimize the maximum stretch incurred by any job. The stretch of a job is the ratio of the time spent by that job in the system, divided by the minimum time it could have taken if the job was alone in the system. We formalize the problem and explain the differences with other models that can be found in the literature. We prove that minimizing the max-stretch is NP-complete, even in the simpler instance with no release dates (all jobs are known in advance). This result comes from the proof that minimizing the max-stretch with homogeneous processors and without release dates is NP-complete, a complexity problem that was left open before this work. We design several algorithms to propose efficient solutions to the general problem, and we conduct simulations based on real platform parameters to evaluate the performance of these algorithms

    Ordonnancement de tâches parallèles sous multiples ressources : Ordonnancement de Listes vs ordonnancement de Packs

    Get PDF
    Scheduling in High-Performance Computing (HPC) has been traditionally centered around computing resources (e.g., processors/cores). The ever-growing amount of data produced by modern scientific applications start to drive novel architectures and new computing frameworks to support more efficient data processing, transfer and storage for future HPC systems. This trend towards data-driven computing demands the scheduling solutions to also consider other resources (e.g., I/O, memory, cache) that can be shared amongst competing applications. In this paper, we study the problem of scheduling HPC applications while exploring the availability of multiple types of resources that could impact their performance. The goal is to minimize the overall execution time, or makespan, for a set of moldable tasks under multiple-resource constraints. Two scheduling paradigms, namely, list scheduling and pack scheduling, are compared through both theoretical analyses and experimental evaluations. Theoretically, we prove, for several algorithms falling in the two scheduling paradigms, tight approximation ratios that increase linearly with the number of resource types. As the complexity of direct solutions grows exponentially with the number of resource types, we also design a strategy to indirectly solve the problem via a transformation to a single-resource-type problem, which can significantly reduce the algorithms' running times without compromising their approximation ratios. Experiments conducted on Intel Knights Landing with two resource types (processor cores and high-bandwidth memory) and simulations designed on more resource types confirm the benefit of the transformation strategy and show that pack-based scheduling, despite having a worse theoretical bound, offers a practically promising and easy-to-implement solution, especially when more resource types need to be managed.L'ordonnancement en Calcul Haute-Performance est traditionnellement centré autour des ressources de calculs (processeurs, coeurs). Suite à l'explosion des quantités de données dans les applications scientifiques, de nouvelles architectures et nouveaux paradigmes de calcul apparaissent pour soutenir plus efficacement les calculs dirigés par l'accès aux données. Nous présentons ici des solutions algorithmiques qui prennent en compte cette multitude de ressources

    Performance asymptotique et consommation énergétique de SLACK

    Full text link
    Scheduling n independent tasks onto m identical processors in order to minimize the makespan has been widely studied. As an alternative to classical heuristics, the SLACK algorithm groups tasks by packs of m tasks of similar execution times, and schedules first the packs with the largest differences. It turns out to be very performant in practice, but only few studies have been conducted on its theoretical properties. We derive novel analytical results for SLACK, and in particular, we study the performance of this algorithm from an asymptotical point of view, under the assumption that the execution times of the tasks follow a given probability distribution. The study is building on a comparison of the most heavily loaded machine compared to the least loaded one. Furthermore, we extend the results when the objective is to minimize the energy consumption rather than the makespan, since reducing the energy consumption of the computing centers is an ever-growing concern for economical and ecological reasons. Finally, we perform extensive simulations to empirically assess the performance of the algorithms with both synthetic and realistic execution time distributions.Ordonnancer n tâches indépendantes sur m processeurs identiques afin de minimiser le temps total d’exécution est un problème qui a été largement étudié. Comme alternative aux heuristiques classiques, l’algorithme SLACK groupe les tâches en paquets de m tâches avec un temps similaire, et ordonnance d’abord les paquets avec les plus grandes différences de temps. Cette approche est très efficace en pratique, mais peu d'études se sont intéressées à son étude théorique. Nous proposons de nouveaux résultats analytiques pour SLACK. En particulier, nous étudions la performance de l’algorithme d’un point de vue asymptotique, en supposant que le temps d’exécution des tâches suit une distribution de probabilités connue. L’étude se base sur une comparaison entre le processeur le plus chargé et celui qui l’est le moins. De plus, nous étendons ces résultats à une fonction objective différente: la minimisation de la consommation énergétique. En effet, réduire la consommation énergétique descentres de calcul est un des défis majeurs actuels, à la fois d’un point de vue économique, mais aussi et surtout écologique. Finalement, nous effectuons de nombreuses simulations pour étudier de façon empirique la performance des algorithmes, avec des distributions de temps d’exécution synthétiques d’une part, et réalistes d’autre part

    List and shelf schedules for independent parallel tasks to minimize the energy consumption with discrete or continuous speeds

    Full text link
    International audienceScheduling independent tasks on a parallel platform is a widely-studied problem, in particular when the goal is to minimize the total execution time, or makespan (P||C_max problem in Graham's notations). Also, many applications do not consist of sequential tasks, but rather parallel tasks, either rigid, with a fixed degree of parallelism, or moldable, with a variable degree of parallelism (i.e., for which we can decide at the execution on how many processors they are executed). Furthermore, since the energy consumption of data centers is a growing concern, both from an environmental and economical point of view, minimizing the energy consumption of a schedule is a main challenge to be addressed. One can then decide, for each task, on how many processors it is executed, and at which speed the processors are operated, with the goal to minimize the total energy consumption. We further focus on co-schedules, where tasks are partitioned into shelves, and we prove that the problem of minimizing the energy consumption remains NP-complete when static energy is consumed during the whole duration of the application. We are however able to provide an optimal algorithm for the schedule within one shelf, i.e., for a set of tasks that start at the same time. Several approximation results are derived, both with discrete and continuous speed models, and extensive simulations are performed to show the performance of the proposed algorithms

    Scheduling Parallel Tasks under Multiple Resources: List Scheduling vs. Pack Scheduling

    Get PDF
    International audienceScheduling in High-Performance Computing (HPC) has been traditionally centered around computing resources (e.g., processors/cores). The ever-growing amount of data produced by modern scientific applications start to drive novel architectures and new computing frameworks to support more efficient data processing, transfer and storage for future HPC systems. This trend towards data-driven computing demands the scheduling solutions to also consider other resources (e.g., I/O, memory, cache) that can be shared amongst competing applications. In this paper, we study the problem of scheduling HPC applications while exploring the availability of multiple types of resources that could impact their performance. The goal is to minimize the overall execution time, or makespan, for a set of moldable tasks under multiple-resource constraints. Two scheduling paradigms, namely, list scheduling and pack scheduling, are compared through both theoretical analyses and experimental evaluations. Theoretically, we prove, for several algorithms falling in the two scheduling paradigms, tight approximation ratios that increase linearly with the number of resource types. As the complexity of direct solutions grows exponentially with the number of resource types, we also design a strategy to indirectly solve the problem via a transformation to a single-resource-type problem, which can significantly reduce the algorithms' running times without compromising their approximation ratios. Experiments conducted on Intel Knights Landing with two resource types (processor cores and high-bandwidth memory) and simulations designed on more resource types confirm the benefit of the transformation strategy and show that pack-based scheduling, despite having a worse theoretical bound, offers a practically promising and easy-to-implement solution, especially when more resource types need to be managed
    corecore