Long-distance network and distributed applications in computing grids: study and propositions for an efficient interaction.
Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace.
Résumé
Parallel applications allow to execute many tasks of the same application, on many processors in the same time. These applications were first executed on supercomputers, and then on clusters. Today, this last infrastructure is evolving towards grids. Grids, in this thesis, are defined as an interconnection of clusters by a long-distance network.
Most of MPI applications are written with the MPI standard, which describe how processes communicate, by message passing. Initially design for clusters, MPI is still used to program parallel applications in grids.
While different problems have been resolved for communications in clusters, the long-distance network of the grid raises many problems. First, MPI messages are transmitted re-liably on the long-distance network via the TCP protocol. However, TCP is based on a data transfer by flows ; thus, it is not adapted to MPI communications. Secondly, the high latency of the long-distance network implied costly communications and costly retransmissions of lost packets. Finally, the available throughput on this access link to the network is generally lower than the sum of the throughput if all nodes want to communicate on this link, at the same time. This is creating congestion, both within the application and both between the other applications. It becomes necessary to manage this bottleneck.
The main objective of this thesis is to study in detail the interactions between the parallel applications and the transport layer in the long-distance network of computing grids, and then to solve these problems.
Most of MPI applications are written with the MPI standard, which describe how processes communicate, by message passing. Initially design for clusters, MPI is still used to program parallel applications in grids.
While different problems have been resolved for communications in clusters, the long-distance network of the grid raises many problems. First, MPI messages are transmitted re-liably on the long-distance network via the TCP protocol. However, TCP is based on a data transfer by flows ; thus, it is not adapted to MPI communications. Secondly, the high latency of the long-distance network implied costly communications and costly retransmissions of lost packets. Finally, the available throughput on this access link to the network is generally lower than the sum of the throughput if all nodes want to communicate on this link, at the same time. This is creating congestion, both within the application and both between the other applications. It becomes necessary to manage this bottleneck.
The main objective of this thesis is to study in detail the interactions between the parallel applications and the transport layer in the long-distance network of computing grids, and then to solve these problems.
Apparu en 1970, le calcul parallèle permet, contrairement aux applications classiques qui exécutent un algorithme de manière séquentielle, d'exécuter des tâches d'une même application sur plusieurs processeurs en même temps. Les premières architectures -- les supercalculateurs -- qui regroupaient des milliers de processeurs au sein de la même machine, ont fait place aux grappes, à la fin des années 1970 : une interconnexion d'ordinateurs standard par un réseau rapide. Ces architectures s'étant développées un peu partout, les grilles ont fait leur apparition au début des années 1990, de manière à fédérer les ressources de différentes entités en les interconnectant et ainsi disposer d'une plus grande puissance de calcul globale. La grille, telle que nous la considérons dans ce manuscrit sera donc définie comme une interconnexion de grappes par un réseau longue distance.
Les applications parallèles s'appuient la plupart du temps sur le standard MPI qui fonctionne par passage de message. Initialement destiné aux grappes, celui-ci est toujours utilisé pour programmer les communications des applications s'exécutant sur les grilles. Cela permet la réutilisation d'anciennes applications.
Alors que différents problèmes ont été résolus pour les communications au sein des grappes, le réseau longue distance de la grille pose plusieurs problèmes. Tout d'abord, les messages MPI sont transmis de manière fiable sur le réseau longue distance via le protocole TCP. Or TCP, qui reste le protocole de transport utilisé dans la plupart des grilles, est basé sur un transfert de données à l'aide de flux ; il est donc peu adapté aux communications MPI. Ensuite, la grande latence du réseau longue distance implique des communications et des retransmissions de paquets perdus qui sont coûteuses. Enfin, le débit disponible sur le lien d'accès à ce réseau est généralement inférieur à la somme des débits nécessaires si tous les processus communiquent en même temps sur ce lien. Ceci crée de la congestion à la fois au sein d'une même application et à la fois avec les autres applications qui l'utilisent, et il devient nécessaire de gérer ce goulot d'étranglement.
L'objectif principal de cette thèse est d'étudier en détail les interactions entre les applications parallèles et la couche de transport dans les réseaux longue distance des grilles de calcul, puis de proposer des solutions à ces problèmes.
Les applications parallèles s'appuient la plupart du temps sur le standard MPI qui fonctionne par passage de message. Initialement destiné aux grappes, celui-ci est toujours utilisé pour programmer les communications des applications s'exécutant sur les grilles. Cela permet la réutilisation d'anciennes applications.
Alors que différents problèmes ont été résolus pour les communications au sein des grappes, le réseau longue distance de la grille pose plusieurs problèmes. Tout d'abord, les messages MPI sont transmis de manière fiable sur le réseau longue distance via le protocole TCP. Or TCP, qui reste le protocole de transport utilisé dans la plupart des grilles, est basé sur un transfert de données à l'aide de flux ; il est donc peu adapté aux communications MPI. Ensuite, la grande latence du réseau longue distance implique des communications et des retransmissions de paquets perdus qui sont coûteuses. Enfin, le débit disponible sur le lien d'accès à ce réseau est généralement inférieur à la somme des débits nécessaires si tous les processus communiquent en même temps sur ce lien. Ceci crée de la congestion à la fois au sein d'une même application et à la fois avec les autres applications qui l'utilisent, et il devient nécessaire de gérer ce goulot d'étranglement.
L'objectif principal de cette thèse est d'étudier en détail les interactions entre les applications parallèles et la couche de transport dans les réseaux longue distance des grilles de calcul, puis de proposer des solutions à ces problèmes.
Loading...