DE102018204577A1 - Techniken zum Erfüllen von Dienstgüteanforderungen für eine Fabric-Punkt-zu-Punkt-Verbindung - Google Patents

Techniken zum Erfüllen von Dienstgüteanforderungen für eine Fabric-Punkt-zu-Punkt-Verbindung Download PDF

Info

Publication number
DE102018204577A1
DE102018204577A1 DE102018204577.1A DE102018204577A DE102018204577A1 DE 102018204577 A1 DE102018204577 A1 DE 102018204577A1 DE 102018204577 A DE102018204577 A DE 102018204577A DE 102018204577 A1 DE102018204577 A1 DE 102018204577A1
Authority
DE
Germany
Prior art keywords
request
point
fabric
identifier
application
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
DE102018204577.1A
Other languages
English (en)
Inventor
Matthew Adiletta
Debra Bernstein
Mark Rosenbluth
Hugh Wilkinson
Gilberg Wolrich
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 DE102018204577A1 publication Critical patent/DE102018204577A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Beispiele umfassen Techniken zum Erfüllen der Dienstqualitätsanforderungen (QoS-Anforderungen) für eine Fabric-Punkt-zu-Punkt-Verbindung. Beispiele umfassen, dass eine Anwendung, die von einem mit einer Fabric gekoppelten Rechenknoten gehostet wird, Bandbreite für eine Punkt-zu-Punkt-Verbindung durch die Fabric anfragt und die Anfrage zumindest teilweise basierend darauf gewährt oder nicht gewährt wird, ob Bandbreite zur Zuweisung, um eine oder mehrere QoS-Anforderungen zu erfüllen, verfügbar ist.

Description

  • TECHNISCHES GEBIET
  • Hierin beschriebene Beispiele beziehen sich im Allgemeinen auf ein Implementieren von Punkt-zu-Punkt-Dienstgütevereinbarungen für Anwendungen, die von mit einer Fabric gekoppelten Rechenknoten gehostet werden.
  • HINTERGRUND
  • Die Zunahme des cloudbasierten Einsatzes von Rechenknoten, die in Datenzentren gelegen oder befindlich sind, hat sich beschleunigt. Datenzentren, die vor einigen Jahren noch etwa wenige Hundert Rechenknoten oder Server umfassten, enthalten nun zehntausende Rechenknoten. Zusätzlich weisen Rechenknoten einen oder mehrere Mehrkernprozessoren auf, die dazu ausgelegt sein können, mehrere virtuelle Maschinen (VM) und/oder Container, die getrennt eine oder mehrere Anwendungen ausführen können, zu hosten. Dieses sich beschleunigende Wachstum von Rechenknoten, die VM/Container hosten, die separat Anwendungen ausführen, in einem gegebenen Datenzentrum hat einen starken Fokus auf das Bereitstellen von Betriebsmitteln, die Verwaltung von Betriebsmitteln und das Erfüllen von Dienstgüteanforderungen (QoS), die mit Dienstgütevereinbarungen (SLA) verknüpft sind, zur Folge.
  • Figurenliste
    • 1 zeigt ein erstes Beispielsystem.
    • 2 zeigt ein zweites Beispielsystem.
    • 3 zeigt ein drittes Beispielsystem.
    • 4 zeigt einen ersten Beispielprozess.
    • 5 zeigt einen zweiten Beispielprozess.
    • 6 zeigt ein beispielhaftes Blockdiagramm für eine erste Vorrichtung.
    • 7 zeigt ein Beispiel eines ersten Logikablaufs.
    • 8 zeigt ein Beispiel eines ersten Speichermediums.
    • 9 zeigt ein beispielhaftes Blockdiagramm für eine zweite Vorrichtung.
    • 10 zeigt ein Beispiel eines zweiten Logikablaufs.
    • 11 zeigt ein Beispiel eines zweiten Speichermediums.
    • 12 zeigt eine beispielhafte Rechenplattform.
  • GENAUE BESCHREIBUNG
  • Wie von der vorliegenden Offenbarung betrachtet hat ein sich beschleunigendes Wachstum in Datenzentren mit Rechenknoten, die VMs/Container, die separat Anwendungen ausführen, hosten, einen starken Fokus auf das Bereitstellen von Betriebsmitteln, die Verwaltung von Betriebsmitteln und das Erfüllen von Dienstgüteanforderungen (QoS), die mit Dienstgütevereinbarungen (SLA) verknüpft sind, zur Folge. Eine Herausforderung aktueller Datenzentrumsarchitekturen kann darin bestehen, dass Rechenknoten und Anwendungsabstraktionen zum Erfüllen von QoS-Anforderungen nicht mit Abstraktionen übereinstimmen, die von Fabrics bereitgestellt werden, über die Anwendungen, die an einem Rechenknoten ausgeführt werden, Punkt-zu-Punkt-Verbindungen herstellen können. Allerdings sind, obwohl Mechanismen zum Erfüllen von QoS-Anforderungen, die mit SLA verknüpft sind, in einer Anwendungsabstraktion operieren können, QoS-Anforderungen für eine Fabric typischerweise hinsichtlich virtueller Kanäle, virtueller Schnittstellen oder Verkehrsklassen, die von einer Menge von Anwendungen gemeinsam verwendet werden können, ausgedrückt.
  • Es kann möglich sein, aktuelle Fabric-Abstraktionen zum Erfüllen von QoS-Anforderungen zu verwenden, um Rechenknoten, die VMs/Container hosten, die Anwendungen ausführen, bis zu einer bestimmten, festgelegten Grenze zu skalieren. Ein Beispielschema kann umfassen, dass jede Anwendung bestimmte virtuelle Kanäle oder Bahnen auf einer verschwenderischen ad-hoc-Basis anfordern und bereitstellen. Eine unmittelbare Beschränkung eines solchen Schemas kann darin bestehen, dass aktuelle und zukünftige Fabric-Architekturen dedizierte Kanäle, die jede Anwendung für eine Punkt-zu-Punkt-Verbindung durch die Fabric vorsehen kann, begrenzen. Zum Beispiel können manche aktuellen Fabrics, die über die Fabric-Technologie der Intel® Corporation unter Verwendung der Intel-Omni-Path-Architektur (Intel-OPA) oder über eine oder mehrere Ethernetspezifikationen betrieben werden, virtuelle Kanäle, virtuelle Schnittstellen, virtuelle Fabrics oder Verkehrsklassen auf nur ein paar Dutzend beschränken. Ebenso kann ein einzelner Switch, der in diesen aktuellen Fabrics eingesetzt werden kann, mit mehreren Dutzenden Rechenknoten mit steigenden Kernzahlen für Mehrkernprozessoren, die in der Lage sind, eine große Anzahl von VMs/Container zu hosten, gekoppelt sein. Die große Anzahl von VM/Containern kann dazu ausgelegt sein, eine Gesamtzahl von Anwendungen, die Hunderte bis Tausende von Anwendungen umfassen kann, auszuführen. Ferner kann jede dieser Anwendungen unabhängige Punkt-zu-Punkt-Bandbreiten-QoS-Anforderungen benötigen, um individuelle SLAs zu erfüllen. Das Begrenzen virtueller Kanäle, virtueller Schnittstellen, virtueller Fabrics oder Verkehrsklassen auf nur ein paar Dutzend ist dahingehend problematisch, es Hunderten bis Tausenden Anwendungen zu ermöglichen, Punkt-zu-Punkt-Bandbreite-QoS-Anforderungen zu erfüllen.
  • 1 zeigt ein Beispielsystem 100. In einigen Beispielen kann das System 100 mindestens einen Teil eines Datenzentrums, eines Hochleistungsrechennetzes (HPC), eines Telekommunikationskernnetzes, eines Unternehmensnetzes oder eines cloudbasierten verteilten Netzes darstellen. Wie in 1 gezeigt umfasst das System 100 einen Softwarestapel 102, der dazu ausgelegt sein kann, einen oder mehrere Orchestratoren 108 zu konfigurieren, um das Bereitstellen von Betriebsmitteln für Elemente des Systems 100 zu organisieren. Ebenso kann in einigen Beispielen ein Softwarestapel 104 dazu ausgelegt sein, den/die Orchestrator(en) 108 während einer Laufzeit 105 zu betreiben, um die bereitgestellten Betriebsmittel des Systems 100 zu verwalten und/oder zu steuern.
  • Gemäß einigen Beispielen kann wie unten genauer beschrieben ein Dienstgüteverwalter (QoS-Verwalter) 110 dazu ausgelegt sein, eine Durchsetzung und Überwachung von QoS-Anforderungen zu ermöglichen, die mit Dienstgütevereinbarungen (SLA) verknüpft sind, die für verschiedene Entitäten (z. B. Mieter oder Kunden) festgelegt sind, für die Betriebsmittel von dem/den Orchestrator(en) 108 bereitgestellt worden sind. Für diese Beispiele können Rechenknoten 120-1 bis 120-N, wobei „N“ eine beliebige positive ganze Zahl größer als 1 ist, Teil der bereitgestellten Betriebsmittel sein, die dazu ausgelegt sind, jeweilige VMs und/oder Container 123-1 bis 123-N zu hosten. Die VMs/Container 123-1 bis 123-N können ein weiteres Bereitstellen von Betriebsmitteln darstellen, um jeweilige Anwendungen 122-1a,b,c bis 122-Na,b,c auszuführen.
  • In einigen Beispielen können die Anwendungen 122-1a,b,c bis 122-Na,b,c Mietern oder Kunden zugeordnet sein und können SLAs mit einem Betreiber und/oder Eigentümer des Systems 100 aufweisen. Jede SLA kann eine oder mehrere jeweilige QoS-Anforderungen besitzen. Die eine oder die mehreren jeweiligen QoS-Anforderungen können Bandbreiteanforderungen (z. B. Gigabits pro Sekunde (Gbps)) oder Latenzanforderungen für jeweilige Punkt-zu-Punkt-Verbindungen, die Daten zwischen Anwendungen, die von den getrennten Rechenknoten 120-1 bis 120-N gehostet werden, durch eine Fabric leiten, umfassen, sind aber nicht darauf begrenzt. Die Fabric kann einen Switch 130 enthalten und die jeweiligen Punkt-zu-Punkt-Verbindungen können durch Links 132-1 bis 132-N, die die jeweiligen Rechenknoten 120-1bis 120-N mit dem Switch 130 koppeln, geführt werden.
  • Gemäß einigen Beispielen umfassen wie in 1 gezeigt die Rechenknoten 120-1 bis 120-N eine jeweilige Host-Fabric-Schnittstellenlogik (HFI-Logik) 121-1 bis 121-N. Die HFI-Logik 121-1 bis 121-N kann Kommunikationslogik und/oder Merkmale zum Ermöglichen von Kommunikation durch die Links 132-1 bis 132-N, die mit dem Switch 130 gekoppelt sind, umfassen. Wie unten genauer beschrieben kann die HFI-Logik 121-1 bis 121-N auch Logik und/oder Merkmale umfassen, die verantwortlich dafür sind, Punkt-zu-Punkt-SLA-Anfragen von Anwendungen weiterzuleiten, die sich darauf beziehen, eine oder mehrere QoS-Anforderungen, die SLAs für die anfragenden Anwendungen zugeordnet sind, zu erfüllen. Ebenso kann wie unten genauer beschrieben ein QoS-Verwalter 110 Logik und/oder Merkmale umfassen, um SLA-Anfragen zu empfangen, SLA-Anfragen zu gewähren, Routen durch den Switch 130 zuzuweisen, um die SLA-Anfragen zu erfüllen, und gewährte SLA-Anfragen zu verfolgen. In einigen Beispielen können die in die HFI-Logik 121-1 bis 12-N enthaltene(n) Logik oder Merkmale auch dazu ausgelegt sein, Einspeisungsraten für Anwendungen mit SLA-Anfragen, die durch den QoS-Verwalter 110 gewährt worden sind, zu steuern. Die in der HFI-Logik 121-1 bis 121-N enthaltene(n) Logik und/oder Merkmale können auch Informationen verfolgen, die sich darauf beziehen, wie die gewährten SLA-Anfragen die QoS-Anforderungen erfüllen.
  • In einigen Beispielen können Überwachungselemente 140 eine Systemtelemetrie umfassen, um Informationen für die Logik und/oder die Merkmale des QoS-Verwalters 110 bereitzustellen, um die Routen, die den Punkt-zu-Punkt-Verbindungen zwischen gehosteten Anwendungen durch den Switch 130 über die Links 132-1 bis 132-N zugeordnet sind, zu überwachen. Überwachungsinformationen, die von den Überwachungselementen 140 erfasst und gesammelt werden, können es der Logik und/oder den Merkmalen an dem QoS-Verwalter 110 ermöglichen, Routen durch den Switch 130 zu zuzuweisen, um die SLA-Anforderungen zu erfüllen. Das Überwachen von Informationen kann ein Messen verfügbarer Bandbreiten oder Latenzen für Routen umfassen, die durch getrennte Rechenknoten gehostete Anwendungen in Punkt-zu-Punkt-Verbindungen verbinden.
  • Gemäß einigen Beispielen können die Rechenknoten 120 als jeder beliebige Typ einer Rechen- und/oder Speichervorrichtung, die dazu fähig ist, die hierin beschriebenen Funktionen durchzuführen, verkörpert sein, wie beispielsweise ohne Einschränkung als ein Server (z. B. Stand-Alone-Server, Rack-Server, Blade-Server etc.), ein Netzwerkgerät (z. B. physisch oder virtuell), eine Webanwendung, ein verteiltes Rechensystem und/oder ein mehrprozessorbasiertes System. Es sollte verstanden werden, dass diejenigen Rechenknoten 120, die als Speicherknoten implementiert sind, im Allgemeinen mehr Datenspeicherkapazität aufweisen als diejenigen Rechenknoten 120, die als Rechenknoten ausgeführt sein. Ebenso sollte auch verstanden werden, dass diejenigen Rechenknoten 120, die als Rechenknoten umgesetzt sind, im Allgemeinen mehr Prozessorfähigkeit umfassen als diejenigen Rechenknoten 120, die als Speicherknoten umgesetzt sind. Mit anderen Worten können die Speicherknoten als physische Server, die zahlreiche Festplattenlaufwerke (HDDs) oder Festkörperlaufwerke (SDDs) relativ zu der Anzahl von Speichervorrichtungen der Rechenknoten umfassen, umgesetzt sein, wohingegen die Rechenknoten als physische Server, die zahlreiche Prozessoren mit mehreren Kernen relativ zu der Anzahl von Prozessoren der Speicherknoten umfassen, umgesetzt sein können. Es sollte allerdings ferner beachtet werden, dass jeder der Rechenknoten 120 als Rechenknoten und/oder Speicherknoten implementiert sein kann, unabhängig von der Komponentenkonfiguration relativ zu den anderen Rechenknoten 120.
  • In einigen Beispielen können Elemente des Systems 100 wie beispielsweise die HFIs 121-1 bis 121-N, die Links 132-1 bis 132-N und der Switch 130 dazu ausgelegt sein, gemäß verschiedener Fabric-Technologien und/oder Netzspezifikationen zu arbeiten. Fabric-Technologien können die STL-Fabric-Technologie von Intel umfassen, sind aber nicht darauf beschränkt. Netzspezifikationen können einen oder mehrere Ethernetstandards, die durch das Institute of Electrical and Electronics Engineers (IEEE) veröffentlicht wurden, umfassen, sind aber nicht darauf beschränkt. Zum Beispiel kann ein solcher Ethernetstandard IEEE 802.3-2012, Spezifikationen für Mehrfachzugriffsverfahren mit Trägerprüfung und Kollisionserkennung (CSMA/CD-Zugriffsverfahren) und Bitübertragungsschicht, veröffentlicht im Dezember 2012 (hiernach „IEEE 802.3“), umfassen.
  • 2 zeigt ein Beispielsystem 200. In einigen Beispielen umfasst das System 200 wie in 2 gezeigt eine HFI-Logik 121. Für diese Beispiele kann die HFI-Logik 121 wie in 2 gezeigt eine genauere Ansicht sein, um die Logik und/oder Merkmale, die in der HFI-Logik 121 an einem Rechenknoten 120 enthalten sind, zu zeigen. Wie auch schon vorher für 1 erwähnt kann ein Softwarestapel 102 dazu ausgelegt sein, einen oder mehrere Orchestratoren 108 dafür zu konfigurieren, Betriebsmittel für Elemente des Systems 100 wie beispielsweise die HFI-Logik 121 bereitzustellen. Der/die Orchestrator(en) 108 kann/können das Bereitstellen von Betriebsmitteln für Elemente eines Rechenknotens wie beispielsweise die HFI-Logik 121 über einen oder mehrere Warteschlangenpaar-Befehle 210 veranlassen.
  • Gemäß einigen Beispielen kann ein Softwarestapel 202 einen rechenknotenspezifischen Softwarestapel umfassen, um die Konfiguration der HFI-Logik 121 für den Betrieb in dem Rechenknoten über den einen oder die mehreren Warteschlangenpaar-Befehle 210 zu ermöglichen. Ebenso kann der Softwarestapel 204 zusätzliche rechenknotenspezifische Software umfassen, um die HFI-Logik 121 während einer Laufzeit 205 zu betreiben. In einigen Beispielen können Anwendungen 122a,b,c, die von einem gegebenen Rechenknoten 120 gehostet werden, Warteschlangenpaar-Befehle verwenden, um SLA-Anfragen an die HFI-Logik 121 zu stellen. Diese SLA-Anfragen können dem Erfüllen von einer oder mehreren QoS-Anforderungen zugeordnet sein, beispielsweise der minimalen verfügbaren Bandbreite und/oder Latenz für Punkt-zu-Punkt-Verbindungen durch eine Fabric (die z. B. den Switch 130 umfasst) mit anderen Anwendungen, die durch andere Rechenknoten, die mit der Fabric gekoppelt sind, gehostet werden.
  • In einigen Beispielen kann die HFI-Logik 121 aus einer oder mehreren Zusatzkarten, Tochterkarten, Netzschnittstellenkarten (NIC), Controller-Chips, Chipsätzen oder anderen Vorrichtungen, die sich auf dem Rechenknoten 120 befinden können, zusammengesetzt sein. Zum Beispiel kann die HFI-Logik 121 in einem oder mehreren Prozessoren integriert sein, als eine Erweiterungskarte, die mit dem Rechenknoten 120 gekoppelt ist, verkörpert sein, Teil eines Ein-Chip-Systems (SoC) sein oder in einer Mehrchipbaugruppe, die auch einen oder mehrere Prozessoren enthält, beinhaltet sein. Zusätzlich oder alternativ kann in einigen Beispielen die Funktionalität der HFI-Logik 121 in eine oder mehrere Komponenten des Rechenknotens 120 auf der Platinenebene, der Sockelebene, der Chipebene und/oder anderen Ebenen integriert sein.
  • Gemäß einigen Beispielen umfasst die HFI-Logik 121 wie in 2 gezeigt ein HFI-Kommunikationsmerkmal 228. Das HFI-Kommunikationsmerkmal 228 kann beliebige Kommunikationsschaltungen, Vorrichtungen oder eine Ansammlung davon umfassen, die dazu in der Lage sind, drahtlose und/oder drahtgebundene Kommunikationen zwischen Rechenknoten 120 und anderen Elementen des Systems 100 wie beispielsweise dem Switch 130 zu ermöglichen. Das HFI-Kommunikationsmerkmal 228 kann dazu ausgelegt sein, eine oder mehrere Kommunikationstechnologien (z. B. drahtlose oder drahtgebundene Kommunikationstechnologien) und Protokolle zu verwenden. Als Beispiele dienen Kommunikationstechnologien, die standardisierten Kommunikationsprotokollen wie beispielsweise IEEE 802.3 und/oder mit proprietären Kommunikationsprotokollen wie etwa der Fabric-Technologie von Intel unter Verwendung der Intel-Omni-Path Architektur (Intel-OPA) zugeordnet sind, sind aber nicht darauf beschränkt.
  • In einigen Beispielen umfasst die HFI-Logik 121 wie in 2 gezeigt auch ein Fabric-QoS-Anfragemerkmal 226. Das Fabric-QoS-Anfragemerkmal 226 kann dafür verantwortlich sein, SLA-Anfragen von Anwendungen, die durch den Rechenknoten 120 gehostet werden, weiterzuleiten. Die SLA-Anfragen können über den einen oder die mehreren Warteschlangenpaar-Befehle 210 empfangen werden. Jede SLA-Anfrage kann von einer Anwendung sein, die QoS-Anforderungen erfüllen will, die einer SLA für eine Punkt-zu-Punkt-Verbindung mit einer weiteren Anwendung, die durch eine Fabric (die z. B. den Switch 130 umfasst) geführt ist, zugeordnet sind. Die SLA-Anfragen können an den QoS-Verwalter 110 weitergeleitet werden. Wie unten genauer beschrieben kann der QoS-Verwalter 110 Logik und/oder Merkmale umfassen, um die SLA-Anfragen zu gewähren und die Zuweisung von Betriebsmitteln zu veranlassen, um die QoS-Anforderungen, die der SLA zugeordnet sind, zu erfüllen.
  • Gemäß einigen Beispielen umfasst die HFI-Logik 121 wie in 2 gezeigt auch ein Fabric-QoS-Tabellenmerkmal 224. Das Fabric-QoS-Tabellenmerkmal 224 kann anwendungsspezifische Informationen für SLA-Anfragen, die durch das Fabric-Anfragemerkmal 226 an den QoS-Verwalter 110 weitergeleitet werden, speichern und pflegen. Für diese Beispiele können anwendungsspezifische Informationen wie beispielsweise eine zugewiesene Kennung für die anfragende Anwendung und Informationen, die angeben, was angefragt worden ist, um die QoS-Anforderungen zu erfüllen, durch das Fabric-QoS-Tabellenmerkmal 224 gepflegt werden. In einigen Beispielen können die jeweiligen zugewiesenen Kennungen für anfragende Anwendungen Prozessadressbereichskennungen (PASID) sein, die für jeden Rechenknoten, der anfragende Anwendungen hostet, einzigartig sind.
  • In einigen Beispielen können anwendungsspezifische Informationen für gewährte SLA-Anfragen in einer Tabelle 230 gepflegt werden. Für diese Beispiele umfasst die Tabelle 230 wie in 2 gezeigt ein PASID-Feld 232, das PASIDs für Anwendungen mit gewährten SLA-Anfragen enthält. Die Tabelle 230 umfasst auch ein Bandbreitenfeld (BW-Feld) 234, das anzeigen kann, welche Bandbreite als Antwort auf die SLA-Anfrage gewährt wurde. Die Tabelle 230 umfasst auch ein Eingabe-/Ausgabe-Feld 235, das angeben kann, ob die Bandbreite für eine Eingabe aus der Fabric in den Rechenknoten war oder für eine Ausgabe aus dem Rechenknoten an die Fabric war. Die Tabelle 230 umfasst auch ein Guthabenfeld 236, das angeben kann, welches Guthaben (z. B. einer verfügbaren zugewiesenen Bandbreite in dem Rechenknoten zugeordnet) der Anwendung zur Verfügung stehen. Verfügbare Guthaben können auf dynamischen Informationen basieren, die kontinuierlich gepflegt oder überwacht werden, nachdem eine SLA-Anfrage einer Anwendung gewährt worden ist, während die Anwendung auf einem hostenden Rechenknoten 120 läuft. Die Tabelle 230 umfasst auch ein QoS-Typ-Feld 238, das angeben kann, ob eine SLA es erfordert, dass QoS-Anforderungen erfüllt werden (streng) oder auf einem bestmöglichen Aufwand basieren können (mild).
  • Gemäß einigen Beispielen kann das Fabric-Anfragemerkmal 226 dazu fähig sein, Informationen, die durch das Fabric-QoS-Tabellenmerkmal 224 in Tabelle 230 gepflegt werden, zu verwenden, um eine Einspeisungsrate pro PASID-basierter Instanz zu steuern. Für diese Beispiele kann das Fabric-Anfragemerkmal 226 die Informationen in dem BW-Eingabe-/Ausgabe-Feld 235 oder dem Guthabenfeld 236 verwenden, um zu bestimmen, ob für eine bestimmte Anwendung in einem Rechenknoten die zugewiesene Bandbreite gedrosselt wird. Zum Beispiel kann das Fabric-Anfragemerkmal 226 dann, wenn eine erste PASID einen relativ hohen Guthabenbetrag in dem Guthabenfeld 236 im Vergleich zu einer zweiten PASID aufweist, die Bandbreite, die einer Anwendung zugewiesen ist, die der zweiten PASID zugeordnet ist, drosseln, um mehr verfügbare Bandbreite oder zusätzliches Guthaben für eine weitere Anwendung, die der ersten PASID zugeordnet ist, bereitzustellen.
  • 3 veranschaulicht ein Beispielsystem 300. Das System 300 enthält wie in 3 gezeigt den QoS-Verwalter 110. Für diese Beispiele kann der QoS-Verwalter 110 wie in 3 gezeigt eine genauere Ansicht sein, um Logik und/oder Merkmale, die in einem QoS-Verwalter für ein Datenzentrum, ein HPC-Netz, ein Telekommunikationskernnetz, ein Unternehmensnetz oder ein cloudbasiertes verteiltes Netz enthalten sind, wie für das in 1 gezeigte System 100, zu veranschaulichen.
  • In einigen Beispielen enthält der QoS-Verwalter 110 wie in 3 gezeigt ein Global-PASID-QoS-Tabellenmerkmal 312, ein Link-PASID-Zuweisungs-Tabellenmerkmal 314 und eine Verwalter-QoS-Logik 316. Der Softwarestapel 302 kann Fabric-Flüssen 305 zugeordnet sein, die die Verarbeitung von weitergeleiteten SLA-Anforderungen durch Logik und/oder Merkmale des QoS-Verwalters 110 wie etwa der Verwalter-QoS-Logik 316 ermöglichen. Fabric-Flüsse 305 können Informationen im Zusammenhang mit dem Registrieren oder Deregistrieren von SLA-Anfragen, die von der Logik und/oder den Merkmalen der HFI-Logik 121 weitergeleitet werden, die an den jeweiligen Rechenknoten 120 befindlich ist, weiterleiten. Der Fabric-Fluss 305 kann diese Informationen unter Verwendung von Kommunikationsprotokollen der Schicht 4 (L4) weiterleiten. Wie zuvor erwähnt können Rechenknoten 120 Anwendungen hosten, die die SLA-Anfragen stellen, um eine oder mehrere QoS-Anforderungen zu erfüllen.
  • Gemäß einigen Beispielen kann das Global-PASID-QoS-Tabellenmerkmal (GPASID-QoS-Tabellenmerkmal) 312 dazu ausgelegt sein, unterschiedliche Punkt-zu-Punkt-Bandbreitenzuweisungen, die als Antwort auf SLA-Anforderungen von verschiedenen von den Rechenknoten 120 gehosteten Anwendungen gewährt werden, zu verwalten oder zu speichern. Das GPASID-QoS-Tabellenmerkmal 312 kann die verschiedenen Punkt-zu-Punkt-Bandbreitenzuweisungen in einer Tabelle 320 pflegen. Für diese Beispiele enthält die Tabelle 320 wie in 3 gezeigt ein GPASID-Feld 322 und ein BW-Zuweisungsfeld 324.
  • In einigen Beispielen können Global-PASIDs, die in dem GPASID-Feld 322 der Tabelle 320 enthalten sind, eine Kennung für den Rechenknoten, der eine anfragende Anwendung hostet, gefolgt von einer PASID, die der anfragenden Anwendung an dem Rechenknoten zugewiesen ist, enthalten. Zum Beispiel können die in 3 in dem GPASID-Feld 322 gezeigten GPASIDs entsprechende GPASIDs für zwei anfragende Anwendungen an dem Rechenknoten 120-1 und für zwei anfragende Anwendungen an dem Rechenknoten 120-2 enthalten. Die erste anfragende Anwendung an dem Rechenknoten 120-1 (120-1 123123) forderte eine BW-Zuweisung von 1 Gbps an, die zweite anfragende Anwendung (120-1 546644) forderte eine BW-Zuweisung von 10 Gbps an. Währenddessen forderte die erste anfragende Anwendung an dem Rechenknoten 120-2 (120-2 222444) eine BW-Zuweisung von 2 Gbps an, die zweite anfragende Anwendung an dem Rechenknoten 120-2 (120-2 1515233) eine BW-Zuweisung von 3 Gbps an.
  • Gemäß einigen Beispielen kann das Link-GPASID-Zuweisungs-Tabellenmerkmal 314 dazu ausgelegt sein, zu verwalten oder zu speichern, welchen GPASIDs für anfragende Anwendungen Links zugewiesen worden sind, die durch die Fabric geführt sind, die den Switch 130 enthält. Das GPASID-Zuweisungs-Tabellenmerkmal 314 kann in einer Tabelle 330 pflegen, für welche GPASIDs für anfragende Anwendungen Links zugewiesen worden sind. Für diese Beispiele enthält die Tabelle 330 wie in 3 gezeigt ein Linkfeld 332 und ein Feld für die zugewiesene GPASID 334.
  • In einigen Beispielen können die im Linkfeld 332 enthaltenen Links 132-1, 132-2, 132-4 und 132-5 Links sein, die anfragenden Anwendungen zugeordnet werden, um Punkt-zu-Punkt-Verbindungen durch die Fabric, die den Schalter 130 enthält, herzustellen. Für diese Beispiele und unter Bezugnahme auf Fig. 1 können Anwendungen mit PASIDs 123123 und 546644, die an dem Rechenknoten 120-1 gehostet sind, SLA-Anforderungen für Punkt-zu-Punkt-Verbindungen mit Anwendungen mit PASIDs 222444 und 1515233, die an dem Rechenknoten 120-4 gehostet sind, gewährt worden sein und Anwendungen, die an dem Rechenknoten 120-2 gehostet sind, können SLA-Anforderungen für Punkt-zu-Punkt-Verbindungen mit Anwendungen, die an dem Rechenknoten 120-5 gehostet sind, gewährt worden sein. Für diese Beispiele kann die Verwalter-QoS-Logik 316 Betriebsmittel zugewiesen haben, um angefragte Bandbreiten von 1 Gbps und 10 Gbps über mit dem Switch 130 gekoppelte Links 132-1 und 132-3 (siehe 1) bereitzustellen, um SLA-Anfragen für Anwendungen mit PASIDs 123123 und 546644 an dem Rechenknoten 120-1 zu erfüllen. Außerdem kann die Verwalter-QoS-Logik 316 Betriebsmittel zugewiesen haben, um angefragte Bandbreiten von 2 Gbps und 3 Gbps über die mit dem Schalter 130 gekoppelten Links 132-2 und 132-4 (siehe 1) bereitzustellen, um SLA-Anfragen für Anwendungen mit PASIDs 222444 und 1515233 an dem Rechenknoten 120-2 zu erfüllen.
  • Gemäß einigen Beispielen können die Logik und/oder die Merkmale des QoS-Verwalters 110 als eine neue Verwaltungskomponente eines Datenzentrums, HPC-Netzes, Telekommunikationskernnetzes, Unternehmensnetzes oder eines cloudbasierten verteilten Netzes implementiert sein, beispielsweise befindlich auf oder an einem neuen Typ von Rechen- oder Verwaltungsknoten, der für die Verarbeitung und Überwachung von SLA-Anforderungen ausgelegt ist. In anderen Beispielen können die Logik und/oder die Merkmale des QoS-Verwalters 110 an einem Rechenknoten als Teil bestehender Knotenarchitekturen implementiert sein, die auch Anwendungen hosten oder andere Verwaltungsfunktionen ausführen können. Für diese anderen Beispiele können die Logik und/oder die Merkmale des QoS-Verwalters 110 unter Verwendung einer Prozessorschaltung an einem Rechenknoten implementiert sein oder können über eine separate feldprogrammierbares Gatteranordnung (FPGA) oder eine anwendungsspezifische integrierte Schaltung (ASIC) implementiert sein.
  • Obwohl dies nicht gezeigt ist, kann ein gegebenes Datenzentrum, HPC-Netz, Telekommunikationskernnetz, Unternehmensnetz oder cloudbasiertes verteiltes Netz in mehrere QoS-Domänen unterteilt sein. Jede dieser Domänen kann einen QoS-Verwalter enthalten, der dem QoS-Verwalter 110 ähnlich ist. Diese separaten QoS-Verwalter können interagieren, um SLAs zwischen den QoS-Domänen einzurichten, um eine bestimmte QoS-Bandbreite zwischen Domänen zu garantieren.
  • 4 zeigt einen Beispielprozess 400. Gemäß einigen Beispielen kann der Prozess 400 ein Beispiel eines Registrierungsablaufes für eine SLA-Anfrage sein, die von einer Anwendung gesendet wird, die von einem Rechenknoten gehostet wird. Für diese Beispiele können Elemente der Systeme 100, 200 oder 300, wie sie in 1-3 gezeigt sind, zumindest Teile des Prozesses 400 implementieren. Das Beispiel zum Implementieren des Prozesses 400 ist nicht auf Elemente der Systeme 100, 200 oder 300 beschränkt.
  • Gemäß einigen Beispielen kann die Anwendung 122-la, die von dem Rechenknoten 120-1 gehostet wird, eine SLA-Anfrage erzeugen, die durch die Logik und/oder die Merkmale der HFI-Logik 121-1 weitergeleitet wird. Die SLA-Anfrage kann über den Switch 130 an den QoS-Verwalter 110 weitergeleitet werden und die SLA-Anfrage kann entweder gewährt (Bestätigung (ACK)) oder nicht gewährt (negative Bestätigung (NACK)) werden. Für diese Beispiele kann die Anwendung 122-la eine SLA-Anfrage erzeugen, die wünscht, dass zugewiesene Bandbreite einer oder mehrerer QoS-Anforderungen für eine Punkt-zu-Punkt-Verbindung mit einer anderen Anwendung (Ziel), die von einem mit dem Switch 130 gekoppelten Rechenknoten gehostet wird, erfüllt. Die eine oder die mehreren QoS-Anforderungen können für eine SLA sein, die der Anwendung, die die SLA-Anfrage stellt, zugeordnet ist. Die erzeugte SLA-Anfrage kann in den Nutzdaten des BEFEHL(@Nutzdaten) enthalten sein, das an die HFI-Logik 121-1 gesendet wird. BEFEHL(@Nutzdaten) kann ein Warteschlangenpaarbefehl sein, über den die in dem BEFEHL(@ Nutzdaten) enthaltenen Parameter durch Logik und/oder Merkmale der HFI-Logik 121-1 (z. B. das Fabric-QoS-Anfragemerkmal 226) extrahiert werden. Diese Parameter können eine Zielanwendung für die Punkt-zu-Punkt-Verbindung, eine angefragte Bandbreite für die Punkt-zu-Punkt-Verbindung und Informationen, ob die eine oder mehrere QoS-Anforderungen für die SLA erfüllt sein müssen (streng) oder sich auf den bestmöglichen Aufwand beziehen (mild), umfassen, sind aber nicht darauf beschränkt. Optional können die Parameter auch Latenzinformationen enthalten, die eine maximale Latenz angeben, die benötigt wird, um die eine oder mehrere QoS-Anforderungen zu erfüllen.
  • In einigen Beispielen kann die HFI-Logik 121-1 wie in 4 gezeigt eine Fabric_QoS_Anfrage weiterleiten oder erzeugen, die die der Anwendung 122-la zugewiesene GPASID, das Ziel für die Punkt-zu-Punkt-Verbindung, die angefragte Bandbreite und Informationen, ob die eine oder die mehreren QoS-Anforderungen streng oder mild sind, enthält. Die Logik und/oder die Merkmale des QoS-Verwalters 110 können die verschiedenen Routenführungs-Optionen durch den Switch 130 für die Punkt-zu-Punkt-Verbindung zwischen der Anwendung 122-la und der Zielanwendung bewerten. Wenn ein Latenzparameter in der Fabric_QoS_Anfrage enthalten ist, kann der QoS-Verwalter 110 die Latenz für jede mögliche Route schätzen. Die Logik und/oder die Merkmale des QoS-Verwalters 110 wie beispielsweise das Link-GPASID-Zuweisungs-Tabellenmerkmal 314 können das Linkfeld 332 der Tabelle 330 prüfen, um zu bestimmen, ob Links, die an einer möglichen Route teilnehmen können, genügend nicht-SLA-zugewiesene Bandbreite aufweisen, um die von der Anwendung 122-la gestellte SLA-Anfrage zu erfüllen. Wenn genug nicht-SLA-zugewiesene Bandbreite verfügbar ist, können die Logik und/oder die Merkmale des QoS-Verwalters 110 wie etwa die Verwalter-QoS-Logik 316 die potentielle Route mit der niedrigsten geschätzten Latenz auswählen und eine ACK an die HFI-Logik 121-1 senden, die eine Routen-ID, die geschätzte Latenzzeit und die zugewiesene Bandbreite enthält. Wenn keine der möglichen Routen ausreichend zugewiesene Bandbreite bereitstellt und eine milde QoS-Anforderung in der SLA-Anfrage angegeben ist, können die Logik und/oder die Merkmale des QoS-Verwalters 110 wie etwa die Verwalter-QoS-Logik 316 eine Route mit einer höheren verfügbaren Bandbreite für die Zuweisung auswählen und dann eine ACK an die HFI-Logik 121-1 senden, die eine Routen-ID für die Route, die eine höhere verfügbare Bandbreite im Vergleich zu anderen Routen aufweist, die geschätzte Latenzzeit für diese Route und die zugewiesene Bandbreite enthält. Wenn keine der möglichen Routen ausreichend zugewiesene Bandbreite bereitstellt und eine strenge QoS-Anforderung in der SLA-Anforderung angegeben ist, kann die Verwalter-QoS-Logik 316 eine NACK an die HFI-Logik 121-1 senden. Die HFI-Logik 121-1 kann entweder eine ACK an die Anwendung 122-la weiterleiten, um anzugeben, dass die QoS-Anforderungen für die SLA-Anforderung erfüllt worden sind, oder eine NACK an die Anwendung 122-la senden, um anzugeben, dass die QoS-Anforderungen für die SLA-Anforderung nicht erfüllt worden sind (z. B. nicht genügend verfügbare Bandbreite oder Überschreitung von maximalen Latenzzeiten durch Latenzzeiten für verfügbare Routen).
  • Gemäß einigen Beispielen kann dann, wenn die Verwalter-QoS-Logik 316 ein Senden einer ACK an die HFI-Logik 121-1 veranlassen kann, die GPASID, die der Anwendung 122-la zugewiesen ist, sowie die zugewiesene Bandbreite zu der Tabelle 320 hinzugefügt werden, die durch das GPASID-QoS-Tabellenmerkmal 312 gepflegt wird. Die Links, die in der Route enthalten sind, und die GPASID, die der Anwendung 122-la zugewiesen ist, können durch das Link-GPASID-Zuweisungs-Tabellenmerkmal 314 zu der Tabelle 330 hinzugefügt werden. Der Prozess 400 für den Registrierungsablauf für die von der Anwendung 122-la übermittelte SLA-Anfrage kann dann enden.
  • 5 veranschaulicht einen Beispielprozess 500. Gemäß einigen Beispielen kann der Prozess 500 ein Beispiel eines Deregistrierungsablaufes für eine SLA-Anfrage sein, die von einer Anwendung eingereicht wird, die von einem Rechenknoten gehostet wird. Für diese Beispiele können Elemente der Systeme 100, 200 oder 300, wie sie in 1-3 gezeigt sind, zumindest Teile des Prozesses 500 implementieren. Beispiele sind nicht auf Elemente der Systeme 100, 200 oder 300 beschränkt, die den Prozess 500 implementieren.
  • Gemäß einigen Beispielen kann die Anwendung 122-la, die von dem Rechenknoten 120-1 gehostet wird, eine Anfrage zum Deregistrieren der Registrierung einer zuvor gewährten SLA-Anfrage erzeugen. Für diese Beispiele kann die Anfrage zum Deregistrieren der zuvor gewährten SLA-Anfrage durch Logik und/oder Merkmale der HFI-Logik 121-1 weitergeleitet werden. Die Anfrage kann über den Switch 130 an den QoS-Manager 110 weitergeleitet werden und die Deregistrierungsanfrage kann entweder gewährt (ACK) oder nicht gewährt (NACK) werden. Für diese Beispiele kann die Anwendung 122-la die Anfragen zum Deregistrieren der Registrierung einer SLA-Anfrage für eine Punkt-zu-Punkt-Verbindung mit einer anderen Anwendung (Ziel), die von einem mit dem Switch 130 gekoppelten Rechenknoten gehostet wird, erzeugen. Die Anfrage kann in den Nutzdaten des BEFEHL(@Nutzdaten) enthalten sein, der an die HFI-Logik 121-1 gesendet wird. BEFEHL(@Nutzdaten) kann ein Warteschlangenpaarbefehl sein, über den die in dem BEFEHL(@Nutzdaten) enthaltenen Parameter durch Logik und/oder Merkmale der HFI-Logik 121-1 (z. B. das Fabric-QoS-Anfragemerkmal 226) extrahiert werden. Diese Parameter können eine PASID, die der Anwendung 122-la zugewiesen ist, und eine Angabe zum Deregistrieren der Registrierung einer gewährten SLA-Anforderung umfassen, sind aber nicht darauf beschränkt.
  • In einigen Beispielen kann die HFI-Logik 121-1 wie in 5 gezeigt Fabric_QoS_DeReg, das die der Anwendung 122-la zugewiesene GPASID enthält, weiterleiten oder erzeugen. Für diese Beispiele können die Logik und/oder die Merkmale des QoS-Managers 110 die Anfrage akzeptieren (ACK) oder verweigern (NACK). Die HFI-Logik 121-1 kann dann die ACK oder NACK an die Anwendung 121-la weiterleiten, um anzugeben, ob die Anfrage zum Deregistrieren der Registrierung der SLA-Anfrage akzeptiert worden ist. Der Prozess 500 für den Deregistrierungsablauf für die von der Anwendung 122-1a übermittelte SLA-Anfrage kann dann zu einem Ende kommen.
  • 6 zeigt ein beispielhaftes Blockdiagramm für eine Vorrichtung 600. Obwohl die in 6 gezeigte Vorrichtung 600 eine begrenzte Anzahl von Elementen in einer bestimmten Topologie aufweist, ist ersichtlich, dass die Vorrichtung 600 mehr oder weniger Elemente in alternativen Topologien aufweisen kann, wie sie z. B. für eine bestimmte Implementierung gewünscht sind.
  • Gemäß einigen Beispielen kann die Vorrichtung 600 der Host-Fabric-Schnittstellenlogik für einen Rechenknoten zugeordnet sein, der mit einer Fabric gekoppelt ist, beispielsweise der HFI-Logik 121, wie sie in 1 oder 2 gezeigt ist. Die Vorrichtung 600 kann durch die Schaltungsanordung 620 unterstützt werden. Für diese Beispiele kann die Schaltungsanordnung 620 in einem Prozessor, einer CPU oder einer FPGA eingebaut sein, die an einem Rechenknoten gehalten werden, der mit einer der Vorrichtung 600 zugeordneten Fabric gekoppelt ist. Die Schaltungsanordnung 620 kann dazu ausgelegt sein, software-, firmware- und/oder hardwareimplementierte Module, Komponenten und/oder Logiken 622-a auszuführen (Modul, Komponente oder Logik können in diesem Zusammenhang austauschbar verwendet werden). Es ist anzumerken, dass „a“ und „b“ und „c“ und ähnliche Bezeichnungen, wie sie hier verwendet werden, Variablen sein sollen, die eine beliebige positive ganze Zahl repräsentieren. Wenn also z. B. eine Implementierung einen Wert a = 4 setzt, dann kann eine vollständige Menge von Software, Firmware und/oder Hardware für die Logik 622-a die Logik 622-1, 622-2, 622-3 oder 622-4 enthalten. Die vorgestellten Beispiele sind in diesem Zusammenhang nicht eingeschränkt und die verschiedenen durchgehend verwendeten Variablen können die gleichen oder verschiedene ganzzahlige Werte darstellen. Zudem können „Logik“, „Modul“ oder „Komponente“ auch Software/Firmware umfassen, die in computerlesbaren Medien gespeichert ist, und obwohl die Arten von Logik in 6 als diskrete Kästen gezeigt sind, beschränkt dies diese Komponenten nicht auf die Speicherung in verschiedenen computerlesbaren Medienkomponenten (z. B. einem separaten Speicher usw.).
  • Gemäß einigen Beispielen kann die Schaltungsanordnung 620 einen Prozessor, eine Prozessorschaltung oder eine Prozessorschaltungsanordnung enthalten. Die Schaltungsanordnung 620 kann allgemein dazu ausgelegt sein, ein oder mehrere Module, Komponenten oder eine Logik 622-a auszuführen oder zu implementieren. Die Schaltungsanordnung 620 kann die Gesamtheit oder zumindest ein Teil von irgendeinem der verschiedenen im Handel erhältlichen Prozessoren sein, einschließlich Athlon®-, Duron®- und Opteron®-Prozessoren von AMD®; Anwendungsprozessoren, eingebetteten und sicheren Prozessoren von ARM®; DragonBall®- und PowerPC®-Prozessoren von IBM® und Motorola®; Cell-Prozessoren von IBM und Sony®; Atom®-, Celeron®-, Core(2)Duo®-, Core-i3-, Core-i5-, Core-i7-, Itanium®-, Pentium®-, Xeon®-, Xeon Phi®- und XScale®-Prozessoren von Intel®; und ähnlichen Prozessoren. Gemäß einigen Beispielen kann die Schaltungsanordnung 620 auch eine anwendungsspezifische integrierte Schaltung (ASIC) enthalten und zumindest einige Logik 622-a kann als Hardwareelemente der ASIC implementiert sein. Gemäß einigen Beispielen kann die Schaltungsanordnung 620 auch eine feldprogrammierbares Gatteranordnung (FPGA) enthalten und zumindest einige Logik 622-a kann als Hardwareelemente der FPGA implementiert sein.
  • Gemäß einigen Beispielen kann die Vorrichtung 600 eine Empfangslogik 622-1 enthalten. Die Empfangslogik 622-1 kann von der Schaltungsanordnung 620 ausgeführt oder implementiert werden, um eine Anfrage von einer ersten Anwendung, die von dem ersten Rechenknoten gehostet wird, zu empfangen. Die Anfrage kann in der Anfrage 605 enthalten sein. Die Anfrage 605 kann Parameter für eine Punkt-zu-Punkt-Verbindung enthalten, die durch mindestens einen Switch geführt wird, der in der Fabric enthalten ist. Die Parameter können eine als Ziel gesetzte zweite Anwendung, die von einem zweiten Rechenknoten gehostet wird, der mit der Fabric gekoppelt ist, und eine angefragte Bandbreite durch die Fabric, um eine oder mehrere QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung zu erfüllen, umfassen.
  • In einigen Beispielen kann die Vorrichtung 600 eine Kennungslogik 622-2 enthalten. Die Kennungslogik 622-2 kann durch die Schaltungsanordnung 620 ausgeführt oder implementiert werden, um der Anfrage eine Kennung hinzuzufügen, die sowohl eine erste Kennung für die erste Anwendung als auch eine zweite Kennung für den ersten Rechenknoten umfasst. Für diese Beispiele kann die Kennung eine PASID sein, die der ersten Anwendung zugewiesen ist. Die Kennungslogik 622-2 kann die PASID basierend auf den PASID-Informationen 624-a bestimmen, die von der Kennungslogik 622-2 gepflegt werden oder für diese zugänglich sind. Die PASID-Informationen 624-a können in einer Nachschlagetabelle gepflegt werden und können zugewiesene PASIDs für Anwendungen enthalten, die von dem ersten Rechenknoten gehostet werden.
  • Gemäß einigen Beispielen kann die Vorrichtung 600 eine Weiterleitungslogik 622-3 enthalten. Die Weiterleitungslogik 622-3 kann durch die Schaltungsanordnung 620 ausgeführt oder implementiert werden, um die Anfrage mit der Kennung an einen Verwalter für die Fabric weiterzuleiten. Für diese Beispiele enthält die Anfrage mit der Kennung 610 die weitergeleitete Anfrage.
  • In einigen Beispielen kann die Vorrichtung 600 die Gewährungslogik 622-4 enthalten. Die Gewährungslogik 622-4 kann durch die Schaltungsanordnung 620 ausgeführt oder implementiert werden, um eine Angabe zu empfangen, ob die Anfrage von dem Verwalter gewährt worden ist. Die Angabe kann eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und eine zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung enthalten, wenn die Anfrage gewährt worden ist. Für diese Beispiele kann die Gewährungsangabe in der Gewährungsangabe 615 enthalten sein. Die Gewährungslogik 622-4 kann Informationen, die sich auf die erteilte Anforderung beziehen, mit den Fabric-QoS-Informationen 624-b (z. B. in einer Nachschlagetabelle gepflegt) pflegen.
  • Gemäß einigen Beispielen kann die Weiterleitungslogik 622-3 auch die Angabe darüber weiterleiten, ob die Anfrage von dem Verwalter für die erste Anwendung, die die Anfrage ausgelöst hat, gewährt worden ist. Für diese Beispiele enthält die Gewährungsangabe 630 die weitergeleitete Gewährungsangabe.
  • Verschiedene Komponenten der Vorrichtung 600 und eine server- oder knotenimplementierende Vorrichtung 600 können durch verschiedene Arten von Kommunikationsmedien kommunikationstechnisch miteinander gekoppelt sein, um Operationen zu koordinieren. Die Koordination kann den unidirektionalen oder bidirektionalen Austausch von Informationen beinhalten. Zum Beispiel können die Komponenten Informationen in Form von Signalen vermitteln, die über die Kommunikationsmedien übertragen werden. Die Informationen können als Signale implementiert werden, die verschiedenen Signalleitungen zugewiesen sind. In solchen Zuweisungen ist jede Nachricht ein Signal. Weitere Ausführungsformen können jedoch alternativ Datennachrichten verwenden. Solche Datennachrichten können über verschiedene Verbindungen gesendet werden. Beispielhafte Verbindungen umfassen parallele Schnittstellen, serielle Schnittstellen und Busschnittstellen.
  • Hierin enthalten ist eine Menge von Logikabläufen, die beispielhafte Methodologien zum Ausführen neuer Aspekte der offenbarten Architektur darstellen. Obwohl der Einfachheit der Erläuterung halber die eine oder die mehreren hierin gezeigten Methodologien als eine Reihe von Handlungen gezeigt und beschrieben sind, werden Fachleute auf dem Gebiet verstehen und erkennen, dass die Methodologien nicht durch die Reihenfolge der Handlungen beschränkt sind. Einige Handlungen können dementsprechend in einer anderen Reihenfolge und/oder gleichzeitig mit anderen Handlungen als der hierin gezeigten und beschriebenen stattfinden. Zum Beispiel werden Fachleute auf dem Gebiet verstehen und erkennen, dass eine Methodologie alternativ als eine Reihe von miteinander in Beziehung stehenden Zuständen oder Ereignissen dargestellt werden kann, beispielsweise in einem Zustandsdiagramm. Darüber hinaus können nicht alle in einer Methodologie dargestellten Handlungen für eine neue Implementierung erforderlich sein.
  • Ein Logikablauf kann in Software, Firmware und/oder Hardware implementiert werden. In Software- und Firmware-Ausführungsformen kann ein Logikablauf durch computerausführbare Befehle implementiert sein, die auf mindestens einem nichttransitorischen computerlesbaren Medium oder einem maschinenlesbaren Medium wie einem optischen Speicher, magnetischen Speicher oder Halbleiterspeicher gespeichert sind. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
  • 7 stellt ein Beispiel eines Logikablaufes 700 dar. Der Logikablauf 700 kann für einige oder alle Operationen repräsentativ sein, die von einer oder mehreren hierin beschriebenen Logik, Merkmalen oder Vorrichtungen wie etwa der Vorrichtung 600 ausgeführt werden. Der Logikablauf 700 kann durch die Empfangslogik 622-1, die Kennungslogik 622-2, die Weiterleitungslogik 622-3 und/oder die Gewährungslogik 622-4 implementiert werden.
  • Gemäß einigen Beispielen kann der Logikablauf 700 bei Block 702 eine Anfrage von einer ersten Anwendung empfangen, die von einem ersten Rechenknoten gehostet wird, der mit einer Fabric gekoppelt ist, wobei die Anfrage Parameter für eine Punkt-zu-Punkt-Verbindung enthält, die durch mindestens einen enthaltenen Switch geführt wird, der in der Fabric enthalten ist, wobei die Parameter eine als Ziel gesetzte zweite Anwendung, die von einem zweiten Rechenknoten gehostet wird, der mit der Fabric gekoppelt ist, und einer angefragten Bandbreite durch die Fabric, um eine oder mehrere QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung zu erfüllen, enthalten. Für diese Beispiele kann die Empfangslogik 622-1 die Anfrage empfangen.
  • In einigen Beispielen kann der Logikablauf 700 in Block 704 der Anfrage eine Kennung hinzufügen, die sowohl eine erste Kennung für die erste Anwendung als auch eine zweite Kennung für den ersten Rechenknoten enthält. Für diese Beispiele kann die Kennungslogik 622-2 die Kennung hinzufügen.
  • Gemäß einigen Beispielen kann der Logikablauf 700 bei Block 706 die Anfrage mit der Kennung an einen Verwalter für die Fabric weiterleiten. Für diese Beispiele kann die Weiterleitungslogik 622-3 die Anfrage weiterleiten.
  • In einigen Beispielen kann der Logikablauf 700 in Block 708 eine Angabe darüber empfangen, ob die Anfrage von dem Verwalter gewährt worden ist, wobei die Angabe eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und eine zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung enthält, wenn die Anfrage gewährt worden ist. Für diese Beispiele kann die Gewährungslogik 622-4 die Angabe empfangen.
  • 8 veranschaulicht ein Beispiel eines Speichermediums 800. Das Speichermedium 800 kann einen Herstellungsartikel umfassen. In einigen Beispielen kann das Speichermedium 800 ein beliebiges nichttransitorisches computerlesbares Medium oder maschinenlesbares Medium wie etwa einen optischen Speicher, magnetischen Speicher oder Halbleiterspeicher enthalten. Das Speichermedium 800 kann verschiedene Arten von computerausführbaren Befehlen speichern, z. B. Befehle zum Implementieren des Logikablaufes 700. Beispiele für ein computerlesbares oder maschinenlesbares Speichermedium können beliebige konkrete Medien umfassen, die elektronische Daten speichern können, einschließlich flüchtigen Speichers oder nichtflüchtigen Speichers, entfernbaren oder nicht entfernbaren Speichers, löschbaren oder nicht löschbaren Speichers, beschreibbaren oder wiederbeschreibbaren Speichers und so weiter. Beispiele für computerausführbare Befehle können jede geeignete Art von Code umfassen, wie z. B. Quellcode, kompilierten Code, interpretierten Code, ausführbaren Code, statischen Code, dynamischen Code, objektorientierten Code, visuellen Code und dergleichen. Die Beispiele sind in diesem Zusammenhang nicht beschränkt.
  • 9 zeigt ein beispielhaftes Blockdiagramm für eine Vorrichtung 900. Obwohl die in 9 gezeigte Vorrichtung 900 eine begrenzte Anzahl von Elementen in einer bestimmten Topologie aufweist, kann erkannt werden, dass die Vorrichtung 900 in alternativen Topologien für eine bestimmte Implementierung mehr oder weniger Elemente enthalten kann.
  • Gemäß einigen Beispielen kann die Vorrichtung 900 einer Logik und/oder Merkmalen eines QoS-Verwalters für eine Fabric zugeordnet sein, die Rechenknoten in einem Datenzentrum, einem HPC-Netz, einem Telekommunikationskernnetz, einem Unternehmensnetz oder einem cloudbasierten verteilten Netz miteinander verbindet, beispielsweise des QoS-Verwalters 110, wie er in 1 und 3 gezeigt ist. Die Vorrichtung 900 kann durch die Schaltungsanordnung 920 unterstützt werden. Für diese Beispiele kann die Schaltungsanordnung 920 in einem Prozessor, einer CPU oder einer FPGA enthalten sein, die an einem mit der Fabric gekoppelten Rechenknoten gehalten wird. Die Schaltungsanordnung 920 kann dazu ausgelegt sein, ein oder mehrere software-, firmware- oder hardwareimplementierte Module, Komponenten oder Logiken 922-a auszuführen (Modul, Komponente oder Logik können in diesem Zusammenhang austauschbar verwendet werden). Es ist zu beachten, dass „a“ und „b“ und „c“ und ähnliche Bezeichnungen, wie sie hierin verwendet werden, Variablen sein sollen, die eine beliebige positive ganze Zahl repräsentieren. Wenn also beispielsweise eine Implementierung einen Wert a = 3 setzt, kann eine vollständige Menge von Software, Firmware und/oder Hardware für die Logik 922-a die Logik 922-1, 922-2 oder 922-3 enthalten. Die vorgestellten Beispiele sind in diesem Zusammenhang nicht beschränkt und die verschiedenen Variablen, die durchgängig verwendet werden, können gleiche oder verschiedene ganze Zahlen repräsentieren. Zudem können „Logik“, „Modul“ oder „Komponente“ Software/Firmware umfassen, die in computerlesbaren Medien gespeichert ist, und obwohl die Arten von Logik in 9 als diskrete Kästen gezeigt sind, beschränkt dies diese Komponenten nicht auf Speicherung in verschiedenen computerlesbaren Medienkomponenten (z. B. einem separaten Speicher usw.).
  • Gemäß einigen Beispielen kann die Schaltungsanordnung 920 einen Prozessor, eine Prozessorschaltung oder eine Prozessorschaltungsanordnung enthalten. Die Schaltungsanordnung 920 kann allgemein dazu ausgelegt sein, ein oder mehrere Module, Komponenten oder eine Logik 922-a auszuführen oder zu implementieren. Die Schaltungsanordnung 920 kann die Gesamtheit oder zumindest ein Teil von irgendeinem der verschiedenen im Handel erhältlichen Prozessoren darstellen, einschließlich, jedoch nicht beschränkt auf die oben für die Vorrichtung 900 erwähnten Prozessoren. Gemäß einigen Beispielen kann die Schaltungsanordnung 920 auch eine ASIC sein und zumindest einige Logik sein 922-a kann als Hardwareelemente der ASIC implementiert sein. Gemäß einigen Beispielen kann die Schaltungsanordnung 920 auch eine FPGA umfassen und zumindest einige Logik 922-a kann als Hardwareelemente der FPGA implementiert sein.
  • In einigen Beispielen kann die Vorrichtung 900 eine Empfangslogik 922-1 enthalten. Die Empfangslogik 922-1 kann von der Schaltungsanordnung 920 ausgeführt oder implementiert werden, um eine Anfrage zu empfangen, die von einer ersten Anwendung stammt, die von einem ersten Rechenknoten gehostet wird, der mit einer Fabric gekoppelt ist. Die Anfrage kann in der Anfrage 905 enthalten sein und kann eine Kennung aufweisen, die sowohl die erste Anwendung als auch den ersten Rechenknoten identifiziert. Die Anfrage kann eine als Ziel gesetzte zweite Anwendung angeben, die von einem zweiten Rechenknoten gehostet wird, der mit der Fabric gekoppelt ist. Die Anforderung kann auch eine angefragte Bandbreite durch die Fabric, um eine oder mehrere QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung zu erfüllen, angeben.
  • Gemäß einigen Beispielen kann die Vorrichtung 900 eine Routenlogik 922-2 enthalten. Die Routenlogik 922-2 kann durch die Schaltungsanordnung 920 ausgeführt oder implementiert werden, um zu bestimmen, ob eine Route für die Punkt-zu-Punkt-Verbindung durch die Fabric genügend verfügbare Bandbreite aufweist, um die eine oder die mehreren QoS-Anforderungen zu erfüllen. Für diese Beispiele kann die Routenlogik 922-2 die Fabric-Routeninformationen 924-a (z. B. in einer Nachschlagetabelle) pflegen. Die Fabric-Routeninformationen 924-a können Informationen bezüglich verschiedener Routen durch die Fabric, um die Punkt-zu-Punkt-Verbindung zu vervollständigen, enthalten, wobei die Informationen die verfügbare Bandbreite umfassen.
  • In einigen Beispielen kann die Vorrichtung 900 eine Angabelogik 922-3 enthalten. Die Angabelogik 922-3 kann eine Angabe darüber senden, ob die Anfrage gewährt worden ist. Die Angabe kann eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und eine zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung enthalten, wenn die Anfrage gewährt worden ist. Für diese Beispiele kann die Gewährungsangabe in der Gewährungsangabe 910 enthalten sein. Wenn die Anfrage gewährt wird, kann die Angabelogik 922-3 die Identifizierungsinformationen wie beispielsweise eine GPASID für die der ersten Anwendung gewährte Anfrage in den GPASID-Informationen 924-b protokollieren (z. B. in einer Nachschlagetabelle gepflegt). Die GPASID-Informationen 924-b können auch beinhalten, welche Bandbreite zugewiesen wurde, als die Anfrage gewährt wurde.
  • Verschiedene Komponenten der Vorrichtung 900 und eine server- oder knotenimplementierende Vorrichtung 900 können kommunikationstechnisch durch verschiedene Arten von Kommunikationsmedien miteinander gekoppelt sein, um Operationen zu koordinieren. Die Koordination kann den unidirektionalen oder bidirektionalen Austausch von Informationen beinhalten. Zum Beispiel können die Komponenten Informationen in Form von Signalen vermitteln, die über die Kommunikationsmedien übertragen werden. Die Informationen können als Signale implementiert werden, die verschiedenen Signalleitungen zugewiesen sind. In solchen Zuweisungen ist jede Nachricht ein Signal. Weitere Ausführungsformen können jedoch alternativ Datennachrichten verwenden. Solche Datennachrichten können über verschiedene Verbindungen gesendet werden. Beispielhafte Verbindungen umfassen parallele Schnittstellen, serielle Schnittstellen und Busschnittstellen.
  • 10 stellt ein Beispiel eines Logikablaufs 1000 dar. Der Logikablauf 1000 kann für einige oder alle Operationen repräsentativ sein, die durch eine oder mehrere hierin beschriebene Logiken, Merkmale oder Vorrichtungen wie z. B. die Vorrichtung 900 ausgeführt werden. Der Logikablauf 1000 kann durch die Empfangslogik 922-1, die Routenlogik 922-2 und/oder die Anzeigelogik 922-3 implementiert werden.
  • Gemäß einigen Beispielen kann der Logikablauf 1000 in Block 1002 eine Anfrage empfangen, die von einer ersten Anwendung stammt, die von einem mit einer Fabric gekoppelten ersten Rechenknoten gehostet wird, wobei die Anfrage eine Kennung aufweist, die sowohl die erste Anwendung als auch den ersten Rechenknoten identifiziert, wobei die Anfrage eine als Ziel gesetzte zweite Anwendung angibt, die von einem zweiten Rechenknoten gehostet wird, der mit der Fabric gekoppelt ist, wobei die Anfrage auch eine angefragte Bandbreite durch die Fabric, um eine oder mehrere QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung zu erfüllen, angibt. Für diese Beispiele kann die Empfangslogik 922-1 die Anfrage empfangen.
  • In einigen Beispielen kann der Logikablauf 1000 in Block 1004 bestimmen, ob eine Route für die Punkt-zu-Punkt-Verbindung durch die Fabric genügend verfügbare Bandbreite aufweist, um die eine oder mehrere QoS-Anforderungen zu erfüllen. Für diese Beispiele kann die Routenlogik 1022-2 die Bestimmung vornehmen.
  • Gemäß einigen Beispielen kann der Logikablauf 1000 in Block 1006 eine Angabe darüber senden, ob die Anfrage gewährt worden ist, wobei die Angabe eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und eine zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung enthält, wenn die Anfrage gewährt wurde. Für diese Beispiele kann die Angabelogik 922-3 die Angabe senden.
  • 11 veranschaulicht ein Beispiel eines Speichermediums 1100. Das Speichermedium 1100 kann einen Herstellungsartikel umfassen. In einigen Beispielen kann das Speichermedium 1100 jedes nichttransitorische computerlesbare Medium oder maschinenlesbare Medium wie etwa einen optischen Speicher, magnetischen Speicher oder Halbleiterspeicher enthalten. Das Speichermedium 1100 kann verschiedene Arten von computerausführbaren Befehlen speichern, beispielsweise Befehle zum Implementieren des Logikablaufs 1000. Beispiele für ein computerlesbares oder maschinenlesbares Speichermedium können beliebige materielle Medien umfassen, die elektronische Daten speichern können, einschließlich flüchtigen Speichers oder nichtflüchtigen Speichers, entfernbaren oder nicht entfernbaren Speichers, löschbaren oder nicht löschbaren Speichers, beschreibbaren oder wiederbeschreibbaren Speichers und so weiter. Beispiele für computerausführbare Befehle können jede geeignete Art von Code umfassen, wie z. B. Quellcode, kompilierten Code, interpretierten Code, ausführbaren Code, statischen Code, dynamischen Code, objektorientierten Code, visuellen Code und dergleichen. Die Beispiele sind in diesem Zusammenhang nicht beschränkt.
  • 12 zeigt eine beispielhafte Rechenplattform 1200. In einigen Beispielen, wie in 12 gezeigt, kann die Rechenplattform 1200 eine Verarbeitungskomponente 1240, andere Plattformkomponenten 1250 oder eine Kommunikationsschnittstelle 1260 enthalten. Gemäß einigen Beispielen kann die Rechenplattform 1200 in einem Rechenknoten oder Server implementiert sein. Der Rechenknoten oder Server kann möglicherweise mit einer Fabric koppeln können.
  • Gemäß einigen Beispielen kann die Verarbeitungskomponente 1240 Verarbeitungsoperationen oder Logik für die Vorrichtung 600/1000 und/oder das Speichermedium 800/1100 ausführen. Die Verarbeitungskomponente 1240 kann verschiedene Hardwareelemente, Softwareelemente oder eine Kombination von beiden enthalten. Beispiele für Hardwareelemente können Vorrichtungen, Logikbausteine, Komponenten, Prozessoren, Mikroprozessoren, Schaltungen, Prozessorschaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktoren usw.), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikvorrichtungen (PLD), Digitalsignalprozessoren (DSP), eine feldprogrammierbare Gatteranordnung (FPGA), Speichereinheiten, Logikgatter, Register, Halbleiterbauelemente, Chips, Mikrochips, Chipsätze und so weiter umfassen. Beispiele für Softwareelemente können Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Gerätetreiber, Systemprogramme, Softwareentwicklungsprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Unterroutinen, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, Anwendungsprogrammschnittstellen (API), Befehlssätze, Berechnungscode, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder eine beliebige Kombination davon umfassen. Das Bestimmen, ob ein Beispiel unter Verwendung von Hardwareelementen und/oder Softwareelementen implementiert wird, kann gemäß einer beliebigen Anzahl von Faktoren variieren, wie z. B. gewünschter Berechnungsrate, Leistungspegel, Wärmetoleranzen, Verarbeitungszyklusbudgets, Eingangsdatenraten, Ausgangsdatenraten, Speicherbetriebsmitteln, Datenbusgeschwindigkeiten und anderen Design- oder Leistungsbeschränkungen, wie sie für ein gegebenes Beispiel gewünscht sind.
  • In einigen Beispielen können andere Plattformkomponenten 1250 gemeinsame Rechenelemente umfassen, wie etwa einen oder mehrere Prozessoren, Mehrkernprozessoren, Coprozessoren, Speichereinheiten, Chipsätze, Controller, Peripheriegeräte, Schnittstellen, Oszillatoren, Zeitvorgabevorrichtungen, Videokarten, Audiokarten, Multimedia-Eingabe-/Ausgabe-Komponenten (Multimedia-E/A-Komponenten, z. B. digitale Anzeigen), Leistungsversorgungen und so weiter. Beispiele von Speichereinheiten können ohne Einschränkung verschiedene Arten von computerlesbaren und maschinenlesbaren Speichermedien in Form einer oder mehrerer Speichereinheiten mit höherer Geschwindigkeit umfassen, wie etwa Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM), dynamischen RAM (DRAM), DRAM mit doppelter Datenrate (DDRAM), synchronen DRAM (SDRAM), statischen RAM (SRAM), programmierbaren ROM (PROM), löschbaren programmierbaren ROM (EPROM), elektrisch löschbaren programmierbarer ROM (EEPROM), Flash-Speicher, Polymerspeicher wie etwa ferroelektrischen Polymerspeicher, Ovonic-Speicher, Phasenwechselspeicher oder ferroelektrischen Speicher, Silizium-Oxid-Nitrid-Oxid-Silizium-Speicher (SONOS-Speicher), magnetische oder optische Karten, ein Anordnungen von Vorrichtungen wie etwa eine redundante Anordnung von unabhängigen Festplatten (RAID), Festkörperspeichervorrichtungen (z. B. USB-Speicher), Festkörperlaufwerke (SSD) und jede andere Art von Speichermedien, die zum Speichern von Informationen geeignet ist.
  • In einigen Beispielen kann die Kommunikationsschnittstelle 1260 Logik und/oder Merkmale enthalten, um eine Kommunikationsschnittstelle zu unterstützen. Für diese Beispiele kann die Kommunikationsschnittstelle 1260 eine oder mehrere Kommunikationsschnittstellen umfassen, die gemäß verschiedenen Kommunikationsprotokollen oder -standards arbeiten, um über direkte oder Netzkommunikationslinks oder -kanäle zu kommunizieren. Direkte Kommunikation kann unter Verwendung von Kommunikationsprotokollen oder -standards erfolgen, die in einem oder mehreren Industriestandards (einschließlich Abkömmlingen und Varianten) beschrieben sind, wie sie beispielsweise der PCIe-Spezifikation zugeordnet sind. Netzkommunikation kann unter Verwendung von Kommunikationsprotokollen oder -standards erfolgen, wie sie in einem oder mehreren vom IEEE veröffentlichten Ethernet-Standards beschrieben sind. Zum Beispiel kann ein solcher Ethernet-Standard IEEE 802.3 umfassen. Die Netzkommunikation kann auch gemäß einer oder mehreren OpenFlow-Spezifikationen wie der OpenFlow-Hardware-Abstraktions-API-Spezifikation erfolgen.
  • Wie oben erwähnt kann die Rechenplattform 1200 in einem Server/Knoten eines Datenzentrums implementiert sein. Dementsprechend können Funktionen und/oder spezifische Konfigurationen der Rechenplattform 1200, die hierin beschrieben sind, in verschiedenen Ausführungsformen der Rechenplattform 1200 enthalten sein oder weggelassen werden, wie es für einen Rechenknoten oder Server geeignet ist.
  • Die Komponenten und Merkmale der Rechenplattform 1200 können unter Verwendung einer beliebigen Kombination von diskreten Schaltungen, anwendungsspezifischen integrierten Schaltungen (ASICs), Logikgattern und/oder Einzelchiparchitekturen implementiert werden. Ferner können die Merkmale der Rechenplattform 1200 unter Verwendung von Mikrocontrollern, programmierbaren Logikanordnungen und/oder Mikroprozessoren oder irgendeiner Kombination der vorstehenden implementiert werden, wenn dies geeignet ist. Es ist zu beachten, dass Hardware, Firmware und/oder Softwareelemente kollektiv oder einzeln hierin als „Logik“ oder „Schaltung“ bezeichnet werden können.
  • Es sollte verstanden werden, dass die beispielhafte Rechenplattform 1200, die in dem Blockdiagramm von 12 gezeigt ist, ein funktionell beschreibendes Beispiel von vielen möglichen Implementierungen repräsentieren kann. Dementsprechend folgt aus der Unterteilung, Weglassung oder Einbeziehung von Blockfunktionen, die in den beigefügten Figuren dargestellt sind, nicht, dass die Hardwarekomponenten, Schaltungen, Software und/oder Elemente zum Implementieren dieser Funktionen notwendigerweise in Ausführungsformen unterteilt, weggelassen oder enthalten wären.
  • Ein oder mehrere Aspekte von mindestens einem Beispiel können durch repräsentative Befehle implementiert werden, die auf mindestens einem maschinenlesbaren Medium gespeichert sind, das verschiedenartige Logik innerhalb des Prozessors darstellt, und die, wenn sie von einer Maschine, Rechenvorrichtung oder einem System gelesen werden, die Maschine, Rechenvorrichtung oder das System dazu veranlassen, eine Logik zur Durchführung der hierin beschriebenen Techniken herzustellen. Solche Darstellungen, die als „IP-Kerne“ bekannt sind, können auf einem konkreten, maschinenlesbaren Medium gespeichert und an verschiedene Kunden oder Fertigungseinrichtungen geliefert werden, um sie in die Fertigungsmaschinen zu laden, die die Logik oder den Prozessor tatsächlich herstellen.
  • Verschiedene Beispiele können unter Verwendung von Hardwareelementen, Softwareelementen oder einer Kombination von beiden implementiert werden. In einigen Beispielen können Hardwareelemente Vorrichtungen, Komponenten, Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktoren usw.), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikvorrichtungen (PLD), Digitalsignalprozessoren (DSP), feldprogrammierbare Gatteranordnungen (FPGA), Speichereinheiten, Logikgatter, Register, Halbleitervorrichtungen, Chips, Mikrochips, Chipsätze und so weiter umfassen. In einigen Beispielen können Softwareelemente Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Unterroutinen, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, Anwendungsprogrammschnittstellen (API), Befehlssätze, Berechnungscode, Computercode, Codesegmente, Computercodeabschnitte, Wörter, Werte, Symbole oder eine beliebige Kombination davon umfassen. Das Bestimmen, ob ein Beispiel unter Verwendung von Hardwareelementen und/oder Softwareelementen implementiert wird, kann gemäß einer beliebigen Anzahl von Faktoren variieren, wie z. B. gewünschter Berechnungsrate, Leistungspegel, Wärmetoleranzen, Verarbeitungszyklusbudgets, Eingangsdatenraten, Ausgangsdatenraten, Speicherbetriebsmitteln, Datenbusgeschwindigkeiten und anderen Design- oder Leistungsbeschränkungen, wie sie für ein gegebenes Beispiel gewünscht sind.
  • Einige Beispiele können einen Herstellungsartikel oder mindestens ein computerlesbares Medium umfassen. Ein computerlesbares Medium kann ein nichtflüchtiges Speichermedium umfassen, um Logik zu speichern. In einigen Beispielen kann das nichtflüchtige Speichermedium eine oder mehrere Arten von computerlesbaren Speichermedien umfassen, die elektronische Daten speichern können, einschließlich flüchtigen Speichers oder nichtflüchtigen Speichers, entfernbaren oder nicht entfernbaren Speichers, löschbaren oder nicht löschbaren Speichers, beschreibbaren oder wiederbeschreibbaren Speichers und so weiter. In einigen Beispielen kann die Logik verschiedene Softwareelemente wie etwa Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Unterroutinen, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, APIs, Befehlssätze, Berechnungscode, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder eine beliebige Kombination davon umfassen.
  • Gemäß einigen Beispielen kann ein computerlesbares Medium ein nichttransitorisches Speichermedium enthalten, um Befehle zu speichern oder zu verwalten, die, wenn sie von einer Maschine, Rechenvorrichtung oder einem System ausgeführt werden, die Maschine, Rechenvorrichtung oder das System dazu veranlassen, Verfahren und/oder Operationen gemäß den beschriebenen Beispielen durchzuführen. Die Befehle können irgendeine geeignete Art von Code enthalten, wie z. B. Quellcode, kompilierten Code, interpretierten Code, ausführbaren Code, statischen Code, dynamischen Code und dergleichen. Die Befehle können gemäß einer vordefinierten Computersprache, einer Art oder einem Syntax implementiert werden, um eine Maschine, eine Rechenvorrichtung oder ein System anzuweisen, eine bestimmte Funktion auszuführen. Die Befehle können unter Verwendung jeder geeigneten niedrigeren, höheren objektorientierten, visuellen, kompilierten und/oder interpretierten Programmiersprache implementiert werden.
  • Einige Beispiele können unter Verwendung des Ausdrucks „in einem Beispiel“ oder „ein Beispiel“ zusammen mit dessen Ableitungen beschrieben sein. Diese Ausdrücke bedeuten, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder Charakteristik, die in Verbindung mit dem Beispiel beschrieben wurde, in mindestens einem Beispiel enthalten ist. Die Fälle des Auftauchens des Ausdrucks „in einem Beispiel“ an verschiedenen Stellen in der Beschreibung beziehen sich nicht notwendigerweise alle auf das gleiche Beispiel.
  • Einige Beispiele können unter Verwendung des Ausdrucks „gekoppelt“ und „verbunden“ zusammen mit dessen Ableitungen beschrieben sein. Diese Begriffe sind nicht notwendigerweise als Synonyme füreinander gedacht. Zum Beispiel können Beschreibungen, die die Begriffe „verbunden“ und/oder „gekoppelt“ verwenden, angeben, dass zwei oder mehr Elemente in direktem physischem oder elektrischem Kontakt miteinander stehen. Der Begriff „gekoppelt“ kann jedoch auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander stehen, aber dennoch miteinander kooperieren oder interagieren.
  • Die folgenden Beispiele betreffen zusätzliche Beispiele von hierin offenbarten Technologien.
  • Beispiel 1. Eine beispielhafte Vorrichtung kann eine Schaltungsanordnung an einem ersten Rechnerknoten umfassen, der mit einer Fabric gekoppelt ist. Für diese Beispiele kann die Schaltungsanordnung Logik enthalten. Die Logik kann eine Anfrage von einer ersten Anwendung empfangen, die von dem ersten Rechenknoten gehostet wird. Die Anfrage kann Parameter für eine Punkt-zu-Punkt-Verbindung enthalten, die durch mindestens einen in der Fabric enthaltenen Switch geführt wird, wobei die Parameter eine als Ziel gesetzte zweite Anwendung, die von einem zweiten mit der Fabric gekoppelten Rechenknoten gehostet wird, und eine angefragte Bandbreite durch die Fabric, um QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung zu erfüllen, enthalten. Die Logik kann auch eine Kennung zu der Anfrage hinzufügen, die sowohl eine erste Kennung für die erste Anwendung als auch eine zweite Kennung für den ersten Rechenknoten enthält. Die Logik kann die Anfrage mit der Kennung auch an einen Verwalter für die Fabric weiterleiten. Die Logik kann auch eine Angabe empfangen, ob die Anfrage von dem Verwalter gewährt worden ist. Die Angabe kann eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und eine zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung enthalten, wenn die Anfrage gewährt wurde.
  • Beispiel 2. Die Vorrichtung von Beispiel 1, wobei die eine oder die mehreren QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung auf einer Dienstgütevereinbarung für die erste Anwendung basieren können.
  • Beispiel 3. Die Vorrichtung von Beispiel 1, wobei die Logik eine ACK-Nachricht empfangen kann, wenn die Anfrage gewährt wurde. Die ACK-Nachricht kann eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung enthalten.
  • Beispiel 4. Die Vorrichtung von Beispiel 3, wobei die Logik auch die ACK-Nachricht an die erste Anwendung weiterleiten kann.
  • Beispiel 5. Die Vorrichtung von Beispiel 1, wobei die Parameter ferner Informationen enthalten können, um eine strenge Anforderung anzugeben, die erfordert, dass die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen.
  • Beispiel 6. Die Vorrichtung von Beispiel 5, wobei die Angabe eine NACK-Nachricht enthalten kann, wenn weniger als die angefragte Bandbreite für die Zuweisung zu der Punkt-zu-Punkt-Verbindung durch die Fabric verfügbar war.
  • Beispiel 7. Die Vorrichtung von Beispiel 6, wobei die Logik auch die NACK-Nachricht an die erste Anwendung weiterleiten kann.
  • Beispiel 8. Die Vorrichtung von Beispiel 1, wobei die Parameter ferner Informationen enthalten können, um eine milde Anforderung anzugeben, die es erlaubt, dass weniger als die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen.
  • Beispiel 9. Die Vorrichtung von Beispiel 8, wobei die Angabe eine ACK-Nachricht enthalten kann. Die ACK-Nachricht kann eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung, die kleiner als die angefragte Bandbreite ist, enthalten.
  • Beispiel 10. Die Vorrichtung von Beispiel 9, wobei die Logik die ACK-Nachricht an die erste Anwendung weiterleiten kann.
  • Beispiel 11. Die Vorrichtung von Beispiel 1, wobei die erste Kennung eine PASID sein kann. Die PASID kann der ersten Anwendung zugewiesen werden. Wenn die PASID zu der zweiten Kennung für den ersten Rechenknoten hinzugefügt wird, kann sie eine GPASID für die Verwendung durch den Verwalter für die Fabric erzeugen, um die Anfrage zu verwalten und überwachen, wenn sie gewährt wird.
  • Beispiel 12. Die Vorrichtung von Beispiel 1, wobei die Schaltungsanordnung an dem ersten Rechenknoten eine Host-Fabric-Schnittstelle sein kann.
  • Beispiel 13. Ein beispielhaftes Verfahren kann ein Empfangen einer Anfrage von einer ersten Anwendung, die von einem ersten Rechenknoten, der mit einer Fabric gekoppelt ist, gehostet wird, an einer Prozessorschaltung umfassen. Die Anfrage kann Parameter für eine Punkt-zu-Punkt-Verbindung umfassen, die durch mindestens einen Switch geführt wird, der in der Fabric enthalten ist. Die Parameter können eine als Ziel gesetzte zweite Anwendung, die von einem zweiten Rechenknoten gehostet wird, der mit der Fabric gekoppelt ist, und eine angefragte Bandbreite durch die Fabric, um eine oder mehrere QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung zu erfüllen, umfassen. Das Verfahren kann auch ein Hinzufügen einer Kennung, die sowohl eine erste Kennung für die erste Anwendung als auch eine zweite Kennung für den ersten Rechenknoten enthält, zu der Anfrage umfassen. Das Verfahren kann auch ein Weiterleiten der Anfrage mit der Kennung an einen Verwalter für die Fabric umfassen. Das Verfahren kann auch ein Empfangen einer Angabe, ob die Anfrage von dem Verwalter gewährt worden ist, umfassen. Die Angabe kann eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und eine zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung enthalten, wenn die Anfrage gewährt wurde.
  • Beispiel 14. Das Verfahren von Beispiel 13, wobei die eine oder die mehreren QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung können auf einer Dienstgütevereinbarung für die erste Anwendung basieren können.
  • Beispiel 15. Das Verfahren von Beispiel 14 kann zudem ein Empfangen einer ACK-Nachricht umfassen, wenn die Anfrage gewährt wurde. Die ACK-Nachricht kann eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung enthalten.
  • Beispiel 16. Das Verfahren von Beispiel 15 kann auch ein Weiterleiten der ACK-Nachricht an die erste Anwendung umfassen.
  • Beispiel 17. Das Verfahren von Beispiel 13, wobei die Parameter auch Informationen umfassen können, um eine strenge Anforderung anzugeben, die erfordert, dass die angefragte Bandbreite zugewiesen wird, um die eine oder mehrere QoS-Anforderungen zu erfüllen.
  • Beispiel 18. Das Verfahren von Beispiel 17, wobei die Angabe eine NACK-Nachricht enthalten kann, wenn weniger als die angefragte Bandbreite für die Zuweisung an die Punkt-zu-Punkt-Verbindung durch die Fabric verfügbar war.
  • Beispiel 19. Das Verfahren von Beispiel 18 kann auch ein Weiterleiten der NACK-Nachricht an die erste Anwendung umfassen.
  • Beispiel 20. Das Verfahren von Beispiel 13, wobei die Parameter auch Informationen zum Angeben einer milden Anforderung enthalten können, die es erlaubt, dass weniger als die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen.
  • Beispiel 21. Das Verfahren von Beispiel 20, wobei die Angabe eine ACK-Nachricht enthalten kann. Die ACK-Nachricht kann eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung, die kleiner als die angefragte Bandbreite ist, enthalten.
  • Beispiel 22. Das Verfahren von Beispiel 21 kann auch ein Weiterleiten der ACK-Nachricht an die erste Anwendung umfassen.
  • Beispiel 23. Das Verfahren von Beispiel 13, wobei die erste Kennung eine PASID sein kann. Die PASID kann der ersten Anwendung zugewiesen werden. Wenn die PASID zu der zweiten Kennung für den ersten Rechenknoten hinzugefügt wird, kann sie eine GPASID für die Verwendung durch den Verwalter für die Fabric erzeugen, um die Anfrage zu verwalten und überwachen, wenn sie gewährt wird.
  • Beispiel 24. Ein Beispiel für mindestens ein maschinenlesbares Medium kann mehrere Befehle enthalten, die als Antwort auf die Ausführung durch ein System das System dazu veranlassen, ein Verfahren gemäß einem der Beispiele 13 bis 23 auszuführen.
  • Beispiel 25. Eine beispielhafte Vorrichtung kann Mittel zum Durchführen der Verfahren nach einem der Beispiele 13 bis 23 umfassen.
  • Beispiel 26. Mindestens ein beispielhaftes maschinenlesbares Medium kann mehrere Befehle enthalten, die als Antwort auf die Ausführung durch ein System veranlassen können, dass das System eine Anfrage von einer ersten Anwendung empfängt, die von einem ersten Rechenknoten gehostet wird, der mit einer Fabric gekoppelt ist. Die Anfrage kann Parameter für eine Punkt-zu-Punkt-Verbindung enthalten, die durch mindestens einen in der Fabric enthaltenen Switch geführt wird. Die Parameter können eine als Ziel gesetzte zweite Anwendung, die von einem zweiten mit der Fabric gekoppelten Rechenknoten gehostet wird, und eine angefragte Bandbreite durch die Fabric, um eine oder mehrere QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung zu erfüllen, enthalten. Die Befehle können auch das System dazu veranlassen, eine Kennung zu der Anfrage hinzuzufügen, die sowohl eine erste Kennung für die erste Anwendung als auch eine zweite Kennung für den ersten Rechenknoten enthält. Die Befehle können auch das System dazu veranlassen, die Anfrage mit der Kennung an einen Verwalter für die Fabric weiterzuleiten. Die Befehle können auch das System dazu veranlassen, eine Angabe zu empfangen, ob die Anfrage von dem Verwalter gewährt worden ist, wobei die Angabe eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und eine zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung enthalten kann, wenn die Anfrage gewährt wurde.
  • Beispiel 27. Das mindestens eine maschinenlesbare Medium von Beispiel 26, wobei die eine oder die mehreren QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung auf einer Dienstgütevereinbarung für die erste Anwendung basieren können.
  • Beispiel 28. Das mindestens eine maschinenlesbare Medium von Beispiel 26, wobei die Befehle auch veranlassen können, dass das System eine ACK-Nachricht empfängt, wenn die Anfrage gewährt wurde. Die ACK-Nachricht kann eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung enthalten.
  • Beispiel 29. Das mindestens eine maschinenlesbare Medium von Beispiel 28, wobei die Befehle auch veranlassen können, dass das System die ACK-Nachricht an die erste Anwendung weiterleitet.
  • Beispiel 30. Das mindestens eine maschinenlesbare Medium von Beispiel 26, wobei die Parameter ferner Informationen enthalten können, um eine strenge Anforderung anzugeben, die erfordert, dass die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen.
  • Beispiel 31. Das mindestens eine maschinenlesbare Medium von Beispiel 30, wobei die Angabe eine NACK-Nachricht enthalten kann, wenn weniger als die angefragte Bandbreite für die Zuweisung an die Punkt-zu-Punkt-Verbindung durch die Fabric verfügbar war.
  • Beispiel 32. Das mindestens eine maschinenlesbare Medium des Beispiels 31, wobei die Befehle auch veranlassen können, dass das System die NACK-Nachricht an die erste Anwendung weiterleitet.
  • Beispiel 33. Das mindestens eine maschinenlesbare Medium von Beispiel 26, wobei die Parameter ferner Informationen enthalten können, um eine milde Anforderung anzugeben, die es erlaubt, dass weniger als die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen.
  • Beispiel 34. Das mindestens eine maschinenlesbare Medium von Beispiel 33, wobei die Angabe eine ACK-Nachricht enthalten kann. Die ACK-Nachricht kann eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung, die kleiner als die angefragte Bandbreite ist, enthalten.
  • Beispiel 35. Das mindestens eine maschinenlesbare Medium von Beispiel 34, wobei die Befehle auch veranlassen können, dass das System die ACK-Nachricht an die erste Anwendung weiterleitet.
  • Beispiel 36. Das mindestens eine maschinenlesbare Medium von Beispiel 26, wobei die erste Kennung eine PASID sein kann. Die PASID kann der ersten Anwendung zugewiesen werden. Wenn die PASID zu der zweiten Kennung für den ersten Rechenknoten hinzugefügt wird, kann sie eine GPASID für die Verwendung durch den Verwalter für die Fabric erzeugen, um die Anfrage zu verwalten und überwachen, wenn sie gewährt wird.
  • Beispiel 37. Eine beispielhafte Vorrichtung kann eine Schaltungsanordnung und einen QoS-Verwalter zur Ausführung durch die Schaltungsanordnung enthalten. Der QoS-Verwalter kann Logik enthalten, um eine Anfrage zu empfangen, die von einer ersten Anwendung stammt, die von einem ersten Rechenknoten gehostet wird, der mit einer Fabric gekoppelt ist. Die Anfrage kann eine Kennung aufweisen, der sowohl die erste Anwendung als auch den ersten Rechenknoten identifiziert. Die Anfrage kann eine als Ziel gesetzte zweite Anwendung angeben, die von einem zweiten Rechenknoten gehostet wird, der mit der Fabric gekoppelt ist. Die Anfrage kann auch eine angefragte Bandbreite durch die Fabric angeben, um eine oder mehrere QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung zu erfüllen. Die Logik kann zudem bestimmen, ob eine Route für die Punkt-zu-Punkt-Verbindung durch die Fabric genügend verfügbare Bandbreite aufweist, um die eine oder mehrere QoS-Anforderungen zu erfüllen. Die Logik kann auch eine Angabe darüber senden, ob die Anfrage gewährt worden ist, wobei die Angabe eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und die zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung umfassen soll, wenn die Anfrage gewährt wurde.
  • Beispiel 38. Die Vorrichtung von Beispiel 37, wobei die eine oder die mehreren QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung auf einer Dienstgütevereinbarung für die erste Anwendung basieren können.
  • Beispiel 39. Die Vorrichtung von Beispiel 37, wobei die Logik die Angabe darüber, ob die Anfrage gewährt worden ist, an eine Host-Fabric-Schnittstelle an dem ersten Rechenknoten senden kann.
  • Beispiel 40. Die Vorrichtung von Beispiel 37, wobei die Angabe, ob die Anfrage gewährt worden ist, eine ACK-Nachricht sein kann, wenn die Anfrage gewährt wurde. Die ACK-Nachricht kann eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung enthalten.
  • Beispiel 41. Die Vorrichtung von Beispiel 37, wobei die Parameter ferner Informationen enthalten können, um eine strenge Anforderung anzugeben, die erfordert, dass die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen.
  • Beispiel 42. Die Vorrichtung von Beispiel 41, die Angabe, ob die Anfrage gewährt worden ist, eine NACK-Nachricht sein kann, wenn weniger als die angefragte Bandbreite für die Zuweisung zu der Punkt-zu-Punkt-Verbindung durch die Fabric verfügbar war.
  • Beispiel 43. Die Vorrichtung von Beispiel 37, wobei die Parameter ferner Informationen enthalten können, um eine milde Anforderung anzugeben, die es erlaubt, dass weniger als die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen.
  • Beispiel 44: Die Vorrichtung von Beispiel 43, wobei die Angabe, ob die Anfrage gewährt worden ist, eine ACK-Nachricht sein kann. Die ACK-Nachricht kann eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung, die kleiner als die angefragte Bandbreite ist, enthalten.
  • Beispiel 45. Die Vorrichtung von Beispiel 37, wobei die erste Kennung eine PASID sein kann. Die PASID kann der ersten Anwendung zugewiesen werden. Wenn die PASID der zweiten Kennung für den ersten Rechenknoten hinzugefügt wird, kann sie eine GPASID erzeugen, die zum Verwalten und Überwachen der Anfrage verwendet wird, wenn diese gewährt wird.
  • Beispiel 46. Ein beispielhaftes Verfahren kann ein Empfangen einer Anfrage, die von einer ersten Anwendung stammt, die von einem ersten Rechenknoten gehostet wird, der mit einer Fabric gekoppelt ist, an einer Prozessorschaltung umfassen. Die Anfrage kann eine Kennung aufweisen, die sowohl die erste Anwendung als auch den ersten Rechenknoten identifiziert. Die Anfrage kann eine als Ziel gesetzte zweite Anwendung angeben, die von einem zweiten Rechenknoten gehostet wird, der mit der Fabric gekoppelt ist. Die Anfrage kann auch eine angefragte Bandbreite durch die Fabric angeben, um eine oder mehrere QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung zu erfüllen. Das Verfahren kann auch ein Bestimmen, ob eine Route für die Punkt-zu-Punkt-Verbindung durch die Fabric genügend verfügbare Bandbreite aufweist, um die eine oder mehrere QoS-Anforderungen zu erfüllen, umfassen. Das Verfahren kann auch ein Senden einer Angabe darüber umfassen, ob die Anfrage gewährt worden ist, wobei die Angabe eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und eine zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung enthält, wenn die Anfrage gewährt wurde.
  • Beispiel 47. Das Verfahren von Beispiel 46, wobei die eine oder die mehreren QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung auf einer Dienstgütevereinbarung für die erste Anwendung basieren können.
  • Beispiel 48. Das Verfahren von Beispiel 46 kann auch ein Senden der Angabe darüber, ob die Anfrage gewährt worden ist, an eine Host-Fabric-Schnittstelle an dem ersten Rechenknoten umfassen.
  • Beispiel 49. Das Verfahren von Beispiel 46, wobei die Angabe, ob die Anfrage gewährt worden ist, eine ACK-Nachricht sein kann, wenn die Anfrage gewährt wurde. Die ACK-Nachricht kann eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung enthalten.
  • Beispiel 50. Das Verfahren von Beispiel 46, wobei die Parameter ferner Informationen enthalten können, um eine strenge Anforderung anzugeben, die erfordert, dass die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen.
  • Beispiel 51. Das Verfahren von Beispiel 50, wobei die Angabe, ob die Anfrage gewährt worden ist, eine NACK-Nachricht enthalten kann, wenn weniger als die angefragte Bandbreite für die Zuweisung an die Punkt-zu-Punkt-Verbindung durch die Fabric verfügbar war.
  • Beispiel 52. Das Verfahren von Beispiel 46, wobei die Parameter ferner Informationen enthalten können, um eine milde Anforderung anzugeben, die es erlaubt, dass weniger als die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen.
  • Beispiel 53. Das Verfahren von Beispiel 52, wobei die Angabe, ob die Anfrage gewährt worden ist, eine ACK-Nachricht sein kann. Die ACK-Nachricht kann eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung, die kleiner als die angefragte Bandbreite ist, enthalten.
  • Beispiel 54. Das Verfahren von Beispiel 46, wobei die erste Kennung eine PASID sein kann. Die PASID kann der ersten Anwendung zugewiesen werden. Wenn die PASID der zweiten Kennung für den ersten Rechenknoten hinzugefügt wird, kann sie eine GPASID erzeugen, die zum Verwalten und Überwachen der Anfrage verwendet wird, wenn diese gewährt wird.
  • Beispiel 55. Mindestens ein beispielhaftes maschinenlesbares Medium kann mehrere Befehle enthalten, die als Antwort auf die Ausführung durch ein System veranlassen können, dass das System ein Verfahren gemäß einem der Beispiele 46 bis 54 ausführt.
  • Beispiel 56. Eine beispielhafte Vorrichtung kann Mittel zum Durchführen der Verfahren nach einem der Beispiele 46 bis 54 umfassen.
  • Beispiel 57. Mindestens ein beispielhaftes maschinenlesbares Medium kann mehrere Befehle enthalten, die als Antwort auf die Ausführung durch ein System veranlassen können, dass das System eine Anfrage empfängt, die von einer ersten Anwendung stammt, die von einem ersten Rechenknoten gehostet wird, der mit einer Fabric gekoppelt ist. Die Anfrage kann eine Kennung aufweisen, die sowohl die erste Anwendung als auch den ersten Rechenknoten identifiziert. Die Anfrage kann eine als Ziel gesetzte zweite Anwendung angeben, die von einem zweiten Rechenknoten gehostet wird, der mit der Fabric gekoppelt ist. Die Anfrage kann auch eine angefragte Bandbreite durch die Fabric angeben, um eine oder mehrere QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung zu erfüllen. Die Befehle können auch veranlassen, dass das System bestimmt, ob eine Route für die Punkt-zu-Punkt-Verbindung durch die Fabric genügend verfügbare Bandbreite aufweist, um die eine oder mehrere QoS-Anforderungen zu erfüllen. Die Befehle können auch veranlassen, dass das System eine Angabe darüber sendet, ob die Anfrage gewährt worden ist, wobei die Angabe eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und die zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung umfassen soll, wenn die Anfrage gewährt wurde.
  • Beispiel 58: Das mindestens eine maschinenlesbare Medium von Beispiel 57, wobei die eine oder die mehreren QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung auf einer Dienstgütevereinbarung für die erste Anwendung basieren können.
  • Beispiel 59. Das mindestens eine maschinenlesbare Medium von Beispiel 57, wobei die Befehle auch veranlassen können, dass das System die Angabe, ob die Anfrage gewährt worden ist, an eine Host-Fabric-Schnittstelle an dem ersten Rechenknoten sendet.
  • Beispiel 60. Das mindestens eine maschinenlesbare Medium von Beispiel 57, wobei die Angabe, ob die Anfrage gewährt worden ist, eine ACK-Nachricht enthalten kann, wenn die Anfrage gewährt wurde. Die ACK-Nachricht kann eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung enthalten.
  • Beispiel 61: Das mindestens eine maschinenlesbare Medium von Beispiel 57, wobei die Parameter ferner Informationen enthalten können, um eine strenge Anforderung anzugeben, die erfordert, dass die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen.
  • Beispiel 62. Das mindestens eine maschinenlesbare Medium von Beispiel 61, wobei die Angabe, ob die Anfrage gewährt worden ist, eine NACK-Nachricht enthalten kann, wenn weniger als die angeforderte Bandbreite für die Zuweisung zu der Punkt-zu-Punkt-Verbindung durch die Fabric verfügbar war.
  • Beispiel 63. Das mindestens eine maschinenlesbare Medium von Beispiel 57, wobei die Parameter ferner Informationen enthalten können, um eine milde Anforderung anzugeben, die es erlaubt, dass weniger als die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen.
  • Beispiel 64. Das mindestens eine maschinenlesbare Medium von Beispiel 63, wobei die Angabe, ob die Anfrage gewährt worden ist, eine ACK-Nachricht sein kann. Die ACK-Nachricht kann eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung, die kleiner als die angefragte Bandbreite ist, enthalten.
  • Beispiel 65. Das mindestens eine maschinenlesbare Medium von Beispiel 57, wobei die erste Kennung eine PASID sein kann. Die PASID kann der ersten Anwendung zugewiesen werden. Wenn die PASID der zweiten Kennung für den ersten Rechenknoten hinzugefügt wird, kann sie eine GPASID erzeugen, die zur Verwaltung und Überwachung der Anforderung verwendet wird, wenn diese gewährt wird.
  • Es wird betont, dass die Zusammenfassung der Offenbarung bereitgestellt wird, um 37 C.F.R. Abschnitt 1.72(b) zu erfüllen, wo eine Zusammenfassung gefordert wird, die es dem Leser ermöglicht, schnell die Art der technischen Offenbarung zu ermitteln. Sie wird mit dem Verständnis abgegeben, dass diese nicht zur Auslegung oder Einschränkung des Umfangs oder der Bedeutung der Ansprüche verwendet wird. Zusätzlich ist in der vorhergehenden genauen Beschreibung ersichtlich, dass verschiedene Merkmale zum Zwecke der Verschlankung der Offenbarung in einem einzigen Beispiel zusammengefasst sind. Dieses Verfahren der Offenbarung ist nicht dahingehend auszulegen, dass es eine Absicht widerspiegelt, dass die beanspruchten Beispiele mehr Merkmale erfordern, als ausdrücklich in jedem Anspruch angegeben sind. Wie die folgenden Ansprüche zeigen, liegt der erfinderische Gegenstand vielmehr in weniger als allen Merkmalen eines einzigen offenbarten Beispiels. Somit werden die folgenden Ansprüche hiermit in die genaue Beschreibung aufgenommen, wobei jeder Anspruch für sich als separates Beispiel steht. In den beigefügten Ansprüchen werden die Ausdrücke „enthalten“ und „bei der/dem“ als einfache sprachliche Entsprechungen der jeweiligen Ausdrücke „umfassen“ und „wobei“ verwendet. Darüber hinaus werden die Begriffe „erste(r/s)“, „zweite(r/s)“, „dritte(r/s)“ usw. lediglich als Kennzeichnungen verwendet und sollen ihren Objekten keine numerischen Anforderungen auferlegen.
  • Obwohl der Gegenstand in einer Sprache beschrieben worden ist, die für strukturelle Merkmale und/oder Verfahrensschritte spezifisch ist, ist es selbstverständlich, dass der in den beigefügten Ansprüchen definierte Gegenstand nicht notwendigerweise auf die oben beschriebenen spezifischen Merkmale oder Schritte beschränkt ist. Vielmehr sind die oben beschriebenen spezifischen Merkmale und Schritte als beispielhafte Formen des Implementierens der Ansprüche offenbart.

