• Aucun résultat trouvé

Les machines spécialisées

Dans le document Disponible à / Available at permalink : (Page 129-159)

Comme nous l’avons vu dans les sections précédentes, il est possible de réaliser

les simulations de gaz sur réseau avec des performances relativement élevées sur

des ordinateurs conventionnels. Nous n’avons personnellement utilisé que des ma­

chines de la classe mini-ordinateurs qui atteignent des vitesses de l’ordre de 1 Mus

(1 million de nœuds mis à jour par seconde), mais d’autres équipes ont pu obtenir

jusqu’à 500 Mus sur un Cray-XMP quadriprocesseur et 800 Mus sur une Connection

Machine CM-2 (à 65536 processeurs) pour le modèle FHP le plus simple. Une opti­

misation soignée de ses programmes a permis à Jean-Pierre Rivet d’obtenir jusqu’à

30 Mus sur un Cray-2 pour le modèle FCHC à 24 bits (qui ne peut utiliser que la

représentation par nœud) [Rivet 1988]. Ceci montre que les algorithmes de gaz sur

réseau s’adaptent particulièrement bien aux architectures parallèles ou vectorielles

des super-ordinateurs actuels. Les règles d’évolution sont parfaitement parallélisables

puisque tous les nœuds évoluent de manière exactement similaire : l’étape de colli­

sion est purement locale et peut être effectuée indépendamment sur tous les nœuds

tandis que l’étape de propagation ne nécessite que des couplages locaux vers les pre­

miers voisins. Tous les chercheurs n’ont cependant pas accès à une machine parallèle

comme un Cray multiprocesseur (et encore moins à une Connection Machine). La

nature parallèle des algorithmes et la simplicité des opérations d’évolution en chaque

nœud (quelques opérations logiques élémentaires) suggèrent très logiquement la pos­

sibilité de réaliser un calculateur parallèle spécialisé pour les simulations de gaz sur

réseau. Une telle machine devrait être plus rapide qu’un ordinateur classique en

utihsant un grand nombre de processeurs (si possible, un processeur par nœud du

réseau) et devrait avoir un coup bien moindre étant donné la simplicité de chaque

processeur. Elle permettrait également une architecture évolutive, puisque de plus

7. Les machines spécialisées 121

grands réseaux pourraient être traités simplement en adaptant le nombre de pro­

cesseurs à la taille du problème* *. La réalisation d’une machine parallèle, dont la

vitesse de calcul pourrait être indépendante de la taille des problèmes, constitue une

des perspectives les plus intéressantes offertes par les gaz sur réseau. Elle n’a pas

encore pu être menée à bien complètement, mais des progrès remarquables ont été

réalisés dans cette direction, et ce en un temps très court puisque les automates de

gaz sur réseau n’ont vu le jour qu’en 1972 et que la première machine spécialisée n’a

été rendue opérationnelle qu’en 1984.

Une machine complètement parallèle pouvant traiter des réseaux de taille physi­

quement intéressante est actuellement irréalisable pour des raisons techniques au­

tant qu’économiques. En effet, les calculs d’évolution du modèle FHP nécessitent

typiquement une centaine d’opérations logiques par nœud, soit environ trois cent

transistors en technologie TTL tandis que la mémorisation de l’état d’un lien ne de­

mande qu’un seul transistor (en utilisant la technologie des mémoires dynamiques) ;

la plus grosse part du silicium des circuits serait donc utilisée pour le calcul plutôt

que pour le stockage. De plus, des modules parallèles auraient besoin d’un nombre

impressionnant (« {bm — D)L^~^) de connexions câblées entre eux si l’ensemble du

réseau occupe plus d’un module. Enfin, une structure de calcul réalisée au niveau

des masques des circuits serait nécessairement figée alors que les modèles sont tou­

jours en plein développement. Toutes les machines réalisées jusqu’à présent utilisent

donc une architecture sérielle*, ce qui signifie que des éléments de retard ou des

mémoires temporaires doivent être introduits dans les circuits pour simuler une

évolution strictement parallèle. D faut en effet éviter d’utiliser dans un même pas

de temps à la fois l’ancienne et la nouvelle valeur d’un nœud, ce qui signifie que le

nouvel état d’un nœud ne peut être réécrit en mémoire que lorsque son.ancien état a

