Les processeurs à coeurs multiples et hybrides arrivent à la tête du classement établi par Gartner pour les technologies de rupture de 2008 à 2012. Ces technologies sont depuis entrées dans le mainstream. Ainsi, le défi de supporter les processeurs de nouvelles générations est devenu une nécessité. Ceci nous amène à nous interroger sur les possibilités de migration pour les applications existantes. La migration vers les processeurs modernes peut poser plusieurs problèmes aux développeurs. Nous avons donc choisi de mettre l’accent sur les erreurs communes en développement 64 bit et les techniques les moins intrusives pour paralléliser son application.
Processeurs 64 bit
Est-il suffisant de recompiler le code avec un compilateur 64 bits ? La recompilation est suffisante pour plusieurs types de programmes. On vérifiera que l’application utilise seulement des librairies compilées en 64 bit, car un processus 64 bit peut exécuter uniquement du code 64 bit. Dans des applications triviales, cette étape suffit à elle seule. Cependant, en réalité, rien ne garantit que les librairies utilisées aient une version 64 bit, la conversion est d’autant plus compliquée si leurs codes source sont indisponibles. Dans ce cas, on pourra envisager des scénarios de communication interprocessus entre l’application et la bibliothèque en question. Outre cela, la compilation ne garantit pas le bon fonctionnement de l’application. De nouveaux bugs et anomalies peuvent avoir lieu, allant des erreurs d’affichage jusqu’aux failles de sécurité les plus sévères dues à un dépassement de tampon « buffer overflow » par exemple.
Ghassen Hamrouni