-
Hintergrund
-
Es gibt viele Typen von Computerarchitekturen. Einige Computerarchitekturen kombinieren mehrere Computerknoten in einer gemeinschaftlich verwendeten Ressourcenumhüllung. Solche Architekturen können das kundenspezifische Anpassen der Leistung, Kühlung und Verwaltung jedes Rechenknotens erfordern, der in der gemeinschaftlich verwendeten Ressourcenumhüllung implementiert ist. Als ein Beispiel kann eine solche kundenspezifische Anpassung wesentliche Änderungen an der Kernfirmware und Hardware umfassen, die sich auf die Basisplatinenverwaltungssteuerung (BMC; BMC = baseboard management controller) in jedem Rechenknoten beziehen. Solche kundenspezifische Anpassung kann eines oder mehrere der folgenden Probleme haben: 1) hohe Entwurfskosten; 2) lange Entwicklungszyklen; 3) begrenzte Auswahlmöglichkeiten für Rechenknoten aufgrund von begrenzten Ressourcen und Zeitplankonflikte.
-
Kurze Beschreibung der Zeichnungen
-
Für eine detaillierte Beschreibung beispielhafter Ausführungsbeispiele der Erfindung wird nachfolgend auf die beiliegenden Zeichnungen Bezug genommen.
-
1 stellt ein System gemäß einem Ausführungsbeispiel der Offenbarung dar;
-
2 stellt eine Serverumhüllung gemäß einem Ausführungsbeispiel der Offenbarung dar;
-
3 zeigt eine Tabelle von Mikrocontrollerregistern für eine Zwischenelement-Programmierbare-Schnittstellensteuerung (PIC; PIC = programmable interface controller) gemäß einem Ausführungsbeispiel der Offenbarung dar; und
-
4 stellt ein Verfahren gemäß einem Ausführungsbeispiel der Offenbarung dar.
-
Notation und Nomenklatur
-
Bestimmte Begriffe werden in der folgenden Beschreibung und den Ansprüchen verwendet, um bestimmte Systemkomponenten zu bezeichnen. Wie es für einen Fachmann auf diesem. Gebiet klar ist, können Computerfirmen eine Komponente mit unterschiedlichen Namen bezeichnen. Dieses Dokument möchte nicht zwischen Komponenten unterscheiden, die sich vorn Namen, aber nicht der Funktion her unterscheiden. In der nachfolgenden Erörterung und in den Ansprüchen werden die Begriffe „umfassen” und „aufweisen” auf offene Weise verwendet, und sollten somit interpretiert werden, dass sie „aufweisen, aber nicht begrenzt auf...” bedeuten. Außerdem soll der Begriff „koppeln” oder „koppelt” entweder eine indirekte, direkte, optische oder drahtlose elektrische Verbindung bedeuten. Falls somit eine erste Vorrichtung mit einer zweiten Vorrichtung koppelt, kann diese Verbindung durch eine direkte elektrische Verbindung, durch eine indirekte elektrische Verbindung über andere Vorrichtungen und Verbindungen, durch eine optische elektrische Verbindung oder durch eine drahtlose elektrische Verbindung sein. Außerdem bedeutet der Begriff „Serverumhüllung” ein Serversystemchassis, das in der Lage ist, mehrere Rechenknoten mit gemeinsamer Infrastruktur (z. B. Leistungsversorgungen und Lüfter) aufzunehmen. Wie es hierin verwendet wird, kann ein „Servergestell” mehrere solche Serverumhüllungen enthalten.
-
Detaillierte Beschreibung
-
Die folgende Erörterung bezieht sich auf verschiedene Ausführungsbeispiele der Erfindung. Obwohl eines oder mehrere dieser Ausführungsbeispiele bevorzugt sein können, sollten die offenbarten Ausführungsbeispiele nicht so interpretiert oder anderweitig verwendet werden, dass sie den Schutzbereich der Offenbarung einschließlich der Ansprüche begrenzen. Außerdem ist für einen Fachmann auf diesem Gebiet klar, dass die folgende Beschreibung breite Anwendung findet, und die Erörterung jedes Ausführungsbeispiels nur beispielhaft für dieses Ausführungsbeispiel sein soll, und nicht bedeuten soll, dass der Schutzbereich der Offenbarung einschließlich der Ansprüche auf dieses Ausführungsbeispiel begrenzt ist.
-
Gemäß Ausführungsbeispielen der Offenbarung ist eine Zwischenelementplatine (interposer board) für jeden einer Mehrzahl von Rechenknoten implementiert, der in einer Umhüllung für ein Rechensystem (z. B. einen Server) untergebracht ist. Jede Zwischenelementplatine verbindet ihren entsprechenden Rechenknoten schnittstellenmäßig mit einer Aggregatorrückwandplatine, die die Lüfter und Leistungsversorgungen für die Serverumhüllung verwaltet. Jede Zwischenelementplatine stellt vorbestimmte Funktionen bereit, die die Konfiguration von Rechenknoten in einer Serverumhüllung mit einer Aggregatorrückwandplatine vereinfachen, Ohne die Zwischenelementplatinen müsste jeder Rechenknoten entworfen oder kundenspezifisch angepasst werden, um direkt mit der Aggregatorrückwandplatine zu kommunizieren. Eine solche kundenspezifische Anpassung ist möglich aber teuer und/oder führt zu unerwünschter Latenzzeit bei der Freigabe neuer Produkte (z. B. Mehrknotenserverumhüllung und/oder Gestelle mit mehreren Serverumhüllungen).
-
1 stellt ein System 100 gemäß einem Ausführungsbeispiel der Offenbarung dar. Das System 100 kann beispielsweise Komponenten darstellen, die sich in einer Serverumhüllung finden. Wie es in 1 gezeigt ist, weist das System 100 eine Mehrzahl von Rechenknoten 102A–102N auf. Jeder Rechenknoten 102A–102N weist eine Hauptplatine oder andere gedruckte Schaltungsplatine (PCB) auf, die Ressourcen 104 enthält, wie z. B. eine oder mehrere der Verarbeitungsressourcen 106, Speicherressourcen 108 und Eingabe-/Ausgabe-(I/O-)Ressourcen 110. Ferner kann jeder der Rechenknoten 102A–102N eine Netzwerkschnittstelle 114 aufweisen, die mit Verwaltungslogik 112 gekoppelt ist. Die Verwaltungslogik 112 kann beispielsweise Sensordaten überwachen und/oder protokollieren. Bei einigen Ausführungsbeispielen ist die Verwaltungslogik 112 konfiguriert, um Lüftersteuersignale und/oder Leistungsversorgungssteuersignale zu senden, ansprechend auf erfasste Temperatur-/elektrische Bedingungen. Ferner kann die Verwaltungslogik 112 entfernte Rechenanforderungen handhaben, die über die Netzwerkschnittstelle 114 empfangen werden. Die Verwaltungslogik 122 kann beispielsweise einer Basisplatinenverwaltungssteuerung (BMC) entsprechen, die in der Technik bekannt ist.
-
In dem System 100 liefert eine Mehrzahl von Lüftern 120A–120N Luftfluss/Kühlung für die Mehrzahl von Rechenknoten 102A–102N. 2 stellt eine Serverumhüllung 200 gemäß einem Ausführungsbeispiel der Offenbarung dar. Wie es in 2 gezeigt ist, weist die Serverumhüllung 200 acht Rechenknoten (Knoten 1–8) auf, die eine Mehrzahl von Lüftern (z. B. Lüfter 1–8) gemeinschaftlich verwenden. Allgemein sind Knoten (z. B. Knoten 1–8) in Zonen organisiert, wobei jede Zone zumindest einen Knoten und einen Lüfter zugewiesen hat. Genauer gesagt, die Serverumhüllung 200 bei dem Ausführungsbeispiel von 2 hat vier Zonen mit zwei Knoten und zwei Lüfter in jeder Zone. Wie es gezeigt ist, verwenden die Knoten 1 und 3 zwei Lüfter gemeinschaftlich, die Knoten 2 und 4 verwenden zwei Lüfter gemeinschaftlich, die Knoten 5 und 7 verwenden zwei Lüfter gemeinschaftlich und die Knoten 6 und 8 verwenden zwei Lüfter gemeinschaftlich. Andere Zonenkonfigurationen sind möglich und können abhängig von der Größe der Umhüllung, der Größe der Rechenknotenplatinen und daran befestigter Komponenten, der Wärme, die durch jeden Rechenknoten erzeugt wird, dem Luftfluss, der durch jeden Lüfter bereitgestellt wird und/oder anderen Charakteristika variieren.
-
Mit erneuter Bezugnahme auf 1 stellt eine Mehrzahl von Leistungsversorgungen 122A–122N Leistung für die Mehrzahl von Rechenknoten 102A–102N bereit. Die Lüfter 120A–120N und die Leistungsversorgungen 122A–122N sind mit einer Aggregatorrückwandplatine 124 gekoppelt, die das Überwachen und Steuern der Lüfter 120A–120N und der Leistungsversorgungen 122A–122N vereint. Bei zumindest einigen Ausführungsbeispielen weist die Aggregatorrückwandplatine 124 eine Rückwandplatinen-Programmierbare-Schnittstellensteuerung (PIC; PIC = programmable interface controller) 126 auf (z. B. einen Mikrocontroller) gekoppelt mit einer Unterbrechungshandhabungseinrichtungslogik 128 (z. B. einem komplexen programmierbaren Logikbauelement (CPLD; CPLD complex programmable logic device)). Die Rückwandplatinen-PIC 126 vereint Lüfterstatusinformationen, die von den Lüftern 120A–120N empfangen werden, sowie Leistungsversorgungsstatusinformationen, die von den Leistungsversorgungen 122A–122N empfangen werden. Die Rückwandplatinen-PIC 126 spricht auch auf Steuersignale oder Anforderungen nach Informationen an, die von den Rechenknoten 102A–102N empfangen werden.
-
Gemäß zumindest einigen Ausführungsbeispielen werden Informationen und/oder Steuersignale von der Aggregatorrückwandplatine 124 selektiv an jeden der Rechenknoten 102A–102N gesendet, über seine entsprechende Zwischenelementplatine 130A–130N. Gleichartig dazu werden Informationen und/oder Steuersignale von jedem der Rechenknoten 102A–102N über seine entsprechende Zwischenelementplatine 130A–130N an die Aggregatorrückwandplatine 124 gesendet. Gemäß zumindest einigen Ausführungsbeispielen ermöglicht die Unterbrechungshandhabungseinrichtungslogik 128 Kommunikation zwischen der Rückwandplatinen-PIC 126 und jeder Zwischenelementplatinen 130A–130N unter Verwendung von Unterbrechungsprotokollen.
-
In 1 weist jede der Zwischenelementplatinen 130A–130N die gleichen oder ähnliche Komponenten auf. Der Zweckmäßigkeit halber sind nur die Komponenten der Zwischenelementplatine 130A gezeigt und erörtert, es sollte aber klar sein, dass die Erörterung der Zwischenelementplatine 130A auch für die anderen Zwischenelementplatinen (130B–130N) gilt. In 1 entspricht die Zwischenelementplatine 130A einer gedruckten Schaltungsplatine (PCB) mit einer Zwischenelement-Programmierbare-Schnittstellensteuerung (PIC) 132, die darauf angeordnet ist und konfiguriert, um verschiedene Funktionen durchzuführen, wie es hierin beschrieben wird. Die Zwischenelementplatine 130A weist auch zumindest einen Leistungsverbinder 134 auf, der auf der PCB befestigt ist, um eine Leistungsschnittstelle von zumindest einer der Leistungsversorgungen 122A–122N zu dem entsprechenden Rechenknoten zu liefern. Die Leistungsschnittstelle, die durch den Leistungsverbinder 134 bereitgestellt wird, ermöglicht es auch der Aggregatorrückwandplatine 126, die Leistungsaufnahme des entsprechenden Rechenknotens zu überwachen. Die Zwischenelementplatine 130A weist auch zumindest einen Lüfterverbinder 136 auf, der an der PCB befestigt ist und mit der Zwischenelement-PIC 132 gekoppelt ist. Der Lüfterverbinder 136 liefert eine Schnittstelle für den entsprechenden Rechenknoten, um Lüftersteuersignale (Anforderungen) auszugeben und um Antworten auf solche Anforderungen zu empfangen. Die Zwischenelementplatine 130A weist auch einen Serieller-Bus-Verbinder (z. B. einen I2C-Bus-Verbinder) 138 auf, der an der PCB befestigt ist und mit der Zwischenelement-PIC 132 gekoppelt ist. Der Serieller-Bus-Verbinder 128 stellt eine serielle Kommunikationsschnittstelle (z. B. einen Single-(Einzel-)Master-I2C-Bus) zwischen der Zwischenelementplatine 130A und ihrem entsprechenden Rechenknoten bereit.
-
Gemäß zumindest einigen Ausführungsbeispielen übersetzt die Zwischenelement-PIC 132 Informationen, die zwischen der Aggregatorrückwandplatine 126 und dem Rechenknoten weitergeleitet werden, der einer Zwischenelementplatine 130A entspricht. Beispielsweise kann die Zwischenelement-PIC 132 Lüftersteuersignale von Pulsbreitenmodulation (PWM) zu einem Serieller-Bus-Protokolldatenpaket (z, B. I2C-Datenpakete) übersetzen. Genauer gesagt, die Zwischenelement-PIC 132 kann Lüftersteuerungs-PWM-Informationen von ihrem entsprechenden Rechenknoten empfangen und eine übersetzte Version der Lüftersteuerungs-PWM-Informationen über einen I2C-Bus an die Rückwandplatinen-PIC 126 liefern. Ferner kann die Zwischenelement-PIC 132 Lüfterstatussignale von Fehler- zu Tach-Lüfteremulation übersetzen. Genauer gesagt, die Zwischenelement-PIC 132 kann ein Lüftertachometersignal an ihren entsprechenden Rechenknoten liefern, basierend auf einem PWM-Arbeitszyklus und dem tatsächlichen Lüfterstatus.
-
Bei zumindest einigen Ausführungsbeispielen empfängt die Zwischenelement-PIC 132 Rechenknoten-Lüfter-PWM-Eingabe und digitalisiert die Eingabe bezüglich des Arbeitszyklus. Der digitalisierte Arbeitszyklus wird dann über einen Multi-Master-I2C-Bus zu der Rückwandplatinen-PIC 126 geleitet. Als ein Beispiel stellt ein Fan ein Lüfter-PWM-Wert von 0 einen 0%-Arbeitszyklus dar, und 100 stellt einen 100%-Arbeitszyklus dar. Optional kann eine Rechenknoten-BMC die Lüfter-PWM-Einstellungen direkt in Register der Zwischenelement-PIC 132 schreiben. Bei einigen Ausführungsbeispielen kann Digitalisierung der Lüfter-PWM-Signale erreicht werden basierend auf Gleichsignal-(DC-)Umwandlung. Bei Gleichsignalumwandlung wird das PWM-Signal umgewandelt zu einem analogen Gleichsignal und wird über Analog-/Digitalwandlung digitalisiert. Alternativ kann Digitalisierung von PWM-Signalen erreicht werden unter Verwendung eines Zeitgebers und einer Erfassungs-/Vergleichs-(CCP-)Technik (CCP = capture/compare). Bei der Zeitgeber- und CCP-Technik analysiert die Zwischenelement-PIC das PWM-Signal als eine digitale Eingabe und berechnet den Arbeitszyklus unter Verwendung interner Zeitgeber und CCP.
-
Die Zwischenelement-PIC 132 liest auch Systemlüfterstatusinformationen von der Rückwandplatinen-PIC 126 über einen I2C-Bus. Sobald die Lüfterstatusinformationen gelesen wurden, ist die Zwischenelement-PIC 132 in der Lage, ein Lüfter-Tach-Signal zu erzeugen, um ein Lüfter-Tach-Signal eines Rechenknotens zu treiben. Falls einer der Systemlüfter ausfällt, wird durch die Zwischenelement-PIC 132 kein Tach-Signal für den ausgefallenen Lüfter erzeugt. Andernfalls treibt die Zwischenelement-PIC 132 das Lüfter-Tach-Signal mit einer Frequenz, die der PWM des Lüfters entspricht, unter Verwendung der Gleichung LüfterTachZählwert pro Sekunde = (PWM_DC/100)·(MaxLüfterRPM/60)·(LüfterTachPuls/Umdrehung), wobei der Wert von LüfterTachPuls/Umdrehung normalerweise 2 beträgt und MaxLüfterRPM die LüfterRPM bei 100%-Lüfter-PWM-Arbeitszyklus ist.
-
Bei zumindest einigen Ausführungsbeispielen ist die Zwischenelement-PIC 132 konfiguriert, um eine Single-Master-Serieller-Bus-Topologie (z. B. Single-Master-I2C) für Kommunikation zwischen der Zwischenelementplatine 130A und ihrem entsprechenden Rechenknoten mit einem Multi-Master-Serieller-Bus-Topologie (z. B. Multi-Master-I2C) zu überbrücken, für Kommunikation zwischen der Zwischenelementplatine 130A und der Aggregatorrückwandplatine 126. Beispielsweise kann die Zwischenelement-PIC 132 I2C-MUX-Zuteilung bereitstellen basierend auf Anforderung/Gewährung (request/grant = REQ/GNT) Signalen für einen I2C-Bus. Anders ausgedrückt, die Zwischenelement-PIC 132 wirkt als ein I2C-Durchlauf zwischen der BMC eines Rechenknotens und der Rückwandplatinen-PIC 126, um Multi-Master-I2C-Probleme zu vermeiden.
-
in Bezug auf die Brückenfunktion kann die Zwischenelement-PIC 132 auch einen Verkehrspegel für die Multi-Master-Serieller-Bus-Topologie verwalten. Beispielsweise ist die Zwischenelement-PIC 132 bei zumindest einigen Ausführungsbeispielen konfiguriert, um Vereinigung und Zwischenspeicherung von Daten zu verwalten, wie z. B. Lüfterstatusinformationen, Leistungsversorgungsstatusinformationen und Leistungsaufnahmemessinformationen. Unter Verwendung der zwischengespeicherten Informationen ist die Zwischenelement-PIC 132 in der Lage, selektiv auf Anforderungen von einem entsprechenden Rechenknoten zu antworten, ohne aktualisierte Informationen von der Aggregatorrückwandplatine 124 anzufordern. Die Zwischenelement-PIC 132 kann beispielsweise einen Verkehrssteuer-Zeitgebungsschwellenwert (z. B. 2 Sekunden) haben, während dem alle Anforderungen (z. B. Lüftersteuersignale, Anforderungen nach Informationen) von dem Rechenknoten, der der Zwischenelementplatine 130A entspricht, beantwortet werden von zwischengespeicherten Informationen in der Zwischenelement-PIC 132. Sobald der Verkehrssteuer-Zeitgebungsschwellenwert erreicht ist, kann die Zwischenelement-PIC 132 aktualisierte Informationen von der Aggregatorrückwandplatine 124 anfordern. Die Anforderung nach aktualisierten Informationen kann automatisch sein oder ansprechend auf eine verwandte Anforderung von dem Rechenknoten, der der Zwischenelementplatine 102A entspricht. Ferner ist die Aggregatorrückwandplatine 124 bei zumindest einigen Ausführungsbeispielen in der Lage, aktualisierte Informationen an die Zwischenelement-PIC 132 zu senden, ohne darauf zu warten, dass die Zwischenelement-PIC 132 eine Anforderung ausgibt oder weiterleitet. Der vorher beschriebene Verkehrssteuer-Zeitgebungsschwellenwert kann gemäß vorbestimmter Kriterien (z. B. der Anzahl von Rechenknoten in einem bestimmten System) oder fortlaufender Verkehrsanalyse variieren.
-
Bei zumindest einigen Ausführungsbeispielen ermöglicht die Zwischenelement-PIC 132 das Durchgeben (flashing) von Firmware der Rückwand-PIC 126 über einen Single-Master-I2C-Bus. Während des Durchgabe-Prozesses (flash process) empfängt beispielsweise die Zwischenelement-PIC 132 jede Zeile von Code von einem Rechenknoten über einen Single-Master-I2C-Bus und speichert den Code intern. Die Zwischenelement-PIC 132 erhält dann Zugriff auf den Multi-Master-I2C-Bus durch Erzeugen einer Anforderung (REQ) und Empfangen einer Gewährung (GNT) von der Rückwandplatinen-PIC 126. Sobald die Zwischenelement-PIC 132 die Herrschaft (mastership) über den Multi-Master-I2C-Bus hat, wird die Codezeile weitergeleitet zu der Rückwandplatinen-PIC 126 über den Multi-Master-I2C-Bus usw.
-
Während des Durchgabe-Prozesses der Rückwandplatinen-PIC 126 hat die Zwischenelement-PIC 132 vollständige Funktionalität. Bei einigen Ausführungsbeispielen kann die Rückwandplatinen-PIC 126 die Systemlüfter auf voller Geschwindigkeit einstellen mit 100% Arbeitzyklus, um jegliche thermische Ereignisse während der Durchgabe zu vermeiden. Während der Durchgabe kann die Zwischenelement-PIC 132 vorbestimmte Werte (z. B. den letzten bekannten Leistungsversorgungsstatus, den letzten bekannten Lüfterstatus, einen 100% Arbeitszyklus für aktuellen Lüfter-PWM-Wert) ansprechend darauf zurücksenden, dass jeweilige Anforderungen/Befehle während des Durchgabe-Prozesses empfangen werden.
-
Bei zumindest einigen Ausführungsbeispielen kann die Firmware der Zwischenelement-PIC 132 auch über den Single-Master-I2C-Bus durchgegeben werden. Um die Durchgabe durchzuführen, greift ein Rechenknoten auf die Register der Zwischenelement-PIC 132 zu durch Schreiben eines Werts in das Zwischenelement-PIC-Mailboxregister. Der Rechenknoten schreibt auch einen Firmwareaktualisierungsschlüssel in ein Firmwareaktualisierungsschlüssellochregister, um die Zwischenelement-PIC in den Bootlader- bzw. Urlader-Modus zu versetzen. Bei zumindest einigen Ausführungsbeispielen hat der Bootladermodus der Zwischenelement-PIC 132 verschiedene Attribute. Beispielsweise begrenzt die Zwischenelement-PIC 132 den Zugriff auf ihre Register auf Durchgabe-bezogene Funktionen. Anders ausgedrückt, Zugriff auf Nicht-Durchgabe-bezogene Register wird während des Bootladermodus nicht bestätigt (NACK'd). Sobald der Durchgabe-Prozess abschließt (z. B. normalerweise zwischen 30 Sekunden bis 3 Minuten) setzt die Zwischenelement-PIC 132 sich selbst automatisch zurück und bringt sich selbst zurück in Betrieb. Der Rücksetzprozess kann in weniger als einer Sekunde abgeschlossen werden und erfordert nicht, dass das Mehrknotensystem oder irgendeiner der Rechenknoten Leistung oder Rücksetzung zyklisch durchlauft. In dem Bootladermodus hat der Rechenknoten, der der Zwischenelement-PIC 132 entspricht, keinen Zugriff auf die Register der Rückwandplatinen-PIC 126. Die Zwischenelement-PIC 132 erzeugt jedoch weiterhin die Lüfter-Tach-Signale bei 100% PWM-Arbeitszyklus für beide Lüfter. Sobald der Durchgabe-Prozess abgeschlossen ist, setzt sich die Zwischenelement-PIC 132 selbst zurück und die Rechenknoten-BMC hat wieder Zugriff auf alle Register der Rückwandplatinen-PIC 126 erneut. Es wird erwartet, dass die BMC des entsprechenden Rechenknotens den Durchgabe-Prozess der Zwischenelement-PIC 132 erkennt und Protokollierungsfehler vermeidet. Falls während des Durchgabe-Prozesses ein Leistungsverlust auftritt (z. B. die Zwischenelement-PIC 132 verliert ihren VDD oder der PIC-Rücksetzanschlussstift wird niedrig zugewiesen für eine Dauer, die ein PIC-Rücksetzen verursacht), dann kehrt die Zwischenelement-PIC 132 zu dem Bootladermodus zurück, sobald die Leistung wieder hergestellt ist. Die BMC des entsprechenden Rechenknotens ist dann in der Lage, den Durchgabe-Prozess neu zu starten.
-
In 1 verwaltet die Unterbrechungshandhabungseinrichtungslogik 128 der Aggregatorrückwandplatine 124 Kommunikation zwischen der Rückwandplatinen-PIC 126 und jeder Zwischenelementplatine 130A–130N. Wie es gezeigt ist, wird ein I2C-Bus (oder anderer serieller Kommunikationsbus) für Kommunikation zwischen der Rückwandplatinen-PIC 126 und der Unterbrechungshandhabungseinrichtungslogik 128 verwendet. Die Zeitgebung der seriellen Kommunikation wird gesteuert durch ein Gewährungssignal (GNT), ein Anforderungssignal (REQ) und cm Unterbrechungssignal (INT). Genauer gesagt, die Rückwandplatinen-PIC 126 kann das REQ-Signal aktivieren, um Herrschaft über den I2C-Bus anzufordern. Die Aktivierung des REQ-Signals kann auf vorbestimmten Operationen der Rückwandplatinen-PIC 126 basieren oder darauf, dass das TNT-Signal durch die Unterbrechungshandhabungseinrichtungslogik 128 zu der Rückwandplatinen-PIC 126 aktiviert wird. Ansprechend darauf, dass das REQ-Signal durch die Rückwandplatinen-PIC 126 aktiviert wird, gewährt die Unterbrechungshandhabungseinrichtungslogik 128 selektiv die Herrschaft über den I2C-Bus der Rückwandplatinen-PIC 126 und aktiviert das GNT-Signal, um die Rückwandplatinen-PIC 126 bezüglich der Gewährung der Herrschaft zu benachrichtigen. Ansprechend darauf, dass das GNT-Signal aktiviert wird, ist die Rückwandplatinen-PIC 126 in der Lage, über den I2GBus Informationen an die Unterbrechungshandhabungseinrichtungslogik 128 zu senden.
-
Gleichartig dazu wird ein I2C-Bus (oder anderer serieller Kommunikationsbus) für Kommunikation zwischen der Unterbrechungshandhabungseinrichtungslogik 128 und der Zwischenelementplatine 132 verwendet. Erneut wird die Zeitgebung serieller Kommunikation gesteuert durch ein Gewährungssignal (GNT), ein Anforderungssignal (REQ) und ein Unterbrechungssignal (INT). Genauer gesagt, die Zwischenelement-PIC 132 kann das REQ-Signal aktivieren, um Herrschaft über den I2C-Bus anzufordern. Die Aktivierung des REQ-Signals kann auf vorbestimmten Operationen der Zwischenelement-PIC 132 basieren oder darauf, dass das TNT-Signal durch die Unterbrechungshandhabungseinrichtungslogik 128 zu der Zwischenelement-PIC 132 aktiviert wird. Ansprechend darauf, dass das REQ-Signal durch die Rückwandplatinen-PIC 126 aktiviert wird, gewährt die Unterbrechungshandhabungseinrichtungslogik 128 selektiv die Herrschaft über den I2C-Bus zu der Zwischenelement-PIC 132 und aktiviert das GNT-Signal, um die Zwischenelement-PIC 132 bezüglich der Gewährung des Besitzes zu benachrichtigen. Ansprechend darauf, dass das GNT-Signal aktiviert wird, ist die Zwischenelement-PIC 132 in der Lage, Informationen über den I2C-Bus an die Unterbrechungshandhabungseinrichtungslogik 128 zu senden. Die Unterbrechungshandhabungseinrichtungslogik 128 ist somit in der Lage, Informationen von der Rückwandplatinen-PIC 126 zu jeder Zwischenelementplatine 130A–130N zu leiten. Gleichartig dazu ist die Unterbrechungshandhabungseinrichtungslogik 128 in der Lage. Informationen von jeder Zwischenelementplatine 130A–130N zu der Rückwandplatinen-PIC 126 zu leiten.
-
Das für 1 beschriebene System 100 kann als eine Abstraktionsarchitektur gesehen werden, die die Entwicklungszeit einer Mehrknotenserverumhüllung reduziert durch Ermöglichen der Verwendung verfügbarer Computerknotenplatinen mit nur wenigen oder sogar ohne Modifikationen. Ferner können die Lüfter 120A–120N des Systems 100 beispielsweise Tach (Tachometer) oder Fault (Fehler) sein. Ferner können die Leistungsversorgungen 122A–122N Industriestandards sein oder „allgemeiner-Schlitz-”Leistungsversorgungen von HP. Beim Betrieb wertet die Rückwandplatine 124 die Leistungsversorgungen 122A–122N und die Lüfter 120A–120N beim anfänglichen Einschalten des Systems 100 aus, überwacht und steuert dieselben, was die Notwendigkeit überflüssig macht, dass einer der Rechenknoten 102A–102N diese Aufgabe durchführt. Die Aggregatorrückwandplatine 124 führt auch Leistungsmessung und Begrenzung für das gesamte System 100 durch (z. B. umhüllt in einer Umhüllung), sowie für jeden der Rechenknoten 102A–102N. Die Aggregatorrückwandplatine 124 steuert auch relevante Verwaltungsdaten zu und von jedem der Rechenknoten 102A–102N über ihre entsprechenden Zwischenelementplatinen 130A–130N. Bei einigen Ausführungsbeispielen kann ein solches Steuern von Verwaltungsdaten automatisch sein und kann auf der Position jedes Rechenknotens 102A–102N in einer Umhüllung basieren. Die Rückwandplatinen-PIC 126 steuert auch die REQ/GNT-Zuteilung für den Multi-Master-I2C-Bus und ist sich somit dessen bewusst, welcher Computerknoten auf ihren Registersatz zugreift.
-
Die hierin beschriebene Abstraktionsarchitektur vereinfacht die BMC-Verwaltungsunterstützung jedes Rechenknotens stark, was normalerweise gehandhabt wird durch Sensordatenaufzeichnungen (SDR; SDR = sensor data records) in der BMC-Firmware kompatibel mit einer intelligenten Plattformverwaltungsschnittstelle (IPMI; IPMI = intelligent platform management interface) des Industriestandards. Gemäß zumindest einigen Ausführungsbeispielen enthält jeder der Rechenknoten 102A–102N einen identischen Satz von SDRs und muss keine mehreren Sätze von SDRs tragen, abhängig von der Position jedes Rechenknotens in der Serverumhüllung, oder in welcher Lüfterzone (oder Leistungszone) ein bestimmter Rechenknoten teilnimmt. Auf diese Weise wird die Komplexität des Entwurfs des Systems 100 oder einer anderen Abstraktionsarchitektur des Systems reduziert.
-
Bei der Abstraktionsarchitektur des Systems 100 ist es der Zweck jeder Zwischenelementplatine 130A–130N, die Leistungs-, Kühl- und Verwaltungssignale für einen einzigen Rechenknoten zu vereinfachen und anzupassen in eine Mehr-Knoten-Architektur, die Ressourcen gemeinschaftlich verwendet. Beispielsweise werden Lüfter-PWM-Ausgangssignale von einem Rechenknoten entweder als PWM-Signale oder einfache I2C-Bus-Schreibvorgänge erfasst durch ihre entsprechende Zwischenelementplatine und dann umgewandelt (durch eine Zwischenelement-PIC) in Multi-Master-I2C-Bus-Transaktionen, die nach unten weitergeleitet werden zu der Rückwandplatinen-PIC 126 als Lüftergeschwindigkeitsanforderungen. Ferner kann jede Zwischenelementplatine Serververwaltungsdaten wieder gewinnen und zwischenspeichern, wie z. B. Leistungsversorgungsstatus (z. B. AC OK, DC OK und Redundanzstatus), Lüfterstatus, tatsächliche Lüftergeschwindigkeit, Rechenknotenleistungsaufnahme und Gesamtchassisleistungsaufnahme von der Rückwandplatinen-PIC 126 auf regelmäßiger Basis. Die Serveverwaltungsdaten sind dann schnell zugreifbar für die BMC des Rechenknotens, entsprechend der Zwischenelementplatine mit zwischengespeicherten Serververwaltungsdaten. Bei einigen Ausführungsbeispielen werden Sätze von Rechenknoten (z. B. 8, 16 oder mehr) in einer einzigen Umhüllung unterstützt. Da sich die Anzahl von Rechenknoten in einer Multi-Knoten-Architektur mit gemeinschaftlich verwendeten Ressourcen erhöht, erhöht sich auch der Vorteil der Ermöglichung jeder Zwischenelement-PIC, den Verkehr auf dem Multi-Master-I2C-Bus zu steuern/zu minimieren.
-
Gemäß verschiedenen Industriestandards fragen BMCs normalerweise den Status von Sensoren (getrieben durch SDRs) ab, als ob die Sensoren einem bestimmten Rechenknoten zugewiesen wären. In der hierin beschriebenen Multi-Knoten-Architektur sind die Zwischenelement-PICs in der Lage, die Verkehrsmenge auf den gemeinschaftlich verwendeten Multi-Master-I2C-Bus zu begrenzen. Beispielsweise kann eine BMC eines Rechenknotens konfiguriert sein, um einen Lüfterstatus einmal pro Sekunde zu lesen. Währenddessen ist die Zwischenelement-PIC 132 in der Lage, Lüfterstatusinformationen von der Rückwandplatinen-PIC 126 mit einer festen langsameren Rate (z. B. alle 2 Sekunden) zu lesen. Indem eine Zwischenelement-PIC eine lokal zwischengespeicherte Kopie des Lüfterstatus zu der BMC des Rechenknotens zurücksendet, kann die Verkehrsmenge zu der Rückwandplatinen-PIC 126 reduziert werden, ohne dass Entwurfsänderungen an den Rechenknoten erforderlich wären.
-
3 zeigt eine Tabelle von Mikrocontroller-Registern für eine Zwischenelement-PIC (z. B. Zwischenelement-PIC 132) gemäß einem Ausführungsbeispiel der Offenbarung. Wie es gezeigt ist, weist die Tabelle ein Tatsächlicher-Lüfter-PWM-Arbeitszyklus-Register, ein Lüfter1-Tachometer-Zählwertregister, ein Lüfter2-Tachometer-Zählwertregister, ein Lüfterfehlerregister, ein Leistungsversorgungsstatusregister („PS-Statusregister”), ein Firmwareaktualisierungsschlüssellochregister, ein Lüfter1-Geschwindigkeitsanforderungsregister, ein Lüfter2-Geschwindigkeitsanforderungsregister, ein Mailboxregister und reservierte Register auf. Bei zumindest einigen Ausführungsbeispielen ist nur das Mailboxregister direkt zugreifbar. Die verbleibenden Register sind nur zugreifbar, nachdem mit dem korrekten Zugriffsschlüssel in das Mailboxregister geschrieben wurde. Die reservierten Register sind Nur-Lese-Register, die nicht zu diesem Zeitpunkt verwendet werden.
-
4 stellt ein Verfahren 400 gemäß einem Ausführungsbeispiel der Offenbarung dar. Das Verfahren 400 dient dem schnittstellenmäßigen Verbinden eines Rechenknotens mit einer Aggregatorrückwandplatine eines Mehrknotenservers. Wie es gezeigt ist, weist das Verfahren 400 das Empfangen, durch eine Zwischenelementplatine getrennt von dem Rechenknoten, eines Lüftersteuersignals von dem Rechenknoten über einen Single-Master-Seriellen-Bus (Block 402) auf. Bei Block 404 übersetzt die Zwischenelementplatine das empfangene Lüftersteuersignal. Bei zumindest einigen Ausführungsbeispielen weist das Übersetzen von Lüftersteuersignalen das Zugreifen auf Register einer programmierbaren Schnittstellensteuerung (PIC) auf, wie z. B. ein tatsächliches Lüfterpulsbreitenmodulation-(PWM-)Arbeitszyklusregister, ein Lüftertachometerzählwertregister und ein Lüfterfehlerregister. Falls ein Verkehrssteuerzeitgeber abgelaufen ist (Bestimmungsblock 406), leitet die Zwischenelementplatine das übersetzte Lüftersteuersignal zu einer Aggregatorrückwandplatine über einen Multi-Master-Serieller-Bus (Block 408). Der Leitungsschritt von Block 408 weist beispielsweise das Überbrücken einer Single-Master-I2C-Bus-Topologie zu einer Multi-Master-I2C-Bus-Topologie auf, während ein Verkehrspegel für die Multi-Master-I2C-Bus-Topologie verwaltet wird. Die Zwischenelementplatine speichert dann eine Antwort auf das Lüftersteuersignal zwischen und leitet dieselbe von der Aggregatorrückwandplatine zu dem Rechenknoten (Block 410). Falls der Verkehrssteuerzeitgeber nicht abgelaufen ist (Bestimmungsblock 408), spricht die Zwischenelementplatine auf das übersetzte Lüftersteuersignal mit vorher zwischengespeicherten Informationen an, die von der Aggregatorplatine empfangen werden (Block 412).
-
Die obige Erörterung ist darstellend für die Prinzipien und verschiedenen Ausführungsbeispiele der Erfindung, Zahlreiche Variationen und Modifikationen werden für Fachleute auf diesem Gebiet offensichtlich, sobald die obige Offenbarung vollständig klar ist. Es ist beabsichtigt, dass die folgenden Ansprüche so interpretiert werden, dass sie alle solche Variationen und Modifikationen umfassen.