DE112008001957T5 - Systeme und Verfahren zum Verbessern der Leistungsfähigkeit eines routfähigen Netzwerks - Google Patents
Systeme und Verfahren zum Verbessern der Leistungsfähigkeit eines routfähigen Netzwerks Download PDFInfo
- Publication number
- DE112008001957T5 DE112008001957T5 DE112008001957T DE112008001957T DE112008001957T5 DE 112008001957 T5 DE112008001957 T5 DE 112008001957T5 DE 112008001957 T DE112008001957 T DE 112008001957T DE 112008001957 T DE112008001957 T DE 112008001957T DE 112008001957 T5 DE112008001957 T5 DE 112008001957T5
- Authority
- DE
- Germany
- Prior art keywords
- network
- cpu
- routable network
- compute nodes
- connections
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
- General Factory Administration (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
einer Mehrzahl von Rechenknoten (110);
einem routfähigen Netzwerk (150); und
einer Mehrzahl von Chipsätzen (160), die durch das routfähige Netzwerk mit der Mehrzahl von Rechenknoten (110) verknüpft sind, wobei die Chipsätze (160) Bereichsregister aufweisen, die Verkehr dynamisch von einer beliebigen Vorrichtung über das routfähige Netzwerk (150) zu einem beliebigen der Mehrzahl von Rechenknoten (110) lenken.
Description
- HINTERGRUND
- Datenzentrumsumgebungen stellen enorme Anforderungen an Rechensysteme (z. B. Server, Blades usw.), um einen beträchtlichen Umfang an I/O-Bandbreite zu liefern. Üblicherweise liefert ein Server den benötigten Bedarf an I/O-Bandbreite, indem er Vorkehrungen zum Hinzufügen mehrerer I/O-Karten/Vorrichtungen (auch als „Adapter” bezeichnet) und/oder zum direkten Integrieren eingebetteter Vorrichtungen in dem Server unterstützt. Die eingebetteten Vorrichtungen und/oder Zusatzadapterschnittstellen sind üblicherweise PCI-Express, PCI/PCI-X und HyperTransport, sind jedoch nicht hierauf beschränkt. Die Adapter stellen eine Vielzahl von Vorrichtungsklassen dar, einschließlich Speicherung (SCSI, SATA, SAS, RAID, Datensicherung usw.), Vernetzung (Ethernet, ATM), Clusterbildung (Infiniband, ServerNet), Multimedia (Video, Audio) und Sonstiger.
- Oft ist es aufgrund der großen Zahl von Komponentenanschlussstiften, die erforderlich wären, unpraktisch (z. B. aufgrund von Zuverlässigkeit, Kosten und Komponentenausbeute), viele I/O-Vorrichtungen direkt an einen Rechenknoten oder ein sonstiges Verarbeitungselement anzuschließen. Verkäufer von Prozessoren, Chipsätzen und Komponenten haben sich diesen Problemen bereits zugewandt, indem sie die verschiedenen Funktionen und Schnittstellen (z. B. Rechen-, Speicher- und I/O-Schnittstellen) in mehrere Vorrichtungen unterteilen. Das Architektur- und Partitionierungsschema liefert eine generische und einfache Art und Weise, mehrere Plattformen zu erstellen, die von kleinen, einfachen Systemen, die eine oder zwei Komponenten aufweisen, bis zu großen Systemen mit einem oder mehreren Auftretensfällen jeder Komponente reichen.
- Größere Systeme (z. B. auf Opteron basierende Systeme) können mehrere Prozessorkerne/-buchsen, mehrere Chipsatzkomponenten und viele I/O-Erweiterungssteckplätze umfassen. Diese Systeme sind dazu entworfen, die CPU-CPU- und CPU-Speicher-Bandbreite zu optimieren. Demgemäß sind die meisten der Busse/Zwischenträgeren des Rechenknotens (oder des Prozessors) dafür reserviert, Speicher, Speichersteuerungen und/oder andere Prozessoren aneinander anzuschließen. Je nach der Komplexität des Systems können einem oder mehreren Prozessoren entweder keine zusätzlichen Schnittstellen zur Verfügung stehen, oder eine (vielleicht in Bezug auf die Bandbreite) sehr begrenzte/eingeschränkte Schnittstelle kann ihm bzw. ihnen zur Verfügung stehen, um sich mit dem I/O-Teilsystem (oder anderen Teilen des Rechengitters in einer Mehrrechenknoten-Umgebung) zu verbinden. Dieses Szenario kann die I/O- oder Erweiterungschipsätze („Chipsatz”) in die „Ecken” oder in die Peripherie der Verarbeitungselemente in dem Rechenknoten treiben.
- Ein weiterer Nebeneffekt einer verringerten/begrenzten Anschließbarkeit zwischen dem Chipsatz und den Prozessor-/Speicherelementen besteht darin, dass ein großes Missverhältnis zwischen dem Umfang an Bandbreite auf beiden Seiten des Protokollumsetzers (oder „Chipsatzes”) vorliegen kann. Beispielsweise kann eine Systemkonfiguration eine Chipsatzkomponente aufweisen, die über zweiunddreißig Bahnen von PCI-Express (PCIe) unterstützt, während die Chipsatz-Zu-Prozessor/Speicher-Schnittstelle lediglich höchstens acht Bahnen aufweist. Verkäufer von Chipsätzen haben sich im Auftrag von Systemverkäufern dafür entschieden, zusätzliche Schnittstellen (z. B. HyperTransport) zwischen den Chipsatz- und Prozessor/Speicher-Komponenten einzufügen. Die zusätzlichen Schnittstellen liefern nicht nur zusätzliche Bandbreite, sondern liefern auch eine bessere Ausgewogenheit zwischen den verschiedenen Schnittstellen (Chipsätze, Protokolle usw.). Die Einfügung zusätzlicher Schnittstellen in den Chipsatz kann die Anzahl von Chipsatzkomponenten, die für einen gegebenen Entwurf benötigt werden, verringern, was zu Kostenersparnissen führt.
- Chipsätze können eine sehr unterschiedliche „Ansicht” der Knoten (z. B. der Prozessor- und Speicherkomponenten) aufweisen. Wie zuvor erwähnt wurde, kann die Optimierung des CPU-CPU- und CPU-Speicher-Zwischenträgers nicht nur ermöglichen, dass der Chipsatz direkt an jeden Knoten angeschlossen wird. Chipsatztransaktionen zu/von Knoten müssen von einem Knoten zu einem anderen Knoten schreiten, bis der Zielknoten erreicht ist. Jeder Link bzw. jede Verbindung zwischen Knoten und/oder dem Chipsatz stellt einen „Sprung” (einen „Hop”) dar. Aus der Perspektive des Chipsatzes können verschiedene Knoten in der Rechenumgebung eine unterschiedliche Anzahl von Sprüngen entfernt sein. Knoten, die weniger Sprünge aufweisen, sind „näher”, wohingegen Knoten mit einer höheren Anzahl von Sprüngen von dem Chipsatz „ferner” sind. Die Systemleistungsfähigkeit ist direkt auf den Umfang an aktiver Chipsatzbandbreite (z. B. I/O-Bandbreite) und die Anzahl von Sprüngen, die der Chipsatz-Zu-Ziel-Knoten- bezogen. Die Chipsatztransaktionen werden an jedem Knoten entlang des Chipsatz-Zu-Ziel-Knoten-Pfades reproduziert. Die Chipsatztransaktionen nehmen Bandbreite von der verfügbaren Bandbreite (z. B. Speicher) jedes lokalen Knotens ein und begrenzen somit den Umfang an Bandbreite des Prozessors bzw. der Prozessoren und sonstiger Vorrichtungen in diesem Knoten.
- Wenn der Chipsatz mehrere Verbindungen in die Rechenknotenumgebung hinein unterstützt, steht zusätzliche Chipsatzbandbreite zur Verfügung. Derzeit geplante Chipsatzarchitekturen liefern entweder eine weiche oder eine harte Partitionierung zwischen den in Verarbeitungsrichtung vorgelagerten (Rechenknoten-)Schnittstellen und den in Verarbeitungsrichtung nachgelagerten (Rechenknoten-, Netzwerk- oder I/O-)Schnittstellen. Verkehr (DMA, Unterbrechungen, Nachrichten, Verwaltung/usw.) wird von einer nachgelagerten Schnittstelle an lediglich eine vorgelagerte Schnittstelle angeheftet. Dieses Anheften (über eine Software- und/oder Hardware-Konfiguration/Verkopplung) einer nachgelagerten Schnittstelle an eine einzelne vorgelagerte Schnittstelle liefert aufgrund der Anzahl von Sprüngen, auf die ein bestimmter Verkehr zwischen dem Chipsatz und dem Zielknoten trifft, eventuell nicht die optimale Systemleistungsfähigkeit.
- Das Problem ist sehr offensichtlich, wenn der Betriebssystem-Disponierer Aufgaben/Prozesse (z. B. Treiber, Anwendungen) von einem Knoten zu einem anderen innerhalb der Rechenumgebung verschiebt. Die dynamische Verschiebung dieser Prozesse kann die Systemleistungsfähigkeit je nach dem Verkehrsprofil (z. B. der Anzahl von Sprüngen) des Chipsatzes entweder verbessern oder behindern.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein schematisches Diagramm eines exemplarischen Verarbeitungssystems, das ein routfähiges bzw. in den Verbindungen steuerbares (engl. routable) Netzwerk (engl. fabric) aufweist. -
1a und1b veranschaulichen eine exemplarische Adressumsetzung. -
2 ist ein Diagramm, auf hoher Ebene, eines exemplarischen 2S-Entwurfs, das eine verbesserte Leistungsfähigkeit unter Verwendung eines sich gabelnden Entwurfs in einem routfähigen Netzwerk zeigt. -
3 ist ein Diagramm, auf hoher Ebene, eines exemplarischen 4S-Entwurfs, das eine verbesserte Leistungsfähigkeit unter Verwendung eines sich gabelnden Entwurfs in einem routfähigen Netzwerk zeigt. -
4 ist ein Diagramm, auf hoher Ebene, eines exemplarischen 8S-Entwurfs, das eine verbesserte Leistungsfähigkeit unter Verwendung eines sich gabelnden Entwurfs in einem routfähigen Netzwerk zeigt. -
5 ist ein Flussdiagramm, das exemplarische Operationen zum Verbessern der Leistungsfähigkeit eines routfähigen Netzwerks veranschaulicht. - AUSFÜHRLICHE BESCHREIBUNG
- Es ist vorteilhaft, in der bzw. den Chipsatzvorrichtung(en) ein zusätzliches Niveau an Intelligenz bereitzustellen, um ihren Verkehr unter Verwendung des direktesten Pfades (z. B. der geringsten Anzahl von Sprüngen) zu dem Zielknoten zu routen bzw. leiten. Ein Versehen des CPU-Komplexes mit mehreren Pfaden kann die Anzahl von Sprüngen verringern, wodurch die Reproduktion von Daten auf den CPU-Bussen verringert oder gänzlich eliminiert wird. Exemplarische Ausführungsbeispiele erhöhen die I/O-Bandbreitenanschließbarkeit und nutzen alle verfügbaren I/O-Verbindungen. Dies ist besonders für Vorrichtungen mit hoher Bandbreite wünschenswert (z. B. GPUs, NICs mit 10 Gbps und RAID-Adapter).
- Exemplarisches System
-
1 ist ein schematisches Diagramm eines exemplarischen Verarbeitungssystems100 , das ein routfähiges Netzwerk150 aufweist. Bei einem exemplarischen Ausführungsbeispiel kann das Verarbeitungssystem100 eine Mehrzahl von Rechenknoten110 und110' umfassen. Der Rechenknoten110 kann einen oder mehrere CPU-Kern122a –b, Cache114a –d und/oder Systemanforderungsschnittstelle(n)116 aufweisen. Ein Kreuzschienenschalter118 kann vorgesehen sein, um die CPU-Kerne112a –b über eine integrierte Speichersteuerung122 mit den gemeinsam genutzten Speicherressourcen120a –b zu verknüpfen. Obwohl dies hierin nicht explizit angegeben ist, sind gleiche Komponenten auch in1 für den Rechenknoten110' gezeigt und sind mit dem „Hochstellungs”-Symbol bezeichnet. Selbstverständlich können bei dem Verarbeitungssystem100 auch mehr als zwei Rechenknoten110 und110' vorgesehen sein, wie aus der folgenden Beschreibung ohne weiteres hervorgeht. - Jeder Rechenknoten
110 und110' kann auch eine oder mehr Schnittstellen zu dem routfähigen Netzwerk umfassen. Bei dem exemplarischen Ausführungsbeispiel können diese Schnittstellen aus einer oder mehreren HT-Schnittstellen130 bzw.130' bestehen. Allgemein können HT-Schnittstellen130 und130' eine Schaltungsanordnung und einen Programmcode (z. B. Firmware) umfassen, um eine Mehrzahl von Vorrichtungen140a –f (direkt oder über eine oder mehrere geeignete Zwischenträgerumsetzungsvorrichtungen (z. B. Brückenvorrichtungen)) über das routfähige Netzwerk150 mit einem oder mehreren der Rechenknoten110 und110' zu verknüpfen. Selbstverständlich können auch andere Punkt-zu-Punkt-Verbindungen implementiert werden, und diese sind nicht auf die HT-Verbindung beschränkt (die HT-Verbindung ist bei diesem Ausführungsbeispiel lediglich beispielhaft). Die Vorrichtungen können Speichermedien (z. B. RAID), Netzschnittstellenkarten (NICs – network interface cards), Multimedia-Vorrichtungen, PCIe-Karten, sowohl eingebettete als auch nicht-eingebettete Vorrichtungen und/oder andere Vorrichtungen, die derzeit bekannt sind oder später entwickelt werden, umfassen. - Beliebige der Vorrichtungen
140a –f können sich über einen Chipsatz160 oder160' über einen direkten Pfad155a –e durch das routfähige Netzwerk150 mit einem beliebigen der Rechenknoten110 und110' verknüpfen. Obwohl sich alle Vorrichtungen140a –f gleichzeitig mit getrennten Computerknoten110 und110' verknüpfen können und (sich) mehrere Vorrichtungen140a –f gleichzeitig über das routfähige Netzwerk verknüpfen/kommunizieren können. - Bei dem exemplarischen Ausführungsbeispiel können Vorrichtungen, die mit dem routfähigen Netzwerk verknüpft sind, eine oder mehrere logische und/oder physische Netzwerkschnittstellen enthalten. Eine einzelne physische Schnittstelle kann in mehrere logische Schnittstellen unterteilt sein, von denen jede eindeutige „Tore” oder „Pfade” in das routfähige Netzwerk liefert. Bei exemplarischen Ausführungsbeispielen können mehrere Pfade
155a –e unter Verwendung von HyperTransport-Verbindungen eingerichtet werden. Die HyperTransport3.0-Spezifikation ermöglicht, dass Verbindungen in mehrere unabhängige Verknüpfungen unterteilt (z. B. gegabelt) werden. Dies ermöglicht eine HT-basierte Vorrichtung mit der Fähigkeit, sich mit mehreren/anderen HT-Vorrichtungen zu verknüpfen. Beispielsweise kann eine 16x-HT-Verbindung in zwei logische 8x-HT-Verbindungen geteilt oder unterteilt (z. B. gegabelt) werden. Das heißt, dass ein einzelnes HT-Tor von einem Prozessor in logische Tore (z. B. HT0, HT1, HT2 etc.) geteilt werden kann, um mehrere Pfade155a und155b zu liefern. Eine weitere einzelne HT-Verbindung von dem Chipsatz160' kann ebenfalls in logische Tore HT0 und HT1 geteilt (z. B. gegabelt) werden, um Pfade155c und155d zu liefern. Es wird darauf hingewiesen, dass bei der exemplarischen Implementierung jeder Chipsatz160 ,160' zwei unabhängige HT-Verbindungen aufweist. Bei anderen Ausführungsbeispielen kann jedoch eine gegabelte Verbindung verwendet werden. Es wird darauf hingewiesen, dass die gegabelte HT-Verbindung in der Lage ist, entweder als zwei 8x-HT-Verbindungen oder als eine einzelne 16x-HT-Verbindung zu operieren, je nach Bandbreitenanforderungen. - Doppel-HT-Schnittstellen ermöglichen, dass jeder Chipsatz
160 und160' bei dem in1 gezeigten 2S-Entwurf mit beiden Rechenknoten110 und110' verknüpft ist und dass Verkehr zwischen beiden Rechenknoten110 und110' geleitet wird. Bei 4S-(siehe3 ) und 8S-(siehe4 )Entwürfen ermöglicht eine Gabelung (und/oder mehrere HT-Schnittstellen) eine Verwendung desselben I/O-Teilsystems zwischen den zwei Plattformen. Beispielsweise ist bei dem 4S-Entwurf jede Chipsatzkomponente über unabhängige 8x-Verbindungen mit zwei Prozessoren verknüpft, was dem Chipsatz die doppelte Anzahl an Verknüpfungen mit dem Rechenknoten110 ermöglicht oder eine gleichzeitige Verknüpfung zwischen mehreren Rechenknoten110 und110' ermöglicht. - Es wird darauf hingewiesen, dass es keine theoretische Begrenzung der Anzahl von Pfaden gibt, die in einem routfähigen Netzwerk enthalten sein können, und dass Gabelung lediglich als exemplarisches Ausführungsbeispiel gezeigt ist. Die Anzahl von Pfaden wird vorwiegend durch die Verknüpfbarkeit begrenzt, die in dem routfähigen Netzwerk und in Vorrichtungen, die eine Schnittstelle mit dem routfähigen Netzwerk bilden, implementiert ist. Außerdem wird darauf hingewiesen, dass das Verarbeitungssystem nicht auf 1S-, 2S-, 4S- oder 8S-Entwürfe beschränkt ist und auch bezüglich anderer Verarbeitungsumgebungen erweitert werden kann.
- Es wird ferner darauf hingewiesen, dass eine Gabelung und Doppel-HT-Verbindungen lediglich beschrieben werden, um ein Beispiel eines repräsentativen Chipsatzes und einer repräsentativen Prozessorarchitektur, der bzw. die implementiert werden kann, zu veranschaulichen. Bei anderen Ausführungsbeispielen kann auch in Betracht gezogen werden, zu ermöglichen, dass der Chipsatz direkt mit 2+-Rechenknoten (CPUs) verknüpft ist.
- Bei exemplarischen Ausführungsbeispielen kann eine Bereichsregistrierung
170 als physische Registrierung implementiert sein, die in dem Schnittstellenstapel jedes Chipsatzes160 und160' eingerichtet ist, um Verkehr dynamisch durch die mehreren Pfade155a –e in dem routfähigen Netzwerk150 zu lenken. Das BIOS oder die Software kann die Chipset-Leitwegtabellen einrichten. Beispielsweise kann das BIOS Erweiterungen einer Leitwegtabelle liefern, um eine „gewichtete” Ansicht einer Affinität von CPU/Speicher zu Chipsatz und Endpunkt zu liefern. Dies liefert einen Mechanismus, dem Betriebssystem und der Software mitzuteilen, wie viele Sprünge für eine bestimmte I/O-Vorrichtung zur Verfügung stehen, wodurch das Betriebssystem und die Treiber in die Lage versetzt werden, den I/O-Vorrichtungs-(oder Rechenknoten-)Verkehr auf der Basis des direktesten Pfades mit dem anderen Netzwerkendpunkt (DRAM-Speicher oder sonstige Vorrichtung) zu affinisieren. - Außerdem lenkt die Bereichsregistrierung
170 und eine zugeordnete Logik/Schaltungsanordnung Verkehr (DMA-Anforderungen, Nachrichten usw.) von Vorrichtungstoren B1–Bn zu einem oder mehreren der Netzwerkzwischenträgertore155 . Die Bereichsregistrierung lenkt den Verkehr, um den Pfad des Verkehrs zu optimieren (indem sie die Anzahl von Sprüngen minimiert). - Bei einem exemplarischen Ausführungsbeispiel umfasst jeder Leitwegtabelleneintrag einen Deskriptor, der die physische Basisadresse, eine Physische-Adresse-Grenze (oder Aperturgröße) definiert, und konfigurierbare Zugriffsparameter einschließlich Lesen, Schreiben, vorheriges Abrufen und Schreib-Posten. Jeder Leitwegtabelleneintrag kann auch einen Konfigurationsmechanismus enthalten, der den Deskriptor einem spezifischen vorgelagerten Tor zuordnet/den Deskriptor an ein solches bindet. Jeder Deskriptor kann zu einem vorgelagerten Tor (aber nicht zu beiden) geroutet werden. Es stehen mehrere Deskriptoren zur Verfügung, um zu ermöglichen, dass mehrere Adressbereiche zwischen den zwei vorgelagerten Toren abgebildet werden.
- Wenn eine Bus-Master-(DMA-)Anforderung auftritt, führt der Leitwegmittler
180 bei Bedarf eine Virtuelle-Zu-Physischer-Adresse-Umsetzung durch. Bei einem exemplarischen Ausführungsbeispiel kann der Leitwegmittler eine IO-Speicher-Abgebildete-Einheit (IOMMU, I/O-Memory-Mapped-Unit) sein. Der Leitwegmittler (IOMMU) ist verantwortlich für eine Virtuelle-Zu-Physischer-Adresse-Umsetzung und/oder Sicherheits-/Authentifizierungsaufgaben. In Fällen, bei denen mehrere Umsetzungen erforderlich sein können, um die abschließende physische Adresse zu bestimmen, kann der Leitwegmittler auch eine Virtuelle-Zu-Virtueller-Adresse-Umsetzung durchführen. In jedem Fall wird dann die umgesetzte (falls erforderlich) Adresse mit den Leitwegtabelleneinträgen verglichen, um zu bestimmen, an welches vorgelagerte Tor der Zyklus über den Kreuzschienenschalter185 weitergeleitet werden sollte. Das vorgelagerte Tor leitet anschließend die Transaktion an den Routfähiges-Netzwerk-Zwischenträger155 weiter. - Adressumsetzung wird unter Bezugnahme auf
1a und1b besser verständlich.1a zeigt eine exemplarische physische Speicherabbildung aus der Perspektive jedes Rechenknotens. Bei diesem Beispiel entspricht eine Rechenabbildung190 einem Rechenknoten1 , und eine Rechenabbildung192 entspricht einem Rechenknoten2 (obwohl beliebig viele Rechenknoten vorliegen können). Der Rechenknoten1 kann ohne eine gewisse Adressumsetzung nicht direkt auf den Speicher/die Ressourcen des Rechenknotens2 zugreifen. Der Rechenknoten1 hat nicht die Fähigkeit, direkt auf einen Speicher an dem Rechenknoten2 zuzugreifen (am oberen Ende des adressierbaren Raums gezeigt), sondern es ist eine gewisse Adressumsetzung nötig, um eine Rückabbildung in den physischen Bereich (z. B. verfügbarer DRAM) an dem Rechenknoten2 vorzunehmen. -
1b zeigt eine exemplarische Systemarchitektur mit zwei Rechenknoten (wie in1 gezeigt ist), von denen jeder seinen eigenen lokalen Speicher und seine eigene Ansicht von Systemressourcen aufweist (wie in1a gezeigt ist). Die Schalter195a –b (z. B. HT-Brücken/-Schalter, PCIe oder ein sonstiger Netzwerkzwischenträger) dienen als Netzwerkzwischenträger. - Der Netzwerkzwischenträger liefert Adressumsetzungsdienste (falls erforderlich) und lenkt Verkehr zu den entsprechenden Toren oder Pfaden in dem Netzwerk. Bei dem in
1b gezeigten Beispiel veranschaulichen die Pfeile und der Text, welche Art von Adressumsetzungen in den verschiedenen Stufen auftreten können. Bei diesem Beispiel wird lediglich die Vorrichtung170 (z. B. Speicherungs- und/oder Netzsteuerung) zum Anvisieren eines Rechenknotenzugriffs im Detail dargelegt. - Vor weiteren Ausführungen wird darauf hingewiesen, dass ein dynamisches Lenken von Verkehr durch die mehreren Pfade
155a –e in dem routfähigen Netzwerk150 , wie es eben beschrieben wurde, Veranschaulichungszwecken dient und keine Einschränkung darstellen soll. Außerdem können auch andere funktionelle Komponenten vorgesehen sein, und sie sind nicht auf die hierin gezeigten und beschriebenen beschränkt. - Auch wird darauf hingewiesen, dass die hierin beschriebenen exemplarischen Ausführungsbeispiele besonders für eine Verwendung innerhalb des PCI-Konfigurationsraums gut geeignet sind. Auf den Konfigurationsraum kann über standardmäßige PCI-Konfigurationszyklen, speicherabgebildete Zyklen oder eine andere Art von Nachrichtenübermittlungs- oder Verwaltungsprotokoll zugegriffen werden. Jede vorgelagerte Verbindung (z. B. HT0 und HT1) ist mit einem eindeutigen Tor an einem oder mehreren Prozessoren (z. B. Rechenknoten) verknüpft. Durch übliche architektonische Implementierungen (z. B. PCI-basierte Systeme) enthält jede I/O-Verbindung ihren eigenen Satz von eindeutigen PCI-Busnummern. Die integrierten Vorrichtungen (z. B. PCI-Express-Brücken, P2P-Brücken, eingebettete Vorrichtungen) können bezüglich jedes Tores, aber nicht für beide konfiguriert („angeheftet”) sein (um üblichen Softwarevorrichtungsentdeckungsalgorithmen zu entsprechen). Einzelne Vorrichtungen müssen lediglich einmal in dem PCI-Konfigurationsraum erscheinen (es sei denn, Software/Hardware ist enthalten, um Vorrichtungen zu handhaben, die durch eine oder mehrere netzwerkverknüpfte Vorrichtungen mehrmals entdeckt würden). Es wird darauf hingewiesen, dass jede CPU eine eindeutige PCI-Konfigurationsleitwegtabelle aufweisen kann, um das Leiten von PCI- Konfigurationszyklen zu dem Chipsatz zu optimieren. Dies ermöglicht mehrere Eintrittspunkte für Konfigurationszyklen (z. B. kann ein PCI-Konfigurationszyklus zu einem Bus 0xYY von jeglichem der beiden Routfähiges-Netzwerk-Tore in eine Vorrichtung eintreten, je nachdem, welche Vorrichtung den Konfigurationszyklus einleitete/weiterleitete) und liefert den direktesten (z. B. kürzesten) Leitpfad zwischen den Initiator- und Zielvorrichtungen.
- Außerdem wird darauf hingewiesen, dass die hierin beschriebenen exemplarischen Ausführungsbeispiele ermöglichen, dass die gesamte I/O in allen Produktnummern (oder SKUs) verfügbar ist. Bei 4S- und 8S-Entwürfen ermöglicht eine Gabelung eine Verwendung desselben I/O-Teilsystems seitens der zwei Plattformen. Beispielsweise kann das 4S-System entweder als 2S oder 4S konfiguriert sein (jede Chipsatzkomponente ist über eine eindeutige 8x-Verbindung mit zwei Prozessoren verknüpft, was eine vollständige I/O-Verknüpfbarkeit entweder in einer 2S- oder in einer 4S-Konfiguration ermöglicht). Das 8S-System kann entweder als 4S oder 8S konfiguriert sein (die ersten vier Prozessoren haken anhand von 8x-Verbindungen in die vier Chipsatzkomponenten ein, und die verbleibenden 4 Prozessoren werden über 8x-Verbindungen in dieselben Chipsatzkomponenten eingehakt).
- Die hierin beschriebenen exemplarischen Ausführungsbeispiele ermöglichen ferner eine höhere Gleichzeitigkeit zwischen I/O (Chipsatz) und Systemspeicher (d. h. es gibt mehrere aktive HT-Verbindungen). Alle Verbindungen können innerhalb eines Systems verwendet werden, ohne Chipsatzkomponenten hinzufügen zu müssen.
- Ferner kann die durchschnittliche Anzahl von „Sprüngen”, die die Daten zwischen I/O (Chipsatz) und Systemspeicher-2S-Entwurf nehmen, verringert werden, falls die Vorrichtungen (z. B. Chipsätze) in dem routfähigen Netzwerk Verkehr zu dem nächstgelegenen und/oder optimalsten Tor lenken. Beispielsweise liegt die durchschnittliche Anzahl von Sprüngen bei einem 2S-Entwurf zwischen 1,5 und 1,0 (eine Verbesserung von 33%). Die durchschnittliche Anzahl von Sprüngen liegt bei einem 4S-Entwurf zwischen 1,75 und 1,5 (eine Verbesserung von 14%). Und die durchschnittliche Anzahl von Sprüngen liegt bei einem 8S-Entwurf zwischen 1,875 und 1,75 (eine Verbesserung von 6,7%), wie durch Bezugnahme auf die in
2 –4 gezeigten Veranschaulichungen besser verständlich wird. -
2 ist ein Diagramm, auf hoher Ebene, eines exemplarischen 2S-Entwurfs, das eine verbesserte Leistungsfähigkeit unter Verwendung eines sich gabelnden Entwurfs in einem routfähigen Netzwerk zeigt. Bei einem traditionellen 2S-Zwischenträger200 ist die gesamte I/O über 16x-HT-Verbindungen mit CPU1 verknüpft. Die Kreuzschienenfähigkeiten der CPU-Buchse2 sind nicht vollständig verwirklicht, und es sind durchschnittlich 1,5 Sprünge von dem Chipsatz erforderlich, um die Speicherressourcen an einer der beiden CPUs zu erreichen. - Bei einem gegabelten 2S-Entwurf
250 ist jedoch jeder Prozessor über eine 8x-HT-Verbindung mit einem Chipsatz verknüpft. Die gesamte I/O ist sowohl in der 1S- als auch in der 2S-Konfiguration verfügbar, und I/O ist über alle Kreuzschienen hinweg ausgeglichen. Dementsprechend sind durchschnittlich 1,0 Sprünge erforderlich, um die Speicherressourcen an einer der CPUs zu erreichen, was zu einer 33%igen Verringerung der Anzahl von Sprüngen im Vergleich zu dem traditionellen 2S-Zwischenträger200 führt. -
3 ist ein Diagramm, auf hoher Ebene, eines exemplarischen 4S-Entwurfs, das eine verbesserte Leistungsfähigkeit unter Verwendung eines sich gabelnden Entwurfs in einem routfähigen Netzwerk zeigt. Bei einem traditionellen 4S-Zwischenträger300 ist die gesamte I/O über 16x-HT-Verbindungen mit CPU1 verknüpft, und alle CPUs sind über 16x-HT-Verbindungen miteinander verknüpft. Es sind durchschnittlich 1,75 Sprünge von dem Chipset erforderlich, um die Speicherressourcen an einer der beiden CPUs zu erreichen. - Bei einem gegabelten 4S-Entwurf
350 ist jedoch jeder Prozessor über eine 8x-HT-Verbindung mit einem Chipsatz verknüpft, und alle CPUs sind über 16x-HT-Verbindungen miteinander verknüpft. Die gesamte I/O ist sowohl in der 2S- als auch in der 4S-Konfiguration verfügbar, und I/O ist über alle Kreuzschienen hinweg ausgeglichen. Dementsprechend sind durchschnittlich 1,5 Sprünge erforderlich, um die Speicherressourcen an einer der CPUs zu erreichen, was zu einer 14%igen Verringerung der Anzahl von Sprüngen im Vergleich zu dem traditionellen 4S-Zwischenträger300 führt. -
4 ist ein Diagramm, auf hoher Ebene, eines exemplarischen 8S-Entwurfs, das eine verbesserte Leistungsfähigkeit unter Verwendung eines sich gabelnden Entwurfs in einem routfähigen Netzwerk zeigt. Bei einem traditionellen 8S-Zwischenträger400 ist die gesamte I/O über 8x-HT-Verbindungen mit CPU1 verknüpft, und alle CPUs sind über 8x-HT-Verbindungen miteinander verknüpft. Jedoch steht der I/O im Vergleich zu einem traditionellen 4S-Entwurf lediglich 50% der HT-Bandbreite zur Verfügung. Das heißt, es liegen vier ungenutzte HT-Verbindungen (CPU5-CPU8) vor. Es werden durchschnittlich 1,875 Sprünge von dem Chipsatz benötigt, um die Speicherressourcen an einer der beiden CPUs zu erreichen. - Bei einem gegabelten 8S-Entwurf
450 ist jedoch jeder Prozessor über eine 8x-HT-Verbindung mit einem Chipsatz verknüpft, und alle CPUs sind über 8x-HT-Verbindungen miteinander verknüpft. Die gesamte I/O-Teilsystem ist sowohl in der 4S- als auch in der 8S-Konfiguration verfügbar, und alle HT-Verbindungen werden genutzt (d. h. es liegen 8 Verbindungen zu der I/O vor). Dementsprechend sind durchschnittlich 1,75 Sprünge erforderlich, um die Speicherressourcen an einer der CPUs zu erreichen, was zu einer 6,7%igen Verringerung der Anzahl von Sprüngen im Vergleich zu dem traditionellen 8S-Zwischenträger400 führt. - Es wird darauf hingewiesen, dass die oben erörterten exemplarischen Systeme zu Veranschaulichungszwecken bereitgestellt werden. Wieder andere Implementierungen werden ebenfalls in Betracht gezogen.
- Exemplarische Operationen
-
5 ist ein Flussdiagramm, das exemplarische Operationen zum Verbessern der Leistungsfähigkeit eines routfähigen Netzwerks veranschaulicht. Operationen500 können als Logik und/oder Logikanweisungen auf einem oder mehreren computerlesbaren Medien verkörpert sein. Wenn sie ausgeführt werden, bewirken die Logikanweisungen, dass eine oder mehrere Vorrichtungen bezüglich eines Implementierens der beschriebenen Operationen programmiert wird bzw. werden. Bei einem exemplarischen Ausführungsbeispiel können die in den Figuren gezeigten Komponenten und Verknüpfungen dazu verwendet werden, die Leistungsfähigkeit eines routfähigen Netzwerks zu verbessern. - Bei der Operation
510 werden Datenpakete (beispielsweise, jedoch nicht beschränkt auf, DMA-Anforderungen, Verwaltung, Konfiguration, Unterbrechung und Nachrichten) von beliebigen einer Mehrzahl von Vorrichtungen, die mit einem Rechenkomplex verknüpft sind, empfangen. Der Rechenkomplex kann eine beliebige Kombination von Prozessoren, Chipsätzen, Speicher, Routfähiges-Netzwerk-Schnittstellen und/oder Vorrichtungen enthalten. Bei der Operation520 wird ein verfügbarer Pfad für die Datenpakete durch ein routfähiges Netzwerk auf der Basis von Daten, die in einer Mehrzahl von Bereichsregistern gespeichert sind, identifiziert. Beispielsweise können die Bereichsregister oder der Virtualisierungsmittler (z. B. IOMMU) dahin gehend implementiert sein, Adressen der Datenpakete umzusetzen, um den effizientesten und/oder direkten Pfad durch das routfähige Netzwerk zu identifizieren. Bei der Operation530 werden die Datenpakete dynamisch zu jeglichem einer Mehrzahl von Rechenknoten in dem Rechenkomplex gelenkt. - Ein dynamisches Lenken der Datenpakete zu beliebigen einer Mehrzahl von Rechenknoten in dem Rechenkomplex verringert die Anzahl von CPU-CPU- oder CPU-I/O-Sprüngen. Ein dynamisches Lenken der Datenpakete zu beliebigen einer Mehrzahl von Rechenknoten in dem Rechenkomplex verringert auch eine Datenreproduktion auf CPU-Bussen. Dies ermöglicht außerdem, dass die Skalierbarkeit/Erweiterbarkeit/Expandierbarkeit des Netzwerks mehrere Rechenknoten einschließt.
- Die hierin gezeigten und beschriebenen Operationen sind vorgesehen, um exemplarische Ausführungsbeispiele zum Verbessern der Leistungsfähigkeit eines routfahigen Netzwerks zu veranschaulichen. Es wird darauf hingewiesen, dass die Operationen nicht auf die gezeigte und beschriebene Reihenfolge beschränkt sind. Außerdem können noch weitere Operationen implementiert werden.
- Beispielsweise können Operationen eine Physisch-Zu-Virtuell-, Physisch-Zu-Physisch- und/oder Virtuell-Zu-Virtuell-Adressumsetzung implementieren (z. B. auf der Basis von Daten, die in den Bereichsregistern und/oder in dem Virtualisierungsmittler wie z. B. der IOMMU gespeichert sind). Die Umsetzungsmerkmale können durch eine oder mehrere I/O-Speicherverwaltungseinheiten (IOMMUs), die IOMMU-Einträge verwenden, gehandhabt werden. Die anfänglichen Umsetzungsdienste und Zugriffsprivilegien (z. B. Sicherheit) werden durch die IOMMU ausgeführt. Die umgesetzte Adresse (entweder virtuell zu physisch oder virtuell zu virtuell) wird auf der Basis der resultierenden umgesetzten Adresse an das geeignete „Netzwerktor” gesendet.
- Zusätzlich zu den hierin explizit dargelegten spezifischen Ausführungsbeispielen werden Fachleuten ausgehend von der Betrachtung der hierin offenbarten Spezifikation andere Aspekte und Implementierungen einleuchten. Es ist beabsichtigt, dass die Spezifikation und die veranschaulichten Implementierungen lediglich als Beispiele angesehen werden, mit einem wahren Schutzumfang und einer wahren Wesensart der folgenden Patentansprüche.
- ZUSAMMENFASSUNG
- Es werden Systeme und Verfahren zum Verbessern der Leistungsfähigkeit eines routfähigen Netzwerks offenbart. Bei einem exemplarischen Ausführungsbeispiel kann ein System eine Mehrzahl von Rechenknoten, ein routfähiges Netzwerk und eine Mehrzahl von Chipsätzen umfassen, die durch das routfähige Netzwerk mit der Mehrzahl von Rechenknoten verknüpft sind. Die Chipsätze weisen Bereichsregister auf, die Verkehr dynamisch von einer beliebigen Vorrichtung über das routfähige Netzwerk zu beliebigen der Mehrzahl von Rechenknoten lenken.
Claims (9)
- Ein System mit (
100 ): einer Mehrzahl von Rechenknoten (110 ); einem routfähigen Netzwerk (150 ); und einer Mehrzahl von Chipsätzen (160 ), die durch das routfähige Netzwerk mit der Mehrzahl von Rechenknoten (110 ) verknüpft sind, wobei die Chipsätze (160 ) Bereichsregister aufweisen, die Verkehr dynamisch von einer beliebigen Vorrichtung über das routfähige Netzwerk (150 ) zu einem beliebigen der Mehrzahl von Rechenknoten (110 ) lenken. - Das System (
100 ) gemäß Anspruch 1, ferner mit: zumindest einer Tabelle und Logik, um physische Adressen umzusetzen, um Verkehr von einer beliebigen Vorrichtung über das routfähige Netzwerk (150 ) zu einem beliebigen der Mehrzahl von Rechenknoten (110 ) zu lenken; oder zumindest einer Tabelle und Logik, um virtuelle Adressen umzusetzen, um Verkehr von einer beliebigen Vorrichtung über das routfähige Netzwerk (150 ) zu einem beliebigen der Mehrzahl von Rechenknoten (110 ) zu lenken. - Das System (
100 ) gemäß Anspruch 1, bei dem das routfähige Netzwerk (150 ) zumindest eines der Folgenden umfasst: Punkt-zu-Punkt-Verbindung-Verbindungen, HT-Verbindungen, geteilte HT-Verbindungen und gegabelte geteilte HT-Verbindungen. - Das System (
100 ) gemäß Anspruch 1, bei dem die Mehrzahl von Chipsätzen (160 ) Brücken umfasst und die Brücken zumindest eines der Folgenden umfassen: PCI-Steuerungen, PCIe-Steuerungen, Speicherungssteuerungen, Videosteuerungen, Audiosteuerungen, I/O-Speicherverwaltungseinheiten (IOMMUs) und Netzschnittstellensteuerungen. - Das System (
100 ) gemäß Anspruch 1, bei dem die Mehrzahl von Chipsätzen (160 ) Endpunktvorrichtungen umfassen und die Endpunktvorrichtungen zumindest eines der Folgenden umfassen: einen Zusatzadapter oder eine eingebettete Komponente, Speichermedien, Netzsteuerungen, Speichervorrichtungen, Videovorrichtungen und Audiovorrichtungen. - Ein Verfahren (
500 ) zum Verbessern der Leistungsfähigkeit eines leitfähigen Netzwerks, umfassend: Empfangen (510 ) von Datenpaketen von beliebigen einer Mehrzahl von Vorrichtungen, die mit einem Rechenkomplex verknüpft sind; Identifizieren (520 ) eines verfügbaren Pfades für die Datenpakete durch ein routfähiges Netzwerk (150 ) auf der Basis von Daten, die in einer Mehrzahl von Bereichsregistern gespeichert sind; und dynamisches (530 ) Lenken der Datenpakete zu beliebigen einer Mehrzahl von Rechenknoten (110 ) in dem Rechenkomplex. - Das Verfahren (
500 ) gemäß Anspruch 7, bei dem das dynamische Lenken der Datenpakete zu beliebigen einer Mehrzahl von Rechenknoten (110 ) in dem Rechenkomplex die Anzahl von CPU-CPU- oder CPU-I/O-Sprüngen verringert. - Das Verfahren (
500 ) gemäß Anspruch 7, bei dem das Verringern der Anzahl von CPU-CPU- oder CPU-I/O-Sprüngen die Datenreproduktion auf CPU-Bussen verringert. - Das Verfahren (
500 ) gemäß Anspruch 7, bei dem das routfähige Netzwerk (150 ) eine geteilte Punkt-zu-Punkt-Verbindung, Punkt-zu-Punkt-Verbindungen oder eine Geteilte-Punkt-zu-Punkt-Gegabelte-HT-Verbindung umfasst.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/828,042 US7783822B2 (en) | 2007-07-25 | 2007-07-25 | Systems and methods for improving performance of a routable fabric |
US11/828,042 | 2007-07-25 | ||
PCT/US2008/006752 WO2009014576A1 (en) | 2007-07-25 | 2008-05-27 | Systems and methods for improving performance of a routable fabric |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112008001957T5 true DE112008001957T5 (de) | 2010-06-02 |
DE112008001957B4 DE112008001957B4 (de) | 2016-07-14 |
Family
ID=40281633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112008001957.6T Expired - Fee Related DE112008001957B4 (de) | 2007-07-25 | 2008-05-27 | Systeme und Verfahren zum Verbessern der Leistungsfähigkeit eines routfähigen Netzwerks |
Country Status (5)
Country | Link |
---|---|
US (1) | US7783822B2 (de) |
CN (1) | CN101765838B (de) |
DE (1) | DE112008001957B4 (de) |
GB (1) | GB2464074B (de) |
WO (1) | WO2009014576A1 (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103946825B (zh) | 2011-11-22 | 2017-03-01 | 英特尔公司 | 用于网络设备选择的装置和方法 |
US9129124B2 (en) * | 2012-04-12 | 2015-09-08 | Hewlett-Packard Development Company, L.P. | Dynamic provisioning of virtual systems |
US9086919B2 (en) | 2012-08-23 | 2015-07-21 | Dell Products, Lp | Fabric independent PCIe cluster manager |
US10380041B2 (en) | 2012-08-23 | 2019-08-13 | Dell Products, Lp | Fabric independent PCIe cluster manager |
US20140188996A1 (en) * | 2012-12-31 | 2014-07-03 | Advanced Micro Devices, Inc. | Raw fabric interface for server system with virtualized interfaces |
US9239768B2 (en) * | 2013-08-21 | 2016-01-19 | Advantest Corporation | Distributed pin map memory |
CN104407999A (zh) * | 2014-11-04 | 2015-03-11 | 浪潮(北京)电子信息产业有限公司 | 一种信息安全访问架构、方法及系统 |
US10841275B2 (en) | 2016-12-12 | 2020-11-17 | Samsung Electronics Co., Ltd. | Method and apparatus for reducing IP addresses usage of NVME over fabrics devices |
EP4089531B1 (de) * | 2016-12-31 | 2024-06-26 | Intel Corporation | Systeme, verfahren und vorrichtungen zum heterogenen computing |
US10387358B2 (en) * | 2017-02-13 | 2019-08-20 | Mellanox Technologies, Ltd. | Multi-PCIe socket NIC OS interface |
US11270201B2 (en) | 2017-12-29 | 2022-03-08 | Intel Corporation | Communication optimizations for distributed machine learning |
US11620245B2 (en) | 2021-05-09 | 2023-04-04 | Mellanox Technologies, Ltd. | Multi-socket network interface controller with consistent transaction ordering |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19580606C2 (de) * | 1994-06-08 | 2003-06-18 | Intel Corp | Plattenlaufwerksverbinderschnittstelle zur Verwendung an einem PCI-Bus |
US6061754A (en) * | 1997-06-25 | 2000-05-09 | Compaq Computer Corporation | Data bus having switch for selectively connecting and disconnecting devices to or from the bus |
KR100253795B1 (ko) | 1997-07-31 | 2000-04-15 | 윤종용 | 8 웨이 대칭형 다중 프로세서 시스템 및 이 시스템의 동질성 유지 트래픽 최소화 방법 |
US6173351B1 (en) | 1998-06-15 | 2001-01-09 | Sun Microsystems, Inc. | Multi-processor system bridge |
US6513091B1 (en) * | 1999-11-12 | 2003-01-28 | International Business Machines Corporation | Data routing using status-response signals |
KR20010088224A (ko) | 2000-03-11 | 2001-09-26 | 윤종용 | 타이탄 시스템 컨트롤러 칩셋을 이용한 멀티 프로세서컴퓨터 시스템 |
TW498213B (en) | 2001-04-18 | 2002-08-11 | Via Tech Inc | Method and chipset for supporting interrupts of system management mode in multiple-CPU system |
US7143227B2 (en) * | 2003-02-18 | 2006-11-28 | Dot Hill Systems Corporation | Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller |
US7403525B2 (en) * | 2002-05-15 | 2008-07-22 | Broadcom Corporation | Efficient routing of packet data in a scalable processing resource |
US20040122973A1 (en) | 2002-12-19 | 2004-06-24 | Advanced Micro Devices, Inc. | System and method for programming hyper transport routing tables on multiprocessor systems |
US7039733B2 (en) * | 2003-02-21 | 2006-05-02 | American Megatrends, Inc. | Method, system, and apparatus for eliminating bus renumbering in a computer system |
US7047372B2 (en) * | 2003-04-15 | 2006-05-16 | Newisys, Inc. | Managing I/O accesses in multiprocessor systems |
US7096305B2 (en) * | 2003-05-15 | 2006-08-22 | Broadcom Corporation | Peripheral bus switch having virtual peripheral bus and configurable host bridge |
US7380018B2 (en) * | 2003-05-15 | 2008-05-27 | Broadcom Corporation | Peripheral bus transaction routing using primary and node ID routing information |
US7103823B2 (en) * | 2003-08-05 | 2006-09-05 | Newisys, Inc. | Communication between multi-processor clusters of multi-cluster computer systems |
CN2655341Y (zh) * | 2003-11-11 | 2004-11-10 | 于春 | 具有切换电路的网络计算机 |
US20060136694A1 (en) * | 2004-12-17 | 2006-06-22 | Robert Hasbun | Techniques to partition physical memory |
US7673116B2 (en) * | 2006-01-17 | 2010-03-02 | Advanced Micro Devices, Inc. | Input/output memory management unit that implements memory attributes based on translation data |
US20090016355A1 (en) * | 2007-07-13 | 2009-01-15 | Moyes William A | Communication network initialization using graph isomorphism |
-
2007
- 2007-07-25 US US11/828,042 patent/US7783822B2/en not_active Expired - Fee Related
-
2008
- 2008-05-27 GB GB1002400.8A patent/GB2464074B/en not_active Expired - Fee Related
- 2008-05-27 CN CN2008801004159A patent/CN101765838B/zh not_active Expired - Fee Related
- 2008-05-27 WO PCT/US2008/006752 patent/WO2009014576A1/en active Application Filing
- 2008-05-27 DE DE112008001957.6T patent/DE112008001957B4/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE112008001957B4 (de) | 2016-07-14 |
GB2464074B (en) | 2011-12-28 |
CN101765838B (zh) | 2012-12-19 |
CN101765838A (zh) | 2010-06-30 |
GB201002400D0 (en) | 2010-03-31 |
GB2464074A (en) | 2010-04-07 |
US7783822B2 (en) | 2010-08-24 |
US20090031070A1 (en) | 2009-01-29 |
WO2009014576A1 (en) | 2009-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112008001957B4 (de) | Systeme und Verfahren zum Verbessern der Leistungsfähigkeit eines routfähigen Netzwerks | |
DE112013005044B4 (de) | Verfahren, einrichtung, vorrichtung und system zum ausführen von eingehenden pcie-schreiboperationen in einen speicher und partnereinrichtungen per dualcast | |
DE102018006756A1 (de) | Beschleuniger-Fabric | |
DE69724355T2 (de) | Erweiterte symmetrische Multiprozessorarchitektur | |
DE60212626T2 (de) | Endknotenunterteilung mittels lokaler identifikatoren | |
DE112016005910T5 (de) | Architechtur für Software-Definierten Interconnect-Switch | |
DE102009042868B4 (de) | Verfahren und Vorrichtung für den einfacheren System-Protokoll-Austausch bei nichttransparenten Brücken (NTB) in Back-to-Back-Anordnung | |
DE102018006546A1 (de) | Plattformschnittstellenschicht und protokoll für beschleuniger | |
DE69736872T2 (de) | Datenverarbeitungssystem | |
DE102021121062A1 (de) | System, vorrichtung und verfahren zur dynamischen bereitstellung kohärenter speicherdomänen | |
DE102018213430A1 (de) | Beschleuniger mit geringer Latenzzeit | |
DE102018004327A1 (de) | Systeme und Verfahren zum Zugreifen auf Massenspeicher als Arbeitsspeicher | |
DE202014011596U1 (de) | System zum Erweitern von Peripheral Component Interconnect Express Fabrics | |
DE112008002019T5 (de) | Auslagern von Eingabe/Ausgabe (I/O)-Virtualisierungsarbeitsgängen an einem Prozessor | |
DE112008002416T5 (de) | Gemeinsame Nutzung von Legacy-Geräten in einer Multithost-Umgebung | |
DE102019108798A1 (de) | Hochbandige verbindungsschicht für kohärente nachrichten | |
DE102019109119A1 (de) | Host-verwalteter kohärenter gerätespeicher | |
DE102022205478A1 (de) | Busübergreifende speicherabbildung | |
DE102018127751A1 (de) | Einheitlicher Adressraum für mehrere Verbindungen | |
DE112017001148T5 (de) | Abflachende portalbrücke . | |
DE102018213428A1 (de) | Techniken zum Reduzieren von Beschleuniger-Speicherzugriffskosten in Plattformen mit mehreren Speicherkanälen | |
DE102022107778A1 (de) | Adressübersetzung an einer zielnetzwerk-schnittstellenvorrichtung | |
DE69621309T2 (de) | Verfahren und Gerät zur Optimierung von gemeinsamen PCI-Unterbrechungen und entsprechender Latenz in den PCI-Bussen mit Erweiterung oder Brücke | |
DE112014006490T5 (de) | Verfahren, Vorrichtung und System zur Regelung von Leistung ungenutzter Hardware einer Linkschnittstelle | |
DE102020119682A1 (de) | System, einrichtung und verfahren zum erhöhen der effizienz von streckenübermittlungen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: H04L 12/56 AFI20080527BHDE |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012560000 Ipc: H04L0012747000 |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012560000 Ipc: H04L0012747000 Effective date: 20121120 |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R081 | Change of applicant/patentee |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOU, US Free format text: FORMER OWNER: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., HOUSTON, TEX., US |
|
R082 | Change of representative |
Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE |
|
R020 | Patent grant now final | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012747000 Ipc: H04L0045745000 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |