Neuer CPU-Lastenausgleich von MIT

Das Shenango-System soll in Rechenzentren eingesetzt werden.

Neuer CPU-Lastenausgleich von MIT
/ фото Marco Verch CC BY

Laut einem Anbieter nutzen Rechenzentren genutzt wird. insgesamt 20–40 % der verfügbaren Rechenleistung. Bei hoher Auslastung kann dieser Wert bis zu 60 % erreichen.Eine solche Ressourcenzuteilung führt zur Entstehung sogenannter „Zombie-Server“. Das sind Maschinen, die die meiste Zeit untätig sind und unnötig Strom verbrauchen. Heute stehen 30 % der Server weltweit unbenutzt herum, was einen jährlichen Stromverbrauch von 30 Milliarden Dollar bedeutet.

Um der ineffizienten Nutzung von Rechenressourcen entgegenzuwirken, haben die Forscher am MIT

Ein Team von Ingenieuren hat entwickelt ein Lastverteilungssystem für Prozessoren namens Shenango entwickelt. Ziel ist es, den Zustand des Aufgaben Puffers zu überwachen und „festgefahrene“ Prozesse (die keine CPU-Zeit erhalten können) auf freie Maschinen umzuleiten.

Wie Shenango funktioniert

Shenango ist eine Linux-Bibliothek in C mit Bindings in Rust und C++. Der Projektcode und die Testanwendungen wurden veröffentlicht in das Repository auf GitHub.

Die Grundlage der Lösung ist der Algorithmus IOKernel, der auf einem dedizierten Kern eines Mehrprozessorsystems läuft. Er verwaltet die CPU-Anfragen mit einem Framework DPDK, das es Anwendungen ermöglicht, direkt mit Netzwerkgeräten zu interagieren.

IOKernel entscheidet, an welche Kerne eine bestimmte Aufgabe übergeben wird. Der Algorithmus bestimmt auch, wie viele Kerne benötigt werden. Für jeden Prozess werden Hauptkerne (guaranteed) und zusätzliche Kerne (burstable) definiert – letztere werden aktiviert, wenn die Anzahl der CPU-Anfragen plötzlich ansteigt.

Die Anfragenwarteschlange von IOKernel ist organisiert in Form eines Ringpuffers.Alle fünf Mikrosekunden überprüft der Algorithmus, ob alle Aufgaben, die dem Kern zugewiesen sind, ausgeführt wurden. Dazu vergleicht er die aktuelle Position des „Kopfes“ des Puffers mit der vorherigen Position seines „Schwanzes“. Wenn sich herausstellt, dass der Schwanz bereits in der Warteschlange war, als die vorherige Überprüfung stattfand, erkennt das System eine Überlastung des Puffers und weist für den Prozess einen zusätzlichen Kern zu.

Bei der Lastverteilung wird den Kernen, auf denen ein solcher Prozess zuvor ausgeführt wurde und teilweise im Cache geblieben ist, oder allen inaktiven Kernen der Vorzug gegeben.

Neuer CPU-Lastenausgleich von MIT

Zusätzlich nutzt Shenango den Ansatz Work Stealing.. Kerne, die für die Ausführung einer Anwendung vorgesehen sind, überwachen die Anzahl der Aufgaben untereinander. Wenn ein Kern seine Aufgabenliste schneller als die anderen abschließt, "entlastet" er die Nachbarn.

Vor- und Nachteile

Nach Aussage Ingenieure des MIT, Shenango kann fünf Millionen Anfragen pro Sekunde verarbeiten und die durchschnittliche Reaktionszeit bei 37 Mikrosekunden halten. Experten behaupten, dass die Technologie in einigen Fällen die Auslastung der Prozessoren in Rechenzentren auf bis zu 100 % erhöhen kann. Dadurch können Rechenzentrumsbetreiber bei der Beschaffung und Wartung von Servern sparen.

Das Lösungspotenzial , dass die Architektur von Open19 die gesamte Energieeffizienz des Rechenzentrums um 10 % erhöht. und Fachleute anderer Universitäten. Laut einem Professor des koreanischen Instituts wird das System des MIT helfen, die Latzenz von Webdiensten zu reduzieren. Zum Beispiel ist es in Online-Shops nützlich. An Verkaufstagen führt bereits eine Verzögerung von einer Sekunde beim Laden einer Seite führt an zu einem Rückgang der Seitenaufrufe um 11 %. Eine schnelle Lastverteilung wird helfen, mehr Kunden zu bedienen.

Die Technologie hat jedoch auch Nachteile — sie unterstützt keine Multiprozessorsysteme, NUMAbei denen Chips an unterschiedlichen Speichermodulen angeschlossen sind und nicht "miteinander kommunizieren". In diesem Fall kann IOKernel die Arbeit einer einzelnen Gruppe von Prozessoren steuern, aber nicht aller Chips des Servers.

Neuer CPU-Lastenausgleich von MIT
/ фото Tim Reckmann CC BY

Ähnliche Technologien

Unter anderen Lastenausgleichssystemen für Prozessoren kann Arachne hervorgehoben werden. Es berechnet, wie viele Kerne die Anwendung beim Start benötigt, und verteilt die Prozesse entsprechend. Schätzungen der Autoren zufolge beträgt die maximale Verzögerung der Anwendung in Arachne etwa 10.000 Mikrosekunden.

Die Technologie ist als C++-Bibliothek für Linux implementiert, und der Quellcode ist verfügbar unter GitHub.

Ein weiteres Lastenausgleichsinstrument ist ZygOS. Wie Shenango verwendet die Technologie die Methode des Work-Stealing für die Verteilung der Prozesse. Laut den Autoren von ZygOS beträgt die durchschnittliche Verzögerung bei der Arbeit von Anwendungen mit dem Tool etwa 150 Mikrosekunden, während die maximale etwa 450 Mikrosekunden beträgt. Der Code des Projekts ist ebenfalls öffentlich zugänglich.

Das DBMS Tarantool ist ein attraktives, zukunftsträchtiges Produkt zur Erstellung von hochbelasteten Anwendungen.

Moderne Rechenzentren expandieren weiterhin, insbesondere ist der Trend zur Zunahme auf dem Markt für Hyperscale-Rechenzentren deutlich: Derzeit gibt es weltweit gibt es 430 hyper-skalierbare Rechenzentren, aber in den kommenden Jahren könnte sich ihre Zahl um 30 % erhöhen. Aus diesem Grund werden Technologien zur Lastenverteilung auf Prozessoren sehr gefragt sein. Systeme wie Shenango werden bereits jetzt implementiert , und in Zukunft wird die Anzahl solcher Werkzeuge nur steigen.

Beiträge aus dem ersten Unternehmens-IaaS-Blog:

Quelle: habr.com

Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server 🔥 Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster