27 research outputs found

    Multi-Resource List Scheduling of Moldable Parallel Jobs under Precedence Constraints

    Full text link
    The scheduling literature has traditionally focused on a single type of resource (e.g., computing nodes). However, scientific applications in modern High-Performance Computing (HPC) systems process large amounts of data, hence have diverse requirements on different types of resources (e.g., cores, cache, memory, I/O). All of these resources could potentially be exploited by the runtime scheduler to improve the application performance. In this paper, we study multi-resource scheduling to minimize the makespan of computational workflows comprised of parallel jobs subject to precedence constraints. The jobs are assumed to be moldable, allowing the scheduler to flexibly select a variable set of resources before execution. We propose a multi-resource, list-based scheduling algorithm, and prove that, on a system with dd types of schedulable resources, our algorithm achieves an approximation ratio of 1.619d+2.545d+11.619d+2.545\sqrt{d}+1 for any dd, and a ratio of d+O(d23)d+O(\sqrt[3]{d^2}) for large dd. We also present improved results for independent jobs and for jobs with special precedence constraints (e.g., series-parallel graphs and trees). Finally, we prove a lower bound of dd on the approximation ratio of any list scheduling scheme with local priority considerations. To the best of our knowledge, these are the first approximation results for moldable workflows with multiple resource requirements

    Stratégies de checkpoint pour protéger les tâches parallèles contre des erreurs ayant des distributions générales

    Get PDF
    This paper studies checkpointing strategies for parallel jobs subject to fail-stop errors. The optimal strategy is well known when failure inter-arrival times obey an Exponential law, but it is unknown for non-memoryless failure distributions. We explain why the latter fact is misunderstood in recent literature. We propose a general strategy that maximizes the expected efficiency until the next failure, and we show that this strategy is asymptotically optimal for very long jobs. Through extensive simulations, we show that the new strategy is always at least as good as the Young/Daly strategy for various failure distributions. For distributions with a high infant mortality (such as LogNormal 2.51 or Weibull 0.5), the execution time is divided by a factor 1.9 on average, and up to a factor 4.2 for recently deployed platforms.Cet article étudie les stratégies de checkpoint pour des tâches parallèles sujettes `a des erreurs fatales. La stratégie optimale est bien connue lorsque les temps d’inter-arrivée des pannes obéissent `a une loi exponentielle, mais elle est inconnue pour les distributions d’erreurs générales. Nous expliquons pourquoi ce dernier fait est mal compris dans la littérature récente. Nous proposons une stratégie générale qui maximise l’efficacité attendue jusqu’`a la prochaine d´défaillance, et nous montrons que cette stratégie est asymptotiquement optimale pour les travaux très longs. Par des simulations extensives, nous montrons que la nouvelle stratégie est toujours au moins aussi bonne que la stratégie de Young/Daly pour diverses distributions de pannes. Pour les distributions avec une mortalité infantile élevée (comme LogNormal 2.51 ou Weibull 0.5), le temps d’exécution est divisé par un facteur 1.9 en moyenne, et jusqu’`a un facteur 4.2 pour des plates-formes récemment déployées

    Online Scheduling of Moldable Task Graphs under Common Speedup Models

    Get PDF
    International audienceThe problem of scheduling moldable tasks has been widely studied, in particular when tasks have dependencies (i.e., task graphs), or when tasks are released on-the-fly (i.e., online). However, few study has focused on both (i.e., online scheduling of moldable task graphs). In this paper, we derive constant competitive ratios for this problem under several common yet realistic speedup models for the tasks (roofline, communication, Amdahl, and a combination of them). We also provide the first lower bound on the competitive ratio of any deterministic online algorithm for arbitrary speedup model, which is not constant but depends on the number of tasks in the longest path of the graph

    La période de checkpoint de Young/Daly n’est pas optimale pour l’exécution de graphes de tâches

    Get PDF
    This paper revisits checkpointing strategies when workflows composed of multiple tasks execute on a parallel platform. The objective is to minimize the expectation of the total execution time. For a single task, the Young/Daly formula provides the optimal checkpointing period. However, when many tasks execute simultaneously, the risk that one of them is severely delayed increases with the number of tasks. To mitigate this risk, a possibility is to checkpoint each task more often than with the Young/Daly strategy. But is it worth slowing each task down with extra checkpoints? Does the extra checkpointing make a difference globally? This paper answers these questions. On the theoretical side, we prove several negative results for keeping the Young/Daly period when many tasks execute concurrently, and we design novel checkpointing strategies that guarantee an efficient execution with high probability. On the practical side, we report comprehensive experiments that demonstrate the need to go beyond the Young/Daly period and to checkpoint more often, for a wide range of application/platform settings.Cet article étudie les stratégies de checkpoint pour l’exécution de graphes de tâches (applications de type workflow). La formule de Young/Daly est optimale pour minimiser l’espérance du temps d’exécution d’une seule tâche. Mais quand plusieurs tâches s’exécutent en parallèle, le risque est grand que l’une d’entre elles soit retardée significativement, et partant, que soit retardée l’exécution de ses successeurs dans le graphe de tâches. Nous étudions la meilleure stratégie de checkpoitnt dans ce contexte, et montrons qu’effectivement il faut prendre des checkpoints plus souvent pour obtenir une solution efficace avec très grande probabilité. Nous conduisons des simulations sur des graphesde tâches de référence, qui confirment les résultats théoriques

    Ordonnancement avec tolérance aux pannes pour des tâches parallèles à nombre de processeurs programmable

    Get PDF
    We study the resilient scheduling of moldable parallel jobs on high-performance computing (HPC) platforms. Moldable jobs allow for choosing a processor allocation before execution, and their execution time obeys various speedup models. The objective is to minimize the overall completion time of the jobs, or the makespan, when jobs can fail due to silent errors and hence may need to be re-executed after each failure until successful completion. Our work generalizes the classical scheduling framework for failure-free jobs. To cope with silent errors, we introduce two resilient scheduling algorithms, LPA-List and Batch-List, both of which use the List strategy to schedule the jobs. Without knowing a priori how many times each job will fail, LPA-List relies on a local strategy to allocate processors to the jobs, while Batch-List schedules the jobs in batches and allows only a restricted number of failures per job in each batch. We prove new approximation ratios for the two algorithms under several prominent speedup models (e.g., roofline, communication, Amdahl, power, monotonic, and a mixed model). An extensive set of simulations is conducted to evaluate different variants of the two algorithms, and the results show that they consistently outperform some baseline heuristics. Overall, our best algorithm is within a factor of 1.6 of a lower bound on average over the entire set of experiments, and within a factor of 4.2 in the worst case.Ce rapport étudie l’ordonnancement résilient de tâches sur des plateformes de calcul à haute performance. Dans le problème étudié, il est possible de choisir le nombre constant de processeurs effectuant chaque tâche, en déterminant le temps d’exécution de ces dernières selon différent modèles de rendement. Nous décrivons des algorithmes dont l’objectif est deminimiser le temps total d’exécution, sachant que les tâches sont susceptibles d’échouer et de devoir être ré-effectuées à chaque erreur. Ce problème est donc une généralisation du cadre classique où toutes les tâches sont connues à priori et n’échouent pas. Nous décrivons un algorithme d’ordonnancement par listes de priorité, et prouvons de nouvelles bornes d’approximation pour trois modèles de rendement classiques (roofline, communication, Amdahl, power, monotonic, et un modèle qui mélange ceux-ci). Nous décrivons également un algorithme d’ordonnancement par lots, au sein desquels les tâches pourront échouer un nombre limité de fois, et prouvons alors de nouvelles bornes d’approximation pour des rendements quelconques. Enfin, nous effectuons des expériences sur un ensemble complet d’exemples pour comparer les niveaux de performance de différentes variantes de nos algorithmes, significativement meilleurs que les algorithmes simples usuels. Notre meilleure heuristique est en moyenne à un facteur 1.61.6 d’une borne inférieure de la solution optimale, et à un facteur 4.24.2 dans le pire cas

    Algorithmes d'ordonnancement pour optimiser les performances, la consommation d'Ă©nergie et la robustesse des applications de calcul Ă  haute performance (HPC)

    No full text
    Cette thèse traite du problème de la résilience dans les systèmes informatiques à grande échelle. En raison du développement rapide de la technologie de calcul à haute performance, il est devenu crucial de développer des mécanismes de tolérance aux pannes efficaces et robustes. Cette recherche se concentre sur l'optimisation des stratégies de sauvegarde, l'analyse de différentes techniques de résilience, le développement de nouvelles approches d'ordonnancement pour traiter les pannes et l’optimisation des stratégies de partage de bande passante d'entrées/sorties pour les applications parallèles.This thesis addresses the problem of resilience in large-scale computer systems. Due to the rapid development of high-performance computing technology, it has become crucial to develop effective and robust fault tolerance mechanisms. This research focuses on optimizing checkpoint strategies, analyzing different resilience techniques, developing new scheduling approaches to handle failures, and optimizing input/output bandwidth sharing strategies for parallel applications

    Algorithmes d'ordonnancement pour optimiser les performances, la consommation d'Ă©nergie et la robustesse des applications de calcul Ă  haute performance (HPC)

    No full text
    This thesis addresses the problem of resilience in large-scale computer systems. Due to the rapid development of high-performance computing technology, it has become crucial to develop effective and robust fault tolerance mechanisms. This research focuses on optimizing checkpoint strategies, analyzing different resilience techniques, developing new scheduling approaches to handle failures, and optimizing input/output bandwidth sharing strategies for parallel applications.Cette thèse traite du problème de la résilience dans les systèmes informatiques à grande échelle. En raison du développement rapide de la technologie de calcul à haute performance, il est devenu crucial de développer des mécanismes de tolérance aux pannes efficaces et robustes. Cette recherche se concentre sur l'optimisation des stratégies de sauvegarde, l'analyse de différentes techniques de résilience, le développement de nouvelles approches d'ordonnancement pour traiter les pannes et l’optimisation des stratégies de partage de bande passante d'entrées/sorties pour les applications parallèles

    Algorithmes d'ordonnancement pour optimiser les performances, la consommation d'Ă©nergie et la robustesse des applications de calcul Ă  haute performance (HPC)

    No full text
    This thesis addresses the problem of resilience in large-scale computer systems. Due to the rapid development of high-performance computing technology, it has become crucial to develop effective and robust fault tolerance mechanisms. This research focuses on optimizing checkpoint strategies, analyzing different resilience techniques, developing new scheduling approaches to handle failures, and optimizing input/output bandwidth sharing strategies for parallel applications.Cette thèse traite du problème de la résilience dans les systèmes informatiques à grande échelle. En raison du développement rapide de la technologie de calcul à haute performance, il est devenu crucial de développer des mécanismes de tolérance aux pannes efficaces et robustes. Cette recherche se concentre sur l'optimisation des stratégies de sauvegarde, l'analyse de différentes techniques de résilience, le développement de nouvelles approches d'ordonnancement pour traiter les pannes et l’optimisation des stratégies de partage de bande passante d'entrées/sorties pour les applications parallèles

    Algorithmes d'ordonnancement pour optimiser les performances, la consommation d'Ă©nergie et la robustesse des applications de calcul Ă  haute performance (HPC)

    No full text
    This thesis addresses the problem of resilience in large-scale computer systems. Due to the rapid development of high-performance computing technology, it has become crucial to develop effective and robust fault tolerance mechanisms. This research focuses on optimizing checkpoint strategies, analyzing different resilience techniques, developing new scheduling approaches to handle failures, and optimizing input/output bandwidth sharing strategies for parallel applications.Cette thèse traite du problème de la résilience dans les systèmes informatiques à grande échelle. En raison du développement rapide de la technologie de calcul à haute performance, il est devenu crucial de développer des mécanismes de tolérance aux pannes efficaces et robustes. Cette recherche se concentre sur l'optimisation des stratégies de sauvegarde, l'analyse de différentes techniques de résilience, le développement de nouvelles approches d'ordonnancement pour traiter les pannes et l’optimisation des stratégies de partage de bande passante d'entrées/sorties pour les applications parallèles

    Stratégies de checkpoint pour protéger les tâches parallèles contre des erreurs ayant des distributions générales

    Get PDF
    This paper studies checkpointing strategies for parallel jobs subject to fail-stop errors. The optimal strategy is well known when failure inter-arrival times obey an Exponential law, but it is unknown for non-memoryless failure distributions. We explain why the latter fact is misunderstood in recent literature. We propose a general strategy that maximizes the expected efficiency until the next failure, and we show that this strategy is asymptotically optimal for very long jobs. Through extensive simulations, we show that the new strategy is always at least as good as the Young/Daly strategy for various failure distributions. For distributions with a high infant mortality (such as LogNormal 2.51 or Weibull 0.5), the execution time is divided by a factor 1.9 on average, and up to a factor 4.2 for recently deployed platforms.Cet article étudie les stratégies de checkpoint pour des tâches parallèles sujettes `a des erreurs fatales. La stratégie optimale est bien connue lorsque les temps d’inter-arrivée des pannes obéissent `a une loi exponentielle, mais elle est inconnue pour les distributions d’erreurs générales. Nous expliquons pourquoi ce dernier fait est mal compris dans la littérature récente. Nous proposons une stratégie générale qui maximise l’efficacité attendue jusqu’`a la prochaine d´défaillance, et nous montrons que cette stratégie est asymptotiquement optimale pour les travaux très longs. Par des simulations extensives, nous montrons que la nouvelle stratégie est toujours au moins aussi bonne que la stratégie de Young/Daly pour diverses distributions de pannes. Pour les distributions avec une mortalité infantile élevée (comme LogNormal 2.51 ou Weibull 0.5), le temps d’exécution est divisé par un facteur 1.9 en moyenne, et jusqu’`a un facteur 4.2 pour des plates-formes récemment déployées
    corecore