Першы выпуск mklinux для адначасовага выканання некалькіх асобнікаў ядра Linux

Прадстаўлены першы публічны выпуск праекту Multikernel Linux (mklinux-v7.0-mk2), які развівае варыянт ядра Linux, дапоўнены магчымасцю выканання некалькіх незалежных асобнікаў ядра на адным фізічным кампутары без выкарыстання гіпервізара і віртуалізацыі. Кожны асобнік ядра мае прамы доступ да апаратных рэсурсаў і можа выкарыстоўвацца для запуску асобных ізаляваных сістэмных асяроддзяў. Першы выпуск заснаваны на ядры Linux 7.0 і ўтрымоўвае зборачную наладу "CONFIG_MULTIKERNEL", пры адключэнні якой ядро ​​становіцца цалкам аналагічна штатнаму ядру 7.0. З архітэктур CPU пакуль падтрымліваецца толькі x86_64.

Multikernel падаецца як новы механізм ізаляцыі, які займае нішу паміж віртуалізацыяй пры дапамозе гіпервізара і кантэйнернай ізаляцыяй на базе агульнага ядра. У адрозненне ад віртуалізацыі Multikernel не патрабуе выкарыстання гіпервізара, спрашчае стварэнне акружэнняў для ізаляванага запуску асобных прыкладанняў і дазваляе дабіцца высокай прадукцыйнасці без накладных выдаткаў на віртуалізацыю. У адрозненне ад кантэйнераў Multikernel забяспечвае высокі ўзровень ізаляцыі і дазваляе выкарыстоўваць асобнае ядро ​​ў кожным ізаляваным асяроддзі, аварыйнае завяршэнне ці эксплуатацыя ўразлівасці ў якім не закранае іншыя асяроддзі.

Хаставое ядро ​​забяспечвае размеркаванне наяўных CPU, памяці і PCI-прылад паміж паралельна працавальнымі дадатковымі асобнікамі ядра. Кожны асобнік выконваецца на асобным вылучаным ядры CPU, працуе з замацаванымі за ім прыладамі і мае доступ да вылучанай вобласці фізічнай памяці. Адначасовае выкананне некалькіх ядраў ажыццяўляецца без віртуалізацыі, выкарыстоўваючы SMP-апрацоўшчык, які размяркоўвае даступныя CPU. Падтрымліваецца дынамічнае выдзяленне рэсурсаў запускаемым асяроддзем і забеспячэнне прадказальнай прадукцыйнасці.

Дзякуючы выключэнню ўласцівых віртуалізацыі накладных выдаткаў, прадукцыйнасць пры выкарыстанні Multikernel ацэньваецца як блізкая да прадукцыйнасці выканання на асобным абсталяванні. Пры выкарыстанні Multikernel адсутнічае стадыя перадачы кіравання паміж віртуальнымі машынамі (VM exit), не выкарыстоўваюцца старонкі памяці другога ўзроўня, асобная мадэль прылад і трансляцыя IOMMU. Пры параўнанні з гіпервізарам KVM пры выкарыстанні Multikernel адзначаецца падвышэнне прадукцыйнасці розных сістэмных выклікаў і функцый ад 1.07 да 2.5 раз (fork + exit - 1.07x, write() - 1.39x, AF_UNIX - 1.55x, Pipe - 2.18x, пераключэнне кантэксту на 2.50x), прапускная кантэксту - 2.50x).



Крыніца: opennet.ru
Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы 🔥 Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы | ProHoster