Nmedia - Fotolia

Virtuelle Umgebungen und die steigende Anzahl an CPU-Kernen

Serverprozessoren kommen mit immer mehr CPU-Kernen auf den Markt. Dabei stellt sich die Frage, inwiefern virtuelle Umgebungen von der höheren Core-Anzahl profitieren können.

Auf den ersten Blick scheint es sehr einfach zu entscheiden, wie viele CPU-Kerne der Prozessor eines virtuellen Servers aufweisen sollte. Bei genauerer Betrachtung wird die Sache aber zunehmend komplexer. Erstens neigen CPUs dazu, in virtuellen Umgebung nie an eine effiziente Auslastung zu kommen. Zweitens haben Größe und Geschwindigkeit des Arbeitsspeichers einen wesentlich größeren Einfluss auf die Workload-Performance als der Prozessor. Drittens begrenzt schließlich auch die Fähigkeit zur I/O-Übermittlung die Leistung.

Wenige Kerne pro CPU eignen sich für die leistungsstärksten Serverfarmen, daher könnte man dazu neigen, dieser Konfiguration pauschal den Vorzug zu geben. Das Problem dabei sind die übrigen Dimensionen des Serverdesigns. Sie alle bringen wirtschaftliche Implikationen mit sich und bestimmen so über die konkrete CPU-Konfiguration eines Servers mit.

Memory-Optionen bei der CPU-Konfiguration

DRAM (Dynamic RAM) ist teuer, und die aktuellen DIMMs (Dual In-Line Memory Module) kosten deutlich mehr als Standard-DIMMs. Günstigere, dafür aber größere DIMMs könnten eine Alternative hierfür sein, allerdings gibt es mittlerweile ja auch Optane-Speicher oder NAND NVDIMMS (Non-Volatile Dual In-Line Memory Modules), die bis in den Terabyte-Bereich hinein Performance-Verbesserungen versprechen.

Wählt man die Strategie über NVDIMMs und günstigere DRAM-Riegel, dann werden mehr DIMM-Slots benötigt. Dies wiederum verdoppelt die Memory-Bandbreite im System und zusammen mit der höheren Kapazität können mehr Instanzen auf dem Server gehostet werden.

Die Nutzung von NVMe (Non-Volatile Memory Express) SSDs im Server erhöht wiederum die I/O-Rate pro Instanz enorm. Bisher war dies eine extrem teure Option, mittlerweile hat NVMe-Speicher aber bereits den Verbraucher-Markt erreicht, was die Technologie deutlich günstiger macht.

NVMe reduziert den Management-Aufwand des Betriebssystems für I/O-Aufgaben deutlich und macht CPU- und Memory-Ressourcen frei. Genauso reduziert auch RDMA (Remote Direct Memory Access) Overhead und Latenz zwischen geclusterten virtuellen Servern. RDMA ist bereits in fast allen hyper-konvergenten Produkten vorhanden und dürfte in wenigen Jahren als Standardfunktion von Ethernet gelten.

Diese Vorteile bei Memory und I/O-Performance lassen mehr virtuelle Server mit mehr Instanzen zu, was letztlich auch der CPU-Auslastung zugute kommt. Diese Tatsache spricht für mehr CPU-Kerne pro CPU, um die steigende Leistungsanforderung wieder auszugleichen.

Instanzenkonfiguration

An diesem Punkt der Diskussion schadet es nicht, auch einen Blick auf die Konfiguration der Instanzen zu werfen. Dabei gibt es natürlich keine „richtige“ Größe. Instanzen gibt es in vielen verschiedenen Konfigurationen, die sich nach den jeweiligen Anforderungen der Anwendungen richten. Die Bandbreite reicht dabei von einem virtuellen CPU-Kern pro physischem Kern bis hin zu mehreren virtuellen Kernen pro physischem Kern und kann sogar einen virtuellen CPU-Kern für den gesamten physischen Prozessor vorsehen. Auch Memory- und I/O-Zuweisung sind unabhängige Variablen.

Der Trend bei der Instanzenkonfiguration geht mittlerweile dahin, mehr DRAM und I/O zu ermöglichen, was zusammen mit weniger virtuellen Kernen zu mehr CPU-Ressourcen pro Instanz führt.

Container und Microservices

