WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Environnements de grappes de calcul intensif sur réseaux d'entreprise: déploiement, exploitation et performances

( Télécharger le fichier original )
par Franklin TCHAKOUNTE
Université de Ngaoundéré - Master en Systèmes et Logiciels en Environnements Distribués 2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

ABSTRACT

High performance computing are more needed in research and industry. It is objective is to execute an application in the fastest manner. Nowadays, it is easy for us to buy a personnal computer that have high performance more cheaper. A method by putting computing nodes together could provide considerable performance to compute a parallel application.This is the parallelism. It is therefore important to subdivide the application into tasks, to find the processors on which we will execute them and the date of their execution this is the problem of scheduling. This problem is well known and many works have been done on that subject. Most of them have been done on homogeonous clusters consisting of identical nodes of computing interconnected with an homogeonous network. On the other hands, the nodes and links can have no identical caracteristics. In this case, we speaking about heterogeonous clusters. Although they facilitate to have many resources of computing, heteregeonous clusters get tasks scheduling difficult in the sense that tasks have to communicate each others. For instance, two adjacents nodes with different performance will deal differently the reception of a message. So if tasks are scheduled randomly, the system can be affected in performance. The problem of scheduling in these conditions is NP-Complete. It is therefore too difficult to find a polynomial algorithm as a solution. Our work is to propose a heuristic of scheduling in heterogeonous clusters and evaluate it on an application.

Keywords Application, graph, task, scheduling, clusters, heterogeneous, homogeonous, parallelism.

Table des matières

Table des figures xi

Introduction générale 1

I CALCUL PARALLELE ET ARCHITECTURE DES GRAPPES 4

1 Calcul parallèle 4

1.1 Motivations et principes 4

1.2 Programmation parallèle 5

1.2.1 Objectifs de la programmation parallèle 5

1.2.2 Classes d'applications parallèles 6

1.2.3 Modèle de la programmation parallèle 6

2 Taxonomie des machines parallèles 8

2.1 Architecture SISD 8

2.2 Architecture MISD 9

2.3 Architecture SIMD 10

2.4 Architecture MIMD 11

2.4.1 Exemple d'application des quatre classes principales 14

3 Grappes d'ordinateurs 15

3.1 Origine et évolution de grappes 15

3.1.1 Les supercalculateurs 15

3.1.2 les réseaux de station de travail 15

3.1.3 Les grappes de PC 16

3.1.4 Les architectures actuelles 17

3.2 Caractéristiques des grappes 19

3.2.1 Accès aux ressources 19

3.2.2 Sécurité 20

3.2.3 Tolérances aux fautes 20

3.3 Infrastructures matérielles des grappes 20

3.3.1 Architectures matérielles des grappes 20

3.4 Infrastructures logicielles des grappes 21

4 Analyse des performances d'une architecture multiprocesseurs 22

4.1 Modèles de Calcul 22

4.1.1 Modèle à durée égale 22

4.1.2 Modèle de calcul parallèle avec des parties séquentielles 23

4.2 Un argument pour les architectures parallèles 25

4.2.1 Loi d'Amdahl 25

4.2.2 Loi de gustafson 26

II CONCEPTS D'ORDONNANCEMENT 28

1 Modélisation d'une application 28

1.1 Graphe de précédence 28

1.2 Graphe de flots de données 29

1.3 Graphe de tâches 32

2 Les Modèles classiques d'ordonnancement 33

2.1 Modèles à coût de communications nul 33

2.2 Modèle délai 34

2.3 Les modèles LogP et BSP 35

3 Modèles d'exécution et ordonnancement 36

3.1 Le modèle PRAM 36

3.2 Les modèles avec délai de communications 37

3.2.1 Modèle UET 38

3.2.2 Modèle UET-UCT 39

3.2.3 Modèle UET-LCT 39

3.2.4 Modèle SCT 41

3.3 Le modèle LogP 41

3.4 Le modèle BSP 42

III GRAPPES HETEROGENES et ORDONNANCEMENT 46

1 Eléments de coût 46

1.1 Les stations de travail 46

1.2 Les équipements réseau 46

1.2.1 Les commutateurs 47

1.2.2 Les concentrateurs 49

1.2.3 Les routeurs 49

1.3 Technologie réseau 49

1.4 Système d'exploitation et pile réseau 49

2 Proposition d'un modèle d'ordonnancement sur les grappes hétérogènes 51

2.1 Modélisation de l'architecture hétérogène 51

2.2 Graphe de tâches. 52

2.3 L'ordonnancement 52

2.4 Modéle des communications 52

2.5 Idée Générale 53

IV EVALUATION DU MODELE SUR UNE APPLICATION 54

1 Présentation de l'architecture de notre grappe 54

2 Calcul des caractéristiques des noeuds du graphe de grappe 55

2.1 Les surcoûts engendrés par la pile réseau relatifs à chaque station de travail . 55

2.2 Tableau récapitulatif et discussion 58

3 Calcul des caractéristiques des arcs du graphe de grappe 58

3.1 Evaluation des latences 58

3.2 Evaluation des débits des liens 61

3.2.1 Discussion 61

