# System p

System p (früher pSeries) ist eine RISC-basierte Unix-Rechnerfamilie der Firma IBM. Die pSeries war Nachfolger der im Jahr 1990 von IBM eingeführten RS/6000-Serie (RISC System/6000).
Die Systeme unterstützen umfassende Virtualisierungsfunktionen, einschließlich CPU-, Speicher-, Netzwerk- und Festplatten-Virtualisierung.
Ab dem Modell p630 unterstützen die Systeme das dynamische logische Partitionieren (LPAR), wodurch Ressourcen flexibel zwischen Partitionen verschoben werden können.
IBM liefert die Systeme mit dem proprietären Betriebssystem AIX oder Linux aus.
Die Systeme basieren auf POWER-CPUs. Kleinere Modelle nutzen PowerPC-Prozessoren.
Das p im Namen steht für Performance, und nicht wie oft angenommen, für Power-PC.

## CPUs

Die pSeries basiert auf Power-CPUs, in kleineren Modellen wird der PowerPC eingesetzt. In einem Rechner der pSeries können bis zu 32 Power-CPUs zusammenarbeiten. Als Betriebssystem liefert IBM für die pSeries das proprietäre AIX oder Linux aus.
pSeries-Rechner unterstützen (ab p630 oder höher) das dynamische logische Partitionieren LPAR. Der größte pSeries-Rechner p690 (Stand 2003) kann in bis zu 32 unabhängige Partitionen unterteilt werden und verwaltet 32 CPUs und 512 GB Arbeitsspeicher. Die Ressourcen können dynamisch von einer LPAR zu einer anderen verschoben werden. Seit AIX 5.2 ist kein Reboot notwendig.

## Geschichte

2004 wurden IBM eServer p5 (siehe unten) und OpenPower-Server als Nachfolger der pSeries eingeführt.
2006 wurde ein Rebranding der pSeries auf die Bezeichnung „System p“ vorgenommen und in diesem Zuge auch neue Modelle eingeführt. Diese p5-{505, 510, 520, 550, 560, 570, 575, 590 und 595} arbeiten mit 1-64 POWER5-CPUs. Ein „A“ in der Modellbezeichnung kennzeichnet POWER5+-Prozessoren, ein „Q“ Quad-Core-CPUs.
Die Power5-basierten Plattformen System i und System p sind seit den Ankündigungen von i5 und p5 physikalisch praktisch baugleich. Den Unterschied machen die charakteristischen Eigenschaften des gewählten Betriebssystems OS/400 (jetzt i5 OS), AIX oder Linux.

## IBM eServer p5

Im IBM eServer p5 werden POWER5-CPUs eingesetzt, die Mikropartitionierung und SMT unterstützen. Die IBM-eServer-p5-Serverreihe erstreckt sich von einem 1-2-Wege-p5-505-Server bis zu 64-Wege-p595. p5 Server können mit AIX und Linux betrieben werden und beherrschen logische Partitionierung, d. h. die Installation mehrerer Betriebssysteminstanzen auf einem Server. Die Betriebssysteme in den sogenannten Partitionen (LPAR-Logical Partition) sind voneinander unabhängig, und obwohl sie auf demselben Server laufen, haben sie nur Zugriff auf die ihnen zugeteilte Hardware. Es gibt eine Sonderreihe der p5 Server: OpenPower 710 (1-2 Wege) und OpenPower 720 (1-4 Wege), Server, die ausschließlich für den Einsatz von Linux bestimmt sind und keinen Betrieb von AIX erlauben. Alle p5 und OpenPower Server basieren auf POWER5-Technologie, können parallel und nativ 32-Bit- und 64-Bit-Programme ausführen.

## Virtualisierung auf IBM eServer p5 und OpenPower

Alle auf p5 basierenden Server beherrschen logische Partitionierung, dynamische logische Partitionierung und Mikropartitionierung. Partitionierung ist die Verteilung von Hardware-Ressourcen an einzelne Betriebssysteminstanzen, dynamisch bezeichnet die Möglichkeit, diese Ressourcen ohne Neustart verschieben zu können und Mikropartitionierung bezeichnet die Möglichkeit, den einzelnen Partitionen Bruchteile der Prozessoren zuzuteilen. Die Virtualisierungstechnologie stammt aus dem Mainframebereich und findet heute in verschiedenen Soft- und Hardwarelösungen ihren Einsatz.
Die Virtualisierung wird bei p5-Servern durch die Prozessortechnologie gestützt in der Firmware, genannt Hypervisor, erledigt. Der Hypervisor teilt die Hardware des Systems ein und stellt Teile davon dem Betriebssystem in einer logischen Partition (LPAR) zur Verfügung. Jede LPAR erhält damit eine „lokale“ Firmware (eine Art BIOS), die ihr nur die Hardware sichtbar macht, welche ihr zugeteilt worden sind.
Eine CPU kann an bis zu 10 LPARs verteilt werden, d. h. auf einer 4-Wege-Maschine können bis zu 40 unabhängige Betriebssysteminstanzen in logischen Partitionen installiert werden. Auf dem derzeit (2005) größten p5-Server, dem 64-Wege-p595 sind 254 Betriebssysteminstanzen möglich. Auf diesen können gleichzeitig sowohl AIX (5.2 und 5.3) als auch Linux installiert werden.
Im Gegensatz zu den meisten softwarebasierten Virtualisierungslösungen gibt es bei der POWER-Architektur kaum Einschränkungen bezüglich der Skalierbarkeit einer einzelnen Partition. Die Partition kann von 0.1 bis zu 64 Prozessoren beinhalten und nutzen. Dedizierte und virtualisierte Ressourcen können innerhalb einer LPAR und eines Servers gemischt werden. Der durch die Virtualisierung entstehende Overhead ist schwer nachzuweisen, weil die Hypervisor-Schicht auf den p5-Servern immer präsent ist, d. h. alle Benchmarks sind auch mit Hypervisor gemacht worden.
Durch die Virtualisierung und die automatische Lastverteilung wird eine sehr viel höhere Gesamtauslastung der Systeme erreicht. Durch die Virtualisierung der I/O-Ressourcen werden zusätzlich Adapter eingespart.