été utilisé par tous ses voisins. En contrepartie, nous pouvons utiliser comme unité

de calcul une simple table mémoire. Si la table est mise en mémoire vive (RAM en

anglais) au début de la simulation, les règles d’évolution peuvent être modifiées à

tout moment en réécrivant la table. Evidemment, l’utilisation d’une table présente

tous les avantages et les inconvénients qui ont été décrits dans la section 2.a, mais la

croissance exponentielle de la taille des tables avec le nombre de variables par nœud

est ici un point crucial car les RAMs rapides sont actuellement limitées à des taille

de l’ordre de 64 Kilobits. Nous sommes donc limités à des modèles où moins de 16

variables interviennent dans les règles d’évolution (noter qu’une parité de temps,

la présence d’un obstacle, un bit aléatoire, ..., doivent être considérés comme des

variables d’évolution, ce qui montre que l’on peut être rapidement limité par la taille

des tables). Le balayage séquentiel du réseau au cours du calcul présente l’avantage

que l’état de chaxjue nœud passe par l’unité d’évaluation à chaque pas de temps, ce

qui permet en principe un transfert continu des informations vers l’extérieur pour

*11 faut noter que la possibilité de réaliser des machines parallèles s’est déjà présentée dans d’autres domaines de la physique statistique, par exemple les réseaux de neurones ou le modèle d’ising, avec des arguments identiques.

*Ou semi-sérielle en utilisant plusieurs processeurs en parallèle qui traitent chacun une partie du réseau de manière sérielle.

traitement ou affichage. Pour obtenir une visualisation continue de l’état du réseau

sans devoir passer par un ordinateur hôte, le plus simple est de synchroniser les cal­

culs avec le rafraîchissement d’un écran vidéo, l’état de chaque nœud définissant la

couleur instantanée d’un pixel (point) de l’écran, si possible au travers d’une autre

mémoire RAM modifiable, ce qui permet de changer à tout moment la relation entre

l’état d’un nœud et la couleur visualisée. Les systèmes de télévision standard trans­

mettent une image en la divisant en lignes horizontales (312 lignes en Europe, 262

aux Etats-Unis) qui sont transmises successivement à raison de 64/xs par ligne pour

former une image complète en 1/50® s (1/60® s aux Etats-Unis)^. Des impulsions de

synchronisation de durées différentes permettent au moniteur de détecter le début

de chaque ligne et le début de chaque image. Le nombre maximum de nœuds est

donc limité verticalement à 256 (il est préférable de choisir des puissances de deux

pour simplifier les circuits internes qui travaillent en binaire) et des considérations de

bande passante limitent la résolution horizontale à 512 points (800 serait un grand

maximum), ce qui donne un temps de calcul maximum par pixel de 70 ns qui est

dans les possibilités de la technologie actuelle. Nous en arrivons ainsi au schéma bloc

de la figure 28. Presque tous les éléments d’une machine d’automates cellulaires sont

constitués de mémoires RAM qui peuvent être préchargées au début de la simula­

tion par un ordinateur hôte. Les mesures macroscopiques doivent également être

effectuées par le processeur hôte qui doit donc à tout moment pouvoir interrompre

la simulation et relire l’état du réseau. Les circuits de délai sont en général constitué

d’une RAM auxiliaire ou de registres à décalage et les contrôleurs vidéo sont actuelle­

ment des composants standards. Ceci pour expliquer qu’une machine d’automates

cellulaires peut être construite avec des moyens réduits et pour un prix relative­

ment faible par rapport aux performances possibles (il faut cependant compter un

produit temps-homme-compétence a.ssez élevé pour développer et mettre au point

le(s) premier(s) prototype(s), ce qui explique qu’il n’existe actuellement que peu de

réalisations de ces machines).

La machine CAM (Cellular Automata Machine) construite aux Etats-Unis par

l’équipe de Tom Toffoli au M.I.T. a été la première réalisation d’une machine câblée

simulant des automates cellulaires basée sur l’architecture qui vient d’être décrite

[Toffoli 1984 B]. CAM a été réalisée pour simuler des règles d’automates cellulaires

basées sur la notion de voisinage : l’état futur d’un nœud est une fonction de son

état présent et de l’état actuel des nœuds voisins, le voisinage étant typiquement

l’ensemble des premiers voisins sur un réseau carré (voisinage de von Neumann) ou

