﻿﻿{"id":1181,"date":"2025-09-22T12:43:31","date_gmt":"2025-09-22T10:43:31","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/le-multikernel-la-prochaine-revolution-linux\/"},"modified":"2025-09-22T12:43:31","modified_gmt":"2025-09-22T10:43:31","slug":"le-multikernel-la-prochaine-revolution-linux","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/le-multikernel-la-prochaine-revolution-linux\/","title":{"rendered":"Le Multikernel &#8211; La prochaine r\u00e9volution Linux"},"content":{"rendered":"<p>Et si votre serveur Linux \u00e9tait comme un appart en coloc o\u00f9 tout le monde partage la m\u00eame cuisine, le m\u00eame salon, les m\u00eames chiottes ?? Forc\u00e9ment, \u00e7a finit toujours mal avec quelqu\u2019un qui monopolise les toilettes pendant que vous avez une urgence en spray, un autre fait crasher la machine \u00e0 laver avec ses exp\u00e9rimentations douteuses de voyage dans le temps, et au final personne n\u2019est content.<\/p>\n<p>H\u00e9 bien figurez-vous qu\u2019un d\u00e9veloppeur nomm\u00e9 Cong Wang de Multikernel Technologies vient de proposer une solution radicale qui consiste \u00e0 donner \u00e0 chaque processus son propre kernel Linux, avec ses propres core CPU, comme des colocataires qui auraient enfin chacun leur studio\u2026<\/p>\n<p>\n<a href=\"https:\/\/lore.kernel.org\/lkml\/20250918222607.186488-1-xiyou.wangcong@gmail.com\/\">Selon le patch soumis sur la Linux Kernel Mailing List<\/a><br \/>\n(<strong>LKML<\/strong>), cette architecture \u201c<em>multikernel<\/em>\u201d permettrait de faire tourner plusieurs noyaux Linux ind\u00e9pendants sur la m\u00eame machine physique. C\u2019est pas vraiment de la virtualisation classique fa\u00e7on VMware ou KVM, mais c\u2019est plut\u00f4t comme si vous d\u00e9coupiez votre ordinateur en tranches et que chaque tranche vivait sa vie. Le truc marrant, c\u2019est que Cong Wang n\u2019est pas un petit nouveau qui d\u00e9barque avec ses id\u00e9es folles. Le bonhomme a d\u00e9j\u00e0 contribu\u00e9 \u00e0 plus de 1000 patches au noyau Linux et il maintient le sous-syst\u00e8me de<br \/>\n<a href=\"https:\/\/en.wikipedia.org\/wiki\/Tc_%28Linux%29\">traffic control<\/a><br \/>\n. Autant dire qu\u2019il sait de quoi il parle quand il touche au code du noyau.<\/p>\n<p>D\u2019ailleurs cette id\u00e9e de s\u00e9parer les kernels rappelle furieusement le projet<br \/>\n<a href=\"https:\/\/barrelfish.org\/\">Barrelfish<\/a><br \/>\nque Microsoft Research et l\u2019ETH Zurich avaient lanc\u00e9 il y a quinze ans. \u00c0 l\u2019\u00e9poque, ils voulaient traiter l\u2019OS comme un syst\u00e8me distribu\u00e9 o\u00f9 chaque core CPU aurait son propre kernel qui communique avec les autres par messages. Sauf que voil\u00e0, c\u2019\u00e9tait trop t\u00f4t. Les processeurs n\u2019avaient pas assez de cores pour qu\u2019on puisse se permettre ce genre de luxe, et puis franchement, qui avait besoin de \u00e7a en 2009 ?<\/p>\n<p>Aujourd\u2019hui avec nos CPU \u00e0 128 cores et nos probl\u00e8mes de s\u00e9curit\u00e9 qui explosent, l\u2019id\u00e9e prend soudainement tout son sens.<\/p>\n<p>\n<a href=\"https:\/\/www.phoronix.com\/news\/Linux-Multi-Kernel-Patches\">Selon Phoronix<\/a><br \/>\net les patches sur la LKML, l\u2019impl\u00e9mentation de Wang utilise kexec, ce m\u00e9canisme qui permet normalement de red\u00e9marrer directement dans un nouveau noyau sans repasser par un reboot. Sauf qu\u2019ici, au lieu de remplacer le noyau existant, on en charge plusieurs qui vont cohabiter. Chaque kernel se voit attribuer ses propres cores CPU et ils communiquent entre eux via un syst\u00e8me d\u2019interruptions inter-processeurs (IPI) sp\u00e9cialement con\u00e7u pour l\u2019occasion. Et dans les 7 patches propos\u00e9s en RFC, Wang pr\u00e9voit des m\u00e9canismes de surveillance pour g\u00e9rer tous ces petits mondes parall\u00e8les.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/multikernel-linux-architecture-cong-wang\/multikernel-linux-architecture-cong-wang-2.png\" alt=\"\" loading=\"lazy\"><\/p>\n<p>Et pendant que Cong Wang bricolait son multikernel dans son coin, les g\u00e9ants du cloud comme Amazon, Microsoft et Google ont d\u00e9velopp\u00e9 en parall\u00e8le une technologie appel\u00e9e KHO (<br \/>\n<a href=\"https:\/\/www.phoronix.com\/news\/Kexec-HandOver-KHO-Linux-MM\">Kexec HandOver<\/a><br \/>\n) qui permet de pr\u00e9server l\u2019\u00e9tat syst\u00e8me lors du changement de kernel. En gros, ils veulent pouvoir mettre \u00e0 jour le noyau Linux de leurs serveurs sans perdre les VMs qui tournent dessus. Sauf que si le multikernel de Wang fonctionne vraiment, \u00e7a pourrait rendre leur stack de virtualisation compl\u00e8tement obsol\u00e8te.<\/p>\n<p>Car pourquoi s\u2019emb\u00eater avec des hyperviseurs complexes quand on peut juste donner \u00e0<br \/>\n<a href=\"https:\/\/www.ibm.com\/fr-fr\/think\/topics\/workload\">chaque workload<\/a><br \/>\nson propre kernel ?<\/p>\n<p>Le plus dr\u00f4le dans tout \u00e7a, c\u2019est que Wang admet candidement dans son RFC que pour l\u2019instant, \u00e7a marche \u201c<em>que sur sa machine de dev avec des param\u00e8tres hardcod\u00e9s<\/em>\u201d.<\/p>\n<p>Maintenant si cette techno d\u00e9colle, on pourrait voir des trucs assez dingues. Genre un kernel temps r\u00e9el qui g\u00e8re les processus critiques pendant qu\u2019un kernel classique s\u2019occupe du reste. Ou alors des kernels sp\u00e9cialis\u00e9s pour diff\u00e9rents types de workloads : un pour le machine learning, un pour les bases de donn\u00e9es, un pour le r\u00e9seau. Vous pourriez m\u00eame imaginer des kernels avec diff\u00e9rents niveaux de s\u00e9curit\u00e9 du genre un kernel ultra-paranoia pour vos donn\u00e9es sensibles et un kernel plus relax pour Netflix. Et le plus beau c\u2019est que si un kernel plante, les autres continuent de tourner tranquillement.<\/p>\n<p>C\u2019est comme avoir plusieurs syst\u00e8mes de secours int\u00e9gr\u00e9s directement dans la machine.<\/p>\n<p>Mais attention, on parle quand m\u00eame d\u2019une RFC, et pas encore d\u2019un truc pr\u00eat pour la prod. La communaut\u00e9 des barbus du noyau va probablement passer des mois \u00e0 d\u00e9battre de chaque ligne de code, et c\u2019est tant mieux parce que toucher \u00e0 l\u2019architecture fondamentale de Linux, c\u2019est pas comme patcher un bug dans Firefox. Si \u00e7a merde, c\u2019est potentiellement des millions de serveurs qui partent en vrille.<\/p>\n<p>Au final, que ce patch soit accept\u00e9 ou pas, \u00e7a montre surtout que Linux continue d\u2019\u00e9voluer de mani\u00e8re radicale pour toujours aller plus loin ! Et si vous l\u2019\u00e9volution de ce projet,<br \/>\n<a href=\"https:\/\/lore.kernel.org\/lkml\/20250918222607.186488-1-xiyou.wangcong@gmail.com\/\">tout se passe sur la LKML<\/a><br \/>\n.<\/p>\n<p>\n<a href=\"https:\/\/www.phoronix.com\/news\/Linux-Multi-Kernel-Patches\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Et si votre serveur Linux \u00e9tait comme un appart en coloc o\u00f9 tout le monde partage la m\u00eame cuisine, le m\u00eame salon, les m\u00eames chiottes ?? Forc\u00e9ment, \u00e7a finit toujours mal avec quelqu\u2019un qui monopolise les toilettes pendant que vous avez une urgence en spray, un autre fait crasher la machine \u00e0 laver avec ses exp\u00e9rimentations douteuses de voyage dans le temps, et au final personne n\u2019est content. H\u00e9 bien figurez-vous qu\u2019un d\u00e9veloppeur nomm\u00e9 Cong Wang de Multikernel Technologies vient de proposer une solution radicale qui consiste \u00e0 donner \u00e0 chaque processus son propre kernel Linux, avec ses propres core CPU, comme des colocataires qui auraient enfin chacun leur studio\u2026 Selon le patch soumis sur la Linux Kernel Mailing List (LKML), cette architecture \u201cmultikernel\u201d permettrait de faire tourner plusieurs noyaux Linux ind\u00e9pendants sur la m\u00eame machine physique. C\u2019est pas vraiment de la virtualisation classique fa\u00e7on VMware ou KVM, mais c\u2019est plut\u00f4t comme si vous d\u00e9coupiez votre ordinateur en tranches et que chaque tranche vivait sa vie. Le truc marrant, c\u2019est que Cong Wang n\u2019est pas un petit nouveau qui d\u00e9barque avec ses id\u00e9es folles. Le bonhomme a d\u00e9j\u00e0 contribu\u00e9 \u00e0 plus de 1000 patches au noyau Linux et il maintient le sous-syst\u00e8me de traffic control . Autant dire qu\u2019il sait de quoi il parle quand il touche au code du noyau. D\u2019ailleurs cette id\u00e9e de s\u00e9parer les kernels rappelle furieusement le projet Barrelfish que Microsoft Research et l\u2019ETH Zurich avaient lanc\u00e9 il y a quinze ans. \u00c0 l\u2019\u00e9poque, ils voulaient traiter l\u2019OS comme un syst\u00e8me distribu\u00e9 o\u00f9 chaque core CPU aurait son propre kernel qui communique avec les autres par messages. Sauf que voil\u00e0, c\u2019\u00e9tait trop t\u00f4t. Les processeurs n\u2019avaient pas assez de cores pour qu\u2019on puisse se permettre ce genre de luxe, et puis franchement, qui avait besoin de \u00e7a en 2009 ? Aujourd\u2019hui avec nos CPU \u00e0 128 cores et nos probl\u00e8mes de s\u00e9curit\u00e9 qui explosent, l\u2019id\u00e9e prend soudainement tout son sens. Selon Phoronix et les patches sur la LKML, l\u2019impl\u00e9mentation de Wang utilise kexec, ce m\u00e9canisme qui permet normalement de red\u00e9marrer directement dans un nouveau noyau sans repasser par un reboot. Sauf qu\u2019ici, au lieu de remplacer le noyau existant, on en charge plusieurs qui vont cohabiter. Chaque kernel se voit attribuer ses propres cores CPU et ils communiquent entre eux via un syst\u00e8me d\u2019interruptions inter-processeurs (IPI) sp\u00e9cialement con\u00e7u pour l\u2019occasion. Et dans les 7 patches propos\u00e9s en RFC, Wang pr\u00e9voit des m\u00e9canismes de surveillance pour g\u00e9rer tous ces petits mondes parall\u00e8les. Et pendant que Cong Wang bricolait son multikernel dans son coin, les g\u00e9ants du cloud comme Amazon, Microsoft et Google ont d\u00e9velopp\u00e9 en parall\u00e8le une technologie appel\u00e9e KHO ( Kexec HandOver ) qui permet de pr\u00e9server l\u2019\u00e9tat syst\u00e8me lors du changement de kernel. En gros, ils veulent pouvoir mettre \u00e0 jour le noyau Linux de leurs serveurs sans perdre les VMs qui tournent dessus. Sauf que si le multikernel de Wang fonctionne vraiment, \u00e7a pourrait rendre leur stack de virtualisation compl\u00e8tement obsol\u00e8te. Car pourquoi s\u2019emb\u00eater avec des hyperviseurs complexes quand on peut juste donner \u00e0 chaque workload son propre kernel ? Le plus dr\u00f4le dans tout \u00e7a, c\u2019est que Wang admet candidement dans son RFC que pour l\u2019instant, \u00e7a marche \u201cque sur sa machine de dev avec des param\u00e8tres hardcod\u00e9s\u201d. Maintenant si cette techno d\u00e9colle, on pourrait voir des trucs assez dingues. Genre un kernel temps r\u00e9el qui g\u00e8re les processus critiques pendant qu\u2019un kernel classique s\u2019occupe du reste. Ou alors des kernels sp\u00e9cialis\u00e9s pour diff\u00e9rents types de workloads : un pour le machine learning, un pour les bases de donn\u00e9es, un pour le r\u00e9seau. Vous pourriez m\u00eame imaginer des kernels avec diff\u00e9rents niveaux de s\u00e9curit\u00e9 du genre un kernel ultra-paranoia pour vos donn\u00e9es sensibles et un kernel plus relax pour Netflix. Et le plus beau c\u2019est que si un kernel plante, les autres continuent de tourner tranquillement. C\u2019est comme avoir plusieurs syst\u00e8mes de secours int\u00e9gr\u00e9s directement dans la machine. Mais attention, on parle quand m\u00eame d\u2019une RFC, et pas encore d\u2019un truc pr\u00eat pour la prod. La communaut\u00e9 des barbus du noyau va probablement passer des mois \u00e0 d\u00e9battre de chaque ligne de code, et c\u2019est tant mieux parce que toucher \u00e0 l\u2019architecture fondamentale de Linux, c\u2019est pas comme patcher un bug dans Firefox. Si \u00e7a merde, c\u2019est potentiellement des millions de serveurs qui partent en vrille. Au final, que ce patch soit accept\u00e9 ou pas, \u00e7a montre surtout que Linux continue d\u2019\u00e9voluer de mani\u00e8re radicale pour toujours aller plus loin ! Et si vous l\u2019\u00e9volution de ce projet, tout se passe sur la LKML . Source<\/p>\n","protected":false},"author":1,"featured_media":1182,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-1181","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/1181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=1181"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/1181\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/1182"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=1181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}