jeudi 24 juillet 2008

ISC08: Back to complex programming ?

Supercomputing Europe in Dresden, Germany (ISC08) is over and brought its new announcements in High Performance Computing. This year, two major symbolic milestones have been announced: the first machine over one PFLOPS (10^15 floating operations per second), the IBM Roadrunner, and the first main-stream chips reaching one TFLOPS (10^12 floating operations per second), the GPUs from nVidia and AMD/ATI.

Well, symbols are nothing else than abstract concepts but these symbols remind us that as the computing world evolves faster and faster, both applications and their programmers need to evolve to use these new sources of efficiency.

Compared with last Supercomputing show in Reno, there were fewer application and tools vendors at the exhibit. However, major hardware vendors and many research institutes were attending.

The pre-conference and the Exhibitor Forum were the occasion for interesting technological presentations and announcements. From the hot-chip point of view, here's what we've noticed:

a special session for the IBM Roadrunner breaking the PFLOPS barrier by using both AMD Opteron and Cell CBE processors;
AMD presentation about its new 45-nm 4-core Shanghai for 2008 and the coming 6-core Istanbul in 2009. These chips will also come out of the fab just in Dresden by the way...
Intel presentation on its enterprise-class processor lines

the Itanium 9000
the Xeon MP 7000 and 5000, respectively for an expandable and energy efficient version
the Nehalem as their second generation 4-core 2-SMT processor due for the end of 2008
AMD/ATI presentation on the FireStream 9250, reaching the TFLOPS with 8 GFLOPS/W -many programming environments are available (Brook+, ACML, RapidMind, CAL, OpenCL, HMPP...)
nVidia presentation about the for 240-core T10P with 1.4 G transistors, also reaching the TFLOPS around 6.3 GFLOPS/W
If the hardware is only one (big) part of the HPC, many presentations were focused on how to program such "beasts".

Parallelism has been announced as a the inescapable way for higher performance for more than 50 years (« A Computer Oriented Toward Spatial Problems », S. H. Unger, 1958 for a SIMD computer or « Gamma 60 », Bull, 1957 for a SMT computer). However, up to now, hardware architects have been kind enough to squeeze the Moore's law to just make the classical Von Neumann & Co fast enough for most of the humans.

But now, the Moore's law no longer means faster processors but rather more cores at the same speed... So programs must be parallelized to run faster.

As usual, Thomas Sterling from Louisiana State University made an interesting presentation with a humorous slide to sum up the situation: Core Trek (the next generation?) In Exascale Computing: Space is the "final frontier" To Boldly Code, where no thread has gone before...

So, what can we imagine regarding the future of programming ?

Express more and more things by hand by using old programming languages. This require the programmers to be expert in deep computer architecture whereas they are often experts in their application domains which are more and more complex by themselves. Therefore, we'll have to have teams of experts in both domains: application and HPC (!)...

Another solution would be to rewrite the applications to use higher level languages that can hide the hardware complexity to the programmer but allow more parallelism exposition. Of course, it generaly requires a major - and costly - reengineering of the original code.

Last possibility : go on and program in the classical way... and wait for other solutions to appear. We may have some ideas at HPC Project...

mardi 20 mai 2008

Nouveau mode de fonctionnement

Pour des raisons ... d'emploi du temps, je ne peux maintenir ce blog tout le temps, en français. Je le fais donc converger avec mes posts sur le blog de HPC Project (www.hpc-project.com). Certains posts seront donc en anglais. Voici le premier...

Supercomputing is shaping Formula 1 cars : what’s next? (SEE THE ORIGINAL ON HPC PROJECT Blog)

As the F1 racing season goes on, it becomes clearer that the shape of the cars used in F1 is evolving and can sometimes be counterintuitive. Take the BMW Sauber F1 car – the shape of the front wing and the winglets is conceived to optimize aerodynamics in a new way. The car is clearly different, and evolves between two races.

To achieve such optimization, BMW Sauber uses the services of ALBERT2, a 2048 cores (Intel Xeon) supercomputer, with a maximum power of 12,288 GigaFlops. The supercomputer is used to simulate computational fluid dynamics (CFD), using models of more than 100 million cells.

BMW Sauber is not an isolate case. Today, nearly every team that conceives its own F1 car uses a supercomputer : ING Renault F1 Team uses an Appro Xtreme-X2, 1024 sockets, 4096 cores (AMD QC Opteron) while In the Ferrari Data Center, an Acer/IBM/Racksaver using AMD Opteron processors reduces the time of aerodynamic simulation. Each team either has its own supercomputing infrastructure or uses a partner’s.

And the 2009 season is all about supercomputing either. Intel already announced it would upgrade the existing Itanium-based system with its new Nehalem architecture (not to mention AMD upgrade to Shanghai and Montreal architectures). However, apart from the big IT centers that host the raw computer power needed to analyze and simulate wind tunnel results, a whole ecosystem of “desktop supercomputing” is appearing. Indeed, being able to use ‘local supercomputers’ on the track means a real competitive advantage.

