• Aucun résultat trouvé

Description du hardware

Dans le document Eléments de physique de la Beauté (Page 121-124)

On P -wave meson decay constants in the heavy quark limit of QCD

4.1.1 Description du hardware

apeNEXT est un ordinateur 64 bit `a architecture parall`ele de type SPMD1, c’est-`a-dire que chaque nœud de la machine poss`ede sa propre m´emoire, ses propres unit´es de calcul et de gestion des flux de donn´ees, etc.., et ex´ecute le mˆeme programme que les autres nœuds mais en manipulant des donn´ees diff´erentes2 et cela de fa¸con asynchrone : la synchronisation est n´ecessaire uniquement lorsque des ´echanges de donn´ees entre nœuds doivent avoir lieu3. Ensuite, toujours dans un but d’optimisation, les op´erations arithm´etiques ainsi que la communication entre nœuds peuvent avoir lieu simultan´ement au cours d’un mˆeme cycle d’horloge. De plus, un syst`eme de queues permet le stockage de donn´ee (locales au nœud ou bien distantes) et leur acc`es avec un temps de latence nul ce qui permet ´egalement d’optimiser les acc`es m´emoire avec les calculs et les communications inter-nœud.

Un module de base apeNEXT est constitue du processeur, nomm´e J &T , et de sa banque m´emoire priv´ee. Rapidement, le processeur J &T se compose des ´el´ements suivants :

CHEP03, La Jolla, California, March 24th-28th, 2003 5

Linux PC Linux PC I2C Ethernet LVDS 7th link interface interface I2C 7th link interface

Figure 5: A possible apeNEXT configuration with 4 boards, 2 external LVDS-links for I/O, and a chained I2C-link for slow-control.

Figure 6: The apeNEXT J&T module contains one custom designed VLSI J&T chip and nine 8x256 MBytes local DDR-SDRAM chips.

plete processor, that delivers more than 1.5 GFlops of processing power in double precision with a power consumption of approximately 7 Watt, that is about 10 times less than current generation high-end PCs. The compactness and the low power consumption of this basic building block are key ingredients to build the very compact multi-node system described later on.

The block diagram of the J&T chip is shown in Fig. 7. It is a 64-bit architecture, optimized for float-ing point performance.

We would like to highlight some selected details of the processor shown in Fig. 7:

• A large register file of 256 registers each contain-ing a pair of 64 bit words. All operands for the arithmetic unit arrive from the register file and all results are written back here.

• An arithmetic box which performs floating point as well as integer operations. The basic opera-tion executed by the floating point unit (FPU) is

TX

LU INT LUT FPU Register File

512 x 64 bit

Program and Data Memory (DDR−SDRAM 256 M ... 1 G)

Microcode AGU Disp. Switch Queues RX Instr. Buffer Decompr. DMA PC MC host +x −x +y −y −z +z host +x −x +y −y −z +z 0 1 2 4 5 PMA 64 128 128 64 3 local 64 128 128 128 128 128 128

Figure 7: Schematics of the apeNEXT J&T processor.

the “normal” floating-point operation a × b + c. At each clock cycle one normal operation can be started to provide a maximal throughput of eight floating-point operations per clock cycle. The operands are either complex values or pairs of real values. All floating-point data is repre-sented in the 64-bit double-precision format of the IEEE standard. The integer unit (INT) op-erates on pairs of 64-bit integers. The arithmetic box also contains the logical unit (LU). Finally, a “special function” block (LUT) provides initial approximations for iterative or series-expansion evaluation of inverses, square-roots, logarithmic and exponential functions.

• An address-generation unit (AGU) which com-putes addresses for memory access indepen-dently and concurrently with the main arith-metic box. This is an important feature to boost sustained performance.

• A memory controller (MC) supporting a mem-ory bank of 256–1024 MBytes based on standard DDR-SDRAM. The memory is used to store both data and program instructions. A conse-quence of this organization is that conflicts be-tween data and instruction load-operations are present. Two strategies have been employed to avoid these conflicts. First, the hardware sup-ports compression of the microcode. The com-pression rate depends on the level of optimiza-tion, typically values are in the range of 40–70%. Instruction de-compression is performed on-the-fly by dedicated hardware. Second, an instruc-tion buffer allows pre-fetching of (compressed) instructions. Under complete software control, a section of the instruction buffer can be used to store performance critical kernels for repeated execution.

• A flow-control unit that executes programs spec-ified as a sequence of compiler prepared mi-THIT005

- module arithm´etique : r´ealise tous les calculs (FPU : traite les op´erations sur les nombres flottants – double pr´ecision, 64 bits –, INT : mˆeme chose pour les entiers, LU : r´ealise les manipulations logiques et LUT : fournit des fonctions comme les racines carr´ees, les exponentielles, etc...) ; les nombres sont cod´es sur 128 bits (2 fois 64 bits).

- module registres (register file) : fournit les op´erandes pour le module arithm´etique et stocke les r´esultats des calculs.

- module AGU : g´en`ere les adresses pour les acc`es m´emoire. 1. Single Program Multiple Data

2. Le programme et les donn´ees sont stock´ees dans les banques m´emoires priv´ees de chaque nœud. 3. `A ce sujet, le temps de latence associ´e `a ce type d’´echange est deux `a trois fois plus court que le temps de latence associ´e `a un acc`es `a la m´emoire locale si bien que ce qui limite en pratique le taux d’´echange de donn´ees entre nœuds est la bande passante.

prim´e (dans le but d’´eviter les conflits entre les donn´ees manipul´ees et le programme lui-mˆeme).

- interface r´eseau : cette interface contient sept liens (pour la transmission – TX – et la r´eception – RX –) dont six sont utilis´es pour la connection avec les nœuds adjacents et un pour les op´erations d’entr´ee/sortie. La bande passante th´eorique est de 200 MByte par seconde et par lien (≤ 180 en pratique) et le temps de latence du r´eseau est de l’ordre de 0.1 µs.

- gestion des queues : les queues contiennent les donn´ees en provenance de la m´emoire ou du module registres jusqu’`a ce que le r´eseau puisse les envoyer aux autres nœuds (TX) car les acc`es m´emoires sont beaucoup plus rapides que les acc`es r´eseau ; elles permettent aussi le stockage des donn´ees en provenance du r´eseau (RX) jusqu’`a ce que le processeur en ait besoin ; enfin elles garantissent que les paquets de donn´ees sont envoy´es dans le bon ordre.

La table suivante r´esume les principales caract´eristiques du module J &T :

Fr´equence d’horloge 200 MHz

Performance de crˆete 1.6 GFlops

M´emoire 256 - 1024 MByte/nœud

Bande passante m´emoire 3.2 GByte/seconde Bande passante r´eseau 0.2 GByte/seconde/lien

Module registres 512 registres

Buffer d’instructions 4096 mots

Une carte apeNEXT contient 16 modules J &T arrang´es topologiquement selon la structure tridimensionnelle 4 × 2 × 24. Un bloc apeNEXT de base h´eberge un ensemble de 16 cartes apeNEXT (des syst`emes plus gros peuvent ˆetre r´ealis´es en assemblant plusieurs de ces blocs avec des cˆables). Enfin, un (ou plusieurs) PC joue le rˆole d’interface entre l’utilisateur et une tour apeNEXT.

