TMO, ένας μηχανισμός Facebook που εξοικονομεί μνήμη RAM σε διακομιστές

Οι μηχανικοί του Facebook αποκάλυψαν, μέσα από μια έκθεση, η εισαγωγή της τεχνολογίας ΤΜΟ (Transparent Memory Offloading) πέρυσι, το οποίο επιτρέπει τη σημαντική εξοικονόμηση RAM σε διακομιστές μεταφέροντας δευτερεύοντα δεδομένα που δεν απαιτούνται για να λειτουργήσουν σε φθηνότερες μονάδες, όπως οι SSD NVMe.

Facebook εκτιμά ότι το TMO εξοικονομεί μεταξύ 20% και 32% της μνήμης RAM σε κάθε διακομιστή. Η λύση έχει σχεδιαστεί για χρήση σε υποδομές όπου οι εφαρμογές εκτελούνται σε απομονωμένα δοχεία. Τα στοιχεία από την πλευρά του πυρήνα του TMO περιλαμβάνονται ήδη στον πυρήνα του Linux.

Από την πλευρά του πυρήνα του Linux, η λειτουργία της τεχνολογίας παρέχεται από το υποσύστημα PSI (Πληροφορίες στάθμης πίεσης), παρέχεται από την έκδοση 4.20.

PSI χρησιμοποιείται ήδη σε διάφορα προγράμματα οδήγησης εκτός μνήμης και επιτρέπει την ανάλυση πληροφοριών σχετικά με το χρόνο αναμονής για διάφορους πόρους (CPU, μνήμη, I/O). Με το PSI, οι επεξεργαστές χώρου χρήστη μπορούν να αξιολογούν με μεγαλύτερη ακρίβεια τα μοτίβα φόρτωσης και επιβράδυνσης του συστήματος, επιτρέποντας τον εντοπισμό ανωμαλιών προτού έχουν αξιοσημείωτο αντίκτυπο στην απόδοση.

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

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

Το Transparent Memory Offload (TMO) είναι η λύση της Meta για ετερογενή περιβάλλοντα κέντρων δεδομένων. Εισάγει έναν νέο μηχανισμό πυρήνα Linux που μετρά την εργασία που χάνεται λόγω ελλείψεων πόρων σε CPU, μνήμη και I/O σε πραγματικό χρόνο. Με γνώμονα αυτές τις πληροφορίες και χωρίς προηγούμενη γνώση της εφαρμογής, το TMO προσαρμόζει αυτόματα την ποσότητα της μνήμης που θα μεταφορτωθεί σε μια ετερογενή συσκευή, όπως μια συμπιεσμένη μνήμη ή SSD. Αυτό το κάνει με βάση τα χαρακτηριστικά απόδοσης της συσκευής και την ευαισθησία της εφαρμογής σε πιο αργές προσβάσεις στη μνήμη.

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

Η απουσία πρόσβασης σε μια σελίδα μνήμης εντός 5 λεπτών χρησιμοποιείται ως ένα από τα κριτήρια προτίμησης. Αυτές οι σελίδες ονομάζονται ψυχρές σελίδες και, κατά μέσο όρο, αποτελούν περίπου το 35% της μνήμης της εφαρμογής (ανάλογα με τον τύπο της εφαρμογής, υπάρχει διακύμανση από 19% έως 65%).

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

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

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

Τέλος, εάν ενδιαφέρεστε να μάθετε περισσότερα σχετικά, μπορείτε να συμβουλευτείτε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   elian dijo

    μπορεί να χρησιμοποιηθεί σε κανονικούς υπολογιστές με κανονικές εφαρμογές;