Το σύστημα Shenango έχει προγραμματιστεί να χρησιμοποιηθεί σε κέντρα δεδομένων.
/ φωτογραφία
Σύμφωνα με έναν πάροχο, τα κέντρα δεδομένων μόνο το 20-40% της διαθέσιμης υπολογιστικής ισχύος. Υπό υψηλά φορτία, αυτό το ποσοστό Αυτή η κατανομή πόρων οδηγεί στην εμφάνιση των λεγόμενων «διακομιστών ζόμπι». Πρόκειται για μηχανήματα που παραμένουν αδρανή τον περισσότερο χρόνο, σπαταλώντας ηλεκτρική ενέργεια. Σήμερα, το 30% των διακομιστών παγκοσμίως , καταναλώνοντας 30 δισεκατομμύρια δολάρια σε ηλεκτρική ενέργεια ετησίως.
Το MIT αποφάσισε να καταπολεμήσει την αναποτελεσματική χρήση των υπολογιστικών πόρων.
Μηχανική ομάδα ένα σύστημα εξισορρόπησης φόρτου επεξεργαστή που ονομάζεται Shenango. Σκοπός του είναι να παρακολουθεί την κατάσταση του buffer εργασιών και να αναδιανέμει τις "κολλημένες" διεργασίες (αυτές που δεν μπορούν να λάβουν χρόνο CPU) σε ελεύθερα μηχανήματα.
Πώς λειτουργεί το Shenango
Το Σενάνγκο είναι Linux- μια βιβλιοθήκη C με συνδέσεις Rust και C++. Ο κώδικας του έργου και οι εφαρμογές δοκιμών δημοσιεύονται στο στο GitHub.
Ο πυρήνας της λύσης είναι ο αλγόριθμος IOKernel, ο οποίος εκτελείται σε έναν αποκλειστικό πυρήνα ενός συστήματος πολλαπλών επεξεργαστών. Διαχειρίζεται αιτήματα προς την CPU χρησιμοποιώντας το πλαίσιο , το οποίο επιτρέπει στις εφαρμογές να αλληλεπιδρούν απευθείας με συσκευές δικτύου.
Το IOKernel αποφασίζει σε ποιους πυρήνες θα ανατεθεί μια συγκεκριμένη εργασία. Ο αλγόριθμος αποφασίζει επίσης πόσοι πυρήνες χρειάζονται. Για κάθε διεργασία, καθορίζονται οι κύριοι πυρήνες (εγγυημένοι) και οι πρόσθετοι πυρήνες (burstable) — οι τελευταίοι ενεργοποιούνται σε περίπτωση απότομης αύξησης του αριθμού των αιτημάτων προς την CPU.
Η ουρά αιτημάτων IOKernel οργανώνεται ως εξής: Κάθε πέντε μικροδευτερόλεπτα, ο αλγόριθμος ελέγχει εάν έχουν ολοκληρωθεί όλες οι εργασίες που έχουν ανατεθεί στον πυρήνα. Για να το κάνει αυτό, συγκρίνει την τρέχουσα θέση της "κεφαλής" του buffer με την προηγούμενη θέση της "ουράς" του. Εάν αποδειχθεί ότι η ουρά βρισκόταν ήδη στην ουρά κατά τον προηγούμενο έλεγχο, το σύστημα σημειώνει ότι το buffer είναι υπερφορτωμένο και εκχωρεί έναν επιπλέον πυρήνα για τη διεργασία.
Κατά την κατανομή του φορτίου, δίνεται προτεραιότητα στους πυρήνες στους οποίους έχει εκτελεστεί η ίδια διεργασία στο παρελθόν και παραμένει εν μέρει στην προσωρινή μνήμη ή σε τυχόν αδρανείς πυρήνες.

