En parcourant les sites ouaib à la recherche d’une info croustillante ce matin, je tombe sur l’annonce à la « Supercomputing Conference 2008 » d’un nouveau type de serveur proposé par la société Convey Computer Corporation. Selon ce qu’on peut en lire sur les quelques sites de news anglais qui traitent l’information, il s’agit d’une sorte de super serveur hybride, basé sur un simple Xeon, mais embarquant aussi ce qu’on pourrait appeler un coprocesseur composé d’un PGA (Programmable Gate Array) de chez Xilinx. Pour rappel, un FPGA est un composant dont l’agencement des millions de portes logiques internes est configurable par logiciel. Jusque la, rien de nouveau : ce genre d’initiative est très courante. Pourtant, les sites mentionnent un point révolutionnaire : une application pourrait utiliser ce composant sans utiliser un code spécifique comme c’est par exemple le cas avec le langage CUDA de Nvidia. Voyons cela de plus prés.
Le nouveau HC-1 de Convey Computer Corp est techniquement très intéressant puisqu’il embarque une carte-mère biprocesseur dont l’un des sockets est occupé par un Xeon 2.13 GHz et l’autre par un FPGA Xilinx de la famille Virtex 5. Convey a ainsi pris une licence auprès d’Intel pour exploiter le bus FSB et même le bus QPI des nouveaux Core i7. Cette approche permet une interconnexion très efficace entre le CPU et le FPGA afin de maintenir une cohérence des caches entre les deux composants, exactement comme lorsque deux CPU classiques sont utilisés. Le HC-1 dispose de 16 slots mémoire pour le CPU (max 32 Go) et 16 slots pour le FPGA (max 128 Go). Le FPGA accède à la mémoire par le biais des seize canaux simultanément. Celle-ci peut être de la DDR2-533 ECC classique ou bien une mémoire dédié, la SGDIMM. Le tout fonctionne sous Linux.
Le challenge vient ensuite de la façon d’exploiter le FPGA. Selon Convey, la simple utilisation du compilateur C/C++ fourni permet de tirer parti du FPGA, sans autre forme de procès. Le même code pourra donc être exécuté sur un serveur « classique » et sur le HC-1 sans changer une ligne et tout en bénéficiant de l’accélération due au FPGA. Vrai ? Pas tout en fait. En lisant entre les lignes, on s’aperçoit que le FPGA devra tout d’abord être « configuré » avec une « personnalité ». Ainsi, il faudra d’abord « flasher » le FPGA avec une personnalité (= configuration) correspondante à l’usage du serveur. Le HC-1 sera ainsi fourni avec un ensemble de personnalités dédiées tantôt aux calculs financiers, tantôt aux modélisations scientifiques, …etc. Une fois le bon modèle flashé dans le FPGA, les calculs seront accélérés de façon transparente. A noter que Covney fournira un PDK permettant de développer ses propres personnalités.
Au final, l’approche de Convey, bien que pas encore parfaite, est tout de même remarquable et marque un pas dans l’évolution des technologies hybrides. Reste qu’un inconvénient important demeure : Convey annonce des performances 10x supérieures aux serveurs actuels, qui, eux-mêmes, coutent environ … 16x moins cher ! Il faut dire qu’à 32.000$, le HC-1 n’est pas destiné à tout le monde. Sortie prévue au deuxième trimestre 2009.
Voir la news (1 image, 0 vidéo )