les premiers et seconds voisins sur réseau carré (voisinage de Moore). L’archétype

de ces règles d’évolution est le Jeu de la Vie inventé par Conway. La version la plus

récente, CAM-6, est capable de simuler un réseau de 256 nœuds avec 4 bits/nœud

à une vitesse égale à la cadence vidéo américaine, soit 60 images/seconde (ou une *

*Les signaux de la télévision commerciale sont en réalité un peu plus complexes car on utilise une méthode d’entrelacement qui permet de réduire le papillotement de l’image en transmettant alternativement deux demi-images séparées verticalement d’une demi-ligne. Ceci permet d’obtenir (approximativement) une résolution verticale de 625 ou 525 lignes sans augmenter la durée d’une image ni augmenter la bande passante nécessaire à la transmission.

7. Les max:hines spécialisées

123

ADORESS^

V RULE

ADORESS

^ TABLE

°OUT AOORESS

1UL

I/o PORT

"OUT

LAHICE

MEMORY

AOORESS

Figure 28: Schéma bloc d’une machine d’automates cellulaire typique. Tous les

signaux de synchronisation sont obtenus à partir d’un contrôleur vidéo dont les

sorties d’adressage balaient continuellement la mémoire de réseau. L’état de

chaque nœud est utihsé comme adresse dans une table d’évolution donnant le

nouvel état du nœud et des circuits de retard empêchent la modification d’un

nœud avant que son état ait été utilisé par tous ses voisins. L’état du nœud est

également transmis vers l’écran au travers d’une table de couleurs qui permet de

n’afBcher que les états intéressants dans la couleur désirée. Les règles d’évolution,

la table des couleurs et l’état initial du réseau sont chargés par un ordinateur hôte

au début de la simulation en utilisant un port d’entrée-sortie.

vitesse de w 4 Mus). Des restrictions assez sévères sont cependant imposées sur le

choix des bits du voisinage qui sont “visibles” puisque le voisinage de Moore contient

4

X

9 = 36 bits et que la table de calcul de CAM n’a que 12 entrées. Quatre bits

par nœud sont insuffisants pour la plupart des modèles de gaz sur réseau et, de

plus, CAM utilise une fonction d’évolution qui est statique en ce sens qu’elle ne

contient pas d’opérateur de propagation. Pour obtenir un effet de propagation, il est

nécessaire d’utiliser un découpage du réseau et des règles d’évolution particulières

appelées “voisinage de Margolus” qui ont l’inconvénient de réduire la résolution

d’un facteur deux dans les deux directions de l’espace (donc le nombre de nœuds

d’un facteur quatre). La taille du réseau de CAM n’est donc pas suffisante pour

réaliser des simulations hydrodynamiques intéressantes car les valeurs possibles du

nombre de Reynolds sont trop faibles ; néanmoins, CAM permet d’observer et de

mesurer des propriétés d’équilibre pour les modèles HPP (et FHP en transformant

astucieusement le réseau) [Margolus et al. 1986, Toffoli 1987]. L’équipe de T. Toffoli

prévoit de réaliser une version CAM-8 bien plus performante que CAM-6, mais cette

nouvelle machine n’a pas encore dépassé le stade de projet.

Une réalisation plus récente est le “Réseau d’Automates Programmables” dont

la version RAP-1 a été développée en 1987 par A. Clouqueur et D. d’Humières

à l’E.N.S. à Paris [Clouqueur et d’Humières 1987]. L’architecture de RAP a été

optimisée en vue des simulations de gaz sur réseau et est donc légèrement différente

de la figure 28. La mémoire de RAP-1 peut être vue comme une superposition de

b plans de bits, chaque plan contenant LxL' nœuds. Comme pour les gaz sur réseau,

l’évolution est divisée entre une étape de collision et une étape de propagation.

Pendant l’étape de collision, les nœuds du réseau sont visités successivement et les

b bits d’une même position sont utilisés pour indexer une table et calculer le nouvel

état du nœud. Pour réaliser la propagation, chacun des plans de bits est déplacé

en bloc dans la direction c,. RAP ne contient donc aucune relation de voisinage,

ce qui permet d’éliminer les mémoires temporaires nécessaires dans les machines

de type CAM, mais doit en contrepartie pouvoir déplacer indépendamment chacun

