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 dEthernet (10 Mbit/s), et muni dun protocole permettant à
lutilisateur dun PC quelconque de disposer de lensemble 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
dadressage garantissant laccessibilité 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
quun 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 dadressage mis au
point par Witold Litwin et qui intéresse les centres de recherche qui travaillent sur la
" scalabilité " (Microsoft, IBM, université de Berkeley),
cest-à-dire sur lutilisation 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 sappelle 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 dune 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 dassurer 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 daccè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 daccè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
dune 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 dexploitation 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 lInternet, il ouvre des perspectives techniques
et économiques très larges.
|