350 likes | 529 Views
Fehlertoleranzmechanismen im offenen Industriestandard PICMG 2.14 Diskussionskreis Fehlertoleranz, St. Augustin bei Bonn. Carsten Trinitis 23.11.2001. CompactPCI-Systeme und Spezifikationen Aufbau eines Comp a ctPCI-Systems PCI Industrial Computers Manufacturers Group (PICMG)
E N D
Fehlertoleranzmechanismen im offenen Industriestandard PICMG 2.14Diskussionskreis Fehlertoleranz, St. Augustin bei Bonn Carsten Trinitis23.11.2001
CompactPCI-Systeme und Spezifikationen Aufbau eines CompactPCI-Systems PCI Industrial Computers Manufacturers Group (PICMG) PICMG 2.14 MultiComputing-Spezifikation Teilbereich Hochverfügbarkeit in PICMG 2.14 Zusammenfassung und Ausblick Überblick
CompactPCI-Systeme sind Systeme mit VME-Bus Eurocard-Formfaktor und erweitertem PCI-Busprotokoll. Hauptvorteil: CompactPCI ist Hot-Swap fähig. Einsatzbereich daher in erster Linie für hochverfügbare Systeme. Zuständige Standardisierungsorganisation: PCI Industrial Computer Manufacturers Group (PICMG). CompactPCI-Systeme
Zur PICMG gehören ca. 675 Firmen, die CompactPCI-Komponenten herstellen. Einige der bekanntesten sind: Intel, Motorola, SUN, HP, Compaq, XILINX, Microsoft, FORCE Computers, ... Aber auch der Lehrstuhl für Rechnertechnik und Rechnerorganisation der TU München. Neben der CompactPCI Core-Spezifikation gibt es eine Reihe weiterer Spezifikationen, die verschiedene Aspekte der Systeme und ihrer Anwendungen beschreiben. CompactPCI-Systeme
CompactPCI 2.0 R3.0 Core Specification (Oktober 1999): beschreibt in erster Linie mechanische und elektrische Eigenschaften der Systeme. CompactPCI 2.1 R2.0 Hot-Swap Specification (Januar 2001): beschreibt die Anforderungen an Hot-Swap fähige CompactPCI-Systeme. CompactPCI 2.9 System Management Specification (Februar 2000): Test und Maintencance mittels I2C-Bus. CompactPCI 2.12 Software Interoperability (Mai 2000): Definiert hardwareunabhängige Softwareschnittstelle für Hot-Swap. CompactPCI-Spezifikationen
Noch ausstehende/gerade verabschiedete Spezifikationen: CompactPCI 2.13 Redundant System Slot Specification (pending) CompactPCI 2.14 MultiComputing Specification (verabschiedet) CompactPCI 2.16 IP Backplane for CompactPCI (verabschiedet) Daneben existieren noch eine Reihe weiterer Spezifikationen z.B. zum Zuweisen der Pins für bestimmte Zusatzprotokolle, zur Definition der Spannungsversorgung von CompactPCI-Systemen etc. CompactPCI-Spezifikationen
Passive Backplane mit bis zu 8 Steckplätzen, davon 1 System Slot für System Board, hier erfolgen Busarbitrierung, Takteinspeisung, PCI-Konfigurationszyklen sowie Steuerung von Hot-Swap Ereignissen 7 Peripheral Slots, in der Regel für Single Board Computer Aufbau eines CompactPCI-Systems
Passive Backplane: System Slot 1 Peripheral Slots 2-8 Aufbau eines CompactPCI-Systems
Teilnahme an den Standardisierungskomitees 2.13 und 2.14 2.13: Redundant System Slot, noch nicht verabschiedet 2.14: aktive Teilnahme an der Erstellung der Spezifikation PICMG-Treffen
Implementierung einer OSI Data Link Layer (Schicht 2) über CompactPCI. Entdecken und Initialisieren (heterogener) Geräte nach einer Neuinitialisierung des Systems bzw. nach einem Hot-Swap Vorgang. Kommunikation über Buffer-Strukturen und Nachrichtenaustausch. PICMG 2.14: Ziele
Unterstützung für Broadcast/Multicast, Promiscuous Mode, Hot-Swap, Reset, Driver Unload Unterstützung nichttransparenter Bridges Byte Ordering Hochverfügbarkeit, Kompatibilität mit PICMG 2.13 PICMG 2.14: Ziele
Initialisierung (Motorola / StarGen) System Map Distribution (Intel) Ressourcenverwaltung und –management (FORCE/Intel) Broadcast/Multicast (FORCE) Hochverfügbarkeit (LRR-TUM) PICMG 2.14: Arbeitsgruppen
Terminologie: CompactPCI versus Multicomputing • CompactPCI-System: • (Redundant ausgelegter) System Host (SH) im System Slot (siehe Folie 8) der CompactPCI-Backplane. • Ein oder mehrere Peripheral Nodes (PH) in den Peripheral Slots (siehe Folie 8) der CompactPCI-Backplane.
Terminologie: CompactPCI versus Multicomputing • Multicomputing-System (MCNet): • Ein (redundant ausgelegter) System Node (SN), dieser konfiguriert und steuert das Multicomputing-System. • Ein oder mehrere Peripheral Nodes (PN), diese kommunizieren untereinander über das MCNet-Protokoll. Ein PN ist eine Software-Einheit, die auf einem Board liegt.
Ziel: Das Multicomputing-System muß unempfindlich gegen geplante Entnahmen und ungeplante Ausfälle von Knoten (Software-Einheiten) bzw. Boards (Hardware-Einheiten) sein. Geplante Entnahmen und ungeplante Ausfälle
Geplante Entnahmen (Planned Removals): Ein Knoten oder ein Board wird aus dem Multicomputing- System entnommen. Die entsprechenden Datenstrukturen (System Map etc.) werden zuvor aktualisiert. Beispiel: Hot-Swap. Geplante Entnahmen und ungeplante Ausfälle
Ungeplanter Ausfall (Unplanned Failure): Recoverable Unplanned Failure: Ausfall eines Knotens, der entdeckt wird, bevor Störungen auf dem Bus erfolgen. Unrecoverable Unplanned Failure: Ausfall eines Knotens oder Boards mit Störungen auf dem Bus und unverhersehbaren Konsequenzen für das Multicomputing-System. Geplante Entnahmen und ungeplante Ausfälle
Realisierung: Definition von 5 Hochverfügbarkeitsmodi abhängig vom zur Verfügung stehenden System (No HA, Hybrid HA, Minimal HA, Comprehensive HA, Full HA). Knotenentnahmeprotokoll (Node Removal Protocol). Heartbeat-Protokoll mit hierarchischer Proxy-Struktur . PICMG 2.14: Arbeitsgruppe Hochverfügbarkeit
High Availability Mode 0: No High Availability • In den MCNet-Kontrollstrukturen sind keine Redundanz-/Switchover-Mechanismen implementiert. • SH und SN sind nicht redundant ausgelegt. • Durch Ausfall eines Knotens kann das gesamte System ausfallen. • Billigste Variante. • Sinnvoll bei einfachen Anwendungen.
Peripheral Node (PN) Peripheral Node (PN) System Host (SH) System Node (SN) Peripheral Node (PN) Higher Layers Application Application Application Application Networking Software Networking Software Networking Software Networking Software PICMG 2.14 Software (PN) PICMG 2.14 Software (PN) PICMG 2.14 Software (PN) PICMG 2.14 Software (SN) Data Link Layer CompactPCI Bus Physical Layer High Availability Mode 0: No High Availability
High Availability Mode 1: Hybrid High Availability • SH und SN sind nicht redundant ausgelegt. • Die Knoten des MCNet-Systems können Hot-Swap unterstützen bzw. einen Heartbeat-Mechanismus implementieren. • Gewährleistet ein minimales Maß an Hochverfügbarkeit bei Verwendung einfacher Hardware-Komponenten. • Sinnvoll bei Systemen, in denen nicht alle Boards Hot-Swap-fähig sind. • Backplane muß allerdings Hot-Swap unterstützen.
System Host (SH) System Node (SN) Peripheral Node (PN) Peripheral Node (PN) Peripheral Node (PN) Application Application Application Application HA Software HA Software HA Software Networking Software Networking Software Networking Software Networking Software PICMG 2.14 Software (PN) PICMG 2.14 Software (PN) PICMG 2.14 Software (PN) PICMG 2.14 Software (SN) Hot Swap Control Unit CompactPCI Bus High Availability Mode 1: Hybrid High Availability
High Availability Mode 2: Minimal High Availability • Realisiert in Systemen ohne redundanten SH/SN. • Maximales Maß an Hochverfügbarkeit bei Single SH/Single SN. • Alle Boards mussen Hot-Swap-fähig sein. • Alle Boards müssen Heartbeat unterstützen.
System Host (SH) System Node (SN) Peripheral Node (PN) Peripheral Node (PN) Peripheral Node (PN) Application Application Application Application HA Software HA Software HA Software HA Software Networking Software Networking Software Networking Software Networking Software PICMG 2.14 Software (PN) PICMG 2.14 Software (PN) PICMG 2.14 Software (PN) PICMG 2.14 Software (SN) Hot Swap Control Unit CompactPCI Bus High Availability Mode 2: Minimal High Availability
High Availability Mode 3: Comprehensive High Availability Realisiert in Systemen ohne redundanten SH. Maximales Maß an Hochverfügbarkeit durch redundanten SN. SH ist letzter verbleibender Single Point of Failure. Daher sollte er nur minimale Funktionalität wie Takteinspeisung, Busarbitrierung, Hot-Swap-Steuerung und PCI-Konfigurations-zyklen bieten. Redundanter SN (RSN) wird über den Status des MCNet auf dem Laufenden gehalten.
High Availability Mode 3: Comprehensive High Availability Application Redundant System Node (RSN) Peripheral Node (PN) Peripheral Node (PN) System Node (SN) HA Software Application Application Application HA Software HA Software HA Software Networking Software Networking Software Networking Software Networking Software PICMG 2.14 Software (PN) PICMG 2.14 Software (PN) PICMG 2.14 Software (PN) PICMG 2.14 Software (SN) SystemHost (SH) Hot Swap Control Unit Clock, Arbitration PCI Configuration Cycles CompactPCI Bus
High Availability Mode 4: Full High Availability Realisiert in zukünftigen PICMG 2.13 kompatiblen Dual-Host-Systemen. SH und SN sind redundant ausgelegt. SNs laufen auf den beiden SHs. Aufwendigste Variante mit maximaler Hochverfügbarkeit.
Redundant System Host (RSH) Redundant System Node(RSN) Peripheral Node (PN) Peripheral Node (PN) System Host (SH) System Node (SN) Application Application Application Application HA Software HA Software HA Software HA Software Networking Software Networking Software Networking Software Networking Software PICMG 2.14 Software (SN) PICMG 2.14 Software (PN) PICMG 2.14 Software (PN) PICMG 2.14 Software (SN) Hot Swap Control Unit CompactPCI Bus High Availability Mode 4: Full High Availability
Heartbeat-Protokoll Heartbeat dient zum Entdecken von Recoverable Unplanned Failures. Unterstützt von HA Modes 2-4, kann von Mode 1 unterstützt werden. Als überwachende Knoten werden Broadcast-Proxies eingesetzt. Die Proxy-Baumstruktur entspricht der des Broadcast-Systems. Zu überwachende Knoten senden Heartbeat-Ticks an überwachende Knoten (unidirektionale Kommunikation).
SN Proxy Proxy Proxy Proxy Proxy Proxy Proxy Proxy Proxy Proxy Proxy Proxy Proxy Proxy End Node End Node End Node End Node End Node End Node End Node End Node End Node End Node End Node End Node Heartbeat-Proxybaum
Heartbeat-Protokoll Heartbeat-Gruppe wird als spezielle Broadcast-Gruppe definiert. Knoten, die überwacht werden sollen/wollen, treten der Heartbeat-Gruppe bei. Diese erhalten dann eine Policy vom Gruppenverwalter (SN), die die Proxies benennt, an die sie ihre Heartbeats schicken sollen. Der zu überwachende Knoten baut dann eine Control Connection zum überwachenden Knoten auf. Policies könne sich während des Betriebes ändern.
Heartbeat-Protokoll • Zu überwachender Knoten initiiert Heartbeat-Verbindung mit MCNODE_HEARTBEAT_REQ Nachricht. • Diese enthält: • Start/Stop/Failure-Parameter, • Minimale zulässige HB-Rate innehalb eines spezifizierten Intervalls, • Maximal zulässige Anzahl von nicht empfangenen Heartbeat-Ticks sowie • Maximale zulässiges Intervall zwischen zwei Heartbeat-Ticks.
Heartbeat-Protokoll • Überwachender Knoten kann den Heartbeat Request annehmen oder abweisen. • Dies hängt davon ab, ob er in der Lage ist, die Heartbeat-Sequenz zu verarbeiten. • Bei Änderung der Policy sendet der zu überwachende Knoten ein MCNODE_HEARTBEAT_REQ(HB_STOP) an den überwachenden Knoten, wenn dieser nicht mehr in der neuen Policy entalten ist.
Zusammenfassung und Ausblick • CompactPCI-Systeme sind spezielle hochverfügbare Systeme, die von der PICMG spezifiziert werden. • Als Mitglied der PICMG aktive Teilnahme des LLR-TUM an der Multicomputing-Spezifikation. • Dabeio zuständig für den Teilbereich Hochverfügbarkeit: • Definition verschiedener Modi, Heartbeat-Mechanismen. • In künftigen Versionen Kompatibilität zu Dual-Host-Systemen für höhere Hochverfügbarkeitsmodi. • Künftige Projekte sollen sich mit Hochverfügbarkeit in höheren Schichten beschäftigen (Middleware-Framework).