Claims (25)

  1. Vorrichtung, die Folgendes umfasst: eine Schaltungsanordnung an einem ersten Rechnerknoten, der mit einer Fabric gekoppelt ist, wobei die Schaltungsanordnung Logik für Folgendes enthält: Empfangen einer Anfrage von einer ersten Anwendung, die von dem ersten Rechenknoten gehostet wird, wobei die Anfrage Parameter für eine Punkt-zu-Punkt-Verbindung enthält, die durch mindestens einen in der Fabric enthaltenen Switch geführt wird, wobei die Parameter eine als Ziel gesetzte zweite Anwendung, die von einem zweiten mit der Fabric gekoppelten Rechenknoten gehostet wird, und eine angefragte Bandbreite durch die Fabric, um eine oder mehrere Dienstgüteanforderungen (QoS-Anforderungen) für die Punkt-zu-Punkt-Verbindung zu erfüllen, enthalten; Hinzufügen einer Kennung zu der Anfrage, die sowohl eine erste Kennung für die erste Anwendung als auch eine zweite Kennung für den ersten Rechenknoten enthält; Weiterleiten der Anfrage mit der Kennung an einen Verwalter für die Fabric; und Empfangen einer Angabe, ob die Anfrage von dem Verwalter gewährt worden ist, wobei die Angabe eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und eine zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung enthalten soll, wenn die Anfrage gewährt wurde.
  2. Vorrichtung nach Anspruch 1, wobei die eine oder die mehreren QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung auf einer Dienstgütevereinbarung für die erste Anwendung basieren.
  3. Vorrichtung nach Anspruch 1, wobei die Logik eine Bestätigungsnachricht (ACK-Nachricht) empfängt, wenn die Anfrage gewährt wurde, wobei die ACK-Nachricht eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung enthält, wobei die Logik die ACK-Nachricht an die erste Anwendung weiterleitet.
  4. Vorrichtung nach Anspruch 1, wobei die Parameter ferner Informationen enthalten, um eine strenge Anforderung anzugeben, die erfordert, dass die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen.
  5. Vorrichtung nach Anspruch 4, wobei die Angabe eine negative Bestätigungsnachricht (NACK-Nachricht) enthält, wenn weniger als die angefragte Bandbreite für die Zuweisung zu der Punkt-zu-Punkt-Verbindung durch die Fabric verfügbar war, wobei die Logik die NACK-Nachricht an die erste Anwendung weiterleitet.
  6. Vorrichtung nach Anspruch 1, wobei die Parameter ferner Informationen enthalten, um eine milde Anforderung anzugeben, die es erlaubt, dass weniger als die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen.
  7. Vorrichtung nach Anspruch 6, wobei die Angabe eine Bestätigungsnachricht (ACK-Nachricht) enthält, wobei die ACK-Nachricht eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung, die kleiner als die angefragte Bandbreite ist, enthält, wobei die Logik die ACK-Nachricht an die erste Anwendung weiterleitet.
  8. Vorrichtung nach Anspruch 1, wobei die erste Kennung eine Prozessadressraumkennung (PASID) ist, wobei die PASID der ersten Anwendung zugewiesen ist, wobei sie dann, wenn die PASID zu der zweiten Kennung für den ersten Rechenknoten hinzugefügt wird, eine globale PASID (GPASID) für die Verwendung durch den Verwalter für die Fabric, um die Anfrage zu verwalten und überwachen, wenn sie gewährt wird, erzeugt.
  9. Vorrichtung nach Anspruch 1, wobei die Schaltungsanordnung an dem ersten Rechenknoten eine Host-Fabric-Schnittstelle umfasst.
  10. Verfahren, das Folgendes umfasst: Empfangen einer Anfrage von einer ersten Anwendung, die von einem ersten Rechenknoten, der mit einer Fabric gekoppelt ist, gehostet wird, an einer Prozessorschaltung, wobei die Anfrage Parameter für eine Punkt-zu-Punkt-Verbindung, die durch mindestens einen Switch geführt wird, der in der Fabric enthalten ist, umfasst, wobei die Parameter eine als Ziel gesetzte zweite Anwendung, die von einem zweiten Rechenknoten gehostet wird, der mit der Fabric gekoppelt ist, und eine angefragte Bandbreite durch die Fabric, um eine oder mehrere Dienstgüteanforderungen (QoS-Anforderungen) für die Punkt-zu-Punkt-Verbindung zu erfüllen, umfassen; Hinzufügen einer Kennung, die sowohl eine erste Kennung für die erste Anwendung als auch eine zweite Kennung für den ersten Rechenknoten enthält, zu der Anfrage; Weiterleiten der Anfrage mit der Kennung an einen Verwalter für die Fabric; und Empfangen einer Angabe, ob die Anfrage von dem Verwalter gewährt worden ist, wobei die Angabe eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und eine zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung enthält, wenn die Anfrage gewährt wurde.
  11. Verfahren nach Anspruch 10, wobei die eine oder die mehreren QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung auf einer Dienstgütevereinbarung für die erste Anwendung basieren.
  12. Verfahren nach Anspruch 11, das Folgendes umfasst: Empfangen einer Bestätigungsnachricht (ACK-Nachricht), wenn die Anfrage gewährt wurde, wobei die ACK-Nachricht eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung enthält; und Weiterleiten der ACK-Nachricht an die erste Anwendung.
  13. Verfahren nach Anspruch 10, umfassend die Parameter, die ferner Informationen enthalten, um eine strenge Anforderung anzugeben, die erfordert, dass die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen, und die Angabe, die eine negative Bestätigungsnachricht (NACK-Nachricht) enthält, wenn weniger als die angefragte Bandbreite für die Zuweisung an die Punkt-zu-Punkt-Verbindung durch die Fabric verfügbar war, und ein Weiterleiten der NACK-Nachricht an die erste Anwendung.
  14. Verfahren nach Anspruch 10, umfassend die Parameter, die ferner Informationen zum Angeben einer milden Anforderung enthalten, die es erlaubt, dass weniger als die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen, und die Angabe, die eine Bestätigungsnachricht (ACK-Nachricht) enthält, wobei die ACK-Nachricht eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung, die kleiner als die angefragte Bandbreite ist, enthält, und ein Weiterleiten der ACK-Nachricht an die erste Anwendung.
  15. Verfahren nach Anspruch 10, wobei die erste Kennung eine Prozessadressraumkennung (PASID) ist, wobei die PASID der ersten Anwendung zugewiesen ist, wobei sie dann, wenn die PASID zu der zweiten Kennung für den ersten Rechenknoten hinzugefügt wird, eine globale PASID (GPASID) für die Verwendung durch den Verwalter für die Fabric, um die Anfrage zu verwalten und überwachen, wenn sie gewährt wird, erzeugt.
  16. Mindestens ein maschinenlesbares Medium, das mehrere Befehle enthält, die in Reaktion darauf, dass sie von einem System ausgeführt werden, das System dazu veranlassen, ein Verfahren nach einem der Ansprüche 10 bis 15 auszuführen.
  17. Vorrichtung, die Mittel umfasst, um die Verfahren nach einem der Ansprüche 10 bis 15 auszuführen.
  18. Verfahren, das Folgendes umfasst: Empfangen einer Anfrage, die von einer ersten Anwendung stammt, die von einem ersten Rechenknoten gehostet wird, der mit einer Fabric gekoppelt ist, an einer Prozessorschaltung, wobei die Anfrage eine Kennung aufweist, die sowohl die erste Anwendung als auch den ersten Rechenknoten identifiziert, wobei die Anfrage eine als Ziel gesetzte zweite Anwendung angibt, die von einem zweiten Rechenknoten gehostet wird, der mit der Fabric gekoppelt ist, wobei die Anfrage zudem eine angefragte Bandbreite durch die Fabric angibt, um eine oder mehrere Dienstgüteanforderungen (QoS-Anforderungen) für die Punkt-zu-Punkt-Verbindung zu erfüllen; Bestimmen, ob eine Route für die Punkt-zu-Punkt-Verbindung durch die Fabric genügend verfügbare Bandbreite aufweist, um die eine oder die mehreren QoS-Anforderungen zu erfüllen; und Senden einer Angabe darüber, ob die Anfrage gewährt worden ist, wobei die Angabe eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und eine zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung enthält, wenn die Anfrage gewährt wurde.
  19. Verfahren nach Anspruch 18, wobei die Angabe darüber, ob die Anfrage gewährt worden ist, eine Bestätigungsnachricht (ACK-Nachricht) enthält, wenn die Anfrage gewährt wurde, wobei die ACK-Nachricht eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung enthält.
  20. Verfahren nach Anspruch 18, umfassend die Parameter, die ferner Informationen enthalten, um eine strenge Anforderung anzugeben, die erfordert, dass die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen, wobei die Angabe, ob die Anfrage gewährt worden ist, eine negative Bestätigungsnachricht (NACK-Nachricht) enthält, wenn weniger als die angeforderte Bandbreite für die Zuweisung zu der Punkt-zu-Punkt-Verbindung durch die Fabric verfügbar war.
  21. Verfahren nach Anspruch 18, umfassend die Parameter, die ferner Informationen enthalten, um eine milde Anforderung anzugeben, die es erlaubt, dass weniger als die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen, wobei die Angabe darüber, ob die Anfrage gewährt worden ist, eine Bestätigungsnachricht (ACK-Nachricht) enthält, wobei die ACK-Nachricht eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung, die kleiner als die angefragte Bandbreite ist, enthält.
  22. Mindestens ein maschinenlesbares Medium, das mehrere Befehle enthält, die als Antwort auf die Ausführung durch ein System das System zu Folgendem veranlassen: Empfangen einer Anfrage, die von einer ersten Anwendung stammt, die von einem ersten Rechenknoten gehostet wird, der mit einer Fabric gekoppelt ist, wobei die Anfrage eine Kennung aufweisen soll, die sowohl die erste Anwendung als auch den ersten Rechenknoten identifiziert, wobei die Anfrage eine als Ziel gesetzte zweite Anwendung angeben soll, die von einem zweiten Rechenknoten gehostet wird, der mit der Fabric gekoppelt ist, wobei die Anfrage zudem eine angefragte Bandbreite durch die Fabric angeben soll, um eine oder mehrere QoS-Anforderungen für die Punkt-zu-Punkt-Verbindung zu erfüllen; Bestimmen, ob eine Route für die Punkt-zu-Punkt-Verbindung durch die Fabric genügend verfügbare Bandbreite aufweist, um die eine oder die mehreren QoS-Anforderungen zu erfüllen; und Senden einer Angabe darüber, ob die Anfrage gewährt worden ist, wobei die Angabe eine Route durch die Fabric für die Punkt-zu-Punkt-Verbindung und eine zugewiesene Bandbreite für die Punkt-zu-Punkt-Verbindung enthalten soll, wenn die Anfrage gewährt wurde.
  23. Mindestens ein maschinenlesbares Medium nach Anspruch 22, das die die Befehle enthält, die das System ferner dazu veranlassen, die Angabe darüber, ob die Anfrage gewährt worden ist, an eine Host-Fabric-Schnittstelle an dem ersten Rechenknoten zu senden.
  24. Mindestens ein maschinenlesbares Medium nach Anspruch 22, wobei die Angabe darüber, ob die Anfrage gewährt worden ist, eine Bestätigungsnachricht (ACK-Nachricht) enthält, wenn die Anfrage gewährt wurde, wobei die ACK-Nachricht eine Routenkennung und eine Menge an zugewiesener Bandbreite für die Punkt-zu-Punkt-Verbindung enthält.
  25. Mindestens ein maschinenlesbares Medium nach Anspruch 22, das die die Parameter umfasst, die ferner Informationen enthalten sollen, um eine strenge Anforderung anzugeben, die erfordert, dass die angefragte Bandbreite zugewiesen wird, um die eine oder die mehreren QoS-Anforderungen zu erfüllen, wobei die Angabe, ob die Anfrage gewährt worden ist, eine negative Bestätigungsnachricht (NACK-Nachricht) enthält, wenn weniger als die angeforderte Bandbreite für die Zuweisung zu der Punkt-zu-Punkt-Verbindung durch die Fabric verfügbar war.
DE102018204577.1A 2017-03-27 2018-03-26 Techniken zum Erfüllen von Dienstgüteanforderungen für eine Fabric-Punkt-zu-Punkt-Verbindung Pending DE102018204577A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/470,664 2017-03-27
US15/470,664 US11121940B2 (en) 2017-03-27 2017-03-27 Techniques to meet quality of service requirements for a fabric point to point connection

Publications (1)

Publication Number Publication Date
DE102018204577A1 true DE102018204577A1 (de) 2018-09-27

Family

ID=63450485

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018204577.1A Pending DE102018204577A1 (de) 2017-03-27 2018-03-26 Techniken zum Erfüllen von Dienstgüteanforderungen für eine Fabric-Punkt-zu-Punkt-Verbindung

Country Status (2)

Country Link
US (1) US11121940B2 (de)
DE (1) DE102018204577A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11425003B2 (en) * 2017-08-03 2022-08-23 Drivenets Ltd. Network aware element and a method for using same
US10374944B2 (en) * 2017-09-25 2019-08-06 Futurewei Technologies, Inc. Quality of service for data transmission
US20200319913A1 (en) * 2020-04-30 2020-10-08 Intel Corporation System, apparatus and method for accessing multiple address spaces via a virtualization device
US11907744B2 (en) * 2020-06-25 2024-02-20 Intel Corporation System, apparatus and method for enabling fine-grain quality of service or rate control for work submissions
US11461099B2 (en) 2020-06-25 2022-10-04 Intel Corporation System, apparatus and method for fine-grain address space selection in a processor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698457B2 (en) * 2003-11-12 2010-04-13 Andrei Ghetie Scalable and dynamic quality of service control
US9137330B2 (en) * 2005-03-16 2015-09-15 Alcatel Lucent Method of dynamically adjusting quality of service (QoS) targets
EP3318008B1 (de) * 2015-06-30 2022-09-07 British Telecommunications public limited company Aushandeln der dienstgüte für datenströme
KR102121733B1 (ko) * 2016-10-26 2020-06-11 에스케이텔레콤 주식회사 단말장치 및 기지국장치와, QoS 제어방법

