Το Facebook παρουσίασε τον μηχανισμό TMO, ο οποίος σας επιτρέπει να εξοικονομήσετε 20-32% της μνήμης στους διακομιστές

Μηχανικοί από το Facebook (απαγορευμένο στη Ρωσική Ομοσπονδία) δημοσίευσαν μια έκθεση σχετικά με την εφαρμογή πέρυσι της τεχνολογίας TMO (Transparent Memory Offloading), η οποία επιτρέπει σημαντική εξοικονόμηση μνήμης RAM σε διακομιστές μετατοπίζοντας δευτερεύοντα δεδομένα που δεν απαιτούνται για εργασία σε φθηνότερες μονάδες δίσκου, όπως το NVMe Δίσκοι SSD. Το Facebook εκτιμά ότι η χρήση του TMO μπορεί να εξοικονομήσει 20 έως 32% της μνήμης RAM σε κάθε διακομιστή. Η λύση έχει σχεδιαστεί για χρήση σε υποδομές όπου οι εφαρμογές εκτελούνται σε απομονωμένα δοχεία. Τα στοιχεία του TMO από την πλευρά του πυρήνα περιλαμβάνονται ήδη στον πυρήνα του Linux.

Από την πλευρά του πυρήνα του Linux, η τεχνολογία υποστηρίζεται από το υποσύστημα PSI (Pressure Stall Information), το οποίο είναι διαθέσιμο από την έκδοση 4.20. Το PSI χρησιμοποιείται ήδη σε διάφορους χειριστές χαμηλής μνήμης και σας επιτρέπει να αναλύετε πληροφορίες σχετικά με το χρόνο αναμονής για τη λήψη διαφόρων πόρων (CPU, μνήμη, I/O). Με το PSI, οι επεξεργαστές χώρου χρήστη μπορούν να αξιολογήσουν με μεγαλύτερη ακρίβεια τα επίπεδα φόρτωσης του συστήματος και τα μοτίβα επιβράδυνσης, επιτρέποντας την έγκαιρη αναγνώριση των ανωμαλιών, προτού έχουν αξιοσημείωτο αντίκτυπο στην απόδοση.

Στο χώρο χρήστη, το TMO παρέχεται από το στοιχείο Senpai, το οποίο, μέσω του cgroup2, προσαρμόζει δυναμικά το όριο μνήμης για τα κοντέινερ εφαρμογών με βάση τα δεδομένα που λαμβάνονται από το PSI. Το Senpai αναλύει τα σημάδια της εμφάνισης ελλείψεων πόρων μέσω PSI, αξιολογεί την ευαισθησία των εφαρμογών σε επιβραδύνσεις στην πρόσβαση στη μνήμη και προσπαθεί να προσδιορίσει το ελάχιστο μέγεθος μνήμης που απαιτείται από το κοντέινερ, στο οποίο τα δεδομένα που απαιτούνται για τη λειτουργία παραμένουν στη μνήμη RAM και τα συνοδευτικά Τα δεδομένα που έχουν εγκατασταθεί στην κρυφή μνήμη αρχείων ή δεν χρησιμοποιούνται άμεσα προς το παρόν, μεταφέρονται στο διαμέρισμα ανταλλαγής.

Το Facebook παρουσίασε τον μηχανισμό TMO, ο οποίος σας επιτρέπει να εξοικονομήσετε 20-32% της μνήμης στους διακομιστές

Έτσι, η ουσία του TMO είναι να διατηρεί τις διαδικασίες σε μια αυστηρή δίαιτα όσον αφορά την κατανάλωση μνήμης, αναγκάζοντας την εναλλαγή αχρησιμοποίητων σελίδων μνήμης των οποίων η εξαγωγή δεν επηρεάζει σημαντικά την απόδοση (για παράδειγμα, σελίδες με κώδικα που χρησιμοποιείται μόνο κατά την προετοιμασία και μίας χρήσης δεδομένα στη μνήμη cache του δίσκου). Σε αντίθεση με την εξαγωγή πληροφοριών στο διαμέρισμα ανταλλαγής ως απόκριση στην πίεση της μνήμης, στο TMO τα δεδομένα εξάγονται με βάση την προληπτική πρόβλεψη.

Ένα από τα κριτήρια για την έξωση είναι η απουσία πρόσβασης στη σελίδα μνήμης για 5 λεπτά. Τέτοιες σελίδες ονομάζονται σελίδες ψυχρής μνήμης και κατά μέσο όρο αποτελούν περίπου το 35% της μνήμης εφαρμογών (ανάλογα με τον τύπο της εφαρμογής, υπάρχει εύρος από 19% έως 65%). Το Preemption λαμβάνει υπόψη τη δραστηριότητα που σχετίζεται με σελίδες ανώνυμης μνήμης (μνήμη που εκχωρείται από την εφαρμογή) και τη μνήμη που χρησιμοποιείται για την προσωρινή αποθήκευση αρχείων (που εκχωρείται από τον πυρήνα). Σε ορισμένες εφαρμογές η κύρια κατανάλωση είναι η ανώνυμη μνήμη, αλλά σε άλλες η κρυφή μνήμη αρχείων είναι επίσης σημαντική. Για να αποφευχθούν ανισορροπίες εξάλειψης της κρυφής μνήμης, το TMO χρησιμοποιεί έναν νέο αλγόριθμο σελιδοποίησης που εξάγει αναλογικά ανώνυμες σελίδες και σελίδες που σχετίζονται με την προσωρινή μνήμη αρχείων.

Η ώθηση σελίδων που δεν χρησιμοποιούνται συχνά σε πιο αργή μνήμη δεν έχει σημαντικό αντίκτυπο στην απόδοση, αλλά μπορεί να μειώσει σημαντικά το κόστος υλικού. Τα δεδομένα διοχετεύονται σε μονάδες SSD ή σε μια συμπιεσμένη περιοχή εναλλαγής στη μνήμη RAM. Όσον αφορά το κόστος αποθήκευσης ενός byte δεδομένων, η χρήση ενός NVMe SSD είναι έως και 10 φορές φθηνότερη από τη χρήση συμπίεσης στη μνήμη RAM.

Το Facebook παρουσίασε τον μηχανισμό TMO, ο οποίος σας επιτρέπει να εξοικονομήσετε 20-32% της μνήμης στους διακομιστές


Πηγή: opennet.ru

Προσθέστε ένα σχόλιο