Already, some companies have exclusive contracts with major F1 teams to provide very localized weather forecast services during the GP. In the future, such services could be “embedded” within the racing context. The team would also be able to analyze in real time the data collected during the race, and optimize automatically not only the race strategy, but also the physics of the car and its shape, using new materials or composite architectures.
Desktop supercomputing is not only about the race – the pre-processing and analysis of the results is always CPU intensive, and such systems can be viewed as “proxys” for large supercomputing architectures, allowing the pre-screen of the massive databases generated.

At HPC Project, we are closely monitoring such trends since being able to use, without reengineering, non parallel code on local “desktop supercomputers” could change the face of F1 engineering work. The championship is really about speed but not only about cars.

jeudi 14 février 2008

De la nature à l'ingéniérie

De retour après quelques péripéties (lancer une société est toujours assez prenant...), un nouveau post concernant le supercomputing. BULL a organisé une intéressante session au musée du vin (idéalement situé rue des eaux, à Paris) sur son approche du HPC, et notamment sa conception de l'organisation idéale d'une machine pétaflopique (i.e. capable d'effectuer un million de milliards d'opérations en virgule flottante par seconde).

En raison de limitations des bibliothèques logicielles, notamment, il est difficile aujourd'hui, dans un superordinateur, de gérér plus de 1000 noeuds (1000 processeurs, p. ex.). Or une telle machine doit mettre en oeuvre... 80 000 processeurs!

Le supercalculateur BlueGene d'IBM

L'idée pour pallier cette limitation est donc de réaliser une hiérarchie de parallélisme, c'est à dire de fédérer plusieurs processeurs, agrégés dans des structures intermédiaires. On aurait ainsi 128 processeurs sur une même carte, et des agrégats de 100 ou 1000 cartes (ne dépassant donc jamais 1000 noeuds). Le réseau de communication internoeuds est également optimisé (Infiniband pour les connexions les plus rapides, ou ethernet gigabits pour les noeuds maîtres). On a donc une structure d'ilôts très densément connectés, connectés entre eux par des structures plus "lâches".

Par coincidence (quoique), c'est la théorie que j'avais défendue dans ma thèse de doctorat sur le réseau de régulation des protéines : chaque cellule posséderait un réseau de régulation des protéines formé de structures très connectées, liées entre elles de manière très lâche, permettant ainsi une dynamique adaptée de la cellule. Par la suite, cette organisation a été validée par l'expérimentation.
Si l'on considère donc qu'une cellule est en fait un ordinateur à protéines, on se rend compte que l'ingéniérie a donc redécouvert ce qui semble être l'organisation la plus naturelle pour assurer une efficacité maximale de calcul, et de flexibilité.

mardi 8 janvier 2008

La dynamique de l'argile

Je vous conseille d'aller faire un tour sur le site de la prestigieuse université Carnegie Mellon (CMU). Outre les différents projets en robotique dont nous avons déjà eu l'occasion de parler, le professeur Seth Goldstein a entrepris un projet ambitieux: une "argile électronique", matérialisant à distance grâce à un procédé inédit, un objet quelconque en trois dimensions.

Il s'agit d'assembler des micro-sphères appelées "catoms" pour "claytronic atoms". Chaque catom (voir la photo du prototype ci-dessous) est ainsi un micro électro-aimant programmable de quelques millimètres (44 actuellement, mais les futurs Catoms seront en-dessous d'un millimètre), et constituant ce que l'on pourrait appeler un "pixel 3D".


En effet, sous l'impulsion d'un signal, ces minuscules éléments s'auto-assemblent, tournent, s'attirent ou se repoussent, et sont même capables de changer de couleur grâce à un revêtement de LEDs, leur permettant ainsi d'imiter des textures et des formes. Les applications sont pléthore: design, communication, commerce mais également médecine et recherche.


Le film promotionnel de Claytronics (visible notamment
ici) montre ainsi comment un groupe de designers peut, en temps réel, modifier un concept matérialisé sous forme d'une argile hyperréaliste créant le modèle instantanément. Il est intéressant de noter que le projet est également financé par Intel, qui sort ainsi de la conception de microprocesseurs traditionnels, pour s'orienter vers des axes de recherche proches des nanotechnologies.

Cela m'inspire d'ailleurs un commentaire : où en est la France? Une petite recherche sur les dernières publications en nanotechnologies laisse songeur. Malgré l'émergence du pôle Minatec (à suivre), aujourd'hui rien ne permet de dire que l'Europe tient son rang dans la dynamique d'une recherche qui, à mon sens, risque d'être l'une des révolutions majeures en électronique et en informatique de ces prochaines décennies. Tristesse...