Der Einsatz des Shenango-Systems ist in Rechenzentren geplant.
/ Foto
Nach Angaben eines der Anbieter Rechenzentren nur 20–40 % der verfügbaren Rechenleistung. Bei hohen Belastungen dieser Indikator . Diese Ressourcenverteilung führt zur Entstehung sogenannter „Zombie-Server“. Dabei handelt es sich um Maschinen, die die meiste Zeit im Leerlauf stehen und Energie verschwenden. Heute 30 % der Server weltweit , der jährlich Strom im Wert von 30 Milliarden US-Dollar verbraucht.
Das MIT beschloss, die ineffiziente Nutzung von Computerressourcen zu bekämpfen.
Entwickler Team Prozessorlastausgleichssystem namens Shenango. Sein Zweck besteht darin, den Zustand des Aufgabenpuffers zu überwachen und festsitzende Prozesse (die keine CPU-Zeit erhalten können) auf freie Maschinen umzuverteilen.
Wie Shenango funktioniert
Shenango ist Linux– eine C-Bibliothek mit Rust- und C++-Bindings. Der Projektcode und die Testanwendungen werden veröffentlicht in auf GitHub.
Die Lösung basiert auf dem IOKernel-Algorithmus, der auf einem dedizierten Kern eines Multiprozessorsystems läuft. Es verwaltet CPU-Anfragen mithilfe eines Frameworks , wodurch Anwendungen direkt mit Netzwerkgeräten kommunizieren können.
Der IOKernel entscheidet, an welche Kernel eine bestimmte Aufgabe delegiert werden soll. Der Algorithmus entscheidet auch, wie viele Kerne benötigt werden. Für jeden Prozess werden die Hauptkerne (garantiert) und zusätzliche Kerne (burstable) ermittelt – letztere werden bei einem starken Anstieg der Anzahl der Anfragen an die CPU gestartet.
Die IOKernel-Anforderungswarteschlange ist wie folgt organisiert: . Alle fünf Mikrosekunden prüft der Algorithmus, ob alle dem Kern zugewiesenen Aufgaben abgeschlossen wurden. Dazu vergleicht es die aktuelle Position des Pufferkopfes mit der vorherigen Position seines Schwanzes. Stellt sich heraus, dass sich der Tail zum Zeitpunkt der vorherigen Prüfung bereits in der Warteschlange befand, erkennt das System die Pufferüberlastung und weist dem Prozess einen zusätzlichen Kern zu.
Bei der Lastverteilung wird den Kernen Priorität eingeräumt, auf denen derselbe Prozess zuvor ausgeführt wurde und teilweise im Cache verblieben ist, bzw. den Kernen, die sich im Leerlauf befinden.

Auch Shenango geht diesen Weg . Die für die Ausführung einer Anwendung zugewiesenen Kerne überwachen die Anzahl der Aufgaben, die die jeweils andere Anwendung hat. Erledigt ein Kern seine Aufgabenliste vor den anderen, „entlastet“ er seine Nachbarn teilweise.
Vor- und Nachteile
Auf Ingenieure vom MIT, Shenango, sind in der Lage, fünf Millionen Anfragen pro Sekunde zu verarbeiten und eine durchschnittliche Antwortzeit von 37 Mikrosekunden aufrechtzuerhalten. Experten sagen, dass die Technologie in einigen Fällen die Auslastung von Prozessoren in Rechenzentren auf 100 % steigern kann. Dadurch können Rechenzentrumsbetreiber bei der Anschaffung und Wartung von Servern sparen.
Lösungspotenzial und Spezialisten anderer Universitäten. Laut einem Professor eines koreanischen Instituts wird das MIT-System dazu beitragen, Verzögerungen bei Webdiensten zu reduzieren. Es wird beispielsweise in Online-Shops nützlich sein. An Verkaufstagen kommt es sogar zu einer zweiten Verzögerung beim Laden der Seite zu einem Rückgang der Anzahl der Seitenaufrufe um 11 %. Eine schnelle Lastverteilung wird dazu beitragen, mehr Kunden zu bedienen.
Die Technologie hat immer noch Nachteile – sie unterstützt keinen Multiprozessor -Systeme, bei denen Chips mit verschiedenen Speichermodulen verbunden sind und nicht miteinander „kommunizieren“. In diesem Fall kann IOKernel den Betrieb einer separaten Gruppe von Prozessoren regeln, jedoch nicht aller Serverchips.

/ Foto
Ähnliche Technologien
Zu den anderen Prozessorlastausgleichssystemen gehört Arachne. Es berechnet, wie viele Kerne eine Anwendung beim Start benötigt, und verteilt Prozesse entsprechend diesem Indikator. Nach Angaben der Autoren beträgt die maximale Latenz einer Anwendung in Arachne etwa 10 Mikrosekunden.
Die Technologie ist als C++-Bibliothek implementiert für Linuxund sein Quellcode ist verfügbar unter .
Ein weiteres Balancing-Tool ist ZygOS. Wie Shenango nutzt die Technologie die Methode des Arbeitsdiebstahls, um Prozesse neu zu verteilen. Laut den Autoren von ZygOS beträgt die durchschnittliche Anwendungslatenz bei Verwendung des Tools etwa 150 Mikrosekunden und das Maximum etwa 450 Mikrosekunden. Der Projektcode ist auch .
Befund
Moderne Rechenzentren expandieren immer weiter. Der zunehmende Trend macht sich vor allem auf dem Markt der Hyperscale-Rechenzentren bemerkbar: jetzt weltweit 430 Hyperscale-Rechenzentren, aber in den kommenden Jahren könnte ihre Zahl um 30 % steigen. Aus diesem Grund werden Technologien zur Prozessorlastverteilung stark nachgefragt. Systeme wie Shenango sind bereits verfügbar große Unternehmen, und die Zahl solcher Tools wird in Zukunft nur noch zunehmen.
Beiträge aus dem ersten Blog zum Thema Corporate IaaS:
Source: habr.com
