RECHERCHE :
Bienvenue sur le site de Michel VOLLE
Powered by picosearch  


Vous êtes libre de copier, distribuer et/ou modifier les documents de ce site, à la seule condition de citer la source.
 GNU Free Documentation License.

Le multiordinateur

Avez vous déjà pensé que le réseau devrait, en connectant tout avec tout, devenir lui-même un gigantesque ordinateur ? ou souhaité, plus modestement, que l'ensemble des ressources dont vous disposez (votre PC au bureau, votre PC à la maison, votre ordinateur portable, votre PalmTop, votre téléphone portable, vos boîtes aux lettres vocales et écrites, n'ai-je rien oublié ?) puisse s'interconnecter pour former une seule ressource cohérente, qui se tiendrait à jour sans que vous n'ayez à faire aucune ressaisie, qui constituerait en somme votre réseau personnel ? avez vous, tout en rêvant de ces possibilités, ressenti un léger frisson d'inquiétude à l'idée de toutes les questions de confidentialité et de protection de la vie personnelle que ça va poser (car enfin, si toutes vos ressources sont sur le réseau, qu'est-ce qui vous garantit que vous êtes le seul à y accéder ?)... Eh bien, ça vient, et ça porte des noms : multiordinateur (en franglais "multicomputer"), scalabilité, etc. Des possibilités énormes, des évolutions prochaines, c'est pour dans quelques années.

Qu'est-ce que le multiordinateur ?

Le " multiordinateur " est un réseau (RLPC, WAN ou Internet) de PC autonomes ayant au moins le débit d’Ethernet (10 Mbit/s), et muni d’un protocole permettant à l’utilisateur d’un PC quelconque de disposer de l’ensemble des autres machines.

Dans une entreprise utilisant 1000 stations de travail, la puissance disponible sur un tel réseau est supérieure à celle des supercalculateurs du marché : 1000 stations représentent 100 Go de RAM et plusieurs To (téraoctets) de disque dur.

Pour utiliser cette ressource, il faut un protocole d’adressage garantissant l’accessibilité des données sur le réseau. Supposons que les données résident sur les RAM des PC, et migrent vers une autre RAM dès qu’un utilisateur touche son clavier : les données vont se déplacer en permanence ; il faut donc pouvoir mettre les adresses à jour de façon continue.

Le multiordinateur utilise un algorithme d’adressage mis au point par Witold Litwin et qui intéresse les centres de recherche qui travaillent sur la " scalabilité " (Microsoft, IBM, université de Berkeley), c’est-à-dire sur l’utilisation de réseaux de machines. Son importance n'a pas échappé à Donald Knuth.

Référence : Witold Litwin et Thomas J. E. Schwartz, " LH*RS : A High-Availability Scalable Distributed Data Structure using Reed Solomon Codes ", 1999

Les SDDS

Cet algorithme s’appelle SDDS (" structures de données distribuées et scalables "). Les données sont sur les serveurs ; il n'existe ni répertoire central d'accès ni mises à jour synchrones des clients. Le client calcule l'adresse d’une donnée à partir d'une image locale de la structure des données. Comme les mises à jour sont asynchrones, il se peut que cette image soit obsolète. Un serveur peut donc recevoir une requête qui ne lui est pas destinée. Dans ce cas, il la route vers le serveur probablement destinataire. Le processus se poursuit jusqu'à ce que le bon serveur soit trouvé. Il envoie alors au client, outre la donnée elle-même, un message (" Image adjust message ") qui permet au client de corriger son image de la structure des données.

L'astuce du protocole d'adressage est d’assurer la convergence du processus en limitant le nombre de messages échangés. Le protocole inventé par Litwin utilise le hachage linéaire distribué. Sa spécification garantit que quelle que soit l'extension de la mémoire on n'a pas besoin de plus de quatre messages pour localiser un article dans le fichier. A 99 %, une insertion demande un message, une recherche deux messages.

Temps d’accès

Comparons les temps d'accès :

  • disque local : 10 ms
  • RAM distante sur le réseau : de 1 ms à 100 ms selon le débit
  • RAM locale sur la station : 100 ns (nanoseconde).

Pour rendre ces chiffres accessibles à l'intuition, et en dilatant les délais dans la proportion 100 ns -> 1 minute, les délais seraient les suivants :

  • disque local : 8 jours
  • RAM distante : de 10 minutes à 2 heures
  • RAM locale : 1 minute.

Il est donc plus efficace d'utiliser la RAM distribuée sur le réseau que le disque dur local du PC.

Performances du multiordinateur

Associons les performances du protocole (nombre de messages maximal) avec les temps d’accès aux mémoires : il en résulte que 100 Go de mémoire localisées sur les RAM des PC sont accessibles sur un réseau Ethernet en moins d’une milliseconde.

Les temps de réponse sont fortement améliorés. L'adressage peut s'étendre sans détérioration à des millions d'ordinateurs.

Il faut pour utiliser un multiordinateur refaire le logiciel système (système de gestion de fichiers, structures de données). Par contre on ne touche pas aux logiciels applicatifs qui tournent comme auparavant (mais plus vite) sur ce système d’exploitation modifié.

Les premières applications du multiordinateur sont les calculs à haute performance et les accès aux grandes bases de données. Dans le contexte de mise en réseau généralisée créé par l’Internet, il ouvre des perspectives techniques et économiques très larges.