Der relativ neue Virtualisierungsansatz von Microservices und Container kommt ohne Hypervisor-basierte Instanzen aus. Ein Server mit Container braucht wegen des Memory Segment-Sharing weniger DRAM als ein Server mit Hypervisor, daher lassen sich über die Container-Virtualisierung bis zu fünf Mal so viele Instanzen realisieren. Dieser Anstieg der Instanzenanzahl impliziert erneut eine steigende Anzahl an CPU-Kernen.

Fügt man dem noch die Microservices-Architektur hinzu, bei der Storage und Netzwerk in kleinen, containerisierten Modulen umgesetzt werden und auch Applikationen in Microservices-Module zerlegt werden, lässt sich die Anzahl an Container pro Server nochmals deutlich steigern. Der Microservices-Ansatz erhöht den Rechenaufwand, was erneut für mehr Kerne pro CPU spricht.

Innovationen bei der Serverarchitektur

Alle diese Punkte ignorieren allerdings mögliche Neuerungen gegenüber herkömmlicher Serverarchitektur. Seit ungefähr drei Jahren gibt es beispielsweise Ankündigungen zu Hybrid Memory Cube (HMC) Modulen, die CPU- und DRAM-Kapazitäten in tief integrierten Komponenten vereinen. Dadurch erhöht sich die DRAM-Geschwindigkeit enorm, sowohl wegen der besseren Schnittstelle als auch aufgrund der besseren Nutzung der parallelen Kanäle von DRAM.

HMC-basierte Plattformen wurden von allen großen Anbietern angekündigt, frühe Versionen begrenzen die DRAM-Größe allerdings auf 32 GB. Das reicht für einen großen Cache zwischen L3-Cache und DRAM und erhöht die Storage-Geschwindigkeit genug, um mehrere CPU-Kerne damit zu versorgen. Auch hier deutet also alles auf eine höhere Anzahl an CPU-Kernen hin.

Wirtschaftliche Folgen von mehr CPU-Kernen

Ganz generell ist es wirtschaftlich betrachtet sinnvoller, wenige, dafür aber leistungsstärkere Server zu nutzen als viele kleine. Diese arbeiten günstiger und können auch 25 GbE und 50 GbE mit RDMA effizient nutzen. Die zugrundeliegende Infrastruktur der Energieversorgung amortisiert sich damit besser, während die Kosten (Strom, Kühlung und IT-Support) ebenfalls günstiger sind.

Bei all den Diskussionen spielt aber auch die Auswahl der Komponenten eine Rolle. So könnten die Kosten pro Kern weiter fallen, wenn die Anzahl an CPU-Kernen pro Prozessor weiter steigt. Die besten drei oder vier CPUs auf dem Markt sind aber selten brandneu und bleiben lange sehr teuer. Das gleiche gilt analog auch für Memory und SSDs.

Wer die jeweils neuesten und führenden Produkte vermeidet, der fährt mit mehr Kernen pro CPU und generell gut ausgestatteten Servern besser als mit kleinen Servern.

Ausblick auf die Zukunft

Die Produkt-Roadmaps sind derzeit etwas nebelhafter als sonst, vor allem auch durch die momentane Diskussion über Memory-Centric Frameworks wie Gen-Z. Trotzdem werden wir im Jahr 2018 CPUs mit mehr als 32 Kernen im Rechenzentrum sehen, und mit Blick auf HMC dürfte die Memory-Größe in den Terabyte-Bereich reichen. Manche Hersteller deuten an, dass es dabei auf einen Mix aus DRAM und NAND hinauslaufen könnte.

Mit steigender Anzahl an CPU-Kernen zusammen mit hyperkonvergenten Produkten dürfte auch der Einfluss großer Serverfarmen für bestimmte Workloads weiter zurückgehen.

Eine Sache sollte man dabei ebenfalls im Auge behalten: das Netzwerkdesign und den Traffic-Fluss. Die Lastgrenzen von LANs und WANs werden immer weiter ausgedehnt, selbst mit den derzeit höchsten Geschwindigkeiten. Verschlüsselung und Komprimierung werden bald zu den dringend geforderten Funktionen für LAN-Verbindungen gehören, und auch all dies erhöht die CPU-Last – was letztlich erneut auf mehr CPU-Kerne hinausläuft.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Artikel wurde zuletzt im September 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über x86-Rack-Server

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close