des plans de bits*. Dans le cas de RAP, les déplacements horizontaux sont réalisés

physiquement pour chaque ligne du réseau en déplaçant les bits latéralement dans un

registre à décalage ; les propagations verticales sont effectuées de manière virtuelle en

ajoutant (ou en soustrayant) à chaque adresse mémoire un déplacement dépendant

du plan pour accéder à chacune des lignes du réseau. Ce déplacement est incrémenté

modulo L' après chaque balayage complet du réseau, ce qui crée implicitement des

conditions périodiques dans cette direction. La figure 29 présente un schéma bloc

des circuits de calcul de RAP-1. La mémoire de réseau est constituée de 32 circuits

de Video-RAM dynamique qui réalisent un réseau de 512 x 256 nœuds de 16 bits.

Les Video-RAM ont la particularité de disposer d’un registre à décalage interne qui

*Ces deux procédures sont essentiellement équivalentes, mais la division en deux étapes de calcul est beaucoup plus simple à réaliser de manière générale qu’une relation de voisinage. Elle a également l’avantage de faire ressortir la propriété de localité des collisions dans les gaz sur réseau qui se produisent avec une portée d’interaction nulle. Des relations de voisinage peuvent cependant être implémentées sur une machine de type RAP en dupliquant les états sur les différents plans.

7. Les machines spécialisées 125

S12 colamns

16 16 16

Figure 29: Schéma simplifié de l’unité de calcul et de la mémoire de réseau de la

machine RAP-1.

est utilisé pour extraire de manière sérielle tous les bits d’une ligne de la mémoire.

Cette possibilité est utilisée par le circuit de RAP dont l’architecture est calquée sur

un circuit d’affichage vidéo, ce qui permet d’envoyer directement le signal de sortie

sur un moniteur. Comme dans les machines CAM, l’unité de “calcul” est basée sur

une table contenue dans 16 RAMs statiques rapides à 16 entrées. Chacun des états

du réseau passe dans la boucle de calcul que constituent le registre à décalage et la

mémoire de table avant d’être renvoyé dans la mémoire après que le registre ait subi

un décalage à gauche ou à droite si le plan correspondant a une vitesse horizontale c,i

non-nuUe. Le balayage de RAP-1 est synchronisé avec la cadence vidéo européenne

de 50 images par seconde en utilisant une fréquence par pixel de 14 MHz, ce qui,

tenant compte de la durée des signaux de synchronisation, donne une vitesse de

calcul de 6.5 Mus, ce qui est environ dix fois plus rapide qu’une station SUN tout

en ayant un coût en composants dix fois moins élevé (il faut cependant remarquer

qu’une machine RAP ne sait faire que des simulations de gaz sur réseau et que les

seuls exemplaires réalisés jusqu’à présent ont été montés de manière artisanale, ce

qui leur donne un coût unitaire très élevé).

RAP-1 a une taille de réseau qui ne permet de traiter que des problèmes hydro­

dynamiques de petite taille (les nombres de Reynolds accessibles sont limités à des

valeurs inférieures à 100). Elle a cependant été utilisée pour étudier des problèmes

comme le développement d’aUées de von Kàrmàn, l’instabilité de Kelvin-Helmholtz

ou l’écoulement de Kolmogorov. Des modèles à plusieurs espèces ont également pu

être implémentés sur RAP-1 en utilisant les 16 bits par nœud de la machine, ce qui

a permis de simuler des phénomènes diffusifs pour lesquels la grande vitesse de la

machine est particulièrement intéressante. L’utilisation de RAP-1 a mis en évidence

ses points forts ainsi que ses défauts, ce qui a permis de définir les spécifications de

la version suivante. RAP-2 est actuellement réalisée par l’équipe de l’E.N.S. dans

Machine CAM-6 RAP-1 RAP-2

Taille Réseau 256 X 256 512 X 256 2048 X 1024

Extensible ? non non oui

Voisinage 3x3 3x3 5x5

Déplacements Sx,Sy 0,±1 0,±1 0,±1,±2

Bits par nœud 4 16 16

Entrées par table 12 16 16

Nombre de tables 2 1 8

Images par seconde 60 50 50

Horloge (MHz) 6 14 14

Vitesse 3.9 Mus 6.5 Mus 105 Mus

Post-traitement non non 16 X 16

