Optimisation des performances de ClickHouse sur les processeurs Intel Xeon à très grand nombre de cœurs

Les derniers processeurs Intel disposent de centaines de cœurs, offrant à la fois des opportunités considérables et des défis importants pour les bases de données analytiques telles que ClickHouse. Les ingénieurs d'Intel Shanghai ont analysé systématiquement les performances de ClickHouse sur des serveurs à très grand nombre de cœurs, identifiant et optimisant cinq goulots d'étranglement clés : la contention de verrouillage, l'optimisation de la mémoire, le parallélisme insuffisant, l'utilisation des instructions SIMD et le faux partage. En réduisant les temps de maintien des verrous, en améliorant l'allocateur de mémoire, en parallélisant les phases série, en utilisant des algorithmes SIMD plus intelligents et en optimisant la disposition de la mémoire, ils ont considérablement amélioré l'évolutivité de ClickHouse sur les systèmes à très grand nombre de cœurs, obtenant jusqu'à 10 fois plus de vitesse pour des requêtes individuelles et une amélioration de 10 % de la moyenne géométrique globale. Ce travail souligne la nécessité d'une optimisation multiforme des bases de données à l'ère des systèmes à très grand nombre de cœurs, en tenant compte des aspects algorithmiques et de la disposition de la mémoire.