Denis Caromel, Inria : "la virtualisation est une sorte de pis-aller du parallélisme"
Denis Caromel, professeur à l’Université de Nice-Sophia Antipolis et chef de l’équipe Oasis à l’Inria, est un spécialiste du parallélisme. Rencontré à San Francisco à l’occasion de JavaOne, il a accepté de répondre à nos questions sur les perspectives du parallélisme dans les développements informatiques à l’heure de la virtualisation.
LeMagIT : Le parallélisme semble aujourd’hui réservé au monde du calcul de hautes performances (HPC). La virtualisation l’a-t-il relégué définitivement à cet univers d’exception ?
ENTRETIEN AVEC ... |
Denis Caromel, Inria |
Denis Caromel est professeur à l'université de Nice-Sophia Antipolis (UNSA), collaborateur de l'Inria à Sophia et membre de l'Institut universitaire de France. Il est directeur scientifique de l'équipe Oasis de l'Inria, un projet dont l'un des objectifs est notamment de construire un environnement fondé sur la sémantique pour le développement, l'analyse et la vérification d'applications réparties liées à Internet. Oasis s'appuie sur Java. Les travaux ont notamment conduit au développement de la suite logiciel ProActive, au sein du consortium OW2, suite conçue pour le développement d'applications parallélisées et distribuées. |
Cliquez pour dérouler |
Denis Caromel : La virtualisation aujourd’hui – et peu de gens s’en rendent compte –, c’est une sorte de pis-aller du parallélisme pour l’exploitation des architectures multicœurs et distribuées. Je pense que cela va en partie le demeurer, car il y a un certain nombre de charges qui peuvent s’en accommoder, dans les centres de calcul, notamment. Mais si l’on met de côté certains aspects, comme la consolidation d’infrastructures, il reste un certain nombre d’applications pour lesquelles la virtualisation n’apporte pas de solution, ne permet pas une répartition optimale de la charge pour pleinement profiter du potentiel des machines. Dans les entreprises, on trouve des applications qui fonctionnent sur des machines dédiées que l’on peut consolider via la virtualisation. Le problème ? Cela ne permet de passer de que de 5 à 10 % d’utilisation des machines à 30 ou 40 %. Même dans ce cadre, on ne peut donc pas exploiter pleinement ses ressources matérielles. Bien sûr, dans de nombreux cas, on gère des applications relativement simples, ne nécessitant pas un recours massif à la parallélisation, mais avec des contraintes fortes de disponibilité, d’interopérabilité, etc.
Et il existe aussi d'autres cas de figure. Nous avons par exemple travaillé avec une entreprise sur une application de calcul de prix d’options sur des actions, pour la paralléliser. Le challenge, là, c’est de faire produire des outils ne nécessitant que très peu d’administration et qui puissent être installés dans des petites structures.
LeMagIT : Commence-t-on à voir des entreprises chercher à paralléliser des applications classiques ?
D.C. : C’est une tendance apparue il y a longtemps dans le HPC. Aujourd’hui, on voit d’autres typologies d’entreprises demander à paralléliser leurs applications, dans la modélisation 3D par exemple. Et on n'en est qu’au début. Il existe un grand nombre de logiciels - et derrière d’éditeurs - qui vont prendre de plein fouet la fin de loi de Moore. Et devront chercher des solutions.
De notre côté, nous avons fait un pari risqué il y a longtemps. Dans les années 96/97, nous avons basculé nos développements sur Java. Au début, nous avons bien sûr un peu souffert : les performances n’étaient pas là, avec les premières versions de Java. Mais, maintenant, ce choix commence à payer.
Les performances commencent à être au rendez-vous. On peut se comparer à des applications de benchmark de la Nasa écrites en Fortran. Et même obtenir parfois de meilleurs résultats. Les technologies JIT (Just-In-Time, partie temps réel de Java, ndlr) ont, dans certains cas, un sens que n’a pas Fortran. Surtout, le parallélisme, dans certains environnements comme le Cloud se heurte à la problématique de l’hétérogénéité. Et je ne vois pas quoi, à part Java, peut permettre de répondre à ce défi : le code Java jouit d’une très forte portabilité ; nos applications tournent sans problème sur Mac, sous Windows, Linux, etc.
Et tant pis si l’on est parfois regardé de travers dans les grandes conférences HPC. Je continue en plus d’avoir un regard économique là dessus : aujourd’hui, il y a des milliards d’investissement sur Java, contre quelques millions sur Fortran, NPI, voire C++. Ce déséquilibre va finir par se traduire en termes de performances.