DE102018005759A1 - Verbinden von beschleunigerressourcen unter verwendung einesswitches - Google Patents

Verbinden von beschleunigerressourcen unter verwendung einesswitches Download PDF

Info

Publication number
DE102018005759A1
DE102018005759A1 DE102018005759.4A DE102018005759A DE102018005759A1 DE 102018005759 A1 DE102018005759 A1 DE 102018005759A1 DE 102018005759 A DE102018005759 A DE 102018005759A DE 102018005759 A1 DE102018005759 A1 DE 102018005759A1
Authority
DE
Germany
Prior art keywords
resource
node
accelerator
specified
resources
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.)
Pending
Application number
DE102018005759.4A
Other languages
English (en)
Inventor
Anil Rao
Debendra Das Sharma
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102018005759A1 publication Critical patent/DE102018005759A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)

Abstract

Die vorliegende Offenbarung beschreibt eine Anzahl von Ausführungsformen, die mit Vorrichtungen und Techniken zum Implementieren eines Interconnect Switches zusammenhängen, um eine vermittelbare latenzarme Umgebung zwischen Knotenressourcen, wie CPUs, und Beschleunigerressourcen zur Cache-Nutzung bereitzustellen. Ein Ressourcenmanager kann zum Empfangen einer Angabe eines Knotens von einer Vielzahl von Knoten und einer Angabe einer Beschleunigerressource von einer Vielzahl von Beschleunigerressourcen, die mit dem Knoten verbunden werden soll, verwendet werden. Falls die angegebene Beschleunigerressource mit einem anderen Knoten von der Vielzahl der Knoten verbunden ist, dann werden ein oder mehrere Befehle zum Entfernen im laufenden Betrieb an einen Interconnect Switch übertragen. Der Ressourcenmanager kann dann einen oder mehrere Befehle zum Zufügen im laufenden Betrieb an den Interconnect Switch übertragen, um die Knotenressource und die Beschleunigerressource zu verbinden.

Description

  • Technisches Gebiet
  • Ausführungsformen der vorliegenden Offenbarung betreffen allgemein den Sektor der Computersysteme. Ausführungsformen betreffen spezieller Vorrichtungen und Verfahren zum Vermitteln von einer oder mehreren Knotenressourcen, zu denen zentrale Verarbeitungseinheiten (CPUs) gehören können, an eine oder mehrere Beschleunigerressourcen.
  • Hintergrund
  • Die Arbeitslastanforderungen in Datenzentren haben in den letzten Jahren stark zugenommen. Daraufhin wurden die Datenzentren größer; schlossen zusätzliche Racks in Datenzentren mit verschiedenen Ressourcen ein, die miteinander auf verschiedene Weisen verschaltet werden können, um sowohl ansteigende als auch schwankende Arbeitslastanforderungen erfüllen zu können.
  • Figurenliste
  • Die Ausführungsformen werden durch die folgende detaillierte Beschreibung zusammen mit den angefügten Zeichnungen leicht verständlich. Ähnliche Bezugsziffern geben zur Erleichterung dieser Beschreibung ähnliche Bauelemente an. Die Ausführungsformen werden ferner beispielhaft und nicht einschränkend in den Figuren der angefügten Zeichnungen illustriert.
    • 1 ist ein Diagramm einer beispielhaften Implementierung eines Kopplungs-Switches („Interconnect Switch“) zum Verbinden von Knotenressourcen mit Beschleunigerressourcen gemäß verschiedenen Ausführungsformen.
    • 2 ist ein Diagramm eines beispielhaften Interconnect Switches, der Interconnect Switch Ports einschließt, gemäß verschiedenen Ausführungsformen.
    • 3 ist ein Diagramm einer beispielhaften Implementierung eines Interconnect Switch Ports gemäß verschiedenen Ausführungsformen.
    • 4 ist ein Blockdiagramm, welches einen Prozess zum Implementieren des Managements von Verbindungen zwischen Knotenressourcen und Beschleunigerressourcen unter Verwendung eines Interconnect Switches gemäß verschiedenen Ausführungsformen illustriert.
    • 5 illustriert eine beispielhafte Rechenvorrichtung, die zum Umsetzen von Aspekten der vorliegenden Offenbarung gemäß verschiedenen Ausführungsformen geeignet ist.
    • 6 ist ein Diagramm, welches computerlesbare Medien mit Anweisungen zum Umsetzen des Managements von Verbindungen zwischen Knotenressourcen und Beschleunigerressourcen unter Verwendung eines Interconnect Switches gemäß verschiedenen Ausführungsformen illustriert.
  • Detaillierte Beschreibung
  • Offenbart werden können hier Verfahren, Apparate und Systeme, die die gemeinsame Nutzung von Beschleunigerressourcen mit Knotenressourcen zulassen können, die sich in einem Rack oder einem Gehäuse („Pod“) befinden, indem ein latenzarmer Switch verwendet wird. In Ausführungsformen kann jede Beschleunigerressource zu einer gegebenen Zeit mit einer Knotenressource gekoppelt werden. Eine Beschleunigerressource kann in Ausführungsformen ein Field Programmable Gate Array (FPGA), eine grafische Verarbeitungseinheit (Graphical Processing Unit; GPU), eine anwendungsspezifische integrierte Schaltung (Application Specific Integrated Circuit; ASIC), ein Eingabe/Ausgabe (Input/Output; I/O)-Beschleuniger oder eine andere Ressource sein. Eine Beschleunigerressource kann in Ausführungsformen einen Speicher oder sonstigen Cache implementieren. Eine Knotenressource kann in Ausführungsformen eine CPU sein.
  • Datenzentrenoperationen, die mehrere Datenzentren-Racks einschließen, können von der Flexibilität profitieren, Verbindungen mit Beschleunigerressourcen von einer Knotenressource zu einer anderen Knotenressource innerhalb eines Datenzentrum-Racks oder -Pods hinzuzufügen, zu entfernen oder zu bewegen, ohne dass physische Intervention von einer Bedienungsperson erforderlich ist. Beschleunigerressourcen können in Ausführungsformen, wenn sie mit einer Knotenressource verbunden sind, Kohärenz- und Speichererweiterungen beinhalten. I/O-Beschleuniger können Lade-Speicher-Semantiken aufweisen.
  • Kohärenzerweiterungen ermöglichen den Beschleunigern das Cachen des von dem Knoten gehosteten Systemspeichers, wodurch höhere Performance mit niedrigerem Stromverbrauch ermöglicht wird. Speichererweiterungen ermöglichen einer Knotenressource, auf den von dem Beschleuniger gehosteten Speicher in ähnlicher Weise wie beim Systemspeicher zuzugreifen, wodurch bessere gemeinsame Nutzung zwischen dem Knoten und dem Beschleuniger für bessere Performance ermöglicht wird. Lade-Speicher-Semantik kann einer CPU oder Vorrichtung den Zugriff auf speicherabgebildete („Memory-Mapped“) Ressourcen direkt als Ladebefehl (z. B. Lesen) oder als Speicherbefehl (z. B. Schreiben) gestatten.
  • In herkömmlichen Implementierungen ist es eine Herausforderung, eine Beschleunigerressource innerhalb von mehreren Knotenressourcen gemeinsam zu nutzen, wenn die Knotenressourcen zu unterschiedlichen Kohärenzdomänen gehören können. Dies kann auf die enge Kopplung von Ressourcen in einer Kohärenzdomäne und domänenübergreifende Fehlerisolierungsanforderungen zurückzuführen sein. Zu Nachteilen dieser herkömmlichen Ansätze können die Beschränkung bestimmter Rechen-Tasks auf spezielle Knotenressourcen gehören, die vorhandene erforderliche Funktionalität aufweisen können (d. h. vorhandene gekoppelte Beschleunigerressourcen). Andere Nachteile können ein Datenzentrum einschließen, das über den Bedarf hinaus mit Ressourcen ausgestattet ist, um sich auf einen schlimmstmöglichen Rechenszenariumsfall oder andere operative Anforderungen vorzubereiten. Dies kann zu einem Überschuss an eingesetzten Beschleunigerressourcen und resultierender Unternutzung der Beschleunigerressourcen in einem Datenzentrum führen.
  • Diese und andere Herausforderungen lassen sich überwinden, indem zugelassen wird, dass Beschleunigerressourcen und Knotenressourcen unter Verwendung von einem oder mehreren Interconnect Switches verbunden werden, um einen vermittelbaren Pfad von einer Knotenressource zu einer Beschleunigerressource zu erstellen. In Ausführungen kann das Umkonfigurieren des vermittelbaren Pfades das Entfernen einer Beschleunigerressource im laufenden Betrieb von einer verbundenen Knotenressource und danach Zufügen der Beschleunigerressource im laufenden Betrieb zu der neuen Knotenressource unter Verwendung des Interconnect Switch und eines Ressourcenmanagers einschließen. In Ausführungsformen kann die Verbindung zwischen den Knotenressourcen und Beschleunigerressourcen über einen oder mehrere Softwarebefehle an den Interconnect Switch geändert werden. In Ausführungsformen brauchen keine physischen Vorrichtungen (z. B. Beschleunigerressourcen) physisch bewegt werden.
  • In der folgenden Beschreibung werden verschiedene Aspekte von beispielhaften Implementierungen unter Verwendung von Begriffen beschrieben, die üblicherweise von Fachleuten verwendet werden, um das Wesentliche ihrer Arbeit anderen Fachleuten zu übermitteln. Es ist Fachleuten jedoch offensichtlich, dass Ausführungsformen der vorliegenden Offenbarung mit nur einigen der beschriebenen Aspekte umgesetzt werden können. Zu Zwecken der Erläuterung werden spezielle Zahlen, Materialien und Konfigurationen beschrieben, um für ein umfassendes Verständnis der illustrierten Implementierungen zu sorgen. Es ist einem Fachmann jedoch offensichtlich, dass Ausführungsformen der vorliegenden Offenbarung ohne die speziellen Details umgesetzt werden können. In anderen Fällen werden gut bekannte Merkmale weggelassen oder vereinfacht, um die illustrierten Implementierungen nicht zu verschleiern.
  • In der folgenden Beschreibung wird auf die angefügten Zeichnungen verwiesen, die einen Teil davon bilden, wobei ähnliche Bezugsziffern ähnliche Teile angeben und in denen beispielhaft Ausführungen gezeigt werden, in denen der Gegenstand der vorliegenden Offenbarung umgesetzt werden kann. Es ist so zu verstehen, dass andere Ausführungsformen genutzt und strukturelle oder logische Veränderungen vorgenommen werden können, ohne von dem Umfang der vorliegenden Offenbarung abzuweichen. Die folgende detaillierte Beschreibung ist daher nicht im einschränkenden Sinne zu sehen, und der Umfang der Ausführungsformen wird durch die angefügten Ansprüche und ihre Entsprechungen definiert.
  • Die Formulierung „A und/oder B“ bedeutet für die Zwecke der vorliegenden Offenbarung (A), (B) oder (A und B). Die Formulierung „A, B und/oder C“ bedeutet (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C).
  • Die Beschreibung kann perspektivenbezogene Beschreibungen verwenden, wie oben/unten, innen/außen, über/unter und dergleichen. Solche Beschreibungen werden lediglich zur Erleichterung der Erörterung verwendet und sollen die Anwendung der hier beschriebenen Ausführungsformen nicht auf irgendeine spezielle Orientierung begrenzen.
  • Die Beschreibung kann die Formulierungen „in einer Ausführungsform“ oder „in Ausführungsformen“ verwenden, die sich jeweils auf eine oder mehrere von der gleichen Ausführungsform oder unterschiedlichen Ausführungsformen beziehen. Die Begriffe „einschließend“, „aufweisend“ und dergleichen sind, wenn sie in Bezug auf Ausführungsformen der vorliegenden Offenbarung verwendet werden, Synonyme.
  • Die Begriffe „gekoppelt mit“ oder „gekoppelt an“ und dergleichen können hier verwendet werden. „Gekoppelt“ kann eines oder mehreren der folgenden bedeuten: „Gekoppelt“ kann bedeuten, dass zwei oder mehr Elemente in direktem physischem oder elektrischem Kontakt sind. „Gekoppelt“ kann jedoch auch bedeuten, dass zwei oder mehr Elemente indirekt in Kontakt miteinander sind, aber dennoch miteinander zusammenwirken oder interagieren, und kann bedeuten, dass ein oder mehrere andere Elemente zwischen den Elementen gekoppelt oder mit diesen verbunden sind, die als miteinander gekoppelt bezeichnet werden. Beispielhaft und nicht einschränkend kann „gekoppelt“ bedeuten, dass zwei oder mehr Elemente oder Vorrichtungen durch elektrische Verbindungen auf einer gedruckten Schaltplatine gekoppelt sind, wie beispielsweise einer Hauptplatine. Beispielhaft und nicht einschränkend kann „gekoppelt“ bedeuten, dass zwei oder mehr Elemente/Vorrichtungen über eine oder mehrere Netzwerkverbindungen, wie verdrahtete und/oder drahtlose Netzwerke, zusammenarbeiten und/oder miteinander interagieren. Ein Rechenapparat kann beispielhaft und nicht einschränkend zwei oder mehr Rechenvorrichtungen einschließen, die auf einer Hauptplatine oder über eine oder mehrere Netzwerkverbindungen „gekoppelt“ sind.
  • Verschiedene Operationen werden als mehrere diskrete Operationen in Folge beschrieben, in einer Weise, die zum Verständnis des beanspruchten Gegenstands besonders hilfreich ist. Die Reihenfolge der Beschreibung soll jedoch nicht so ausgelegt werden, dass dies impliziert, dass diese Operationen notwendigerweise abhängig von der Reihenfolge sind.
  • 1 ist ein Diagramm einer beispielhaften Implementierung eines Switches zum Verbinden von Knotenressourcen mit Beschleunigerressourcen gemäß verschiedenen Ausführungsformen. Diagramm 100 zeigt einen Interconnect Switch 102, der von einem Ressourcenmanager 104 gemanagt werden kann. Der Ressourcenmanager 104 kann in Ausführungsformen Teil des Interconnect Switch 102 sein. Der Ressourcenmanager 104 kann in Ausführungsformen extern, jedoch mit dem Interconnect Switch 102 gekoppelt sein. Der Interconnect Switch 102 kann ein FlexBus™ Interconnect-Protokoll oder anderes Protokoll verwenden, um Daten auf einem Peripheral Component Interconnect Express (PCIe) Bus oder anderem Bus zu unterstützen.
  • Eine oder mehrere Knotenressourcen 106a-106d kann bzw. können mit dem Interconnect Switch 102 oder mit dem Ressourcenmanager 104 gekoppelt werden. Eine Knotenressource kann eine CPU sein. Eine Knotenressource kann auch mehrere CPUs sein, die unter Verwendung von Kohärenz-Links verbunden sind. In Ausführungsformen können eine oder mehrere Beschleunigerressourcen 108a-108d mit dem Interconnect Switch 102 verbunden sein. In Ausführungsformen können Beschleuniger FPGAs, GPUs, ASICs, I/O-Beschleuniger oder sonstige Ressourcen einschließen. In Ausführungsformen können Beschleunigerressourcen 108a-108d als Cache für eine Knotenressource 106a-106d verwendet werden. Links 105a-105d können jeweils Knotenressourcen 106a-106d mit dem Interconnect Switch 102 verbinden, und Links 109a-109d können jeweils Beschleunigerressourcen 108a-108d mit dem Interconnect Switch 102 verbinden.
  • Eine Knotenressource 106a-106d und Beschleunigerressource 108a-108d können in Konfigurationen mit einer (nicht gezeigten) Vielzahl von Interconnect Switches 102 verbunden sein, die gemeinsam durch den Ressourcenmanager 104 gemanagt werden. In Ausführungsformen kann jede von der Vielzahl der Interconnect Switches 102 mit Bit-Slicing oder hierarchisch sein, um höhere Radixvermittlung über die höheren Anzahlen von Knoten und Beschleunigern zu ermöglichen.
  • Eine Switch-Implementierung mit Bit-Slicing kann realisiert werden, indem man mehrere physische Interconnect Switches 102 hat, die jeweils einen anderen Teilsatz von Spuren des PCIe-Busses oder anderen Busses behandeln. Wenn beispielsweise jeder der Links 105a-105d, 109a-109d 16 Spuren hat, wird ein Switch mit 8 Links (Radix = 8), wie in Diagramm 100 gezeigt, in der Lage sein, 128 Spuren zu bedienen. Wenn wir dies auf 64 Links (Radix = 64) erweitern müssen und ein physischer Switch nur 128 Spuren bedienen kann, können wir 8 dieser physischen Interconnect Switches 102 haben, die eine (einzigen) logische Vermittlungsbehandlung der Konnektivität über die 64 Links bilden. Ein erster physischer Interconnect Switch 102 kann beispielsweise Spuren 0 und 1 von jedem der Links 105a-105d, 109a-109d bedienen, der zweite (nicht gezeigte) physische Interconnect Switch bedient die Spuren 2 und 3 von jedem der Links 105a-105d, 109a-109d, und so weiter. Dies kann einen Switch mit höherer Radix aufbauen (denjenigen, der 64 Links anstelle von 8 Links bedient), während der Abstand zwischen dem Knoten und dem Beschleuniger nicht verlängert wird.
  • Ein weiterer Ansatz zum Erweitern der Vermittlungs-Radix ist durch Verwendung von hierarchischem Vermitteln (nicht gezeigt), wobei unterschiedliche Knotenressourcen 106a-106d sich mit unterschiedlichen Interconnect Switches verbinden können und die Interconnect Switches über eine andere Schicht von Interconnect Switches verbunden sind. In Ausführungsformen kann eine Kombination von Bit-Slicing und hierarchischem Vermitteln verwendet werden, um die Vermittlungs-Radix zu erweitern. Diese Ansätze können verwendet werden, um Konnektivität zwischen Knoten und Ressourcen (wie Beschleunigern) in einem Pod bereitzustellen, der eine Zusammenstellung von Racks ist. Ein Rack ist eine physische Umhausung, in der mehrere Knoten und Beschleuniger gehostet werden können.
  • Wenn wir uns wiederum Diagramm 100 zuwenden, kann Ressourcenmanager 104 bestimmen, dass eine der Knotenressourcen 106a-106d mit einer der Beschleunigerressourcen 108a-108d verbunden werden kann. Der Ressourcenmanager 104 kann Anforderungen von verschiedenen Knoten 106a-106d empfangen, die Ressourcen benötigen, und kann auf die Anforderungen reagieren, indem dem anforderndem Knoten eine Beschleunigerressource aus den Ressourcen 108a-108d zugeordnet wird. Diese Anforderungen und Antworten können unter Verwendung von Standardmanagebarkeits- oder Netzwerkressourcen (nicht gezeigt) gesendet werden, die Kommunikation zwischen einer Knotenressource 106a-106d und dem Ressourcenmanager 104 unterstützen.
  • Der Ressourcenmanager 104 kann beispielsweise eine Anforderung empfangen, den Interconnect Switch 102 zu konfigurieren, um eine Knotenressource 106a direkt mit einer Beschleunigerressource 108c zu verbinden. Diese Konfiguration kann vollständig mittels Software durchgeführt werden, beispielsweise durch Senden eines Befehls an einen oder mehrere Multiplexer, wie Multiplexer 207a1-207h1 aus 2 (unten beschrieben) innerhalb des Interconnect Switch 102.
  • Wenn wir das Beispiel fortsetzen, kann der Ressourcenmanager 104 bestimmen, dass die Beschleunigerressource 108c bereits mit einer anderen Knotenressource 106d verbunden sein kann. Der Ressourcenmanager 104 kann eine Verbindungstrennung oder ein Entfernen im laufenden Betrieb der zuvor verbundenen Beschleunigerressource 108c von der Knotenressource 106d bewirken. In Ausführungsformen kann, bevor die Beschleunigerressource 108c im laufenden Betrieb entfernt wird, die Systemsoftware, die möglicherweise in der Knotenressource 106d und der Beschleunigerressource 108c läuft, den Datenverkehr zwischen der Beschleunigerressource 108c und der Knotenressource 106d unter Verwendung von Mechanismen zur Ruhe kommen lassen, die in jeder der Ressourcen verfügbar sind. Diese Mechanismen schließen das Leeren von Speicher-Caches ein, die zu der anderen Ressource gehören, Sicherstellen, dass sämtlicher Verkehr zwischen der Beschleunigerressource 108c und der Knotenressource 106d abgeschlossen ist, und dergleichen. Nachdem der Datenverkehr zur Ruhe gekommen ist, kann die Systemsoftware mit dem Ressourcenmanager 104 kommunizieren, um das Entfernen der Beschleunigerressource 108c im laufenden Betrieb und aus Knoten 106d zu initiieren, was die Trennung der Verbindung zwischen dem entsprechenden Link 109c und Link 106d unter Verwendung des Interconnect Switch 102 beinhalten kann. Nachfolgend kann der Ressourcenmanager 104 eine Verbindung zwischen den Links 105a, 109c zwischen Knotenressource 106a und Beschleunigerressource 108c unter Verwendung des Interconnect Switch 102 aufbauen.
  • Nachdem die Knotenressource 106a und die Beschleunigerressource 108c verbunden sind, können Konfigurationsinformationen zwischen der Knotenressource 106a und der Beschleunigerressource 108c ausgetauscht werden. Die Knotenressource 106a-106d kann mit dem Interconnect Switch 102 unter Verwendung einer Switch-Schnittstelle 106a1-106d1 kommunizieren. In Ausführungsformen kann die Knotenressource 106a-106d mit der Switch-Schnittstelle 106a1-106d1 unter Verwendung eines PCIe-Ports 106a2-106d2, eines Intel Accelerator Link (IAL)-Ports 106a3-106d3 oder irgendeines anderen Ports (nicht gezeigt) kommunizieren.
  • Nachdem die Knotenressource 106a und die Beschleunigerressource 108c verbunden sind, kann die Switch-Schnittstelle 106a1 Link-Training mit der Beschleunigerressource 108c durchführen, um die Verbindung zu koordinieren und aufzubauen, damit sie sich in konsistenter Weise verhält. Dieses Link-Training kann unter Verwendung einer Training Status State Machine (LTSSM) bewirkt werden.
  • Nach dem Link-Training kann in der Knotenressource 106a ein Ablauf des Zufügens im laufenden Betrieb beginnen, wobei die Benachrichtigung von dem Ressourcenmanager 104 übernommen wird. Während des Ablaufs des Zufügens im laufenden Betrieb kann die auf dem Host laufende Systemsoftware die neu hinzugefügte Beschleunigerressource 108c auffinden und Initialisierung und/oder Abbildung (Mapping) durchführen, so dass die Knotenressource 106a mit der Verwendung der Beschleunigerressource 108c beginnen kann. Nachdem die Verbindung über den Interconnect Switch 102 aufgebaut worden ist, kann die angestiegene Latenz in der Kommunikation zwischen der Knotenressource 106a und der Beschleunigerressource 108c weniger als 10 Nanosekunden (ns) betragen.
  • 2 ist ein Diagramm eines beispielhaften Interconnect Switches, der Interconnect Switch Ports einschließt, gemäß verschiedenen Ausführungsformen. Diagramm 200 kann einen Interconnect Switch 202 zeigen, der dem Interconnect Switch 102 von 1 ähnlich sein kann. Links 205a-205d können den Links 105a-105d ähnlich sein, und Links 209a-209d können den Links 109a-109d ähnlich sein. Links 205a-205d, 209a-209d können jeweils über Verbindungen zwischen den Interconnect Switch Ports 207a-207h verbunden sein. Die Verbindungen können durch Ressourcenmanager 204 gemanagt werden, der Ressourcenmanager 104 von 1 ähnlich sein kann.
  • Jeder der Interconnect Switch Ports 207a-207h, die in in 3 detaillierter erläutert werden, schließen jeweils einen Multiplexer (Mux) 207a1-207h1 ein. Jeder Mux 207a1-207h1 kann Mux-Auswahlinformationen 211 von dem Ressourcenmanager 204 empfangen, um anzugeben, welcher aus einem ersten Satz von Muxen 207a1-207d1 mit einem von einem zweiten Satz von Muxen 207e1-207h1 verbunden werden soll, um einen latenzarmen Umgehungspfad zwischen einem der Links 205a-205d und einem der Links 209a-209d aufzubauen. In Ausführungsformen können Muxen 207a1-207d1 in Interconnect Switch Ports 207a1-207d1, die Knotenressourcen 106a-106d zugewiesen sind, mit jedweden anderen Muxen 207e1-207h1 in Interconnect Switch Ports 207e1-207h1 verbunden werden, die Beschleunigerressourcen 108a-108d zugewiesen sind, und anders herum.
  • In Ausführungsformen kann der Interconnect Switch 202 einem latenzarmen Retimer ähnlich sein. Die resultierenden latenzarmen Umgehungspfade können zu einem dramatischen Geschwindigkeitsanstieg zwischen einer verbundenen Knotenressource 106a-106d und einer verbundenen Beschleunigerressource 108a-108d führen. Herkömmliche Implementierungen, die eine Knotenressource und eine Beschleunigerressource unter Verwendung von Softwarepfaden oder vollständigen Hardware-Stapeln verbinden, um die Kommunikation zu erleichtern, werden erhebliche Latenz mit sich bringen, wenn sich die Datenpakete durch die Protokollstapel bewegen. Der Interconnect Switch 102 kann im Unterschied zu herkömmlichen Implementierungen einen sehr niedrigen Performance-Mehraufwand haben, indem eine direkt verdrahtete Verbindung aufgebaut wird, die hohe Kommunikationsgeschwindigkeiten zulässt, um die Kommunikation zwischen einer CPU und einer I/O-Vorrichtung, einem Cache, einer GPU oder irgendeiner anderen Beschleunigervorrichtung zu unterstützen.
  • 3 ist ein Diagramm einer beispielhaften Implementierung eines Interconnect Switch Ports gemäß verschiedenen Ausführungsformen. Diagramm 307a zeigt Details eines beispielhaften Interconnect Switch Ports, der dem Interconnect Switch Port 207a aus 2 ähnlich sein kann. Diagramm 307a kann einen beliebigen Interconnect Switch Port 207a-207h darstellen. Eingabe kann über Link 305a1 empfangen werden, und Ausgabe kann über Link 305a2 gesendet werden. Links 305a1, 305a2 können der gleiche physische Draht oder Bus sein und können Link 205a ähnlich sein, der den Interconnect Switch Port 307a mit einer Switch-Schnittstelle 106a1 einer Knotenressource 106a koppeln kann. Link 305a1 kann Daten einschließen, die von einer Knotenressource über Link 205a empfangen wurden, und Link 305a2 kann Daten einschließen, die zu einer Knotenressource über Link 205a gesendet werden sollen. In anderen Ausführungsformen kann, wenn der Interconnect Switch Port mit einem Beschleunigerressourcen-Port verbunden ist, wie Ressourcenport 209a, der Link 305a1 dann Daten angeben, die von der Beschleunigerressource 108a über Link 209a empfangen wurden, und Link 305a2 kann Daten angeben, die über Link 209a an die Beschleunigerressource 108a zu senden sind.
  • Empfangs- (Rx)-Blockverarbeitung 330 kann Daten über Link 305a empfangen und die Daten zur Verwendung innerhalb des Interconnect Switch Ports 307a konvertieren. Rx-Blockverarbeitung 330 kann beispielsweise Konvertieren der empfangenen Daten aus einem seriellen in ein paralleles Format und Durchführen von Datenausrichtung, Dekodieren, Descrambling und/oder Puffern einschließen. Es können auch zusätzliche Funktionen durchgeführt werden. Daten aus der Rx-Blockverarbeitung 330 können durch den Steuerblock 332 verwendet werden, um Funktionen durchzuführen, die LTSSM-Linktraining betreffen, zusätzlich zu anderer Funktionalität wie Verkehrsüberwachung und Vermittlungsvorgängen.
  • Aus Rx-Blockverarbeitung 330 resultierende Daten sowie Daten, die aus dem Steuerblock 332 resultieren, können kombiniert werden. Die Funktion Port Broadcast 334 kann diese kombinierten Daten nehmen und mittels Broadcast an alle anderen Interconnect Switch Ports 207a-207h verteilen. Wenn der Interconnect Switch Port 307a beispielsweise einer Knotenressource 106a-106d zugewiesen ist, kann Port Broadcast 334 eine Kopie der Daten an den Eingang aller Muxen 207e1-207h1 mittels Broadcast verteilen, die jeweils Interconnect Switch Ports 207e-207h der Beschleunigerressourcen 108a-108d zugewiesen sind. Wenn der Interconnect Switch Port 307a einer Beschleunigerressource 108a-108d zugewiesen ist, kann Port Broadcast 334 eine Kopie der Daten an den Eingang aller Muxen 207e1-207d1 mittels Broadcast verteilen, die jeweils Interconnect Switch Ports 207a-207d der Knotenressourcen 108a-108d zugewiesen sind. Steuerblockinformationen von Steuerblock 332, die LTSSM-Informationen einschließen können, können in ähnlicher Weise mittels Broadcast an andere LTSSMs unter Verwendung von LTSSM Broadcast 336 mittels Broadcast verteilt werden.
  • Der Mux 307a1, der den Muxen 207a1-207h1 von 2 ähnlich sein kann, kann Daten-Broadcast von allen oder von einer Vielzahl von anderen Interconnect Switch Ports 207a-207h empfangen. Wenn der Mux 307a1 beispielsweise einer Knotenressource 106a-106d zugewiesen ist, dann kann der Mux 307a1 Daten von jedem der Interconnect Switch Ports 207e-207h empfangen, die jeweils Beschleunigerressourcen 108a-108d zugewiesen sind. Wenn der Mux 207a1 einer Beschleunigerressource 108a-108d zugewiesen ist, dann kann der Mux 307a1 Daten von jedem der Interconnect Switch Ports 207a-207d empfangen, die jeweils Knotenressourcen 106a-106d zugewiesen sind.
  • Mux-Auswahlinformationen 311, die Mux-Auswahlinformationen 211 von 2 ähnlich sein können, werden von dem Ressourcenmanager 204 bereitgestellt, der außerhalb des Interconnect Switch Ports 307a sein kann. Mux-Auswahlinformationen 311 können dem Mux 307a angeben, von welchem der empfangenen Broadcast-Daten von den anderen Interconnect Switch Ports 313 von den anderen Interconnect Switch Ports 207a-207d, oder 207e-207h der Mux 307a Daten empfangen sollte.
  • Die empfangenen Daten können dann durch Sende- (Tx) Schaltungen 338 verarbeitet und als Ausgabedaten 305a2 zurück an entweder die Knotenressource 106a-106d oder die Beschleunigerressource 108a-108d gesendet werden, denen der Interconnect Switch Port 307a zugewiesen ist. Die empfangenen Daten, die LTSSM-Kommunikationen zugewiesen sein können, können zudem von dem Steuerblock 332 empfangen werden. Die Tx-Schaltungen 338 können die parallel-zu-seriell-Konvertierung von Daten zusammen mit dem Anwenden der geeigneten Tx-Ausgleichswerte durchführen, auf die sich während des anfänglichen Link-Trainings geeinigt wurde.
  • 4 ist ein Blockdiagramm, welches einen Prozess zum Implementieren des Managements von Verbindungen zwischen Knotenressourcen und Beschleunigerressourcen unter Verwendung eines Interconnect Switches gemäß verschiedenen Ausführungsformen illustriert. Der Ressourcenmanager 104, der Interconnect Switch 102, Knotenressourcen 106a-106d, Switch-Schnittstellen 106a1-106d1, 108a1-108d1, und Beschleunigerressourcen 108a-108d von 1 können in Ausführungsformen einen Teil von oder einen oder mehrere Prozesse durchführen, wie den Prozess 400.
  • Der Prozess kann in Block 402 das Empfangen einer Angabe einer Knotenressource von einer Vielzahl von Knotenressourcen und einer Angabe einer Beschleunigerressource einer Vielzahl von Beschleunigerressourcen einschließen, um sich mit einer Knotenressource zu verbinden. Der Ressourcenmanager 104 kann ein Verzeichnis der Knotenressourcen 106a-106d und Beschleunigerressourcen 108a-108d pflegen, sowie eine Liste, welche Beschleunigerressourcen momentan mit welchen Knotenressourcen verbunden sind.
  • Eine Knotenressource 106a-106d kann eine Anforderung an den Ressourcenmanager 104 senden, um sich mit einer verfügbaren Beschleunigerressource oder einer speziellen Beschleunigerressource zu verbinden, je nach Anforderungen der Knotenressource. Eine Knotenressource 106a-106d kann eine CPU oder mehrere CPUs sein, die unter Verwendung von Kohärenz-Links verbunden sind. Knotenressourcen 106a-106d können in Ausführungsformen zu unterschiedlichen Kohärenzdomänen gehören und können sich in unterschiedlichen Racks oder Pods befinden. Der Ressourcenmanager 104 kann in Ausführungsformen auf einem Einzelcomputer laufen, oder kann dezentralisiert auf mehreren Computern laufen, was von der Konfiguration des einen oder der mehreren Interconnect Switches 102 abhängt.
  • Der Prozess kann in Block 404, falls die angegebene Beschleunigerressource mit einem anderen Knoten von der Vielzahl von Knoten verbunden ist, Senden von einem oder mehreren Befehlen zum Entfernen im laufenden Betrieb an einen Schaltkreis-Switch senden. Der Ressourcenmanager 104 kann in Ausführungsformen sein Verzeichnis prüfen, um zu bestimmen, ob die angegebene Beschleunigerressource mit einem anderen Knoten verbunden ist. Falls die angeforderte Beschleunigerressource bereits verbunden ist, dann kann der Ressourcenmanager 104 einen Befehl zum Entfernen im laufenden Betrieb an den Interconnect Switch 102 senden. Der Befehl zum Entfernen im laufenden Betrieb kann in Ausführungsformen eine Sequenz von Anweisungen zur Verbindungstrennung zwischen einer anderen Knotenressource und der angegebenen Beschleunigerressource sein. Vor der Verbindungstrennung kann der Datenverkehr zwischen der angegebenen Beschleunigerressource und der anderen Knotenressource wie oben beschrieben zur Ruhe gebracht werden. In Ausführungsformen kann der eine bzw. können die mehreren Befehle für einen oder mehrere Interconnect Switch Ports 207a-207h und die jeweiligen Muxen 207a1-207h1 sein, das Empfangen von Broadcast-Daten von anderen Interconnect Switch Ports zu stoppen.
  • Der Prozess kann in Block 406 das Senden von einem oder mehreren Befehlen zum Zufügen im laufenden Betrieb an den Switch einschließen. In Ausführungsformen kann der eine bzw. können die mehreren Befehle zum Zufügen im laufenden Betrieb sein, den angegebenen Knoten mit der angegebenen Beschleunigerressource zu verbinden. Dies kann Senden von einem oder mehreren Befehlen zu einem oder mehreren Interconnect Switch Ports 207a-207h wie oben beschrieben innerhalb des Interconnect Switch 102 einschließen, um die angegebene Knotenressource und die angegebene Beschleunigerressource zu verbinden. Dies kann einschließen, dass der Ressourcenmanager 204 Mux-Auswahlbefehle 211 zu individuellen Muxen 207a1-207h1 sendet, um die individuellen Muxen des Interconnect Switch Ports 207a-207h anzugeben, woraufhin der Mux beginnen sollte, Daten zu empfangen.
  • Nachdem die angegebene Knotenressource und die angegebene Beschleunigerressource verbunden sind, kann die Verbindung in Ausführungsformen konfiguriert sein, um das Kommunizieren von Daten über die Verbindung zu ermöglichen. Dies kann in Ausführungsformen als Link Training und den anschließenden Ablauf mit Zufügen im laufenden Betrieb bezeichnet werden. Dies kann in Ausführungsformen mittels LTSSM wie oben beschrieben durchgeführt werden, so dass zwischen einer Knotenressource 106a-106d und der verbundenen Beschleunigerressource 108a-108d physisch Bits ausgetauscht werden können.
  • 5 illustriert eine beispielhafte Rechenvorrichtung, die zum Umsetzen von Aspekten der vorliegenden Offenbarung gemäß verschiedenen Ausführungsformen geeignet ist. Die beispielhafte Rechenvorrichtung von Diagramm 500 kann geeignet sein, um die mit Diagrammen 100, 200, 300 und 400 zusammenhängenden Funktionen umzusetzen. Diagramm 500 kann in Ausführungsformen verwendet werden, um einen oder mehrere Ressourcenmanager 104 zu implementieren.
  • Rechenvorrichtung 500 kann wie gezeigt einen oder mehrere Prozessoren 502, die jeweils einen oder mehrere Prozessorkerne haben, und Systemspeicher 504 einschließen. Der Prozessor 502 kann jeden Typ von einkernigen oder mehrkernigen Prozessoren einschließen. Jeder Prozessorkern kann eine zentrale Verarbeitungseinheit (CPU) und einen oder mehrere Cache-Level einschließen. Der Prozessor 502 kann als integrierte Schaltung implementiert werden. Die Rechenvorrichtung 500 kann Massenspeichervorrichtungen 506 (wie Diskette, Festplattenlaufwerk, flüchtigen Speicher (z.B. dynamischen Direktzugriffspeicher (DRAM)), Compact Disc-Nur-Lese-Speicher (CD-ROM), Digital Versatile Disk (DVD) und so weiter) einschließen. Systemspeicher 504 und/oder Massenspeichervorrichtungen 506 können im Allgemeinen temporäre und/oder persistente Speicher von beliebigem Typ sein, einschließlich flüchtigem und nichtflüchtigem Speicher, optischem, magnetischem und/oder Festkörpermassenspeicher und so weiter, jedoch nicht darauf begrenzt. Flüchtiger Speicher kann statischen und/oder dynamischen Direktzugriffspeicher einschließen, ohne darauf begrenzt zu sein. Nicht-flüchtiger Speicher kann, ohne jedoch darauf begrenzt zu sein, elektrisch löschbaren programmierbaren Nur-Lese-Speicher, Phasenwechselspeicher, resistiven Speicher und so weiter einschließen.
  • Die Rechenvorrichtung 500 kann ferner Eingabe/Ausgabe- (I/O)-Vorrichtungen 508 einschließen, wie Display, Tastatur, Cursorsteuerung, Fernbedienung, Gaming-Controller, Bilderfassungsvorrichtung und Kommunikationsschnittstellen 510 (wie Netzwerkschnittstellenkarten, Modems, Infrarotempfänger, Sende/Empfänger, Funkempfänger (z. B. Bluetooth) und so weiter). I/O-Vorrichtungen 508 können für kommunikative Verbindungen mit einem Interconnect Switch 102 von 1, einer Vielzahl von Interconnect Switches (nicht gezeigt) oder irgendeiner anderen Vorrichtung geeignet sein, die zum Implementieren der Funktionalitäten notwendig sind, die unter Bezugnahme auf die 1 bis 4 eine Knotenressource an eine Beschleunigerressource koppeln.
  • Kommunikationsschnittstellen 510 können in Ausführungsformen Kommunikationschips (nicht gezeigt) einschließen, die konfiguriert sein können, um die Vorrichtung 500 gemäß verdrahteten oder drahtlosen Protokollen zu betreiben.
  • Die Elemente der oben beschriebenen Rechenvorrichtung 500 können über Systembus 512 aneinander gekoppelt werden, der einen oder mehrere Busse darstellen kann. Im Fall von mehreren Bussen können sie durch eine oder mehrere Busbrücken (nicht gezeigt) verbrückt werden. Jedes dieser Elemente kann seine in der Technik bekannten konventionellen Funktionen ausüben. Systemspeicher 504 und Massenspeichervorrichtungen 506 können speziell verwendet werden, um eine Arbeitskopie und eine Permanentkopie der Programmieranweisungen zu speichern, die die Operationen und Funktionalitäten im Zusammenhang mit dem Ressourcenmanager 104 implementieren, allgemein als Rechenlogik 522 gezeigt. Rechenlogik 522 kann durch Assembler-Anweisungen implementiert werden, die durch Prozessor(en) 502 unterstützt werden, oder durch Hochsprachen, die zu solchen Anweisungen kompiliert werden können.
  • Die Rechenlogik 522 kann in Ausführungsformen ein Ressourcenmanagermodul 350 enthalten, das eine oder mehrere der Funktionen im Zusammenhang mit den Diagrammen 100, 200, 300 und 400 durchführen kann.
  • Die Permanentkopie der Programmieranweisungen kann ab Werk in Massenspeichervorrichtungen 506 platziert werden, oder im Feld, beispielsweise mittels eines Verteilungsmediums (nicht gezeigt) wie einer Compact Disc (CD), oder durch Kommunikationsschnittstellen (310) (von einem Distributionsserver (nicht gezeigt)).
  • 6 ist ein Diagramm, welches computerlesbare Medien mit Anweisungen zum Umsetzen von Managementverbindungen zwischen Knotenressourcen und Beschleunigerressourcen unter Verwendung eines Interconnect Switches gemäß verschiedenen Ausführungsformen illustriert. Diagramm 600 kann computerlesbare Medien 602 illustrieren, die Anweisungen zum Durchführen der oben beschriebenen Techniken aufweisen, oder zur Programmierung/ zum Bewirken, dass Systeme und Vorrichtungen die oben beschriebenen Techniken gemäß verschiedenen Ausführungsformen durchführen. Solche computerlesbaren Medien 602 können in einigen Ausführungsformen in eine Speicher- oder Massenspeichervorrichtung der Rechenvorrichtung 500 aus 5 eingeschlossen sein, die vorübergehend oder nicht-vorübergehend sein kann. In Ausführungsformen können Anweisungen 604 Assembler-Anweisungen einschließen, die von einer Verarbeitungsvorrichtung unterstützt werden, oder können Anweisungen in einer Hochsprache, wie C, einschließen, die zu Objektcode kompiliert werden kann, der durch die Verarbeitungsvorrichtung ausführbar ist. In einigen Ausführungsformen kann eine persistente Kopie der computerlesbaren Anweisungen 604 ab Werk in einer persistenten Speichervorrichtung platziert werden, oder im Feld (mittels beispielsweise eines maschinenzugänglichen Distributionsmediums (nicht gezeigt)). In einigen Ausführungsformen kann eine persistente Kopie der computerlesbaren Anweisungen 604 über einen geeigneten Kommunikationspfad (z. B. von einem Distributionsserver) in einer persistenten Speichervorrichtung platziert werden.
  • Die entsprechenden Strukturen, Materialien, Handlungen und Äquivalente aller Mittel oder Schritte plus Funktionselementen in den folgenden Ansprüchen sollen jedwede Struktur, jedwedes Material oder jedwede Handlung zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen wie ausdrücklich beansprucht einschließen. Die Beschreibung der vorliegenden Offenbarung wurde zu Zwecken der Erläuterung und Beschreibung gegeben, soll jedoch nicht erschöpfend sein oder die Offenbarung auf die offenbarte Form beschränken. Dem Fachmann ergeben sich viele Modifikationen und Varianten, ohne von dem Umfang und der Idee der Offenbarung abzuweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Prinzipien der Offenbarung und die praktische Anwendung am besten zu erklären und es anderen Durchschnittsfachleuten auf diesem Sektor zu ermöglichen, die Offenbarung für Ausführungsformen mit verschiedenen Modifikationen zu verstehen, wie sie in für die spezielle vorgesehene Anwendung geeignet sind.
  • BEISPIELE
  • Beispiele gemäß verschiedenen Ausführungsformen können die folgenden einschließen.
  • Beispiel 1 kann ein Ressourcenmanager sein, der umfasst: einen oder mehrere Prozessoren; ein Ressourcenmanagermodul (RMM), das kommunikativ an den einen oder die mehreren Prozessoren gekoppelt ist, wobei das RMM dazu dient, eine Angabe einer Knotenressource von einer Vielzahl von Knotenressourcen und eine Angabe von einer Beschleunigerressource von einer Vielzahl von Beschleunigerressourcen zu empfangen, die mit der Knotenressource verbunden werden sollen; falls die angegebene Beschleunigerressource mit einer anderen Knotenressource von der Vielzahl der Knotenressourcen verbunden ist, dann einen oder mehrere Befehlen zum Entfernen im laufenden Betrieb an einen Interconnect Switch zu übertragen; und einen oder mehrere Befehle zum Zufügen im laufenden Betrieb an den Interconnect Switch zu übertragen.
  • Beispiel 2 kann den Ressourcenmanager von Beispiel 1 einschließen, wobei das RMM zum Verfolgen von Verbindungen von jeweils der Vielzahl von Beschleunigerressourcen zu der Vielzahl der Knotenressourcen und zum Bewirken dient, dass der Interconnect Switch die angegebene Beschleunigerressource von der Vielzahl der Beschleunigerressourcen mit der angegebenen Knotenressource von der Vielzahl der Knotenressourcen verbindet.
  • Beispiel 3 kann den Ressourcenmanager von Beispiel 1 einschließen, wobei der eine oder die mehreren Befehle zum Entfernen im laufenden Betrieb bewirken sollen, dass der Interconnect Switch die angegebene Beschleunigerressource im laufenden Betrieb von der anderen Knotenressource entfernt.
  • Beispiel 4 kann den Ressourcenmanager aus Beispiel 3 einschließen, wobei das Entfernen der angegebenen Beschleunigerressource von der anderen Knotenressource im laufenden Betrieb ferner einschließt, dass bewirkt wird, dass Datenverkehr auf einer Verbindung zwischen der angegebenen Beschleunigerressource und der anderen Knotenressource zur Ruhe kommt.
  • Beispiel 5 kann den Ressourcenmanager von Beispiel 3 einschließen, wobei das Entfernen der angegebenen Beschleunigerressource von der anderen Knotenressource im laufenden Betrieb ferner einschließt, dass die Verbindung zwischen der angegebenen Beschleunigerressource und der anderen Knotenressource abgeschnitten wird.
  • Beispiel 6 kann den Ressourcenmanager von Beispiel 1 einschließen, wobei der eine oder die mehreren Befehle zum Zufügen im laufenden Betrieb bewirken sollen, dass der Interconnect Switch die angegebene Beschleunigerressource im laufenden Betrieb der angegebenen Knotenressource zufügt.
  • Beispiel 7 kann den Ressourcenmanager nach einem der Beispiele 1 bis 6 einschließen, wobei das Zufügen der angegebenen Beschleunigerressource zu der angegebenen Knotenressource im laufenden Betrieb ferner einschließt: Aufbauen einer Verbindung zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource mittels des Interconnect Switch; Konfigurieren der angegebenen Beschleunigerressource mittels des Interconnect Switch, mit der angegebenen Knotenressource über die aufgebaute Verbindung zu kommunizieren; und Konfigurieren der angegebenen Knotenressource mittels des Interconnect Switch, mit der angegebenen Beschleunigerressource über die aufgebaute Verbindung zu kommunizieren.
  • Beispiel 8 kann den Ressourcenmanager von Beispiel 7 einschließen, wobei eine Zeitdauer zwischen Empfang des einen oder der mehreren Befehle zum Zufügen der angegebenen Beschleunigerressource zu der angegebenen Knotenressource im laufenden Betrieb seitens des Interconnect Switch und einer aktiv aufgebauten Verbindung zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource weniger als 10 Nanosekunden (ns) beträgt.
  • Beispiel 9 kann den Ressourcenmanager nach Beispiel 8 einschließen, wobei eine aktiv aufgebaute Verbindung zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource Datenfluss zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource einschließt.
  • Beispiel 10 kann den Ressourcenmanager nach einem der Beispiele 1 bis 6 einschließen, wobei der Interconnect Switch ein latenzarmer Umgehungspfad ist, der eine erste und eine zweite Vielzahl von Ports einschließt, wobei jeder von dem ersten Satz von Ports einen Multiplexer mit einer Direktverbindung zu jedem von der zweiten Vielzahl von Ports einschließt, und wobei der Interconnect Switch Befehle von dem RMM empfängt, Verbindungen zwischen einem von dem ersten Satz der Vielzahl von Ports und einem von dem zweiten Satz von der Vielzahl von Ports im laufenden Betrieb zuzufügen oder im laufenden Betrieb zu entfernen.
  • Beispiel 11 kann den Ressourcenmanager nach Beispiel 10 einschließen, wobei einer oder mehrere von dem ersten Satz von Ports jeweils mit einem oder mehreren von der Vielzahl der Beschleunigerressourcen verbunden sind und einer oder mehrere von dem zweiten Satz von Ports jeweils mit einem oder mehreren von der Vielzahl der Knotenressourcen verbunden sind.
  • Beispiel 12 kann den Ressourcenmanager nach einem der Beispiele 1 bis 6 einschließen, wobei die Vielzahl der Beschleunigerressourcen ein Field Programmable Gate Array (FPGA), eine grafische Verarbeitungseinheit (Graphical Processor Unit; GPU) oder eine anwendungsspezifische integrierte Schaltung (Application Specific Integrated Circuit; ASIC) einschließt.
  • Beispiel 13 kann den Ressourcenmanager nach einem der Beispiele 1 bis 6, wobei die Vielzahl der Knotenressourcen eine zentrale Verarbeitungseinheit (CPU) oder ein System auf einem Chip (SOC) einschließt.
  • Beispiel 14 kann den Ressourcenmanager nach einem der Beispiele 1 bis 6 einschließen, wobei die angegebene Knotenressource eine Vielzahl von CPUs ist, die unter Verwendung von Kohärenz-Links gekoppelt sind.
  • Beispiel 15 kann den Ressourcenmanager nach einem der Beispiele 1 bis 6 einschließen, wobei die angegebene Beschleunigerressource ein Cache für die angegebene Knotenressource ist.
  • Beispiel 16 kann den Ressourcenmanager nach Beispiel 1 einschließen, wobei einige von der Vielzahl von Knotenressourcen sich in unterschiedlichen Kohärenzdomänen befinden.
  • Beispiel 17 kann den Ressourcenmanager nach einem der Beispiele 1 bis 6 einschließen, wobei einige von der Vielzahl von Beschleunigerressourcen unterschiedlichen Kohärenzdomänen zugewiesen sind.
  • Beispiel 18 kann den Ressourcenmanager von Beispiel 1 einschließen, wobei die angegebene Knotenressource einen Peripheral Component Interconnect Express (PCIe)-Port oder einen Intel Accelerator Link (IAL)-Port einschließt.
  • Beispiel 19 kann den Ressourcenmanager von Beispiel 1 einschließen, wobei sich der Ressourcenmanager innerhalb des Interconnect Switch befindet.
  • Beispiel 20 kann den Ressourcenmanager von Beispiel 1 einschließen, wobei der Interconnect Switch eine Vielzahl von Interconnect Switches ist.
  • Beispiel 21 kann den Ressourcenmanager nach einem der Beispiele 1 bis 20 einschließen, wobei die angegebene Knotenressource und die angegebene Beschleunigerressource sich in unterschiedlichen Racks befinden.
  • Beispiel 22 kann den Ressourcenmanager nach einem der Beispiele 1 bis 20 einschließen, wobei die angegebene Knotenressource und die angegebene Beschleunigerressource sich in unterschiedlichen Pods befinden.
  • Beispiel 23 kann ein Verfahren zum Managen von Ressourcen sein, welches umfasst: Empfangen einer Angabe einer Knotenressource von einer Vielzahl von Knotenressourcen und einer Angabe von einer Beschleunigerressource von einer Vielzahl von Beschleunigerressourcen, die mit der Knotenressource verbunden werden sollen; falls die angegebene Beschleunigerressource mit einer anderen Knotenressource von der Vielzahl der Knotenressourcen verbunden ist, dann Übertragen von einem oder mehreren Befehlen zum Entfernen im laufenden Betrieb an einen Interconnect Switch; und Übertragen von einem oder mehreren Befehlen zum Zufügen im laufenden Betrieb an den Interconnect Switch.
  • Beispiel 24 kann das Verfahren nach Beispiel 23 einschließen, ferner umfassend Verfolgen von Verbindungen von jeweils der Vielzahl von Beschleunigerressourcen zu der Vielzahl der Knotenressourcen.
  • Beispiel 25 kann das Verfahren von Beispiel 23 einschließen, ferner umfassend Bewirken, dass der Interconnect Switch die angegebene Beschleunigerressource von der Vielzahl von Beschleunigerressourcen mit der angegebenen Knotenressource von der Vielzahl der Knotenressourcen verbindet.
  • Beispiel 26 kann das Verfahren von Beispiel 23 einschließen, wobei der eine oder die mehreren Befehle zum Entfernen im laufenden Betrieb bewirken sollen, dass der Interconnect Switch die angegebene Beschleunigerressource im laufenden Betrieb von der anderen Knotenressource entfernt.
  • Beispiel 27 kann das Verfahren von Beispiel 26 einschließen, wobei das Entfernen der angegebenen Beschleunigerressource von der anderen Knotenressource im laufenden Betrieb ferner einschließt, dass bewirkt wird, dass Datenverkehr auf einer Verbindung zwischen der angegebenen Beschleunigerressource und der anderen Knotenressource zur Ruhe kommt.
  • Beispiel 28 kann das Verfahren von Beispiel 26 einschließen, wobei das Entfernen der angegebenen Beschleunigerressource von der anderen Knotenressource im laufenden Betrieb ferner einschließt, dass die Verbindung zwischen der angegebenen Beschleunigerressource und der anderen Knotenressource abgeschnitten wird.
  • Beispiel 29 kann das Verfahren von Beispiel 23 einschließen, wobei der eine oder die mehreren Befehle zum Zufügen im laufenden Betrieb bewirken sollen, dass der Interconnect Switch die angegebene Beschleunigerressource im laufenden Betrieb der angegebenen Knotenressource zufügt.
  • Beispiel 30 kann das Verfahren nach Beispiel 29 einschließen, wobei das Zufügen der angegebenen Beschleunigerressource zu der angegebenen Knotenressource im laufenden Betrieb ferner einschließt: Aufbauen einer Verbindung zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource mittels des Interconnect Switch; Konfigurieren der angegebenen Beschleunigerressource mittels des Interconnect Switch, mit der angegebenen Knotenressource über die aufgebaute Verbindung zu kommunizieren; und Konfigurieren der angegebenen Knotenressource mittels des Interconnect Switch, mit der angegebenen Beschleunigerressource über die aufgebaute Verbindung zu kommunizieren.
  • Beispiel 31 kann das Verfahren von Beispiel 30 einschließen, wobei eine Zeitdauer zwischen Empfang des einen oder der mehreren Befehle zum Zufügen der angegebenen Beschleunigerressource zu der angegebenen Knotenressource im laufenden Betrieb seitens des Interconnect Switch und einer aktiv aufgebauten Verbindung zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource weniger als 10 Nanosekunden (ns) beträgt.
  • Beispiel 32 kann das Verfahren von Beispiel 31 einschließen, wobei eine aktiv aufgebaute Verbindung zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource Datenfluss zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource einschließt.
  • Beispiel 33 kann das Verfahren von Beispiel 23 einschließen, wobei der Interconnect Switch ein latenzarmer Umgehungspfad ist, der eine erste und eine zweite Vielzahl von Ports einschließt, wobei jeder von dem ersten Satz von Ports einen Multiplexer mit einer Direktverbindung zu jedem von der zweiten Vielzahl von Ports einschließt, und ferner umfassend Empfangen von Befehlen, um Verbindungen zwischen einem von dem ersten Satz der Vielzahl von Ports und einem von dem zweiten Satz von der Vielzahl von Ports im laufenden Betrieb zuzufügen oder im laufenden Betrieb zu entfernen, seitens des Interconnect Switch.
  • Beispiel 34 kann das Verfahren von Beispiel 33 einschließen, wobei einer oder mehrere von dem ersten Satz von Ports jeweils mit einem oder mehreren von der Vielzahl der Beschleunigerressourcen verbunden sind und einer oder mehrere von dem zweiten Satz von Ports jeweils mit einem oder mehreren von der Vielzahl der Knotenressourcen verbunden sind.
  • Beispiel 35 kann das Verfahren von Beispiel 23 einschließen, wobei die Vielzahl der Beschleunigerressourcen ein Field Programmable Gate Array (FPGA), eine grafische Verarbeitungseinheit (GPU) oder eine anwendungsspezifische integrierte Schaltung (ASIC) einschließt.
  • Beispiel 36 kann das Verfahren von Beispiel 23 einschließen, wobei die Vielzahl der Knotenressourcen eine zentrale Verarbeitungseinheit (CPU) oder ein System auf einem Chip (SOC) einschließt.
  • Beispiel 37 kann das Verfahren von Beispiel 23 einschließen, wobei die angegebene Knotenressource eine Vielzahl von CPUs ist, die unter Verwendung von Kohärenz-Links gekoppelt sind.
  • Beispiel 38 kann das Verfahren von Beispiel 23 einschließen, wobei die angegebene Beschleunigerressource ein Cache für die angegebene Knotenressource ist.
  • Beispiel 39 kann das Verfahren von Beispiel 23 einschließen, wobei einige von der Vielzahl von Knotenressourcen sich in unterschiedlichen Kohärenzdomänen befinden.
  • Beispiel 40 kann das Verfahren von Beispiel 23 einschließen, wobei einige von der Vielzahl von Beschleunigerressourcen unterschiedlichen Kohärenzdomänen zugewiesen sind.
  • Beispiel 41 kann das Verfahren von Beispiel 23 einschließen, wobei die angegebene Knotenressource einen Peripheral Component Interconnect Express (PCIe)-Port oder einen Intel Accelerator Link (IAL)-Port einschließt.
  • Beispiel 42 kann das Verfahren von Beispiel 23 einschließen, wobei das Verfahren innerhalb des Interconnect Switch durchgeführt wird.
  • Beispiel 43 kann das Verfahren von Beispiel 23 einschließen, wobei der Interconnect Switch eine Vielzahl von Interconnect Switches ist.
  • Beispiel 44 kann das Verfahren von einem der Beispiele 23 bis 43 einschließen, wobei die angegebene Knotenressource und die angegebene Beschleunigerressource sich in unterschiedlichen Racks befinden.
  • Beispiel 45 kann das Verfahren von einem der Beispiele 23 bis 43 einschließen, wobei die angegebene Knotenressource und die angegebene Beschleunigerressource sich in unterschiedlichen Pods befinden.
  • Beispiel 46 kann ein Ressourcenmanagerapparat sein, welcher umfasst: Mittel zum Empfangen einer Angabe einer Knotenressource von einer Vielzahl von Knotenressourcen und einer Angabe einer Beschleunigerressource von einer Vielzahl von Beschleunigerressourcen, die mit der Knotenressource verbunden werden soll; falls die angegebene Beschleunigerressource mit einer anderen Knotenressource von der Vielzahl der Knotenressourcen verbunden ist, dann Mittel zum Übertragen von einem oder mehreren Befehlen zum Entfernen im laufenden Betrieb an einen Interconnect Switch; und Mittel zum Übertragen von einem oder mehreren Befehlen zum Zufügen im laufenden Betrieb an den Interconnect Switch.
  • Beispiel 47 kann den Apparat von Beispiel 46 einschließen, ferner umfassend Mittel zum Verfolgen von Verbindungen von jeweils der Vielzahl von Beschleunigerressourcen zu der Vielzahl der Knotenressourcen.
  • Beispiel 48 kann den Apparat von Beispiel 46 einschließen, ferner umfassend Mittel zum Bewirken, dass der Interconnect Switch die angegebene Beschleunigerressource von der Vielzahl von Beschleunigerressourcen mit der angegebenen Knotenressource von der Vielzahl der Knotenressourcen verbindet.
  • Beispiel 49 kann den Apparat von Beispiel 46 einschließen, wobei der eine oder die mehreren Befehle zum Entfernen im laufenden Betrieb bewirken sollen, dass der Interconnect Switch die angegebene Beschleunigerressource im laufenden Betrieb von der anderen Knotenressource entfernt.
  • Beispiel 50 kann den Apparat von Beispiel 49 einschließen, wobei das Entfernen der angegebenen Beschleunigerressource von der anderen Knotenressource im laufenden Betrieb ferner einschließt, dass bewirkt wird, dass Datenverkehr auf einer Verbindung zwischen der angegebenen Beschleunigerressource und der anderen Knotenressource zur Ruhe kommt.
  • Beispiel 51 kann den Apparat von Beispiel 49 einschließen, wobei das Entfernen der angegebenen Beschleunigerressource von der anderen Knotenressource im laufenden Betrieb ferner einschließt, dass die Verbindung zwischen der angegebenen Beschleunigerressource und der anderen Knotenressource abgeschntten wird.
  • Beispiel 52 kann den Apparat von Beispiel 46 einschließen, wobei der eine oder die mehreren Befehle zum Zufügen im laufenden Betrieb bewirken sollen, dass der Interconnect Switch die angegebene Beschleunigerressource im laufenden Betrieb der angegebenen Knotenressource zufügt.
  • Beispiel 53 kann den Apparat nach Beispiel 52 einschließen, wobei das Zufügen der angegebenen Beschleunigerressource zu der angegebenen Knotenressource im laufenden Betrieb ferner einschließt: Aufbauen einer Verbindung zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource mittels des Interconnect Switch; Konfigurieren der angegebenen Beschleunigerressource mittels des Interconnect Switch, mit der angegebenen Knotenressource über die aufgebaute Verbindung zu kommunizieren; und Konfigurieren der angegebenen Knotenressource mittels des Interconnect Switch, mit der angegebenen Beschleunigerressource über die aufgebaute Verbindung zu kommunizieren.
  • Beispiel 54 kann den Apparat von Beispiel 53 einschließen, wobei eine Zeitdauer zwischen Empfang des einen oder der mehreren Befehle zum Zufügen der angegebenen Beschleunigerressource zu der angegebenen Knotenressource im laufenden Betrieb seitens des Interconnect Switch und einer aktiv aufgebauten Verbindung zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource weniger als 10 Nanosekunden (ns) beträgt.
  • Beispiel 55 kann den Apparat von Beispiel 54 einschließen, wobei eine aktiv aufgebaute Verbindung zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource Datenfluss zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource einschließt.
  • Beispiel 56 kann den Apparat von Beispiel 46 einschließen, wobei der Interconnect Switch ein latenzarmer Umgehungspfad ist, der eine erste und eine zweite Vielzahl von Ports einschließt, wobei jeder von dem ersten Satz von Ports einen Multiplexer mit einer Direktverbindung zu jedem von der zweiten Vielzahl von Ports einschließt, und ferner umfassend Mittel zum Empfangen von Befehlen, um Verbindungen zwischen einem von dem ersten Satz der Vielzahl von Ports und einem von dem zweiten Satz von der Vielzahl von Ports im laufenden Betrieb zuzufügen oder im laufenden Betrieb zu entfernen, seitens des Interconnect Switch.
  • Beispiel 57 kann den Apparat von Beispiel 56 einschließen, wobei einer oder mehrere von dem ersten Satz von Ports jeweils mit einem oder mehreren von der Vielzahl der Beschleunigerressourcen verbunden sind und einer oder mehrere von dem zweiten Satz von Ports jeweils mit einem oder mehreren von der Vielzahl der Knotenressourcen verbunden sind.
  • Beispiel 58 kann den Apparat von Beispiel 46 einschließen, wobei die Vielzahl der Beschleunigerressourcen ein Field Programmable Gate Array (FPGA), eine grafische Verarbeitungseinheit (GPU) oder eine anwendungsspezifische integrierte Schaltung (ASIC) einschließt.
  • Beispiel 59 kann den Apparat von Beispiel 46 einschließen, wobei die Vielzahl der Knotenressourcen eine zentrale Verarbeitungseinheit (CPU) oder ein System auf einem Chip (SOC) einschließt.
  • Beispiel 60 kann den Apparat von Beispiel 46 einschließen, wobei die angegebene Knotenressource eine Vielzahl von CPUs ist, die unter Verwendung von Kohärenz-Links gekoppelt sind.
  • Beispiel 61 kann den Apparat von Beispiel 46 einschließen, wobei die angegebene Beschleunigerressource ein Cache für die angegebene Knotenressource ist.
  • Beispiel 62 kann den Apparat von Beispiel 46 einschließen, wobei einige von der Vielzahl von Knotenressourcen sich in unterschiedlichen Kohärenzdomänen befinden.
  • Beispiel 63 kann den Apparat von Beispiel 46 einschließen, wobei einige von der Vielzahl von Beschleunigerressourcen unterschiedlichen Kohärenzdomänen zugewiesen sind.
  • Beispiel 64 kann den Apparat von Beispiel 46 einschließen, wobei die angegebene Knotenressource einen Peripheral Component Interconnect Express (PCIe)-Port oder einen Intel Accelerator Link (IAL)-Port einschließt.
  • Beispiel 65 kann den Apparat von Beispiel 46 einschließen, wobei das Verfahren innerhalb des Interconnect Switch durchgeführt wird.
  • Beispiel 66 kann den Apparat von Beispiel 46 einschließen, wobei der Interconnect Switch eine Vielzahl von Interconnect Switches ist.
  • Beispiel 67 kann den Apparat von einem der Beispiele 46 bis 66 einschließen, wobei die angegebene Knotenressource und die angegebene Beschleunigerressource sich in unterschiedlichen Racks befinden.
  • Beispiel 68 kann den Apparat von einem der Beispiele 46 bis 66 einschließen, wobei die angegebene Knotenressource und die angegebene Beschleunigerressource sich in unterschiedlichen Pods befinden.
  • Beispiel 69 kann ein System sein, welches umfasst: einen oder mehrere Prozessoren; ein Ressourcenmanagermodul (RMM), das kommunikativ an den einen oder die mehreren Prozessoren gekoppelt ist, wobei das RMM zum Empfangen einer Angabe einer Knotenressource von einer Vielzahl von Knotenressourcen und einer Angabe einer Beschleunigerressource von einer Vielzahl von Beschleunigerressourcen dient, um sich mit der Knotenressource zu verbinden; falls die angegebene Beschleunigerressource mit einer anderen Knotenressource von der Vielzahl der Knotenressourcen verbunden ist, dann Übertragen von einem oder mehreren Befehlen zum Entfernen im laufenden Betrieb an einen Interconnect Switch; und wobei der Interconnect Switch kommunikativ an das RMM gekoppelt ist, um einen latenzarmen Umgehungspfad zwischen der Vielzahl von Knotenressourcen und der Vielzahl von Beschleunigerressourcen bereitzustellen, umfassend eine erste und eine zweite Vielzahl von Ports, wobei jeder von dem ersten Satz von Ports einen Multiplexer mit einer Direktverbindung zu jedem von der zweiten Vielzahl von Ports einschließt; und wobei der Interconnect Switch dazu dient, einen oder mehrere Befehle zum Entfernen im laufenden Betrieb, die Verbindung einer anderen Knotenressource zu der angegebenen Beschleunigerressource zu trennen, oder Befehle zum Zufügen im laufenden Betrieb zu empfangen, um die angegebene Knotenressource mit der angegebenen Beschleunigerressource zu verbinden.
  • Beispiel 70 kann das System nach Beispiel 69 einschließen, wobei das RMM direkt mit der Vielzahl von Multiplexern kommunizieren soll.
  • Beispiel 71 kann das System von einem der Beispiele 69 bis 70 einschließen, wobei einer oder mehrere von dem ersten Satz von Ports jeweils mit einem oder mehreren von der Vielzahl der Beschleunigerressourcen verbunden sind und einer oder mehrere von dem zweiten Satz von Ports jeweils mit einem oder mehreren von der Vielzahl der Knotenressourcen verbunden sind.
  • Beispiel 72 kann das System von Beispiel 69 einschließen, wobei die Vielzahl der Beschleunigerressourcen ein Field Programmable Gate Array (FPGA), eine grafische Verarbeitungseinheit (GPU) oder eine anwendungsspezifische integrierte Schaltung (ASIC) einschließt.
  • Beispiel 73 kann das System von Beispiel 69 einschließen, wobei die Vielzahl der Knotenressourcen eine zentrale Verarbeitungseinheit (CPU) oder ein System auf einem Chip (SOC) einschließt.
  • Beispiel 74 kann das System von Beispiel 69 einschließen, wobei die angegebene Knotenressource eine Vielzahl von CPUs ist, die unter Verwendung von Kohärenz-Links gekoppelt sind.
  • Beispiel 75 kann das System von Beispiel 69 einschließen, wobei die angegebene Beschleunigerressource ein Cache für die angegebene Knotenressource ist.
  • Beispiel 76 kann das System von Beispiel 69 einschließen, wobei einige von der Vielzahl von Knotenressourcen sich in unterschiedlichen Kohärenzdomänen befinden.
  • Beispiel 77 kann das System von Beispiel 69 einschließen, wobei einige von der Vielzahl von Beschleunigerressourcen unterschiedlichen Kohärenzdomänen zugewiesen sind.
  • Beispiel 78 kann das System von Beispiel 69 einschließen, wobei die angegebene Knotenressource einen Peripheral Component Interconnect Express (PCIe)-Port oder einen Intel Accelerator Link (IAL)-Port einschließt.
  • Beispiel 79 kann das System von Beispiel 69 einschließen, wobei sich das RMM-Modul innerhalb des Interconnect Switch befindet.
  • Beispiel 80 kann das System von Beispiel 69 einschließen, wobei der Interconnect Switch eine Vielzahl von Interconnect Switches ist.
  • Beispiel 81 kann das System von einem der Beispiele 69 bis 80 einschließen, wobei die angegebene Knotenressource und die angegebene Beschleunigerressource sich in unterschiedlichen Racks befinden.
  • Beispiel 82 kann das System von einem der Beispiele 69 bis 80 einschließen, wobei die angegebene Knotenressource und die angegebene Beschleunigerressource sich in unterschiedlichen Pods befinden.

Claims (25)

  1. Ressourcenmanager, umfassend: einen oder mehrere Prozessoren; ein Ressourcenmanagermodul (RMM), das kommunikativ an den einen oder die mehreren Prozessoren gekoppelt ist, wobei das RMM zu Folgendem dient: Empfangen einer Angabe einer Knotenressource von einer Vielzahl von Knotenressourcen und einer Angabe einer Beschleunigerressource von einer Vielzahl von Beschleunigerressourcen, die mit der Knotenressource verbunden werden soll; falls die angegebene Beschleunigerressource mit einer anderen Knotenressource von der Vielzahl der Knotenverbindungen verbunden ist, dann Übertragen von einem oder mehreren Befehlen zum Entfernen im laufenden Betrieb an einen Interconnect Switch; und Übertragen von einem oder mehreren Befehlen zum Zufügen im laufenden Betrieb an den Interconnect Switch.
  2. Ressourcenmanager nach Anspruch 1, wobei das RMM zum Verfolgen von Verbindungen von jeweils der Vielzahl von Beschleunigerressourcen zu der Vielzahl der Knotenressourcen und zum Bewirken dient, dass der Interconnect Switch die angegebene Beschleunigerressource von der Vielzahl der Beschleunigerressourcen mit der angegebenen Knotenressource von der Vielzahl der Knotenressourcen verbindet.
  3. Ressourcenmanager nach Anspruch 1, wobei der eine oder die mehreren Befehle zum Entfernen im laufenden Betrieb bewirken sollen, dass der Interconnect Switch die angegebene Beschleunigerressource im laufenden Betrieb von der anderen Knotenressource entfernt.
  4. Ressourcenmanager nach Anspruch 3, wobei das Entfernen der angegebenen Beschleunigerressource von der anderen Knotenressource im laufenden Betrieb ferner einschließt, dass bewirkt wird, dass Datenverkehr auf einer Verbindung zwischen der angegebenen Beschleunigerressource und der anderen Knotenressource zur Ruhe kommt.
  5. Ressourcenmanager nach Anspruch 3, wobei das Entfernen der angegebenen Beschleunigerressource von der anderen Knotenressource im laufenden Betrieb ferner einschließt, dass die Verbindung zwischen der angegebenen Beschleunigerressource und der anderen Knotenressource abgeschnitten wird.
  6. Ressourcenmanager nach Anspruch 1, wobei der eine oder die mehreren Befehle zum Zufügen im laufenden Betrieb bewirken sollen, dass der Interconnect Switch die angegebene Beschleunigerressource im laufenden Betrieb der angegebenen Knotenressource zufügt.
  7. Ressourcenmanager nach einem der Ansprüche 1 bis 6, wobei das Zufügen der angegebenen Beschleunigerressource zu der angegebenen Knotenressource im laufenden Betrieb ferner einschließt: Aufbauen einer Verbindung zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource mittels des Interconnect Switch; Konfigurieren der angegebenen Beschleunigerressource zum Kommunizieren mit der angegebenen Knotenressource mittels des Interconnect Switch über die aufgebaute Verbindung; und Konfigurieren der angegebenen Knotenressource zum Kommunizieren mit der angegebenen Beschleunigerressource mittels des Interconnect Switch über die aufgebaute Verbindung.
  8. Ressourcenmanager nach Anspruch 7, wobei eine Zeitdauer zwischen Empfang des einen oder der mehreren Befehle zum Zufügen der angegebenen Beschleunigerressource zu der angegebenen Knotenressource im laufenden Betrieb seitens des Interconnect Switch und einer aktiv aufgebauten Verbindung zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource weniger als 10 Nanosekunden (ns) beträgt.
  9. Ressourcenmanager nach Anspruch 8, wobei eine aktiv aufgebaute Verbindung zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource Datenfluss zwischen der angegebenen Beschleunigerressource und der angegebenen Knotenressource einschließt.
  10. Ressourcenmanager nach einem der Ansprüche 1 bis 6, wobei der Interconnect Switch ein latenzarmer Umgehungspfad ist, der eine erste und eine zweite Vielzahl von Ports einschließt, wobei jeder von dem ersten Satz von Ports einen Multiplexer mit einer Direktverbindung zu jedem von der zweiten Vielzahl von Ports einschließt, und wobei der Interconnect Switch Befehle von dem RMM empfängt, Verbindungen zwischen einem von dem ersten Satz der Vielzahl von Ports und einem von dem zweiten Satz von der Vielzahl von Ports im laufenden Betrieb zuzufügen oder im laufenden Betrieb zu entfernen.
  11. Ressourcenmanager nach Anspruch 10, wobei einer oder mehrere von dem ersten Satz von Ports jeweils mit einem oder mehreren von der Vielzahl der Beschleunigerressourcen verbunden sind und einer oder mehrere von dem zweiten Satz von Ports jeweils mit einem oder mehreren von der Vielzahl der Knotenressourcen verbunden sind.
  12. Ressourcenmanager nach einem der Ansprüche 1 bis 6, wobei die Vielzahl der Beschleunigerressourcen ein Field Programmable Gate Array (FPGA), eine grafische Verarbeitungseinheit (Graphical Processor Unit; GPU) oder eine anwendungsspezifische integrierte Schaltung (Application Specific Integrated Circuit; ASIC) einschließt.
  13. Ressourcenmanager nach einem der Ansprüche 1 bis 6, wobei die Vielzahl der Knotenressourcen eine zentrale Verarbeitungseinheit (Central Processing Unit, CPU) oder ein System auf einem Chip (System on a Chip; SOC) einschließt.
  14. Ressourcenmanager nach einem der Ansprüche 1 bis 6, wobei die angegebene Knotenressource eine Vielzahl von CPUs ist, die unter Verwendung von Kohärenz-Links gekoppelt sind.
  15. Ressourcenmanager nach einem der Ansprüche 1 bis 6, wobei die angegebene Beschleunigerressource ein Cache für die angegebene Knotenressource ist.
  16. Ressourcenmanager nach Anspruch 1, wobei einige von der Vielzahl von Knotenressourcen sich in unterschiedlichen Kohärenzdomänen befinden.
  17. Ressourcenmanager nach einem der Ansprüche 1 bis 6, wobei einige von der Vielzahl von Beschleunigerressourcen unterschiedlichen Kohärenzdomänen zugewiesen sind.
  18. Verfahren zum Managen von Ressourcen, umfassend: Empfangen einer Angabe einer Knotenressource von einer Vielzahl von Knotenressourcen und einer Angabe einer Beschleunigerressource von einer Vielzahl von Beschleunigerressourcen, die mit der Knotenressource verbunden werden soll; falls die angegebene Beschleunigerressource mit einer anderen Knotenressource von der Vielzahl der Knotenverbindungen verbunden ist, dann Übertragen von einem oder mehreren Befehlen zum Entfernen im laufenden Betrieb an einen Interconnect Switch; und Übertragen von einem oder mehreren Befehlen zum Zufügen im laufenden Betrieb an den Interconnect Switch.
  19. Verfahren nach Anspruch 18, ferner umfassend Verfolgen von Verbindungen von jeweils der Vielzahl von Beschleunigerressourcen zu der Vielzahl der Knotenressourcen.
  20. Verfahren nach Anspruch 18, wobei das Verfahren innerhalb des Interconnect Switch durchgeführt wird.
  21. Verfahren nach Anspruch 18, wobei der Interconnect Switch eine Vielzahl von Interconnect Switches ist.
  22. Verfahren nach einem der Ansprüche 18 bis 21, wobei die angegebene Knotenressource und die angegebene Beschleunigerressource sich in unterschiedlichen Racks befinden oder in unterschiedlichen Pods befinden.
  23. System, umfassend: einen oder mehrere Prozessoren; ein Ressourcenmanagermodul (RMM), das kommunikativ an den einen oder die mehreren Prozessoren gekoppelt ist, wobei das RMM zu Folgendem dient: Empfangen einer Angabe einer Knotenressource von einer Vielzahl von Knotenressourcen und einer Angabe einer Beschleunigerressource von einer Vielzahl von Beschleunigerressourcen, die mit der Knotenressource verbunden werden soll; falls die angegebene Beschleunigerressource mit einer anderen Knotenressource von der Vielzahl der Knotenverbindungen verbunden ist, dann Übertragen von einem oder mehreren Befehlen zum Entfernen im laufenden Betrieb an einen Interconnect Switch; und Übertragen von einem oder mehreren Befehlen zum Zufügen im laufenden Betrieb an den Interconnect Switch; und wobei der Interconnect Switch kommunikativ an das RMM gekoppelt ist, um einen latenzarmen Umgehungspfad zwischen der Vielzahl von Knotenressourcen und der Vielzahl von Beschleunigerressourcen bereitzustellen, umfassend eine erste und eine zweite Vielzahl von Ports, wobei jeder von dem ersten Satz von Ports einen Multiplexer mit einer Direktverbindung zu jedem von der zweiten Vielzahl von Ports einschließt; und wobei der Interconnect Switch zum Empfangen von einem oder mehreren Befehlen zum Entfernen im laufenden Betrieb, eine andere Knotenressource von der angegebenen Beschleunigerressource zu trennen, oder Befehlen zum Zufügen im laufenden Betrieb dient, um die angegebene Knotenressource mit der angegebenen Beschleunigerressource zu verbinden.
  24. System nach Anspruch 23, wobei das RMM direkt mit der Vielzahl von Multiplexern kommunizieren soll.
  25. System nach einem der Ansprüche 23 bis 24, wobei einer oder mehrere von dem ersten Satz von Ports jeweils mit einem oder mehreren von der Vielzahl der Beschleunigerressourcen verbunden sind und einer oder mehrere von dem zweiten Satz von Ports jeweils mit einem oder mehreren von der Vielzahl der Knotenressourcen verbunden sind.
DE102018005759.4A 2017-08-22 2018-07-20 Verbinden von beschleunigerressourcen unter verwendung einesswitches Pending DE102018005759A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/682,896 2017-08-22
US15/682,896 US11249808B2 (en) 2017-08-22 2017-08-22 Connecting accelerator resources using a switch

Publications (1)

Publication Number Publication Date
DE102018005759A1 true DE102018005759A1 (de) 2019-02-28

Family

ID=65321205

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018005759.4A Pending DE102018005759A1 (de) 2017-08-22 2018-07-20 Verbinden von beschleunigerressourcen unter verwendung einesswitches

Country Status (3)

Country Link
US (2) US11249808B2 (de)
CN (2) CN113515384A (de)
DE (1) DE102018005759A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11249808B2 (en) * 2017-08-22 2022-02-15 Intel Corporation Connecting accelerator resources using a switch
US11048558B2 (en) * 2018-07-12 2021-06-29 International Business Machines Corporation Dynamic accelerator generation and deployment
US11182313B2 (en) 2019-05-29 2021-11-23 Intel Corporation System, apparatus and method for memory mirroring in a buffered memory architecture
CN116830488A (zh) * 2022-01-27 2023-09-29 华为技术有限公司 重定时器的路径控制方法、装置及系统
US11907004B2 (en) * 2022-06-27 2024-02-20 eTopus Technology Inc. Configurable transmitter device based on data rate

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4769777A (en) 1986-06-25 1988-09-06 General Electric Company Unpredictable bit stream generator
US4945548A (en) 1988-04-28 1990-07-31 Digital Equipment Corporation Method and apparatus for detecting impending overflow and/or underrun of elasticity buffer
US5978379A (en) 1997-01-23 1999-11-02 Gadzoox Networks, Inc. Fiber channel learning bridge, learning half bridge, and protocol
US20040202148A1 (en) 2001-01-31 2004-10-14 Thomas Kuehnel System and method of data stream transmission over MPLS
US6917999B2 (en) * 2001-06-29 2005-07-12 Intel Corporation Platform and method for initializing components within hot-plugged nodes
US7474612B1 (en) 2003-03-20 2009-01-06 Pmc- Sierra, Inc. Multi-function bypass port and port bypass circuit
US7280589B2 (en) 2003-07-24 2007-10-09 Sun Microsystems, Inc. Source synchronous I/O bus retimer
US7249213B2 (en) 2003-08-18 2007-07-24 Silicon Storage Technology, Inc. Memory device operable with a plurality of protocols with configuration data stored in non-volatile storage elements
US7564798B2 (en) 2003-08-27 2009-07-21 Finisar Corporation Methods and devices for testing and monitoring high speed communication networks
US7234007B2 (en) 2003-09-15 2007-06-19 Broadcom Corporation Adjustable elasticity FIFO buffer have a number of storage cells equal to a frequency offset times a number of data units in a data stream
US7734741B2 (en) * 2004-12-13 2010-06-08 Intel Corporation Method, system, and apparatus for dynamic reconfiguration of resources
KR101453581B1 (ko) 2007-02-02 2014-10-22 사이마스트, 인크. 통합된 고속 패킷 스위칭 방식 직렬 인터페이스를 갖는 프로세서 칩 아키텍처
KR101419292B1 (ko) 2008-02-20 2014-07-14 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 2개의 기준 클럭을 구비한 리드라이버 및 그의 동작 방법
US7746100B2 (en) 2008-04-28 2010-06-29 Altera Corporation Flexible adder circuits with fast carry chain circuitry
US8384417B2 (en) 2008-09-10 2013-02-26 Qualcomm Incorporated Systems and methods utilizing redundancy in semiconductor chip interconnects
EP2333830B1 (de) 2009-12-07 2014-09-03 STMicroelectronics (Research & Development) Limited Verpackung bestehend aus einem ersten und einem Siliziumwürfel zusammengekoppelt durch eine Multiplex-Bus
US20110179212A1 (en) 2010-01-20 2011-07-21 Charles Andrew Hartman Bus arbitration for sideband signals
US8467218B1 (en) 2010-12-13 2013-06-18 Altera Corporation System and apparatus with IC resource interconnect
US8645585B2 (en) 2011-06-10 2014-02-04 Nvidia Corporation System and method for dynamically configuring a serial data link in a display device
JP5792384B2 (ja) 2011-07-01 2015-10-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated シリアル通信システムにおけるスタンバイ電力低減のためのシステムおよび方法
US8621131B2 (en) 2011-08-30 2013-12-31 Advanced Micro Devices, Inc. Uniform multi-chip identification and routing system
CN102497432B (zh) * 2011-12-13 2014-06-25 华为技术有限公司 一种多路径访问i/o设备的方法、i/o多路径管理器及系统
US8953644B2 (en) 2011-12-27 2015-02-10 Intel Corporation Multi-protocol I/O interconnect time synchronization
US8856420B2 (en) 2011-12-27 2014-10-07 Intel Corporation Multi-protocol I/O interconnect flow control
US9565132B2 (en) 2011-12-27 2017-02-07 Intel Corporation Multi-protocol I/O interconnect including a switching fabric
US8782321B2 (en) 2012-02-08 2014-07-15 Intel Corporation PCI express tunneling over a multi-protocol I/O interconnect
CN104067248A (zh) 2012-02-22 2014-09-24 惠普发展公司,有限责任合伙企业 用于根据不同协议的信号的复用器
US9996394B2 (en) * 2012-03-01 2018-06-12 Microsoft Technology Licensing, Llc Scheduling accelerator tasks on accelerators using graphs
JP5884578B2 (ja) * 2012-03-16 2016-03-15 富士通株式会社 アクセラレータ管理装置、アクセラレータ管理方法および入出力装置
WO2014188643A1 (ja) * 2013-05-24 2014-11-27 日本電気株式会社 スケジュールシステム、スケジュール方法、及び、記録媒体
DE112013005093T5 (de) * 2012-10-22 2015-10-22 Intel Corporation Hochleistungszusammenschaltungsbitübertragungsschicht
US9424228B2 (en) 2012-11-01 2016-08-23 Ezchip Technologies Ltd. High performance, scalable multi chip interconnect
US9088511B2 (en) * 2012-11-19 2015-07-21 Intel Corporation Multi-hop error recovery
US9396152B2 (en) * 2013-03-15 2016-07-19 Intel Corporation Device, system and method for communication with heterogenous physical layers
CN103345461B (zh) * 2013-04-27 2016-01-20 电子科技大学 基于fpga的带有加速器的多核处理器片上网络系统
US9672167B2 (en) * 2013-07-22 2017-06-06 Futurewei Technologies, Inc. Resource management for peripheral component interconnect-express domains
US8943234B1 (en) 2013-08-05 2015-01-27 Lsi Corporation Multi-protocol storage controller
US9772970B2 (en) 2013-08-29 2017-09-26 Atmel Corporation Multi-protocol serial communication interface
US9460042B2 (en) * 2013-09-03 2016-10-04 Hewlett Packard Enterprise Development Lp Backplane controller to arbitrate multiplexing of communication
US9378168B2 (en) 2013-09-18 2016-06-28 International Business Machines Corporation Shared receive queue allocation for network on a chip communication
US9686121B2 (en) * 2013-09-23 2017-06-20 Amazon Technologies, Inc. Client-premise resource control via provider-defined interfaces
US9590836B2 (en) 2013-12-13 2017-03-07 Xetawave Llc System and method for digital sideband mitigation: advanced modulation in a narrow bandwidth RF channel
DE112013007726T5 (de) 2013-12-26 2017-02-02 Intel Corporation Verbesserungen eines Zwischenverbindungs-Retimers
US10325032B2 (en) * 2014-02-19 2019-06-18 Snowflake Inc. Resource provisioning systems and methods
US9940298B2 (en) 2014-03-17 2018-04-10 Texas Instruments Incorporated Signal conditioner discovery and control in a multi-segment data path
CN106105152B (zh) * 2014-05-22 2018-07-13 华为技术有限公司 一种节点互连装置和服务器系统
US9712425B2 (en) 2014-05-23 2017-07-18 Telefonaktiebolaget Lm Ericsson (Publ) Maintaining optimal media routing
US9552322B2 (en) 2014-06-12 2017-01-24 Pericom Semiconductor Corporation Hybrid repeater for supporting backward compatibility
US10044795B2 (en) * 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US9520989B2 (en) 2014-07-28 2016-12-13 Texas Instruments Incorporated Phase detector and retimer for clock and data recovery circuits
MY175303A (en) 2014-09-11 2020-06-18 Intel Corp Apparatus for sideband signaling, method for sideband signaling and system for sideband signaling
US9697166B2 (en) 2014-11-21 2017-07-04 International Business Machines Corporation Implementing health check for optical cable attached PCIE enclosure
US9582366B2 (en) 2014-11-21 2017-02-28 International Business Machines Corporation Detecting and sparing of optical PCIE cable channel attached IO drawer
US9697155B2 (en) 2014-11-21 2017-07-04 International Business Machines Corporation Detecting and configuring of external IO enclosure
US10162786B2 (en) * 2014-12-01 2018-12-25 SK Hynix Inc. Storage node based on PCI express interface
US9747245B2 (en) 2014-12-17 2017-08-29 Intel Corporation Method, apparatus and system for integrating devices in a root complex
US9934187B2 (en) * 2014-12-17 2018-04-03 Quanta Computer Inc. Hot-pluggable computing system
US9602237B2 (en) 2014-12-19 2017-03-21 Intel Corporation Sideband parity handling
US9779053B2 (en) * 2014-12-23 2017-10-03 Intel Corporation Physical interface for a serial interconnect
US9559905B2 (en) 2014-12-24 2017-01-31 Intel Corporation Type-C retimer state machine and a protocol for inband control and configuration
US9692589B2 (en) 2015-07-17 2017-06-27 Intel Corporation Redriver link testing
US9858234B2 (en) 2015-07-17 2018-01-02 Parade Technologies, Ltd. System transparent retimer
US9760525B2 (en) 2015-07-30 2017-09-12 Nvidia Corporation Sideband signal consolidation fanout using a clock generator chip
US10498561B2 (en) 2015-08-06 2019-12-03 Intel Corporation Adaptive equalization channel extension retimer link-up methodology
US10241953B2 (en) 2015-08-07 2019-03-26 Qualcomm Incorporated Dynamic data-link selection over common physical interface
US9858228B2 (en) * 2015-08-10 2018-01-02 Futurewei Technologies, Inc. Dynamic assignment of groups of resources in a peripheral component interconnect express network
US9858161B2 (en) 2015-10-27 2018-01-02 International Business Machines Corporation Implementing cable failover in multiple cable PCI express IO interconnections
US10191877B2 (en) * 2015-12-22 2019-01-29 Intel Corporation Architecture for software defined interconnect switch
US9935839B2 (en) 2016-03-03 2018-04-03 Parade Technologies, Ltd. Display data channel snooping scheme for retimers
US10095653B2 (en) 2016-04-02 2018-10-09 Intel Corporation Apparatuses, systems, and methods for accurately measuring packet propagation delays through USB retimers
US9673963B1 (en) 2016-04-12 2017-06-06 Keyssa Systems, Inc. Multi-protocols and multi-data rates communications
WO2017189796A1 (en) 2016-04-29 2017-11-02 Megachips Technology America Corporation Data transmission method and data transmission system
US10034407B2 (en) * 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center
US10467052B2 (en) * 2017-05-01 2019-11-05 Red Hat, Inc. Cluster topology aware container scheduling for efficient data transfer
US11095556B2 (en) 2017-06-30 2021-08-17 Intel Corporation Techniques to support multiple protocols between computer system interconnects
US11249808B2 (en) * 2017-08-22 2022-02-15 Intel Corporation Connecting accelerator resources using a switch

Also Published As

Publication number Publication date
US20190065272A1 (en) 2019-02-28
US20210311800A1 (en) 2021-10-07
CN109426566B (zh) 2024-08-20
CN113515384A (zh) 2021-10-19
US11249808B2 (en) 2022-02-15
CN109426566A (zh) 2019-03-05

Similar Documents

Publication Publication Date Title
DE102018005759A1 (de) Verbinden von beschleunigerressourcen unter verwendung einesswitches
DE68913914T2 (de) Multiprozessorsystem mit Vervielfältigung von globalen Daten.
DE60212626T2 (de) Endknotenunterteilung mittels lokaler identifikatoren
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
DE102018006756A1 (de) Beschleuniger-Fabric
DE69108434T2 (de) Mehrgruppen-Signalprozessor.
DE112011102822T5 (de) Leistungsoptimierte Interrupt-Abgabe
DE69736872T2 (de) Datenverarbeitungssystem
DE112015004336T5 (de) Konfigurationsbasierte Auswahl eines Cachekohärenz-Protokolls
DE112013004607T5 (de) Laufzeit-Fabric-Rekonfiguration
DE102013104198A1 (de) Multi-CPU-System und Computersystem mit demselben
DE112013003766T5 (de) Schnelles Entzerren beim Verlassen eines Niedrigenergie-Teilbreite-Hochgeschwindigkeitsverbindungszustands
DE102015102692A1 (de) Verfahren zum Optimieren von Netzdatenströmen in einem eingeschränkten System
DE112007001135T5 (de) Gemeinschaftliche Nutzung von Daten durch Partitionen in einem partitionierbaren System
DE112012006227T5 (de) Remotezugriff auf den direkten Speicher mit reduzierter Latenzzeit
DE102022205478A1 (de) Busübergreifende speicherabbildung
DE102019112628A1 (de) Dimm für speicherkanal mit hoher bandbreite
DE102010044529A1 (de) Autonome Subsystem-Architektur
DE102016206170B4 (de) Serielle draht-debug-brücke
DE102021107336A1 (de) VORRICHTUNGEN, SYSTEME, UND VERFAHREN FÜR PCIe ENDPUNKT INTERRUPT
DE102020104221A1 (de) System, Vorrichtung und Verfahren zum Vergrössern der Bandbreite von am Rand befindlichen Agenten einer integrierten Schaltung
DE112012004926B4 (de) Gemeinsame Speichernutzung durch Prozessoren
DE102022129936A1 (de) Techniken zur Erweiterung des Systemspeichers durch Nutzung des verfügbaren Gerätespeichers
DE102019117475A1 (de) Cache-kohärente Eingabe-/Ausgabesteuerungen mit hohem Durchsatz
DE112008002273T5 (de) Optimale Lösung zur Steuerung von Datenkanälen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R130 Divisional application to

Ref document number: 102018010443

Country of ref document: DE