Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Expert éminent sénior
    Linus Torvalds fait part d'une optimisation importante améliorant considérablement le temps de compilation
    Linus Torvalds fait part d'une optimisation importante améliorant considérablement le temps de compilation
    Sur Linux avec les CPU embarquant un grand nombre de cœurs comme l'AMD Threadripper 3990X

    Pour ceux qui utilisent l’outil GNU Make - en particulier comme système de compilation - sachez que les temps de compilation en parallèle sur le même CPU sont sur le point d’être beaucoup plus rapides à partir de la version 5.6 du noyau Linux dont la RC1 est disponible depuis peu. En effet, Linus Torvalds a récemment publié un patch pour le kernel qui promet de diviser par huit le temps nécessaire à la compilation sur les gros CPU qui disposent d’un nombre très élevé de cœurs/threads, tout en garantissant un usage plus efficace et efficient des capacités multithreads de ce dernier. Cette optimisation profite donc surtout aux systèmes embarquant des puces qui, à l’instar du Threadripper 3990X d’AMD avec ses 64 cœurs / 128 threads, disposent d’un très grand nombre de cœurs / threads.

    Le « ;nouveau patch ;» optimise la distribution des tâches au processeur et les rendus multithreadés. Il s’appuie en partie sur la correction d’un bogue relatif à l’implémentation du Spinlock et du Scheduler sur Linux. En réalité, ce bogue bien documenté a été corrigé il y a plus de deux ans de cela, mais vu que GNU Make n’avait pas reçu de véritable mise à jour depuis, le patch qui permettait d’effectuer des opérations de lecture non bloquante avec pselect était resté dans les archives.

    Le « ;nouveau patch ;» s’appuie également sur des modifications du pipe de GNU Make afin qu’il soit possible d’utiliser des temps d’attente exclusifs pour la lecture ou l’écriture. Linus Torvalds a confié avoir lui-même modifié le code du noyau Linux pour l’implémentation de ce correctif qui est censé améliorer les performances du noyau en lui octroyant plus d’indépendance vis-à-vis de GNU Make. Le code pipe optimisé utilise des files d’attente séparées et des temps d’attente exclusifs pour les écritures et les lectures de données afin d’éviter le problème d’engorgement (les goulots d’étranglement) lorsqu’il y a plusieurs opérations de lectures de données en attente sur un pipe (ou, plus rarement, lorsqu’il y a beaucoup d’opérations d’écriture qui attendent qu’une pipe se libère).

    Dans un cas de test simplifié écrit par Linus Torvalds, l’application de ce patch a fait chuter le nombre de commutations de contexte sur le programme de test de 11 millions à seulement 1,2 million. En parallèle, le temps requis pour compléter le test était également largement inférieur au temps initial.


    Josh Triplett d’Intel a testé le correctif et a confirmé : « ;Je me suis acharné sur votre correctif du pipe (passage à des files d’attente exclusives) pendant un mois environ, sur plusieurs systèmes différents et je n’ai rencontré aucun problème avec lui. Le patch améliore considérablement les temps de compilation en parallèle sur les grands systèmes (~100 CPU) ;».

    Source : Kernel

    Et vous ?

    Qu’en pensez-vous ?

    Voir aussi

    La version 5.5 du noyau Linux est disponible avec un support pour les stations de travail SGI Octane et Octane II alimentées par MIPS
    Le «bug de l'an 2000» se reproduira en 2038 dans le monde Linux, mais c'est maintenant qu'il faut s'inquiéter selon Jon Corbet
    Sortie de la version 5.4 du noyau Linux avec l'ajout d'un mode de verrouillage du noyau, d'une couche de sécurité pour détecter les modifications de fichiers et plusieurs autres améliorations
    WireGuard, une application VPN et un nouveau protocole de communication gratuit et open source, a été fusionné dans net-next et est en passe d'être inclus dans la version 5.6 du noyau Linux
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre éprouvé
    Je n'ai plus qu'à acheter un super calculateur pour tester ça
    Ceux qui abandonnent une liberté essentielle pour une sécurité minime et temporaire ne méritent ni la liberté ni la sécurité.
    Benjamin Franklin

  3. #3
    Expert éminent
    Citation Envoyé par Jiji66 Voir le message
    Je n'ai plus qu'à acheter un super calculateur pour tester ça
    Je vois une vraie opportunité pour qu'Intel se bouge le derche et arrête de limiter le nombre de cores physiques à 4 ou 6 ... parce que ce ne sont pas les jeux qui ont réussi à le faire (<- mais qu'il l'eût cru)
    Sans parler également de la fréquence mémoire qui comme le nombre de cores a été débloquée depuis le succès des Ryzen 2/ 3 : comme par hasard