Appels système : le coût caché des performances

Cet article examine en détail la surcharge de performances des appels système Linux, révélant qu’il s’agit de bien plus qu’un simple appel de fonction du noyau. Les appels système perturbent les optimisations microarchitecturales du processeur, telles que le pipeline d’instructions et la prédiction de branche, entraînant des pertes de performances bien supérieures à ce qui apparaît dans le code source. L’article analyse le code du noyau, explique l’impact sur les performances de diverses mesures d’atténuation logicielles et matérielles et propose des stratégies d’optimisation telles que l’utilisation de vDSO, la mise en cache des valeurs, l’optimisation des E/S, les opérations par lots et le transfert de travail vers le noyau afin de réduire la fréquence des appels système et d’améliorer les performances des logiciels.