### Voraussetzungen

Für die Virtualisierungseinrichtung wird ein spezieller Rechner, genannt HMC (Hardware Management Console) benötigt. Diese kann bis zu 32 Server und/oder bis zu 128 logische Partitionen (LPARs) verwalten und übernimmt neben der Hauptaufgabe, die Maschinen in LPARs einzuteilen, auch andere Funktionen, zum Beispiel ersetzt die HMC die seriellen Verbindungen zu den einzelnen Partitionen und macht damit zusätzliche Konsolen und KVM-Switches überflüssig. Unter POWER5+ ist für kleinere bis mittlere Systeme auch der Betrieb OHNE HMC virtualisierbar. Die Funktionen der HMC (mit gewissen funktionalen Einschränkungen) übernimmt in diesem Fall der sogenannte IVM (Integrated Virtualization Manager).
HMC ist die grafische Schnittstelle für die Einteilung der Maschinen und für die Veränderung der Ressourcenzuteilung. Für den Betrieb der partitionierten Systeme selbst ist die HMC nicht notwendig und kann jederzeit abgeschaltet oder ersetzt werden. Bei den Linux-only OpenPower Systemen ist für die Virtualisierung eine kostenpflichtige Freischaltung notwendig.

### CPU-Virtualisierung

Die Virtualisierung der CPU ist auf zwei Arten möglich: CPUs können dediziert einer Partition (Betriebssysteminstanz) zugeteilt werden (dedicated), oder es werden Anteile an Rechenkapazität an eine Partition zugeteilt (shared). Auf einem Server können beide Arten der Zuteilung gemischt werden. Partitionen mit dedizierten CPUs nehmen an der automatischen Lastverteilung nicht teil. Alle CPUs, die nicht dediziert zugeteilt werden, verbleiben in einem sogenannten „shared CPU pool“. Dieser Pool wird von allen LPARs anteilig genutzt, die im „shared“ Modus eingerichtet werden. Werden die zugeteilten Zyklen von einer LPAR nicht gebraucht, so werden diese an den Pool zurückgegeben und können von den Instanzen benutzt werden, die gerade mehr CPU-Leistung benötigen.

### Speicher-Virtualisierung

Der Arbeitsspeicher wird in Schritten einer für das gesamte System einstellbaren Größe (Memory Region Size) an einzelne LPARs zugeteilt. Die Speicherzugriffe werden durch Hypervisor derart umgesetzt, dass keine Partition auf die Speicherbereiche der anderen zugreifen kann. AIX (ab 5.2) kann mit dynamischen (=im laufenden Betrieb) Speicherzuweisungen umgehen. Linux muss nach Veränderung der Speicherzuweisung neu gestartet werden.

### Netzwerk-Virtualisierung

Der Hypervisor erfüllt die Funktion eines virtuellen Netzwerk-Switches. Der virtuelle Switch ist VLAN-fähig. Allen Partitionen können virtuelle Netzwerkkarten zugeteilt werden, diese verhalten sich aus der Sicht des Betriebssystems weitgehend wie echte physikalische Karten.
Physikalische und virtuelle Netzwerkkarten können gleichzeitig zugewiesen werden. So kann zum Beispiel eine der Partitionen, die sowohl eine physikalische als auch eine virtuelle Netzwerkkarte besitzt, als Router oder Bridge für die anderen Partitionen fungieren, die nur mit virtuellen Netzwerkkarten ausgestattet sind. Üblicherweise wird diese Aufgabe von dem VIO-Server übernommen (siehe Festplattenvirtualisierung). Eine physikalische und eine virtuelle Netzwerkkarte des VIO-Servers werden als Bridge konfiguriert (AIX Terminologie: SEA – Shared Ethernet Adapter). Wenn die virtuellen Netzwerkkarten der anderen LPARs im selben Netz und VLAN sind, werden diese von außen transparent (ohne Angabe eines Gateways) erreichbar.

### Festplatten-Virtualisierung

Der Hypervisor kann nur den Zugriff auf einen PCI-X-Slot einer Partition gewähren; einzelne Festplatten können nicht verteilt werden. Hierfür wird eine spezielle Partition benötigt, genannt VIO-Server (Virtueller I/O Server). Dieser bekommt den PCI-X-Slot zugewiesen, in dem der Adapter steckt, an die wiederum die Festplatten angeschlossen sind, und er ist in der Lage, Teile dieser Festplatten den anderen LPARs als ganze virtuelle Festplatten zur Verfügung zu stellen. Es gibt eine AIX-basierte Version des VIO-Servers, die auf AIX; die gleiche Funktionalität kann aber mit Linux auch erreicht werden.
Auf der Seite der Client-LPARs (diejenigen, die von VIO freigegebene virtuelle Festplatten verwenden) wird nur ein Treiber für einen virtuellen SCSI-Adapter benötigt. Dieser verhält sich genauso wie ein normaler SCSI-Treiber.