Spelling suggestions: "subject:"protocole hiérarchique"" "subject:"protocole hiérarchie""
1 |
Nouveaux Protocoles de Tolérances aux Fautes pour les Applications MPI du Calcul Haute PerformanceGuermouche, Amina 06 December 2011 (has links) (PDF)
Avec l'évolution des machines parallèles, le besoin en protocole de tolérance aux fautes devient de plus en plus important. Les protocoles de tolérance aux fautes existants ne sont pas adaptés à ces architectures car soit ils forcent un redémarrage global (protocoles de sauvegarde de points de reprise coordonnés) soit ils forcent l'enregistrement de tous les messages (protocoles à enregistrement de messages). Nous avons étudié les caractéristiques des protocoles existants. Dans un premier temps, nous avons étudié le déterminisme des applications, étant donné que les protocoles existants supposent des exécutions non déterministes ou déterministes par morceaux. Dans notre étude, nous nous sommes intéressés au modèle par échange de messages, et plus précisément aux applications MPI. Nous avons analysé 26 applications MPI et avons mis avant une nouvelle caractéristique appelée "déterminisme des émissions" qui correspond à la majorité des applications étudiées. Dans un second temps, nous nous sommes intéressés aux schémas de communications des applications afin d'étudier l'existence des groupes de processus dans ces schémas. L'étude a montré que pour la plupart des applications, il est possible de créer des groupes de processus de façon à minimiser la taille des groupes et le volume des messages inter-groupe. A partir de là nous avons proposé deux protocoles de tolérance aux fautes. Le premier est un protocole de sauvegarde de points de reprise non coordonnés pour les applications à émissions déterministes qui évite l'effet domino en n'enregistrant qu'un sous ensemble des messages de l'application. Nous avons également adapté le protocole pour l'utiliser sur des groupes de processus. Par la suite, nous avons proposé HydEE, un protocole hiérarchique fondé sur le déterminisme des émissions et les groupes de processus. Il combine un protocole de sauvegarde de points de reprise coordonnés au sein des groupes à un protocole à enregistrement de messages entre les groupes.
|
2 |
Gestion des données dans les grilles de calcul : support pour la tolérance aux fautes et la cohérence des données.Monnet, Sébastien 30 November 2006 (has links) (PDF)
Les applications scientifiques d'aujourd'hui, telles les simulations de grands phénomènes naturels, requièrent une grande puissance de calcul ainsi qu'une importante capacité de stockage. Les grilles de calcul apparaissent comme une solution permettant d'atteindre cette puissance par la mise en commun de ressources de différentes organisations. Ces architectures présentent en revanche des caractéristiques rendant leur programmation complexe: elles sont dynamiques, hétérogènes, réparties à grande échelle. Cette thèse s'intéresse aux problématiques liées à la conception d'un service de partage de données pour les grilles de calcul. L'objectif est de permettre un accès transparent aux données, en automatisant la localisation, le transfert, la gestion de la persistance et de la cohérence des données partagées. Nous nous sommes plus particulièrement concentrés sur la gestion de la cohérence et de la persistance des données en environnement dynamique. Dans un tel contexte, assurer la persistance nécessite la mise en place de mécanismes de tolérance aux fautes. Nous proposons une approche pour gérer conjointement ces deux aspects via une architecture logicielle multiprotocole permettant de coupler différents protocoles de cohérence avec différents mécanismes de tolérance aux fautes. Nous proposons une conception hiérarchique de cette architecture, adaptée à la topologie réseau des grilles de calcul. Ces contributions ont été mises en oeuvre au sein du service de partage de données pour grilles JUXMEM. Les expérimentations menées sur la grille expérimentale Grid'5000 montrent que notre conception hiérarchique permet d'améliorer les performances des accès aux données partagées.
|
3 |
Nouveaux Protocoles de Tolérances aux Fautes pour les Applications MPI du Calcul Haute Performance / New Fault Tolerance Protocols for MPI HPC ApplicationsGuermouche, Amina 06 December 2011 (has links)
Avec l'évolution des machines parallèles, le besoin en protocole de tolérance aux fautes devient de plus en plus important. Les protocoles de tolérance aux fautes existants ne sont pas adaptés à ces architectures car soit ils forcent un redémarrage global (protocoles de sauvegarde de points de reprise coordonnés) soit ils forcent l'enregistrement de tous les messages (protocoles à enregistrement de messages). Nous avons étudié les caractéristiques des protocoles existants. Dans un premier temps, nous avons étudié le déterminisme des applications, étant donné que les protocoles existants supposent des exécutions non déterministes ou déterministes par morceaux. Dans notre étude, nous nous sommes intéressés au modèle par échange de messages, et plus précisément aux applications MPI. Nous avons analysé 26 applications MPI et avons mis avant une nouvelle caractéristique appelée "déterminisme des émissions" qui correspond à la majorité des applications étudiées. Dans un second temps, nous nous sommes intéressés aux schémas de communications des applications afin d'étudier l'existence des groupes de processus dans ces schémas. L'étude a montré que pour la plupart des applications, il est possible de créer des groupes de processus de façon à minimiser la taille des groupes et le volume des messages inter-groupe. A partir de là nous avons proposé deux protocoles de tolérance aux fautes. Le premier est un protocole de sauvegarde de points de reprise non coordonnés pour les applications à émissions déterministes qui évite l'effet domino en n'enregistrant qu'un sous ensemble des messages de l'application. Nous avons également adapté le protocole pour l'utiliser sur des groupes de processus. Par la suite, nous avons proposé HydEE, un protocole hiérarchique fondé sur le déterminisme des émissions et les groupes de processus. Il combine un protocole de sauvegarde de points de reprise coordonnés au sein des groupes à un protocole à enregistrement de messages entre les groupes. / With the evolution of parallel computers, the need for fault tolerance protocols is becoming increasingly important. The existing fault tolerance protocols are not adapted to thèse architectures because they either force a global restard (coordinated checkpointing protocols) or all message logging (message logging protocols). We studied the characteristics of the existing protocols. We first studied the determinism of the applications, since existing protocols assumenon deterministic or piecewise deterministic executions. In our study, we examined the message passing model, and more specifically MPI applications. We have analyzed26 MPI applications and have put forward a new characteristic called "send-determinism" which corresponds to moststudied applications. In a second step, we studied the communication patterns of the applications to study the existence of clusters of processes in these patterns. The study showed that for most applications, it is possible to create clusters of processes to minimize the size of clusters and the volume of inter-cluster messages. Then we designed two fault tolérance protocols. The first one is an uncoordinated checkpointing protocol which is based on the send-deterministic assumption and avoids emissions deterministic domino effect while logging only a subset of the application messages. We have also adapted the protocol to clusters of processes. Then, we proposed HydEE, a hierarchical protocol that is lso based on the send-deterministic assumption and that is used on clusters of processes. It combines coordinated checkpointing protocol inside clusters to a message logging protocol for inter-cluster messages.
|
4 |
Improving message logging protocols towards extreme-scale HPC systems / Amélioration des protocoles de journalisation des messages vers des systèmes HPC extrême-échelleMartsinkevich, Tatiana V. 22 September 2015 (has links)
Les machines pétascale qui existent aujourd'hui ont un temps moyen entre pannes de plusieurs heures. Il est prévu que dans les futurs systèmes ce temps diminuera. Pour cette raison, les applications qui fonctionneront sur ces systèmes doivent être capables de tolérer des défaillances fréquentes. Aujourd'hui, le moyen le plus commun de le faire est d'utiliser le mécanisme de retour arrière global où l'application fait des sauvegardes périodiques à partir d’un point de reprise. Si un processus s'arrête à cause d'une défaillance, tous les processus reviennent en arrière et se relancent à partir du dernier point de reprise. Cependant, cette solution deviendra infaisable à grande échelle en raison des coûts de l'énergie et de l'utilisation inefficace des ressources. Dans le contexte des applications MPI, les protocoles de journalisation des messages offrent un meilleur confinement des défaillances car ils ne demandent que le redémarrage du processus qui a échoué, ou parfois d’un groupe de processus limité. Par contre, les protocoles existants ont souvent un surcoût important en l’absence de défaillances qui empêchent leur utilisation à grande échelle. Ce surcoût provient de la nécessité de sauvegarder de façon fiable tous les événements non-déterministes afin de pouvoir correctement restaurer l'état du processus en cas de défaillance. Ensuite, comme les journaux de messages sont généralement stockés dans la mémoire volatile, la journalisation risque de nécessiter une large utilisation de la mémoire. Une autre tendance importante dans le domaine des HPC est le passage des applications MPI simples aux nouveaux modèles de programmation hybrides tels que MPI + threads ou MPI + tâches en réponse au nombre croissant de cœurs par noeud. Cela offre l’opportunité de gérer les défaillances au niveau du thread / de la tâche contrairement à l'approche conventionnelle qui traite les défaillances au niveau du processus. Par conséquent, le travail de cette thèse se compose de trois parties. Tout d'abord, nous présentons un protocole de journalisation hiérarchique pour atténuer une défaillance de processus. Le protocole s'appelle Scalable Pattern-Based Checkpointing et il exploite un nouveau modèle déterministe appelé channel-determinism ainsi qu’une nouvelle relation always-happens-before utilisée pour mettre partiellement en ordre les événements de l'application. Le protocole est évolutif, son surcoût pendant l'exécution sans défaillance est limité, il n'exige l'enregistrement d'aucun évènement et, enfin, il a une reprise entièrement distribuée. Deuxièmement, afin de résoudre le problème de la limitation de la mémoire sur les nœuds de calcul, nous proposons d'utiliser des ressources dédiées supplémentaires, appelées logger nodes. Tous les messages qui ne rentrent pas dans la mémoire du nœud de calcul sont envoyés aux logger nodes et sauvegardés dans leur mémoire. À travers de nos expériences nous montrons que cette approche est réalisable et, associée avec un protocole de journalisation hiérarchique comme le SPBC, les logger nodes peuvent être une solution ultime au problème de mémoire limitée sur les nœuds de calcul. Troisièmement, nous présentons un protocole de tolérance aux défaillances pour des applications hybrides qui adoptent le modèle de programmation MPI + tâches. Ce protocole s'utilise pour tolérer des erreurs détectées non corrigées qui se produisent lors de l'exécution d'une tâche. Normalement, une telle erreur provoque une exception du système ce qui provoque un arrêt brutal de l'application. Dans ce cas, l'application doit redémarrer à partir du dernier point de reprise. Nous combinons la sauvegarde des données de la tâche avec une journalisation des messages afin d’aider à la reprise de la tâche qui a subi une défaillance. Ainsi, nous évitons le redémarrage au niveau du processus, plus coûteux. Nous démontrons les avantages de ce protocole avec l'exemple des applications hybrides MPI + OmpSs. / Existing petascale machines have a Mean Time Between Failures (MTBF) in the order of several hours. It is predicted that in the future systems the MTBF will decrease. Therefore, applications that will run on these systems need to be able to tolerate frequent failures. Currently, the most common way to do this is to use global application checkpoint/restart scheme: if some process fails the whole application rolls back the its last checkpointed state and re-executes from that point. This solution will become infeasible at large scale, due to its energy costs and inefficient resource usage. Therefore fine-grained failure containment is a strongly required feature for the fault tolerance techniques that target large-scale executions. In the context of message passing MPI applications, message logging fault tolerance protocols provide good failure containment as they require restart of only one process or, in some cases, a bounded number of processes. However, existing logging protocols experience a number of issues which prevent their usage at large scale. In particular, they tend to have high failure-free overhead because they usually need to store reliably any nondeterministic events happening during the execution of a process in order to correctly restore its state in recovery. Next, as message logs are usually stored in the volatile memory, logging may incur large memory footprint, especially in communication-intensive applications. This is particularly important because the future exascale systems expect to have less memory available per core. Another important trend in HPC is switching from MPI-only applications to hybrid programming models like MPI+threads and MPI+tasks in response to the increasing number of cores per node. This gives opportunities for employing fault tolerance solutions that handle faults on the level of threads/tasks. Such approach has even better failure containment compared to message logging protocols which handle failures on the level of processes. Thus, the work in these dissertation consists of three parts. First, we present a hierarchical log-based fault tolerance solution, called Scalable Pattern-Based Checkpointing (SPBC) for mitigating process fail-stop failures. The protocol leverages a new deterministic model called channel-determinism and a new always-happens-before relation for partial ordering of events in the application. The protocol is scalable, has low overhead in failure-free execution and does not require logging any events, provides perfect failure containment and has a fully distributed recovery. Second, to address the memory limitation problem on compute nodes, we propose to use additional dedicated resources, or logger nodes. All the logs that do not fit in the memory of compute nodes are sent to the logger nodes and kept in their memory. In a series of experiments we show that not only this approach is feasible, but, combined with a hierarchical logging scheme like the SPBC, logger nodes can be an ultimate solution to the problem of memory limitation for logging protocols. Third, we present a log-based fault tolerance protocol for hybrid applications adopting MPI+tasks programming model. The protocol is used to tolerate detected uncorrected errors (DUEs) that happen during execution of a task. Normally, a DUE caused the system to raise an exception which lead to an application crash. Then, the application has to restart from a checkpoint. In the proposed solution, we combine task checkpointing with message logging in order to support task re-execution. Such task-level failure containment can be beneficial in large-scale executions because it avoids the more expensive process-level restart. We demonstrate the advantages of this protocol on the example of hybrid MPI+OmpSs applications.
|
Page generated in 0.09 seconds