Enterprise Computing Prof. Dr.-Ing. Wilhelm G. Spruth Teil 6 Partitionierung
NUMA Sharing Disk Storage
HP Superdome Cell Board 4 Itanium 2 CPU Chips 32 128 Gbyte I/O Bus mit Kühlern Hauptspeicher Anschlüsse 4 Steckkarten Die Großrechner der Firmen Sun und Hewlett Packard sind sehr ähnlich aufgebaut. Dargestellt ist ein System Board (auch als Cell Board bezeichnet). Es besteht aus einem Printed Circuit Board mit 4 CPU Chips (Dual Core), Hauptspeicher Dimms, sowie 4 Steckkarten, von denen PCI Bus Kabel zu I/O Cages führen. Ein Sun oder HP Großrechner enthält bis zu 16 oder 18 System Boards.
4 CPU chips CPU CPU CPU CPU 2/4 Core Sun 25 K oder HP- Superdome I/O Hauptspeicher Switch Ein Sun 25K oder HP Superdome Großrechner enthält 16 oder 18 System Boards, jedes mit 4 CPU Chips und bis zu 128 GByte Hauptspeicher, einem Anschluss an einen zentralen Switch sowie I/O Controller auf jedem System Board. Die I/O Controller sind mit PCI Bus Kabeln mit einer Reihe von I/O Cages verbunden, in denen sich Steckkarten für den Anschluss von I/O Geräten, besonders Plattenspeichern, befinden. System Boards Zentraler Switch Die CPUs eines jeden System Boards können nicht nur auf den eigenen Hauptspeicher, sondern auch auf den Hauptspeicher eines jeden anderen system Boards zugreifen. Hiermit wird eine Non-Uniform Memory Architecture (NUMA) verwirklicht. I/O Board
NUMA Rechner mit zwei Ebenen von Bussen Auf jedem System- oder Cellboard ist der lokale Hauptspeicher an die CPUs über einen lokalen Bus angeschlossen. Zusätzlich sind alle System- oder Cellboards über einen zentralen Switch (hier als System Bus dargestellt) miteinander verbunden.
8 Eingänge 8 Ausgänge 8 x 8 Crossbar Switch Die CPUs eines Parallelrechners sind über ein Verbindungsnetzwerk miteinander verbunden. Dies kann ein leistungsfähiger Bus sein, z.b. der PCI Bus. Ein Bus hat aber nur eine begrenzte Datenrate. Deshalb setzen viele Implementierungen als Verbindungsnetzwerk statt dessen einen Kreuzschienenverteiler (Crossbar Switch, Crossbar Matrix Switch) ein, der die gleichzeitige Verbindung mehrerer Eingänge mit mehreren ausgängen ermöglicht. Mit derartigen Switches können fast beliebige Datenraten erreicht werden. Gezeigt ist als Beispiel ein Switch mit 8 Eingängen und 8 Ausgängen, der gleichzeitig 8 parallele Verbindungen ermöglicht.
SMP SMP SMP SMP CPUs lokaler Bus/Switch Memory globaler Bus/Switch Non-Uniform Memory Architektur Zu jedem SMP gehört ein eigener Hauptspeicher (Memory). Im einfachsten Fall greifen die CPUs eines SMP nur auf den eigenen Hauptspeicher des SMP zu. Es ist aber auch möglich, dass eine CPU über den globalen Bus/Switch auf den Hauptspeicher eines fremden SMP zugreift. Gezeigt ist, wie eine CPU von System Board #1 auf den Hauptspeicher zugreift, der physisch ein Teil von System Board #2 ist.
FFFF FFFF C000 0000 800 00000 4000 0000 0000 0000 Adressen. raum des vierten SMP Adressen. raum des dritten SMP Adressen. raum des zweiten SMP Adressen. raum des ersten SMP NUMA Adressenraum Dargestellt ist als Beispiel der Adressenraum eines NUMA Rechners mit 4 System Boards. Jedes System Board verfügt über einen Hauptspeicher von 4 GByte. Der erste der 4 System Boards benutzt die Adressen Hex 0000 0000 bis 3FFF FFFF. Der zeite der 4 System Boards benutzt die Adressen Hex 4000 0000 bis 7FFF FFFF. Der dritte der 4 System Boards benutzt die Adressen Hex 8000 0000 bis BFFF FFFF. Der vierte der 4 System Boards benutzt die Adressen Hex C000 0000 bis FFFF FFFF.
NUMA-Rechner Der Zugriff auf den Speicher und das I/O-Subsystem erfolgen nicht gleichförmig. Diese Architekturen werden als Non Uniform Memory Access (NUMA) Architektur bezeichnet. Da jeder Prozessor auf die Speicher fremder System Boards zugreift, muss ein Verfahren für den Zugriff auf nicht-lokale Speicher existieren. Dies ist durch die Dir-Einheit (Directory) dargestellt. Diese enthälten Informationen über alle auf den externen System Boards befindlichen Speichersegmente und deren Inhalte. Es gibt zwei Verfahren, um den Speicher entfernter Knoten zu verändern. Bei CC-NUMA (Cache Coherent NUMA) erfolgt bei einer Speicherveränderung eine Invalidierung aller Einträge in den Directories der nicht-lokalen System Boards. Bei NC-NUMA (Non Coherent NUMA) werden Inkonsistenzen in Kauf genommen und müssen durch die Software behandelt werden.
Processors M 1 - M 3 Snoopy Bus Memor y Bus Snoopy Bus sichert Cache Kohärenz Über einen Snoopy Bus kann ein Cache alle anderen Cache Directories abfragen und die Adressen der dort gespeicherten Cache Lines nebst ihren Zustand ermitteln. Die Snoopy Einrichtung hält die Sicht des Hauptspeicher Inhalts für jeden Prozessor kohärent.
Problem: Um Cache Kohärenz herzustellen, muss der CC-NUMA Snoopy Bus mehrere System Boards miteinander verbinden. Es ist wesentlich langsamer, wenn der Snoopy Bus mehrere System Boards miteinander verbindet, als wenn der Snoopy Bus auf jeweils ein einziges System Board beschränkt ist. Dies ist kritisch, weil die Snoopy Abfrage bei jedem Cache Zugriff erforderlich ist, und den CC-NUMA Cache Zugriff deutlich verlangsamt. Es ist selten, dass eine Cache Line in Caches von unterschiedlichen System Boards dupliziert ist. Daher der Wunsch, die zeitaufwendige cross-system Board CC-NUMA Snoopy Abfrage zu vermeiden. Besonders die großen Sun Unix Rechner haben lange versucht, mit NC-NUMA auszukommen. Die heutigen Großrechner der Firmen HP (Superdome), IBM (System p), Sun und Fujitsu/Siemens (M9000) sind jedoch alle CC-NUMA Rechner. Zahlreiche Spezialrechner sind jedoch NC-NUMA Rechner (die anderslautende Behauptung in Wikipedia ist nicht korrekt). Beispiele sind führende Petaflop Rechner, aber auch die Server in den Rechenzentren der Firmen Google und ebay. Die CC-NUMA Snoopy Bus Logik ist auf jedem einzelnen System Board vorhanden und wird auch als Coherency Unit (COU) bezeichnet.
z10 configuration of the L2 NUMA cache A maximum z10 system can have a total of 77 processing units (PU) in 4 books. Of these, 64 may be configured as CPUs. 3 of the 4 books may have 20 PUs each, the 4 th book has 17 PUs. The four L2 caches of the four books are interconnected by point-to-point links and form a single common and shared CC-NUMA L2 cache that is used by the 77 PUs in all four books.
Der L2 Numa Cache für 77 Processing Units ist eine unique System z Einrichtung. In anderen Großrechnern, z.b. von HP or Sun ist der L2 Cache not shared, oder ist bestenfalls nur von wenigen CPUs geshared. Die z10 Cache Coherence Steuerung ist wesentlich komplexer als in allen anderen Rechnern. Einzelheiten sind von IBM bisher nicht veröffentlicht worden. Quote von W.G.Spruth, The Design of a Microprocessor, ISBN 3-540-51395-7: Designing a CPU is easy. It is the design of the Cache Controls, that kills you.
NUMA Sharing Disk Storage
4 CPU chips CPU CPU CPU CPU 2/4 Core Sun 25 K I/O Hauptspeicher Switch Ein Sun 25K oder HP Superdome Großrechner enthält 16 oder 18 System Boards, jedes mit 4 CPU Chips und bis zu 128 GByte Hauptspeicher, einem Anschluss an einen zentralen Switch sowie I/O Controller auf jedem System Board. Die I/O Controller sind mit PCI Bus Kabeln mit einer Reihe von I/O Cages verbunden, in denen sich Steckkarten für den Anschluss von I/O Geräten, besonders Plattenspeichern, befinden. System Boards Zentraler Switch Die CPUs eines jeden System Boards können nicht nur auf den eigenen Hauptspeicher, sondern auch auf den Hauptspeicher eines jeden anderen system Boards zugreifen. Hiermit wird eine Non-Uniform Memory Architecture (NUMA) verwirklicht. I/O Board
Shared Nothing Modell Cluster haben den Vorteil, dass mehrfache Instanzen (Kopien) des Betriebssystems vorhanden sind. Deshalb bestehen alle modernen Großrechner aus einem Cluster von SMPs. Im einfachsten Fall sind die Plattenspeicher aber direkt mit einem spezifischen System Board verbunden. Ein Zugriff von anderen System Boards ist nicht ohne weiteres möglich.
Concentrator Distributor 25 % 25 % 25 % 25 % System A B C D Database Shared nothing (partitioned data) Jedes Sytem Board greift auf seine eigenen Daten zu. Die Arbeitslast wird den einzelnen System Boards statisch zugeordnet. Concentrator Distributor 2 x 1 x 3 x 2 x System A B C D Shared data (shared disk) Jedes System Board kann auch auf Plattenspeicher zugreifen, die an ein anderes System Board angeschlossen sind. Database
Rechner 1 Switch Rechner 2 SCSI SCSI Shared Disk Emulation Am einfachsten sind logische Verbindungen. Rechner 2 bittet Rechner 1, die gewünschten Daten zu übertragen. Allerdings wird das Leistungsverhalten negativ beeinflusst, wenn derartige Zugriffe häufig sind.
4 Switches Processor Cards 16 Gbyte/s Switch 4 fach SMP Fibre Channel Switch Fibre Channel Storage Area Network (SAN) HP Superdome Cluster 64 CPU s 16 Knoten, je 4 CPU Chips/Knoten I/O Controller auf jeder Karte Wenn alle Plattenspeicher Zugriffe über einen Switch geleitet werden, ist ein Shared Disk Zugriff ohne Emulation möglich. Erfordert eine zusätzliche Switch Steuerung RAID, Storage Server
Fibre Channel Switch der Fa. Myricom
SMP SMP FC FC Fibre Channel Switch Einfache Fibre Channel Konfiguration Gemeinsam genutzte Plattenspeicher FC FC FC FC Fibre Channel SCSI Platten
RAID, Cache Funktionalität Einsatz eines Enterprise Storage Servers.