Νέος εξισορροπητής φορτίου CPU από το MIT

Το σύστημα Shenango έχει προγραμματιστεί να χρησιμοποιηθεί σε κέντρα δεδομένων.

Νέος εξισορροπητής φορτίου CPU από το MIT
/ φωτογραφία Μάρκο βεράντα CC BY

Σύμφωνα με έναν πάροχο, τα κέντρα δεδομένων χρήση μόνο το 20-40% της διαθέσιμης υπολογιστικής ισχύος. Υπό υψηλά φορτία, αυτό το ποσοστό μπορεί να φτάσει το 60%Αυτή η κατανομή πόρων οδηγεί στην εμφάνιση των λεγόμενων «διακομιστών ζόμπι». Πρόκειται για μηχανήματα που παραμένουν αδρανή τον περισσότερο χρόνο, σπαταλώντας ηλεκτρική ενέργεια. Σήμερα, το 30% των διακομιστών παγκοσμίως είναι άνεργοι, καταναλώνοντας 30 δισεκατομμύρια δολάρια σε ηλεκτρική ενέργεια ετησίως.

Το MIT αποφάσισε να καταπολεμήσει την αναποτελεσματική χρήση των υπολογιστικών πόρων.

Μηχανική ομάδα έχει αναπτύξει ένα σύστημα εξισορρόπησης φόρτου επεξεργαστή που ονομάζεται Shenango. Σκοπός του είναι να παρακολουθεί την κατάσταση του buffer εργασιών και να αναδιανέμει τις "κολλημένες" διεργασίες (αυτές που δεν μπορούν να λάβουν χρόνο CPU) σε ελεύθερα μηχανήματα.

Πώς λειτουργεί το Shenango

Το Σενάνγκο είναι Linux- μια βιβλιοθήκη C με συνδέσεις Rust και C++. Ο κώδικας του έργου και οι εφαρμογές δοκιμών δημοσιεύονται στο αποθετήρια στο GitHub.

Ο πυρήνας της λύσης είναι ο αλγόριθμος IOKernel, ο οποίος εκτελείται σε έναν αποκλειστικό πυρήνα ενός συστήματος πολλαπλών επεξεργαστών. Διαχειρίζεται αιτήματα προς την CPU χρησιμοποιώντας το πλαίσιο DPDK, το οποίο επιτρέπει στις εφαρμογές να αλληλεπιδρούν απευθείας με συσκευές δικτύου.

Το IOKernel αποφασίζει σε ποιους πυρήνες θα ανατεθεί μια συγκεκριμένη εργασία. Ο αλγόριθμος αποφασίζει επίσης πόσοι πυρήνες χρειάζονται. Για κάθε διεργασία, καθορίζονται οι κύριοι πυρήνες (εγγυημένοι) και οι πρόσθετοι πυρήνες (burstable) — οι τελευταίοι ενεργοποιούνται σε περίπτωση απότομης αύξησης του αριθμού των αιτημάτων προς την CPU.

Η ουρά αιτημάτων IOKernel οργανώνεται ως εξής: δακτυλιοειδής προσωρινή μνήμηΚάθε πέντε μικροδευτερόλεπτα, ο αλγόριθμος ελέγχει εάν έχουν ολοκληρωθεί όλες οι εργασίες που έχουν ανατεθεί στον πυρήνα. Για να το κάνει αυτό, συγκρίνει την τρέχουσα θέση της "κεφαλής" του buffer με την προηγούμενη θέση της "ουράς" του. Εάν αποδειχθεί ότι η ουρά βρισκόταν ήδη στην ουρά κατά τον προηγούμενο έλεγχο, το σύστημα σημειώνει ότι το buffer είναι υπερφορτωμένο και εκχωρεί έναν επιπλέον πυρήνα για τη διεργασία.

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

Νέος εξισορροπητής φορτίου CPU από το MIT

Το Shenango χρησιμοποιεί επίσης την προσέγγιση κλοπή εργασίαςΟι πυρήνες που είναι αφιερωμένοι στην εκτέλεση μιας εφαρμογής παρακολουθούν ο ένας τον αριθμό των εργασιών του άλλου. Εάν ένας πυρήνας ολοκληρώσει τη λίστα εργασιών του πριν από τους άλλους, "αφαιρεί" μέρος του φορτίου από τους γείτονές του.

Πλεονεκτήματα και μειονεκτήματα

Επί λόγια Οι μηχανικοί του MIT, Shenango, μπορούν να επεξεργάζονται πέντε εκατομμύρια αιτήματα ανά δευτερόλεπτο και να διατηρούν έναν μέσο χρόνο απόκρισης 37 μικροδευτερολέπτων. Οι ειδικοί λένε ότι σε ορισμένες περιπτώσεις, η τεχνολογία μπορεί να αυξήσει το ποσοστό αξιοποίησης του επεξεργαστή στα κέντρα δεδομένων στο 100%. Ως αποτέλεσμα, οι διαχειριστές κέντρων δεδομένων θα μπορούν να εξοικονομήσουν χρήματα στην αγορά και συντήρηση διακομιστών.

Δυνατότητα λύσης γιορτάστε και ειδικούς από άλλα πανεπιστήμια. Σύμφωνα με έναν καθηγητή από το κορεατικό ινστιτούτο, το σύστημα MIT θα βοηθήσει στη μείωση των καθυστερήσεων στη λειτουργία των διαδικτυακών υπηρεσιών. Για παράδειγμα, θα είναι χρήσιμο στη λειτουργία των ηλεκτρονικών καταστημάτων. Τις ημέρες εκπτώσεων, ακόμη και μια δεύτερη καθυστέρηση στη φόρτωση μιας σελίδας приводит σε μείωση 11% στις προβολές του ιστότοπου. Η γρήγορη εξισορρόπηση φορτίου θα βοηθήσει στην εξυπηρέτηση περισσότερων πελατών.

Η τεχνολογία εξακολουθεί να έχει ορισμένα μειονεκτήματα: δεν υποστηρίζει πολυεπεξεργαστές. NUMA-συστήματα στα οποία τα τσιπ είναι συνδεδεμένα με διαφορετικές μονάδες μνήμης και δεν "επικοινωνούν" μεταξύ τους. Σε αυτήν την περίπτωση, το IOKernel μπορεί να ρυθμίσει την εργασία μιας ξεχωριστής ομάδας επεξεργαστών, αλλά όχι όλων των τσιπ διακομιστή.

Νέος εξισορροπητής φορτίου CPU από το MIT
/ φωτογραφία Τιμ Ρέκμαν CC BY

Παρόμοιες τεχνολογίες

Μεταξύ άλλων συστημάτων εξισορρόπησης φορτίου επεξεργαστή, το Arachne ξεχωρίζει. Υπολογίζει πόσους πυρήνες θα χρειαστεί μια εφαρμογή κατά την εκκίνησή της και κατανέμει τις διεργασίες σύμφωνα με αυτόν τον δείκτη. Σύμφωνα με τους συγγραφείς, η μέγιστη καθυστέρηση μιας εφαρμογής στο Arachne είναι περίπου 10 χιλιάδες μικροδευτερόλεπτα.

Η τεχνολογία υλοποιείται ως βιβλιοθήκη C++ για Linux, και ο πηγαίος κώδικας του είναι διαθέσιμος στη διεύθυνση GitHub.

Ένα άλλο εργαλείο εξισορρόπησης είναι το ZygOS. Όπως και το Shenango, η τεχνολογία χρησιμοποιεί τη μέθοδο κλοπής εργασίας για την αναδιανομή των διεργασιών. Σύμφωνα με τους συγγραφείς του ZygOS, η μέση καθυστέρηση στη λειτουργία των εφαρμογών κατά τη χρήση του εργαλείου είναι περίπου 150 μικροδευτερόλεπτα και η μέγιστη είναι περίπου 450 μικροδευτερόλεπτα. Ο κώδικας του έργου είναι επίσης... είναι δημόσιο κτήμα.

Ευρήματα

Τα σύγχρονα κέντρα δεδομένων συνεχίζουν να επεκτείνονται, ειδικά στην αγορά των υπερκλιμακωτών κέντρων δεδομένων: τώρα στον κόσμο υπάρχει 430 κέντρα δεδομένων υπερκλίμακας, αλλά ο αριθμός τους θα μπορούσε να αυξηθεί κατά 30% τα επόμενα χρόνια. Για αυτόν τον λόγο, οι τεχνολογίες εξισορρόπησης φορτίου επεξεργαστών θα έχουν μεγάλη ζήτηση. Συστήματα όπως το Shenango είναι ήδη υλοποιούνται μεγάλες εταιρείες, και στο μέλλον ο αριθμός τέτοιων εργαλείων θα αυξάνεται μόνο.

Δημοσιεύσεις από το Πρώτο ιστολόγιο σχετικά με το εταιρικό IaaS:

Πηγή: www.habr.com

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster