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 PDF

Info

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
Application number
DE112008001957T
Other languages
English (en)
Other versions
DE112008001957B4 (de
Inventor
Brian T. Houston Purcell
Melvin K. Houston Benedict
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE112008001957T5 publication Critical patent/DE112008001957T5/de
Application granted granted Critical
Publication of DE112008001957B4 publication Critical patent/DE112008001957B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest 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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • General Factory Administration (AREA)

Abstract

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.

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 und 1b 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 Verarbeitungssystems 100, das ein routfähiges Netzwerk 150 aufweist. Bei einem exemplarischen Ausführungsbeispiel kann das Verarbeitungssystem 100 eine Mehrzahl von Rechenknoten 110 und 110' umfassen. Der Rechenknoten 110 kann einen oder mehrere CPU-Kern 122a–b, Cache 114a–d und/oder Systemanforderungsschnittstelle(n) 116 aufweisen. Ein Kreuzschienenschalter 118 kann vorgesehen sein, um die CPU-Kerne 112a–b über eine integrierte Speichersteuerung 122 mit den gemeinsam genutzten Speicherressourcen 120a–b zu verknüpfen. Obwohl dies hierin nicht explizit angegeben ist, sind gleiche Komponenten auch in 1 für den Rechenknoten 110' gezeigt und sind mit dem „Hochstellungs”-Symbol bezeichnet. Selbstverständlich können bei dem Verarbeitungssystem 100 auch mehr als zwei Rechenknoten 110 und 110' vorgesehen sein, wie aus der folgenden Beschreibung ohne weiteres hervorgeht.
  • Jeder Rechenknoten 110 und 110' 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-Schnittstellen 130 bzw. 130' bestehen. Allgemein können HT-Schnittstellen 130 und 130' eine Schaltungsanordnung und einen Programmcode (z. B. Firmware) umfassen, um eine Mehrzahl von Vorrichtungen 140a–f (direkt oder über eine oder mehrere geeignete Zwischenträgerumsetzungsvorrichtungen (z. B. Brückenvorrichtungen)) über das routfähige Netzwerk 150 mit einem oder mehreren der Rechenknoten 110 und 110' 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 Chipsatz 160 oder 160' über einen direkten Pfad 155a–e durch das routfähige Netzwerk 150 mit einem beliebigen der Rechenknoten 110 und 110' verknüpfen. Obwohl sich alle Vorrichtungen 140a–f gleichzeitig mit getrennten Computerknoten 110 und 110' verknüpfen können und (sich) mehrere Vorrichtungen 140a–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 Pfade 155a und 155b zu liefern. Eine weitere einzelne HT-Verbindung von dem Chipsatz 160' kann ebenfalls in logische Tore HT0 und HT1 geteilt (z. B. gegabelt) werden, um Pfade 155c und 155d zu liefern. Es wird darauf hingewiesen, dass bei der exemplarischen Implementierung jeder Chipsatz 160, 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 und 160' bei dem in 1 gezeigten 2S-Entwurf mit beiden Rechenknoten 110 und 110' verknüpft ist und dass Verkehr zwischen beiden Rechenknoten 110 und 110' geleitet wird. Bei 4S-(siehe 3) und 8S-(siehe 4)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 Rechenknoten 110 ermöglicht oder eine gleichzeitige Verknüpfung zwischen mehreren Rechenknoten 110 und 110' 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 Chipsatzes 160 und 160' eingerichtet ist, um Verkehr dynamisch durch die mehreren Pfade 155a–e in dem routfähigen Netzwerk 150 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ägertore 155. 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 Kreuzschienenschalter 185 weitergeleitet werden sollte. Das vorgelagerte Tor leitet anschließend die Transaktion an den Routfähiges-Netzwerk-Zwischenträger 155 weiter.
  • Adressumsetzung wird unter Bezugnahme auf 1a und 1b besser verständlich. 1a zeigt eine exemplarische physische Speicherabbildung aus der Perspektive jedes Rechenknotens. Bei diesem Beispiel entspricht eine Rechenabbildung 190 einem Rechenknoten 1, und eine Rechenabbildung 192 entspricht einem Rechenknoten 2 (obwohl beliebig viele Rechenknoten vorliegen können). Der Rechenknoten 1 kann ohne eine gewisse Adressumsetzung nicht direkt auf den Speicher/die Ressourcen des Rechenknotens 2 zugreifen. Der Rechenknoten 1 hat nicht die Fähigkeit, direkt auf einen Speicher an dem Rechenknoten 2 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 Rechenknoten 2 vorzunehmen.
  • 1b zeigt eine exemplarische Systemarchitektur mit zwei Rechenknoten (wie in 1 gezeigt ist), von denen jeder seinen eigenen lokalen Speicher und seine eigene Ansicht von Systemressourcen aufweist (wie in 1a gezeigt ist). Die Schalter 195a–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 Vorrichtung 170 (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 Netzwerk 150, 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 24 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äger 200 ist die gesamte I/O über 16x-HT-Verbindungen mit CPU1 verknüpft. Die Kreuzschienenfähigkeiten der CPU-Buchse 2 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äger 200 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äger 300 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äger 300 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äger 400 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äger 400 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. Operationen 500 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 Operation 520 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 Operation 530 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)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
DE112008001957.6T 2007-07-25 2008-05-27 Systeme und Verfahren zum Verbessern der Leistungsfähigkeit eines routfähigen Netzwerks Expired - Fee Related DE112008001957B4 (de)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013077860A1 (en) * 2011-11-22 2013-05-30 Intel Corporation Network device selection
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
JP6988040B2 (ja) * 2016-12-31 2022-01-05 インテル・コーポレーション ヘテロジニアスコンピューティングのためのシステム、方法及び装置
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)

* Cited by examiner, † Cited by third party
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
US7380018B2 (en) * 2003-05-15 2008-05-27 Broadcom Corporation Peripheral bus transaction routing using primary and node ID routing information
US7096305B2 (en) * 2003-05-15 2006-08-22 Broadcom Corporation Peripheral bus switch having virtual peripheral bus and configurable host bridge
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

Also Published As

Publication number Publication date
CN101765838B (zh) 2012-12-19
US7783822B2 (en) 2010-08-24
WO2009014576A1 (en) 2009-01-29
DE112008001957B4 (de) 2016-07-14
US20090031070A1 (en) 2009-01-29
CN101765838A (zh) 2010-06-30
GB2464074A (en) 2010-04-07
GB2464074B (en) 2011-12-28
GB201002400D0 (en) 2010-03-31

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
DE69724355T2 (de) Erweiterte symmetrische Multiprozessorarchitektur
DE60212626T2 (de) Endknotenunterteilung mittels lokaler identifikatoren
DE112016005910T5 (de) Architechtur für Software-Definierten Interconnect-Switch
DE102018006797A1 (de) Kohärente Speichereinrichtungen über PCIe
DE102009042868B4 (de) Verfahren und Vorrichtung für den einfacheren System-Protokoll-Austausch bei nichttransparenten Brücken (NTB) in Back-to-Back-Anordnung
DE112013002069B4 (de) Hohes Leistungsverbindungskohärenz-Protokoll
DE69736872T2 (de) Datenverarbeitungssystem
DE60221030T2 (de) Verfahren, einrichtung und rechnerprogramm für die entkapselung und verkapselung von paketen mit mehreren kopffeldern
DE69839374T2 (de) Multitorspeicher verwendende intelligente datenbusschnittstelle
DE112020006859T5 (de) Beibehaltung von speicher-namensraum-identifizierern für die migration von virtualisierten ausführungsumgebungen im laufenden betrieb
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
DE112017001148T5 (de) Abflachende portalbrücke .
DE102009050983A1 (de) Eine Technik, um Interrupts in einem Computersystem zu kommunizieren
DE102018127751A1 (de) Einheitlicher Adressraum für mehrere Verbindungen
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
DE102020101958A1 (de) Dynamisches spurzugriffswechseln zwischen pcie-wurzelräumen

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