Exploitez pleinement les performances du multicoeur grâce aux futex !
À l'origine, à travers les sémaphores des outils de communication inter-processus (IPC), System V, Unix et par la suite Linux offraient des mécanismes de synchronisation assez lourds en termes de performance. Ces derniers ont peu à peu cédé la place à la notion de futex, issue des travaux de H. Franke, R. Russel et M. Kirkwood [1]. Linux propose ce mécanisme à partir de sa version 2.5.7.Déjà introduit en 2008 dans la rubrique « Kernel Corner » du numéro 106 de ce magazine, cette série d'articles propose un retour plus détaillé sur les futex, afin de comprendre leur efficacité, d'appréhender le code source du noyau Linux qui les implémente et des librairies open source qui les utilisent. De plus, depuis 2008, les futex proposent des opérations supplémentaires qui seront étudiées ici.