Actualité
Mars 2008
Key Day - Programmation Parallèle : Threading Building Blocks
L'informatique connaît depuis plus de 5 ans un tournant majeur dans le monde des microprocesseurs. La loi énoncée en 1965 par Gordon E. Moore s'essoufle!
La barre des 4 GHz n'est toujours pas atteinte en 2008, alors que l'on a atteint 3.8 GHz en 2005 et que l'on était passé de 100MHz à 1GHz en 2001 en moins de 10 ans. Pour cause, les difficultés croissantes que rencontrent les industriels à réduire les dimension des puces.
L'ère où il suffisait d'attendre que les processeurs prennent de la puissance pour espérer voir ses programmes tourner plus vite s'achève.
Les industriels ont déjà commencé à explorer une autre voie : les architechtures mutlicoeurs. Si cette piste n'est pas nouvelle, c'était essentiellement dans le monde professionnel.
Aujourd'hui c'est le grand public qui y a droit et les PC portables multicoeurs sont la preuve supplémentaire que le virage est fait.
Conséquence : on doit désormais savoir tirer partie des multiples coeurs pour espérer que ses programmes restent à la page. Cela signifie, écrire dorénavant des applications multithreadées et réécrire les anciennes.
Train qui en cache un autre : même si l'on écrit des applications multithreadées, saura-t-on ne pas dépendre du nombre de coeurs présents ? Il ne s'agirait pas d'écrire des applications avec 4 threads, qui ne tireront pas partie des architechtures à 8 coeurs à venir.
C'est devant ce constat que des ingénieurs d'Intel ont essayé de répondre à cette problématique : comment se détacher de cette dépendance que nos applications ont avec le nombre de processeurs présents ? Leur réponse : les Threading Building Blocks, bibliothèque de templates C++.