DAGSim: A Simulator for DAG Scheduling Algorithms
Résumé
Scheduling the tasks of a distributed application has been an active field of research for several decades. The classic scheduling problem is to find a assignment of application tasks onto a set of distributed resources in a way that minimizes the overall application execution time. This problem can be formulated for different classes of applications and computing environments. It has been shown that most non-trivial instances of the scheduling problem are NP-complete. As a result, many research works propose different solutions including heuristic-based algorithms, guided random searches, and genetic algorithms. However, it is difficult to determine which solutions are practical for real scenarios. Indeed, most available results ignore many characteristic of large computing environments such as dynamically changing resource performance and availability, complex network topologies and network contention, data storage issues, or inaccuracy of resource performance estimates. In this paper, we present DAGSim, a simulator specifically designed to evaluate scheduling algorithms for application structured as Directed Acyclic dependency Graphs (DAGs). This simulator is built on top of Simgrid~\cite{simgrid}, a toolkit for the fast and accurate simulation of distributed applications with realistic assumptions concerning the computing environment. We describe the implementation of DAGSim and how it was used to implement two well-known scheduling algorithms (DCP~\cite{DCP} and DLS~\cite{DLS}). After giving preliminary results with these two algorithms, we give implementation recommendations for further improvement of Simgrid and DAGSim.
Beaucoup de travaux de recherche proposent des solutions différentes au problème d'ordonnancement dont diverses heuristiques, des investigations aléatoires, et des algorithmes génétiques. Cependant, il est difficile de déterminer les solutions utilisables dans des scénarios réels. En effet, la plupart des résultats disponibles font abstraction de beaucoup des caractéristiques d'une grande grille de calcul, notamment l'évolution dynamique des performances et de la disponibilité des ressources, la complexité topologique du réseau et la gestion des flux, le problème du stockage des données, ou encore les erreurs sur l'estimation des performances de ressources.
Dans ce rapport, nous présentons DAGSim, un simulateur spécifiquement créé pour évaluer les algorithmes d’ordonnancement pour des applications structurées en Graphes orientés acycliques de dépendances (DAG). Ce simulateur est construit au-dessus de Simgrid[3], une bibliothèque réalisant des simulations rapides et pertinentes d'applications distribuées sur un environnement réaliste. Nous écrivons comment DGASim a été implémenté, son utilisation pour implémenter deux algorithmes ordonnancement connus ( DCP [-] et DLS [è]). Nous donnons quelques résultats sur ces deux algorithmes avant de suggérer des recommandations pour le développement futur de Simgrid et de DAGSim
Origine | Fichiers produits par l'(les) auteur(s) |
---|