51 research outputs found

    SimGrid: a Sustained Effort for the Versatile Simulation of Large Scale Distributed Systems

    Full text link
    In this paper we present Simgrid, a toolkit for the versatile simulation of large scale distributed systems, whose development effort has been sustained for the last fifteen years. Over this time period SimGrid has evolved from a one-laboratory project in the U.S. into a scientific instrument developed by an international collaboration. The keys to making this evolution possible have been securing of funding, improving the quality of the software, and increasing the user base. In this paper we describe how we have been able to make advances on all three fronts, on which we plan to intensify our efforts over the upcoming years.Comment: 4 pages, submission to WSSSPE'1

    Scheduling Tasks Sharing Files from Distributed Repositories (revised version)

    Get PDF
    This paper is devoted to scheduling a large collection of independent tasks onto a large distributed heterogeneous platform, which is composed of a set of servers. Each server is a processor cluster equipped with a file repository. The tasks to be scheduled depend upon (input) files which initially reside on the server repositories. A given file may well be shared by several tasks. For each task, the problem is to decide which server will execute it, and to transfer the required files (those which the task depends upon) to that server repository. The objective is to find a task allocation, and to schedule the induced communications, so as to minimize the total execution time. The contribution of this paper is twofold. On the theoretical side, we establish complexity results that assess the difficulty of the problem. On the practical side, we design several new heuristics, including an extension of the heuristic to the decentralized framework, and several lower cost heuristics, which we compare through extensive simulations. This report is a revised version of the LIP research report no. 2003-49 / INRIA research report no. 4976, which it replaces

    Versatile, Scalable, and Accurate Simulation of Distributed Applications and Platforms

    Get PDF
    International audienceThe study of parallel and distributed applications and platforms, whether in the cluster, grid, peer-to-peer, volunteer, or cloud computing domain, often mandates empirical evaluation of proposed algorithmic and system solutions via simulation. Unlike direct experimentation via an application deployment on a real-world testbed, simulation enables fully repeatable and configurable experiments for arbitrary hypothetical scenarios. Two key concerns are accuracy (so that simulation results are scientifically sound) and scalability (so that simulation experiments can be fast and memory-efficient). While the scalability of a simulator is easily measured, the accuracy of many state-of-the-art simulators is largely unknown because they have not been sufficiently validated. In this work we describe recent accuracy and scalability advances made in the context of the SimGrid simulation framework. A design goal of SimGrid is that it should be versatile, i.e., applicable across all aforementioned domains. We present quantitative results that show that SimGrid compares favorably to state-of-the-art domain-specific simulators in terms of scalability, accuracy, or the trade-off between the two. An important implication is that, contrary to popular wisdom, striving for versatility in a simulator is not an impediment but instead is conducive to improving both accuracy and scalability

    Scheduling tasks sharing files from distributed repositories

    Get PDF
    This paper is devoted to scheduling a large collection of independent tasks onto a large distributed heterogeneous platform, which is composed of a set of servers. Each server is a processor cluster equipped with a file repository. The tasks to be scheduled depend upon (input) files which initially reside on the server repositories. A given file may well be shared by several tasks. For each task, the problem is to decide on which server to execute it, and to transfer the required files (those which the task depends upon) to that server repository. The objective is to find a task allocation, and to schedule the induced communications, so as to minimize the total execution time. The contribution of this paper is twofold. On the theoretical side, we establish complexity results that assess the difficulty of the problem. On the practical side, we design several new heuristics, including an extension of the heuristic to the decentralized framework, and several lower cost heuristics, which we compare through extensive simulations.Dans cet article nous nous intéressons à l'ordonnancement d'un grand nombre de tâches indépendantes sur une plateforme hétérogène distribuée composée d'un ensemble de serveurs. Chaque serveur est une grappe de processeurs doté d'un entrepôt de données. les taches à ordonnancer dépendent de fichiers ( d'entrée) qui son initialement stockés dans les entrepôts. Un fichier donnée peut être partagé par plusieurs tâches. Pour chaque tâche, notre problème est de décider sur quel serveur l'exécuter, et de transférer les fichiers nécessaires ( ceux dont dépend la tache) vers l'entrepôt de ce serveur. L'objectif est de trouver une allocation des tâches, et un ordonnancement des communications induites, qui minimisent le temps total d'exécution. La contribution de cet article est double. Sur le plan théorique, nous établissons des nouveaux résultats de complexité qui caractérisent la difficulté du problème. Sur le plan pratique, nous proposons plusieurs nouvelles heuristiques, dont une extension de l'heuristique min-min aux plateformes distribuées, et des heuristiques de moindre coût, que nous comparons grâce à des simulations

    The Blursday database as a resource to study subjective temporalities during COVID-19

    Get PDF
    The COVID-19 pandemic and associated lockdowns triggered worldwide changes in the daily routines of human experience. The Blursday database provides repeated measures of subjective time and related processes from participants in nine countries tested on 14 questionnaires and 15 behavioural tasks during the COVID-19 pandemic. A total of 2,840 participants completed at least one task, and 439 participants completed all tasks in the first session. The database and all data collection tools are accessible to researchers for studying the effects of social isolation on temporal information processing, time perspective, decision-making, sleep, metacognition, attention, memory, self-perception and mindfulness. Blursday includes quantitative statistics such as sleep patterns, personality traits, psychological well-being and lockdown indices. The database provides quantitative insights on the effects of lockdown (stringency and mobility) and subjective confinement on time perception (duration, passage of time and temporal distances). Perceived isolation affects time perception, and we report an inter-individual central tendency effect in retrospective duration estimation

    Scheduling tasks sharing data on heterogeneous platforms

    No full text
    Nous étudions des stratégies d'ordonnancement et d'équilibrage de charge pour des plates-formes hétérogènes distribuées. Notre problème est d'ordonnancer un ensemble de tâches indépendantes afin d'en réduire le temps total d'exécution. Ces tâches utilisWe study scheduling and load-balancing strategies for distributed heterogeneous platforms. Our problem is to schedule a set of independent tasks in order to reduce the overall execution time.These tasks can use some input data that may be shared: each t

    Scheduling tasks sharing data on heterogeneous platforms

    No full text
    Nous étudions des stratégies d'ordonnancement et d'équilibrage de charge pour des plates-formes hétérogènes distribuées. Notre problème est d'ordonnancer un ensemble de tâches indépendantes afin d'en réduire le temps total d'exécution. Ces tâches utilisent des données d'entrée qui peuvent être partagées : chaque tâche peut utiliser plusieurs données, et chaque donnée peut être utilisée par plusieurs tâches. Les tâches ont des durées d'exécution différentes, et les données ont des tailles différentes. Toute la difficulté est de réussir à placer sur un même processeur des tâches partageant des données, tout en conservant un bon équilibrage de la charge des différents processeurs.Notre étude comporte trois parties généralisant progressivement le problème. Nous nous limitons dans un premier temps au cas simple où il n'y a pas de partage de données, où les tailles des tâches et des données sont homogènes, et où la plate-forme est de type maître-esclave. Le partage des données est introduit dans la deuxième partie, ainsi que l'hétérogénéité pour les tailles des tâches et des données. Dans la dernière partie nous généralisons le modèle de plate-forme à un ensemble décentralisé de serveurs reliés entre eux par un réseau d'interconnexion quelconque. La complexité théorique du problème est étudiée. Pour les cas simples, des algorithmes calculant une solution optimale sont proposés, puis validés par des résultats expérimentaux avec une application scientifique réelle. Pour les cas plus complexes, nous proposons de nouvelles heuristiques pour résoudre le problème d'ordonnancement. Ces nouvelles heuristiques, ainsi que des heuristiques classiques comme min-min et sufferage sont comparées entre elles à l'aide de nombreuses simulations. Nous montrons ainsi que nos nouvelles heuristiques réussissent à obtenir des performances aussi bonnes que les heuristiques classiques, tout en ayant une complexité algorithmique d'un ordre de grandeur plus faible.We study scheduling and load-balancing strategies for distributed heterogeneous platforms. Our problem is to schedule a set of independent tasks in order to reduce the overall execution time.These tasks can use some input data that may be shared: each task can use several data, and each datum can be used by several tasks.Tasks have different execution durations, and data have different sizes. The difficulty is to map on a same processor tasks sharing some data, while keeping a good load-balance across the processors.Our study comprises three parts, progressively generalizing the problem. First, we restrict ourselves to the simple case where there is no data sharing, with homogeneous sizes for tasks and data,and where the platform is a master-slave platform. Data sharing is introduced in the second part, along with heterogeneity for the tasks and data sizes. In the last part, we generalize the platform model to a decentralized set of servers, that are linked through an arbitrary interconnection network. The theoretical complexity of the problem is studied. For simple cases, algorithms to compute an optimal solution are given and validated by experimental results with a real scientific application. For more complicated cases, we propose new heuristics to solve the scheduling problem. These new heuristics, and classic ones like min-min and sufferage are compared through extensive simulations. Thus, we show that our new heuristics perform as efficiently as the classic ones although their algorithmic complexity is an order of magnitude lower

    Ordonnancement sur plates-formes hétérogènes de tâches partageant des données

    No full text
    Membres du jury : Rapporteurs : Henri Casanova, Jean-Jacques Pansiot, Denis Trystram Examinateur : Hervé Guyennet Co-encadrants : Stéphane Genaud, Frédéric VivienWe study scheduling and load-balancing strategies for distributed heterogeneous platforms. Our problem is to schedule a set of independent tasks in order to reduce the overall execution time. These tasks can use some input data that may be shared: each task can use several data, and each datum can be used by several tasks. Tasks have different execution durations, and data have different sizes. The difficulty is to map on a same processor tasks sharing some data, while keeping a good load-balance across the processors. Our study comprises three parts, progressively generalizing the problem. First, we restrict ourselves to the simple case where there is no data sharing, with homogeneous sizes for tasks and data, and where the platform is a master-slave platform. Data sharing is introduced in the second part, along with heterogeneity for the tasks and data sizes. In the last part, we generalize the platform model to a decentralized set of servers, that are linked through an arbitrary interconnection network. The theoretical complexity of the problem is studied. For simple cases, algorithms to compute an optimal solution are given and validated by experimental results with a real scientific application. For more complicated cases, we propose new heuristics to solve the scheduling problem. These new heuristics, and classic ones like min-min and sufferage are compared through extensive simulations. Thus, we show that our new heuristics perform as efficiently as the classic ones although their algorithmic complexity is an order of magnitude lower.Nous étudions des stratégies d'ordonnancement et d'équilibrage de charge pour des plates-formes hétérogènes distribuées. Notre problème est d'ordonnancer un ensemble de tâches indépendantes afin d'en réduire le temps total d'exécution. Ces tâches utilisent des données d'entrée qui peuvent être partagées : chaque tâche peut utiliser plusieurs données, et chaque donnée peut être utilisée par plusieurs tâches. Les tâches ont des durées d'exécution différentes, et les données ont des tailles différentes. Toute la difficulté est de réussir à placer sur un même processeur des tâches partageant des données, tout en conservant un bon équilibrage de la charge des différents processeurs. Notre étude comporte trois parties généralisant progressivement le problème. Nous nous limitons dans un premier temps au cas simple où il n'y a pas de partage de données, où les tailles des tâches et des données sont homogènes, et où la plate-forme est de type maître-esclave. Le partage des données est introduit dans la deuxième partie, ainsi que l'hétérogénéité pour les tailles des tâches et des données. Dans la dernière partie nous généralisons le modèle de plate-forme à un ensemble décentralisé de serveurs reliés entre eux par un réseau d'interconnexion quelconque. La complexité théorique du problème est étudiée. Pour les cas simples, des algorithmes calculant une solution optimale sont proposés, puis validés par des résultats expérimentaux avec une application scientifique réelle. Pour les cas plus complexes, nous proposons de nouvelles heuristiques pour résoudre le problème d'ordonnancement. Ces nouvelles heuristiques, ainsi que des heuristiques classiques comme min-min et sufferage, sont comparées entre elles à l'aide de nombreuses simulations. Nous montrons ainsi que nos nouvelles heuristiques réussissent à obtenir des performances aussi bonnes que les heuristiques classiques, tout en ayant une complexité algorithmique d'un ordre de grandeur plus faible
    corecore