La Defense Advanced Research Projects Agency (DARPA) aux Etats-Unis finance depuis 2002, dans le cadre de son programme High Productivity Computing Systems (HPCS), des projets visant à rendre plus efficace l'emploi de superordinateurs massivement parallèles avec des résultats attendus pour 2010.
Le supercalculateur BlueGene d'IBM dans sa version définitive
Le propos est de rendre de tels systèmes plus faciles à programmer, sans sacrifier les performances, en jouant tout à la fois sur l'architecture et sur les services offerts aux programmeurs. Ainsi ce type de système pourrait être utilisé de façon plus large et nécessiter moins de spécialistes pour développer de nouvelles applications. Il faut noter que la difficulté de programmer de telles machines reste un sérieux obstacle à leur plein emploi, souvent loin d'être assuré actuellement (malgré des financements du DOE ou de la NSF pour favoriser leur emploi le plus large).
Trois langages de programmation, encore en développement et un seul devant finalement rester, ont ainsi émergé dans le cadre de ce programme: X10 (IBM), Chapel (Cray) et Fortress (Sun). Le programme est actuellement dans sa troisième phase ; les contractants étant IBM et Cray, choisis en fin de deuxième phase, Sun ayant été écarté à ce stade. De tels programmes ainsi que ceux du DOE et de la NSF ont bien sûr contribué à maintenir les activités de ces entreprises en matière de superordinateurs. Ils ont aussi contribué à ce que les superordinateurs américains dominent actuellement les classements mondiaux de puissance de calcul.
On peut relever que, longtemps l'apanage des superordinateurs, les systèmes multiprocesseurs se généralisent aujourd'hui pour les ordinateurs personnels (processeurs "multicore") et consoles de jeu (processeur Cell), et posent des problèmes similaires (comme l'efficacité de l'utilisation des canaux de communication, la synchronisation) aux développeurs pour produire rapidement et facilement un code adapté à ce type de matériel. Le programme HPCS aura donc aussi à terme des répercussions pour les machines que nous utilisons.