Multikernel долбоорунун биринчи коомдук чыгарылышы чыкты. Linux (mklinux-v7.0-mk2), ядронун иштеп чыгуу версиясы Linux, гипервизорду же виртуалдаштырууну колдонбостон бир физикалык компьютерде бир нече көз карандысыз ядро эксперименттерин иштетүү мүмкүнчүлүгү менен жакшыртылган. Ар бир ядро эксперименти аппараттык ресурстарга түз кирүү мүмкүнчүлүгүнө ээ жана өзүнчө, обочолонгон системалык чөйрөлөрдү иштетүү үчүн колдонулушу мүмкүн. Биринчи чыгарылыш ядрого негизделген. Linux 7.0 версиясында иштейт жана "CONFIG_MULTIKERNEL" түзүү жөндөөсүн камтыйт. Өчүрүлгөндө, ядро стандарттык 7.0 ядросуна толугу менен окшош болуп калат. Учурда x86_64 CPU архитектуралары гана колдоого алынат.
Multikernel гипервизорго негизделген виртуалдаштыруу менен биргелешип колдонулган ядро контейнерин изоляциялоонун ортосундагы боштукту толтурган жаңы изоляция механизми катары көрсөтүлүүдө. Виртуалдаштыруудан айырмаланып, Multikernel гипервизорду талап кылбайт, жеке тиркемелерди иштетүү үчүн обочолонгон чөйрөлөрдү түзүүнү жөнөкөйлөтөт жана виртуалдаштыруунун кошумча чыгымдарысыз жогорку өндүрүмдүүлүктү камсыз кылат. Контейнерлерден айырмаланып, Multikernel жогорку деңгээлдеги изоляцияны камсыз кылат жана ар бир обочолонгон чөйрөдө өзүнчө ядрону колдонууга мүмкүндүк берет, ошондуктан бир чөйрөдөгү бузулуу же алсыздык башка чөйрөлөргө таасир этпейт.

Хост ядросу жеткиликтүү CPU, эс тутум жана PCI түзмөктөрүн бир эле учурда иштеп жаткан кошумча ядро экземплярларына бөлүштүрөт. Ар бир инстанция өзүнчө, атайын CPU өзөгүндө иштейт, ага дайындалган түзмөктөр менен иштейт жана физикалык эс тутумдун атайын аймагына кирүү мүмкүнчүлүгүнө ээ. Бир нече ядролорду бир убакта аткаруу виртуалдаштыруусуз, жеткиликтүү CPUларды бөлүштүрүүчү SMP иштетүүчүсүн колдонуу менен ишке ашырылат. Иштеп жаткан чөйрөлөргө динамикалык ресурстарды бөлүштүрүү колдоого алынат, бул алдын ала айтууга боло турган ишти камсыз кылат.
Виртуалдаштырууга мүнөздүү болгон кошумча чыгымдарды жок кылуу менен, Multikernelди колдонуунун өндүрүмдүүлүгү өзүнчө турган жабдыкта иштөөгө жакын деп болжолдонууда. Multikernel виртуалдык машинанын чыгуу этабын, L2 эстутум баракчаларын, өзүнчө түзмөк моделин жана IOMMU которууну жокко чыгарат. Гипервизор менен салыштырганда, KVM Multikernel колдонулганда, ар кандай системалык чакыруулардын жана функциялардын иштеши 1.07ден 2.5 эсеге чейин жогорулайт (fork + exit - 1.07x, write() - 1.39x, AF_UNIX - 1.55x, Pipe - 2.18x, контекстти которуу - 2.50x), эс тутум менен иштөөдөгү өткөрүү жөндөмдүүлүгү жана кечигүү бирдей деңгээлде болот.

Source: opennet.ru
