Η πρώτη δημόσια έκδοση του έργου Multikernel έχει κυκλοφορήσει. Linux (mklinux-v7.0-mk2), μια έκδοση ανάπτυξης του πυρήνα Linux, ενισχυμένο με τη δυνατότητα εκτέλεσης πολλαπλών ανεξάρτητων στιγμιότυπων πυρήνα σε έναν μόνο φυσικό υπολογιστή χωρίς τη χρήση υπερεπόπτη ή εικονικοποίησης. Κάθε στιγμιότυπο πυρήνα έχει άμεση πρόσβαση σε πόρους υλικού και μπορεί να χρησιμοποιηθεί για την εκτέλεση ξεχωριστών, απομονωμένων περιβαλλόντων συστήματος. Η πρώτη έκδοση βασίζεται στον πυρήνα Linux 7.0 και περιέχει τη ρύθμιση δημιουργίας "CONFIG_MULTIKERNEL". Όταν απενεργοποιηθεί, ο πυρήνας γίνεται εντελώς πανομοιότυπος με τον πυρήνα 7.0. Προς το παρόν, υποστηρίζονται μόνο αρχιτεκτονικές CPU x86_64.
Το Multikernel διαφημίζεται ως ένας νέος μηχανισμός απομόνωσης που καλύπτει ένα κενό μεταξύ της εικονικοποίησης που βασίζεται σε hypervisor και της απομόνωσης κοντέινερ κοινόχρηστου πυρήνα. Σε αντίθεση με την εικονικοποίηση, το Multikernel δεν απαιτεί hypervisor, απλοποιεί τη δημιουργία απομονωμένων περιβαλλόντων για την εκτέλεση μεμονωμένων εφαρμογών και επιτρέπει υψηλή απόδοση χωρίς την επιβάρυνση της εικονικοποίησης. Σε αντίθεση με τα κοντέινερ, το Multikernel παρέχει υψηλό επίπεδο απομόνωσης και επιτρέπει τη χρήση ξεχωριστού πυρήνα σε κάθε απομονωμένο περιβάλλον, έτσι ώστε μια κατάρρευση ή εκμετάλλευση ευπάθειας σε ένα να μην επηρεάζει άλλα περιβάλλοντα.

Ο κεντρικός πυρήνας κατανέμει τις διαθέσιμες συσκευές CPU, μνήμης και PCI μεταξύ πρόσθετων στιγμιότυπων πυρήνα που εκτελούνται ταυτόχρονα. Κάθε στιγμιότυπο εκτελείται σε έναν ξεχωριστό, αποκλειστικό πυρήνα CPU, λειτουργεί με τις συσκευές που της έχουν αντιστοιχιστεί και έχει πρόσβαση σε μια αποκλειστική περιοχή φυσικής μνήμης. Η ταυτόχρονη εκτέλεση πολλαπλών πυρήνων επιτυγχάνεται χωρίς εικονικοποίηση, χρησιμοποιώντας έναν χειριστή SMP που κατανέμει τις διαθέσιμες CPU. Υποστηρίζεται δυναμική κατανομή πόρων σε περιβάλλοντα που εκτελούνται, εξασφαλίζοντας προβλέψιμη απόδοση.
Εξαλείφοντας την επιβάρυνση που ενυπάρχει στην εικονικοποίηση, η απόδοση χρησιμοποιώντας Πολλαπλό πυρήνα εκτιμάται ότι είναι κοντά σε αυτήν της εκτέλεσης σε αυτόνομο υλικό. Ο Πολλαπλός πυρήνας εξαλείφει το στάδιο εξόδου της εικονικής μηχανής, τις σελίδες μνήμης L2, ένα ξεχωριστό μοντέλο συσκευής και τη μετάφραση IOMMU. Σε σύγκριση με έναν υπερεπόπτη, KVM Όταν χρησιμοποιείται Multikernel, η απόδοση διαφόρων κλήσεων συστήματος και συναρτήσεων αυξάνεται από 1.07 σε 2.5 φορές (fork + exit - 1.07x, write() - 1.39x, AF_UNIX - 1.55x, Pipe - 2.18x, context switching - 2.50x), η απόδοση και η καθυστέρηση κατά την εργασία με μνήμη είναι στο ίδιο επίπεδο.

Πηγή: opennet.ru