4 Programmation de l'application 61

4.1 Algorithme 61

4.2 Code 61

5 Ordonnancement sur la grappe 63

5.1 Résultats et discussion 64

Conclusion générale et perspectives 68

A Annexe 71

1 CONFIGURATION DE NOTRE GRAPPE 71

1.1 Configuration logicielle 71

1.1.1 OAR: gestionnaire de tâches 71

1.1.2 MPICH2 : bibliothèque de communications 73

1.1.3 Serveur NFS : Network file system 74

1.1.4 Serveur NIS : Network information service 75

2 Code séquentiel du produit d'une matrice par un vecteur 76

Bibliographie 77

LISTE DES ABBREVIATIONS

API : Application Program Interface ARP : Address Resolution Protocol BSP : Bulk Synchronous Parallel

CESDIS : Center of Excellence in Space Data and Information Sciences

CM : Connection Machine

CONDOR: Open Grid Computing COTS: Commodity Off The Shelf

CRAY: Supercomputer Company ( Name of the father of Supercomuting : Seymour Cray)

CRC : Cyclic Redondancy Control

CRCW : Concurrent Read Concurrent Write

CREW: Concurrent Read Exclusive Write EREW : Exclusive Read Exclusive Write FTP : File Transfer Protocol

GNU: GNU is Not Unix

HPC : High Personal Computing HTC : High Throughput Computing HTTP : Hypertext Transfer Protocol IBM: International Business Machine

IBM SP : International Business Machine Scalable Power

ICL DAP : International Computer LTds Distributed Array Processor

IPC : InterProcess Communication LAN : Local Area Network

LCT : Large Communication Time MAC : Media Access Control

MFLOPS : Mega Floatting Operations Per Second

MIMD : Multiple Instruction Multiple Data MISD : Multiple Instruction Single Data MPI : Message Passing Interface

MPICH : Message Passing Interface Chameleon MPMD : Mutiple Programs Multiple Data MVP : Model View Presenter

NEC : Network Enterprise Center

NFS : Network File System

NIS : Network Information System NOW : Network Of Workstations

NP : Non Polynomial

NUMA : Non Uniform Access

OAR: Resource Manager

OSI : Open Systems International

PC : Personal Computer

PRAM : Parallel Random Access Machine PVM : Parallel Virtual Machine

SAN: System Area Network

SCT : Small Communication Time SGI : Silicon Graphics Image

SISD : Single Instruction Single Data SIMD : Single Instruction Multiple Data SMP : Symmetric Multiprocessing SMTP : Simple Mail Transfer Protocol SPMD : Single Program Multiple data SSH : Secure Socket Shell

SSI : Single System Image

TFLOPS : Tera Floatting Operations Per Second UET : Unit Execution Time

UCT : Unit Communication Time

Table des figures

I.1 Architecture SISD 8

I.2 Architecture SIMD 9

I.3 Architecture MIMD 9

I.4 Modèle d'architecture SIMD 10

I.5 Les deux schémas SIMD 11

I.6 Architecture à mémoire partagée et Architecture de passage de messages 12

I.7 Un réseau de stations de travail 16

I.8 Une grappe de PC 16

I.9 Une grappe de grappes faiblement couplées 17

I.10 Une grappe multiplement câblée (avec des partitions) 18

I.11 Segments de programme 23

I.12 Modèle Amdahl 26

II.1 Exemple de Programme 29

II.2 Un graphe de précédence pour le programme. Les tâches sont représentées par des cercles et les arcs représentent les précédences. 30

II.3 Un graphe de flots de données pour le programme. Les tâches sont représentées par des

cercles. Les données à transférer dans un rectangle 31

II.4 Graphe de précédence G 31

II.5 Exemple de graphe de tâche du programme. Les chiffres en bleu représentent les coûts de chaque tâches. Ceux en noir représentent le volume des données à transférer d'une

tâche à l'autre par unité de temps. 32

II.6 Le modèle LogP 35

II.7 A gauche nous avons une représentation de l'ensemble des processeurs : P=8, L=6, g=4, o=2 et à droite l'activité de chaque processeur dans le temps. Le nombre montré pour chaque noeud est le temps auquel chaque processeur a reçu les données et peut

commencer à envoyer. 36

II.8 Le modèle PRAM pour le calcul parallèle 37

II.9 Exécution dans le modèle UET 39

II.10 Exécution dans le modèle UET-UCT sans et avec duplication 40

II.11 Exécution dans le modèle UET-LCT sans et avec duplication 40

II.12 Exécutions dans le modèle SCT sans et avec duplication 41

II.13 Exemple des paramètres LogP 42

II.14 Ordonnancement sous le modèle LogP 43

II.15 Schéma d'exécution dans le modèle BSP 44

III.1 Trame ethernet 47

III.2 Un message classique tel qu'il transite sur le réseau 51

IV.1 Notre grappe 55

IV.2 Courbe représentant l'accélération de l'algorithme parallèle 66

IV.3 Courbe représentant l'efficacité de l'algorithme parallèle 67

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il existe une chose plus puissante que toutes les armées du monde, c'est une idée dont l'heure est venue"   Victor Hugo