ΑρχικήReviewsΈνα νέο memory controller για Linux θα εξοικονομεί μέχρι 42% μνήμη RAM

Ένα νέο memory controller για Linux θα εξοικονομεί μέχρι 42% μνήμη RAM

controller

Ένας μηχανικός της ομάδας Linux του Facebook, ο Roman Gushchin, έχει ανακαλύψει ένα “σοβαρό ελάττωμα” στον τρόπο με τον οποίο λειτουργεί το τρέχον memory controller στον πυρήνα του Linux. Σύμφωνα με τα όσα δήλωσε, ο υπάρχων σχεδιασμός του πυρήνα προκαλεί χαμηλή χρήση Slab και ο λόγος πίσω από αυτό είναι ότι οι σελίδες Slab χρησιμοποιούνται μόνο από μια ομάδα cgroup μνήμης (control group).

Για όσους δεν γνωρίζουν, η κατανομή Slab στην περίπτωση του πυρήνα Linux, αναφέρεται σε ένα σύστημα διαχείρισης μνήμης, που εκχωρεί μνήμη σε διαφορετικά αντικείμενα του πυρήνα. Η κατανομή των Slab είναι ένα αποτελεσματικό σύστημα διαχείρισης μνήμης που έχει την πρωταρχική δουλειά να δημιουργεί Slab cache. Ένα Slab cache είναι μια λίστα slab που συνδέονται μεταξύ τους, με κάθε Slab να αντιπροσωπεύει μια σειρά αντικειμένων. Επιπλέον, η cgroup ή η ομάδα ελέγχου, είναι ένα χαρακτηριστικό του πυρήνα του Linux που οργανώνει τις διαδικασίες με έναν ιεραρχικό τρόπο.

Ποιο είναι το ελάττωμα?

Σύμφωνα με τον Gushchin, “Εάν υπάρχουν μόνο λίγες κατανομές συγκεκριμένου μεγέθους που γίνονται από μια cgroup ή εάν κάποια ενεργά αντικείμενα (π.χ. dentries) μένουν μετά την διαγραφή της cgroup, ή η cgroup περιέχει μία εφαρμογή με ένα μόνο single-threaded application, που κατανέμει λίγα kernel αντικείμενα και το κάνει κάθε φορά σε μια νέα CPU: σε όλες αυτές τις περιπτώσεις η προκύπτουσα χρήση Slab είναι πολύ χαμηλή.”

Προσθέτει επίσης, ότι εάν το kernel memory accounting είναι απενεργοποιημένο, ο πυρήνας θα μπορούσε να χρησιμοποιήσει τον ελεύθερο χώρο στις σελίδες Slab για την κατανομή των διαδικασιών.

Ο Gushchin λέει ότι το kmem controller εισήχθη αρχικά ως προαιρετικό χαρακτηριστικό, το οποίο έπρεπε να ενεργοποιηθεί ξεχωριστά για κάθε cgroup μνήμης. Τώρα η λειτουργία είναι ενεργοποιημένη από προεπιλογή, η οποία αποτρέπει τη χρήση του Slab.

Το νέο memory controller που πρότεινε ο Gushchin

Η νέα πρόταση του Gushchin, βελτιώνει τη χρήση της μνήμης, διανέμοντας σελίδες Slab. Επιπλέον, ο προγραμματιστής προσθέτει ότι στο νέο του σύστημα, το accounting εκτελείται ανά αντικείμενο, αντί ανά σελίδα.

Μπορείτε να δείτε το προτεινόμενο νέο memory controller του Gushchin εδώ.

Εάν όλα πάνε καλά, το προτεινόμενο memory controller θα συμπεριληφθεί στον πυρήνα Linux το 2020.

Absenta Mia
Absenta Miahttps://www.secnews.gr
Being your self, in a world that constantly tries to change you, is your greater achievement

Εγγραφή στο Newsletter

* indicates required

FOLLOW US

LIVE NEWS