Also Published As

Publication number Publication date
US20180278493A1 (en) 2018-09-27
US11121940B2 (en) 2021-09-14

Similar Documents

Publication Publication Date Title
DE102018204577A1 (de) Techniken zum Erfüllen von Dienstgüteanforderungen für eine Fabric-Punkt-zu-Punkt-Verbindung
DE102018006890B4 (de) Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller
DE112017003688T5 (de) Technologien zur Durchführung einer Orchestrierung mit Online-Analyse von Telemetriedaten
DE112013006063B4 (de) Funktionsübernahme für einen Datenübertragungskanal in einem Netzwerk mit Hochleistungsdatenverarbeitung
DE102016221811A1 (de) Zuordnung von Ressourcen mit mehrschichtigem Speicher
DE102018005103A1 (de) Techniken zum Migrieren einer virtuellen Maschine unter Verwendung von verteilten Rechenbetriebsmitteln
DE112017001762T5 (de) Technologien für den einsatz dynamischer underlay-netzwerke in cloud-computing-infrastrukturen
DE102020201834A1 (de) Technologien für netzvorrichtungslastausgleichseinrichtungen für beschleunigte funktionen-als-dienst
DE112006001167T5 (de) Simulieren mehrerer virtueller Kanäle in Switching-Fabric-Netzwerken
DE102019130686A1 (de) Technologien zur bereitstellung dynamischer auswahl von edge- und lokalen beschleunigerressourcen
DE102015119889A1 (de) Verfahren für Netzwerkvorrichtungsfluss-Look-up-Verwaltung
DE102020110143A1 (de) Standortbasierte virtualisierungs-workload-platzierung
DE102015119890A1 (de) Paralleles Verarbeiten von Service-Funktionen in Service-Funktionsketten
DE102015118705A1 (de) Technologien für leistungsbasierte Außer-der-Reihe-Task-Planung für Datenzentren
DE112018006769B4 (de) Erweiterte zwischenspeicherzuweisung basierend auf virtuellen knotenressourcen
DE112012005356T5 (de) Techniken in Verbindung mit Server-Transaktionslatenzinformationen
DE112013000752T5 (de) Verwalten von Verarbeitungselementen in einem Streaming-Datensystem
DE102022104207A1 (de) Pooling von Netzwerkverarbeitungsressourcen
DE102019102883A1 (de) Technologien zum Bewegen von Arbeitslasten zwischen Hardwarewarteschlangenmanagern
DE102014110423A1 (de) Techniken zum Bewegen von Daten zwischen einem Netzwerk-Eingabe/Ausgabe-Gerät und einem Speichergerät
DE102019112772A1 (de) Technologien für eine dienstgütefrist-bewusste ende-zu-ende-e/a-planung
DE102020132767A1 (de) Verwaltung der Dienstgüte (QoS) eines Speichersystems
DE102018209188A1 (de) Technologien zum Verwalten der Dienstgüte für Plattformverbindungen
DE102015111820A1 (de) Auswählen eines Netzwerkes
DE102019103932A1 (de) Technologien für optimierte Dienstgütebeschleunigung