Vitesse de transfert E/S 500 kB/s 64 kB/s 3 MB/s

Table 2: Caractéristiques principales des différentes niEu;hines d’automates cellu-

ladres existant actuellement (RAP-2 étant en cours de réalisation).

le cadre d’un contrat européen liant les groupes de recherche de gaz sur réseau de

Paris, Nice et Bruxelles. La table 2 permet de constater les différences entre CAM-6,

RAP-1 et RAP-2 et le gain énorme en performances et en possibilités offertes par

cette dernière machine. RAP-2 a une mémoire de réseau de 2048 X 1024 nœuds de

16 bits. Comme il est impossible de calculer l’évolution d’un tel réseau en 1/50® s

avec les composants actuels, la machine contient 8 processeurs (RAP-2 est donc une

machine semi-parallèle) qui calculent indépendamment sur une fraction du réseau

de la même taille que RAP-1, mais à vitesse double, ce qui donne une vitesse globale

atteignant 105 Mus. Les zones de calcul de chaque processeur sont entrelacées dans

la direction verticale (les processeurs i et i -|- 4 calculent tous les nœuds dont la

coordonnée verticale modulo 4 est égale à z), ce qui offre la possibilité de regrouper

les nœuds par 2 ou par 4 en associant plusieurs processeurs. Les tables de calcul

peuvent également exploiter cette fonction en mettant en cascade jusqu’à 4 tables

de 16 bits (des tables de plus de 16 bits étant difficiles à réaliser pour des raisons

technologiques), ce qui permet de traiter certains modèles à 32 ou 64 bits, mais

uniquement ceux dont la fonction d’évolution peut en quelque sorte se “factoriser”

en produits de 16 bits indépendants. La décomposition des 64 bits en groupes de

16 n’est pas encore complètement définie à l’heure actuelle car elle conditionnera

7. Les machines spécialisées

12 J

les possibilités d’utilisation de RAP-2 pour des modèles complexes qui pourraient

apparaître ultérieurement. RAP-2 offre également la possibilité de décomposer une

fonction d’évolution complexe sur plusieurs pas de temps en modifiant les tables

entre chaque p«is, ce qui réduit la vitesse de calcul mais permet de réaliser des règles

d’évolution faisant intervenir des voisins éloignés en propageant leur état pendant

les pas de temps intermédiaires (la machine CAM-6 disposait déjà d’une possibilité

équivalente). Le nombre de points de réseau étant supérieur à la résolution possible

sur un écran, la visualisation et le calcul ont été rendus asynchrones en dotant RAP-2

d’une mémoire d’écran indépendante de résolution moyenne. Cette dernière est rem­

plie à chaque balayage du réseau en passant par une table de calcul intermédiaire qui

peut réaliser des opérations locales pour extraire des grandeurs moyennes ou des gra­

dients en temps réel. Ces résultats peuvent également être renvoyés vers l’ordinateur

hôte, ce qui réduit un des principaux problèmes rencontrés avec RAP-1, à savoir la

lenteur des transferts entre la machine et l’hôte. La vitesse des circuits d’entrée-sortie

a elle-même été augmentée et sera probablement limitée par le PC de contrôle. RAP-

2 contient également quelques améliorations simples comme la possibilité de réaliser

des déplacements horizontaux et verticaux de ±2, ce qui doit permettre de simuler

des modèles à plusieurs vitesses et donc des phénomènes thermiques. Un générateur

de bits pseudo-aléatoires câblé (voir appendice D) a été ajouté pour introduire des

conditions de bord de soufflerie et un choix aléatoire parmi plusieurs tables de col­

lision, car ces opérations simples exigeaient le sacrifice de plusieurs bits d’état par

nœud pour être réalisées par calcul sur RAP-1.

D est hors de doute que la taille de réseau de RAP-2 sera suffisante pour étudier

des écoulements 2-D ainsi que d’autres problèmes physiques sur réseau, et ce à une

vitesse impressionnante. On peut cependant se demander si cette réalisation se jus­

tifie face aux progrès constants des ordinateurs à usage général dont la vitesse (pour

des machines type CRAY ou Connection Machine) est au moins égale à celle de

RAP-2. La réponse du coût d’une machine spécialisée n’est pas suffisante pour jus­

Dans le document Disponible à / Available at permalink : (Page 129-159)