L’op´eration aritm´etique de base ex´ecut´ee par cette machine est l’op´eration, dite normale, a × b + c o`u a, b et c sont des nombres complexes 128 bits. Une op´eration normale peut ˆetre r´ealis´ee `a chaque coup d’horloge ; de fait, la performance de crˆete5 est de 1.6 GFlops par nœud (voir la table ci-dessus).

4. 4 nœuds dans la direction x et 2 dans chacune des directions y et z.

5. On appelle(( performance de crˆete )) la situation id´eale o`u une op´eration normale est r´ealis´ee `a chaque coup d’horlage.

Fig. 4.1 – La photographie de gauche repr´esente une carte apeNEXT munie d’un module J &T et celle de droite illustre un bloc apeNEXT de base avec ses 16 cartes dans la partie basse.

4.1.2 Software

Deux langages de haut niveau sont disponibles : le TAO, qui est le langage historique des ordinateurs de la s´erie APE, et le C muni d’extensions sp´ecifiques `a la parall´elisation et `a apeNEXT. La chaˆıne de compilation depuis le langage de haut niveau jusqu’au microcode est r´esum´ee par le graphe suivant :

rtc est le compilateur TAO et nlcc le compilateur C modifi´e qui g´en`erent `a partir du pro-gramme ´ecrit en langage compr´ehensible par les humains une s´erie d’instructions en langage assembleur encore de haut niveau, c’est-`a-dire utilisant des mn´emoniques pas encore fonda-mentales. Puis ce fichier *.sasm est trait´e par un pr´eprocesseur (mpp) qui traduit le code assembleur de haut niveau en code assembleur de bas niveau (fichier *.masm). Ensuite, ce nouveau fichier passe dans un premier optimiseur (sofan) sp´ecifique `a l’architecture ape-NEXT qui am´eliore le code machine en retirant par exemple les codes (( morts )) superflus, ou bien en r´eordonnant certaines instructions relatives aux calculs arithm´etiques ou `a la ges-tion des adresses. Enfin, le shaker s’occupe du fichier *.masm cr´e´e par sofan en remettant en ordre, comme son nom l’indique, les instructions restantes comme la construction des

Dans le document Eléments de physique de la Beauté (Page 121-124)

Documents relatifs