Το Shenango χρησιμοποιεί επίσης την προσέγγιση Οι πυρήνες που είναι αφιερωμένοι στην εκτέλεση μιας εφαρμογής παρακολουθούν ο ένας τον αριθμό των εργασιών του άλλου. Εάν ένας πυρήνας ολοκληρώσει τη λίστα εργασιών του πριν από τους άλλους, "αφαιρεί" μέρος του φορτίου από τους γείτονές του.
Πλεονεκτήματα και μειονεκτήματα
Επί Οι μηχανικοί του MIT, Shenango, μπορούν να επεξεργάζονται πέντε εκατομμύρια αιτήματα ανά δευτερόλεπτο και να διατηρούν έναν μέσο χρόνο απόκρισης 37 μικροδευτερολέπτων. Οι ειδικοί λένε ότι σε ορισμένες περιπτώσεις, η τεχνολογία μπορεί να αυξήσει το ποσοστό αξιοποίησης του επεξεργαστή στα κέντρα δεδομένων στο 100%. Ως αποτέλεσμα, οι διαχειριστές κέντρων δεδομένων θα μπορούν να εξοικονομήσουν χρήματα στην αγορά και συντήρηση διακομιστών.
Δυνατότητα λύσης και ειδικούς από άλλα πανεπιστήμια. Σύμφωνα με έναν καθηγητή από το κορεατικό ινστιτούτο, το σύστημα MIT θα βοηθήσει στη μείωση των καθυστερήσεων στη λειτουργία των διαδικτυακών υπηρεσιών. Για παράδειγμα, θα είναι χρήσιμο στη λειτουργία των ηλεκτρονικών καταστημάτων. Τις ημέρες εκπτώσεων, ακόμη και μια δεύτερη καθυστέρηση στη φόρτωση μιας σελίδας σε μείωση 11% στις προβολές του ιστότοπου. Η γρήγορη εξισορρόπηση φορτίου θα βοηθήσει στην εξυπηρέτηση περισσότερων πελατών.
Η τεχνολογία εξακολουθεί να έχει ορισμένα μειονεκτήματα: δεν υποστηρίζει πολυεπεξεργαστές. -συστήματα στα οποία τα τσιπ είναι συνδεδεμένα με διαφορετικές μονάδες μνήμης και δεν "επικοινωνούν" μεταξύ τους. Σε αυτήν την περίπτωση, το IOKernel μπορεί να ρυθμίσει την εργασία μιας ξεχωριστής ομάδας επεξεργαστών, αλλά όχι όλων των τσιπ διακομιστή.

/ φωτογραφία
Παρόμοιες τεχνολογίες
Μεταξύ άλλων συστημάτων εξισορρόπησης φορτίου επεξεργαστή, το Arachne ξεχωρίζει. Υπολογίζει πόσους πυρήνες θα χρειαστεί μια εφαρμογή κατά την εκκίνησή της και κατανέμει τις διεργασίες σύμφωνα με αυτόν τον δείκτη. Σύμφωνα με τους συγγραφείς, η μέγιστη καθυστέρηση μιας εφαρμογής στο Arachne είναι περίπου 10 χιλιάδες μικροδευτερόλεπτα.
Η τεχνολογία υλοποιείται ως βιβλιοθήκη C++ για Linux, και ο πηγαίος κώδικας του είναι διαθέσιμος στη διεύθυνση .
Ένα άλλο εργαλείο εξισορρόπησης είναι το ZygOS. Όπως και το Shenango, η τεχνολογία χρησιμοποιεί τη μέθοδο κλοπής εργασίας για την αναδιανομή των διεργασιών. Σύμφωνα με τους συγγραφείς του ZygOS, η μέση καθυστέρηση στη λειτουργία των εφαρμογών κατά τη χρήση του εργαλείου είναι περίπου 150 μικροδευτερόλεπτα και η μέγιστη είναι περίπου 450 μικροδευτερόλεπτα. Ο κώδικας του έργου είναι επίσης... .
Ευρήματα
Τα σύγχρονα κέντρα δεδομένων συνεχίζουν να επεκτείνονται, ειδικά στην αγορά των υπερκλιμακωτών κέντρων δεδομένων: τώρα στον κόσμο 430 κέντρα δεδομένων υπερκλίμακας, αλλά ο αριθμός τους θα μπορούσε να αυξηθεί κατά 30% τα επόμενα χρόνια. Για αυτόν τον λόγο, οι τεχνολογίες εξισορρόπησης φορτίου επεξεργαστών θα έχουν μεγάλη ζήτηση. Συστήματα όπως το Shenango είναι ήδη μεγάλες εταιρείες, και στο μέλλον ο αριθμός τέτοιων εργαλείων θα αυξάνεται μόνο.
Δημοσιεύσεις από το Πρώτο ιστολόγιο σχετικά με το εταιρικό IaaS:
Πηγή: www.habr.com
