DE112019000910T5 - Technologien zum erreichen einer netzwerk-qualitätssicherung mit hardwarebeschleunigung - Google Patents

Technologien zum erreichen einer netzwerk-qualitätssicherung mit hardwarebeschleunigung Download PDF

Info

Publication number
DE112019000910T5
DE112019000910T5 DE112019000910.9T DE112019000910T DE112019000910T5 DE 112019000910 T5 DE112019000910 T5 DE 112019000910T5 DE 112019000910 T DE112019000910 T DE 112019000910T DE 112019000910 T5 DE112019000910 T5 DE 112019000910T5
Authority
DE
Germany
Prior art keywords
orchestrator server
units
slo
service
computing
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
DE112019000910.9T
Other languages
English (en)
Inventor
Mrittika Ganguli
Francesc Guim Bernat
Timothy Verrall
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 DE112019000910T5 publication Critical patent/DE112019000910T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Cooling Or The Like Of Electrical Apparatus (AREA)

Abstract

Technologien zum Managen der Service-Sicherstellung in einem Netzwerk umfassen einen Orchestrator-Server. Der Orchestrator-Server empfängt eine Aufforderung, eine Virtuelle-Maschine- (VM) Instanz zu starten, wobei die Aufforderung eine Auswahl einer Serviceklasse (CLoS) einer Erfahrungsqualitäts- (QoS) Spezifikation spezifiziert. Der Orchestrator-Server bildet die gewählte CLoS auf eine oder mehrere Service-Level-Ziel- (SLO) Einheiten ab, wobei die eine oder die mehreren SLO-Einheiten eine Rechenfähigkeit und eine erforderliche Netzwerk-Bandbreite, spezifiziert in einem Service Level Agreement (SLA), anzeigen. Der Orchestrator-Server startet die VM auf einer als eine Funktion der abgebildeten SLO-Einheiten identifizierten Rechenvorrichtung. Der Orchestrator-Server erzeugt einen oder mehrere Scores, die einer Performance der VM zugeordnet sind, und bestimmt, als eine Funktion des einen oder der mehreren erzeugten Scores, ob die Performance der VM auf der Rechenvorrichtung jede der einen oder mehreren SLO-Einheiten zufriedenstellt.

Description

  • BEZUGNAHME AUF VERWANDTE ANMELDUNGEN
  • Die vorliegende Offenbarung beansprucht die Priorität der Provisorischen US-Patentanmeldung mit dem Aktenzeichen 62/633,397, eingereicht am 21. Februar 2018, die hierin durch Bezugnahme aufgenommen ist.
  • HINTERGRUND
  • Service-Sicherstellung ist wichtig für Netzwerkfunktionen-Virtualisierungs- (NFV; network functions virtualization) und Softwaredefiniertes Networking- (SDN; software defined networking) Technologien. Im Allgemeinen bezieht sich Service-Sicherstellung auf eine Anwendung von Richtlinien und Prozessen zum Sicherstellen, dass Dienste, die über ein Netzwerk bereitgestellt werden, ein spezifiziertes Service-Qualitäts-Level erfüllen. Beispielsweise stellt ein Bestimmen einer Service-Qualität (QoS; quality of service) an einem Endpunkt und einem anderen Endpunkt ein Maß für die Service-Sicherstellung bereit. Dies umfasst ein Überwachen der Service-Infrastruktur-Performance bei virtualisierten Netzwerkfunktionen (VNFs; virtualized network functions), Einhaltung von Performance-Zielen, Warnungen für Schwellenverletzung und geeignete Handlungen. Ferner ist eine NFV-Arbeitslast üblicherweise einer Netzwerk-QoS-Anforderung zugeordnet, deren Verletzung dazu führen kann, dass ein Anbieter einen Kunden entschädigt. Derzeit sind Lösungen verfügbar, um QoS für Aspekte wie beispielsweise Rechenressourcen und Performance zu garantieren, aber eine umfassende Service-Sicherstellung für eine VNF erfordert oft eine Feinabstimmung von Prozessor, Speicher (memory) und Netzwerksteuerungen pro virtueller zentraler Verarbeitungseinheit (vCPU; virtual central processing unit) und pro Thread. Service-Sicherstellung kann auch eine konstante Rückkopplungsschleife zur Aufrechterhaltung einer QoS erfordern.
  • Figurenliste
  • Die hierin beschriebenen Konzepte sind beispielhaft und nicht einschränkend in den beiliegenden Figuren dargestellt. Der Einfachheit und Klarheit der Darstellung halber sind die in den Figuren dargestellten Elemente nicht notwendigerweise maßstabstreu gezeichnet. Wo es angemessen erscheint, wurden Bezugszeichen in den Figuren wiederholt, um entsprechende oder analoge Elemente anzuzeigen.
    • 1 ist ein vereinfachtes Diagramm von zumindest einem Ausführungsbeispiel eines Rechenzentrums für ein Ausführen von Arbeitslasten mit disaggregierten Ressourcen;
    • 2 ist ein vereinfachtes Diagramm von zumindest einem Ausführungsbeispiel eines Pods, der in dem Rechenzentrum aus 1 umfasst sein kann;
    • 3 ist eine Perspektivenansicht von zumindest einem Ausführungsbeispiel eines Racks, das in dem Pod aus 2 umfasst sein kann;
    • 4 ist eine Seitenansicht des Racks aus 3;
    • 5 ist eine Perspektivenansicht des Racks aus 3, das einen darin befestigten Schlitten aufweist;
    • 6 ist ein vereinfachtes Blockdiagramm von zumindest einem Ausführungsbeispiel einer Oberseite des Schlittens aus 5;
    • 7 ist ein vereinfachtes Blockdiagramm von zumindest einem Ausführungsbeispiel einer Unterseite des Schlittens aus 6;
    • 8 ist ein vereinfachtes Blockdiagramm von zumindest einem Ausführungsbeispiel eines Rechenschlittens, der in dem Rechenzentrum aus 1 verwendbar ist;
    • 9 ist eine perspektivische Draufsicht von zumindest einem Ausführungsbeispiel des Rechenschlittens aus 8;
    • 10 ist ein vereinfachtes Blockdiagramm von zumindest einem Ausführungsbeispiel eines Beschleunigerschlittens, der in dem Rechenzentrum aus 1 verwendbar ist;
    • 11 ist eine perspektivische Draufsicht von zumindest einem Ausführungsbeispiel des Beschleunigerschlittens aus 10;
    • 12 ist ein vereinfachtes Blockdiagramm von zumindest einem Ausführungsbeispiel eines Speicherungsschlittens (storage sled), der in dem Rechenzentrum aus 1 verwendbar ist;
    • 13 ist eine perspektivische Draufsicht von zumindest einem Ausführungsbeispiel des Speicherungsschlittens aus 12;
    • 14 ist ein vereinfachtes Blockdiagramm von zumindest einem Ausführungsbeispiel eines Speicherschlittens (memory sled), der in dem Rechenzentrum aus 1 verwendbar ist; und
    • 15 ist ein vereinfachtes Blockdiagramm eines Systems, das innerhalb des Rechenzentrums aus 1 hergestellt werden kann, um Arbeitslasten mit gemanagten Knoten auszuführen, die aus disaggregierten Ressourcen zusammengesetzt sind.
    • 16 ist ein vereinfachtes Blockdiagramm eines Systems, das einen Erfahrungsqualitäts-(QoE; quality of experience) Softwarestapel bereitstellt, der einen Netzwerk-Service-Rahmen repräsentiert, der zum Einsetzen, Orchestrieren und Managen von Diensten verwendet wird, die durch eine virtualisierte Netzwerkfunktion (VNF) bereitgestellt werden;
    • 17 ist ein vereinfachtes Blockdiagramm von zumindest einem Ausführungsbeispiel eines Orchestrator-Servers in dem relativ zu 16 beschriebenen System;
    • 18 ist ein vereinfachtes Blockdiagramm von zumindest einem Ausführungsbeispiel einer Umgebung, die durch den Orchestrator-Server aus 16 und 17 hergestellt werden kann; und
    • 19 ist ein vereinfachtes Flussdiagramm von zumindest einem Ausführungsbeispiel eines Verfahrens zum Managen der Service-Sicherstellung in einer Netzwerkumgebung, wie beispielsweise dem relativ zu 16 beschriebenen System.
  • DETAILLIERTE BESCHREIBUNG DER ZEICHNUNGEN
  • Obwohl die Konzepte der vorliegenden Offenbarung verschiedenen Modifikationen und alternativen Formen unterliegen, wurden spezielle Ausführungsbeispiele derselben beispielhaft in den Zeichnungen gezeigt und werden hierin detailliert beschrieben. Es versteht sich jedoch, dass keinerlei Absicht besteht, die Konzepte der vorliegenden Offenbarung auf die bestimmten offenbarten Formen zu begrenzen, sondern im Gegenteil die Absicht besteht, alle Modifikationen, Entsprechungen und Alternativen abzudecken, die der vorliegenden Offenbarung und den beigefügten Ansprüchen entsprechen.
  • Bezugnahmen in der Beschreibung auf „ein Ausführungsbeispiel“, „das Ausführungsbeispiel“, „ein darstellendes Ausführungsbeispiel“ etc. zeigen an, dass das beschriebene Ausführungsbeispiel ein bestimmtes Merkmal, eine Struktur oder Charakteristik umfassen kann, aber jedes Ausführungsbeispiel nicht notwendigerweise dieses bestimmte Merkmal, die Struktur oder Charakteristik umfasst. Ferner beziehen sich solche Phrasen nicht notwendigerweise auf dasselbe Ausführungsbeispiel. Ferner, wenn ein bestimmtes Merkmal, eine Struktur oder Charakteristik in Verbindung mit einem Ausführungsbeispiel beschrieben ist, wird mitgeteilt, dass es innerhalb der Kenntnisse eines Fachmanns liegt, ein solches Merkmal, eine solche Struktur oder Charakteristik in Verbindung mit anderen Ausführungsbeispielen auszuführen, ob dies ausdrücklich beschrieben ist oder nicht. Zusätzlich wird darauf hingewiesen, dass Gegenstände, die in einer Liste in der Form von „zumindest eines von A, B oder C“ umfasst sind, (A); (B); (C); (A und B); (A und C); (B und C); oder (A, B und C) bedeuten können. Ähnlich können Gegenstände, die in der Form von „zumindest eines von A, B oder C“ aufgelistet sind, (A); (B); (C); (A und B); (A und C); (B und C); oder (A, B und C) bedeuten.
  • Die offenbarten Ausführungsbeispiele können in einigen Fällen in Hardware, Firmware, Software oder irgendeine Kombination derselben implementiert sein. Die offenbarten Ausführungsbeispiele können auch als Anweisungen implementiert werden, die durch ein flüchtiges oder nichtflüchtiges maschinenlesbares (z. B. computerlesbares) Speicherungsmedium getragen werden oder darauf gespeichert werden können, das durch einen oder mehrere Prozessoren gelesen und ausgeführt werden kann. Ein maschinenlesbares Speicherungsmedium kann als irgendeine Speicherungsvorrichtung, irgendein Mechanismus oder irgendeine andere physikalische Struktur zum Speichern oder Übertragen von Informationen in einer durch eine Maschine lesbaren Form (z. B. ein flüchtiger oder nichtflüchtiger Speicher, eine Medienplatte oder eine andere Medienvorrichtung) ausgeführt sein.
  • In den Zeichnungen können einige Struktur- oder Verfahrensmerkmale in speziellen Anordnungen und/oder Reihenfolgen gezeigt sein. Es wird jedoch darauf hingewiesen, dass solche speziellen Anordnungen und/oder Reihenfolgen möglicherweise nicht erforderlich sind. Vielmehr können bei einigen Ausführungsbeispielen solche Merkmale auf eine unterschiedliche Art und/oder in einer unterschiedlichen Reihenfolge angeordnet sein als in den darstellenden Figuren gezeigt ist. Zusätzlich soll das Umfassen eines Struktur- oder Verfahrensmerkmals in einer bestimmten Figur nicht andeuten, dass ein solches Merkmal in allen Ausführungsbeispielen erforderlich ist, und bei einigen Ausführungsbeispielen ist es möglicherweise nicht umfasst oder ist möglicherweise mit anderen Merkmalen kombiniert.
  • Bezug nehmend nun auf 1 umfasst ein Rechenzentrum 100, in dem disaggregierte Ressourcen kooperativ eine oder mehrere Arbeitslasten (z. B. Anwendungen im Namen von Kunden) ausführen können, mehrere Pods 110, 120, 130, 140, von denen jeder eine oder mehrere Reihen von Racks umfasst. Obwohl das Rechenzentrum 100 mit mehreren Pods dargestellt wird, kann das Rechenzentrum 100 bei einigen Ausführungsbeispielen natürlich als ein einzelner Pod ausgeführt sein. Wie hierin detaillierter beschrieben, häust jedes Rack mehrere Schlitten, von denen jeder primär mit einer bestimmten Art von Ressource ausgestattet sein kann (z. B. Speichervorrichtungen, Datenspeicherungsvorrichtungen, Beschleunigervorrichtungen, Allzweckprozessoren), d. h. Ressourcen, die logisch gekoppelt werden können, um einen zusammengesetzten Knoten zu bilden, der z. B. als ein Server agieren kann. Bei dem darstellenden Ausführungsbeispiel sind die Schlitten in jedem Pod 110, 120, 130, 140 mit mehreren Pod-Schaltern (z. B. Schalter, die Datenkommunikationen zu und von Schlitten innerhalb des Pod routen) verbunden. Die Pod-Schalter verbinden wiederum mit Spine-Schaltern 150, die Kommunikationen unter Pods (z. B. den Pods 110, 120, 130, 140) in dem Rechenzentrum 100 schalten. Bei einigen Ausführungsbeispielen können die Schlitten mit einer Struktur unter Verwendung von Intel Omni-Path Technologie verbunden sein. Bei anderen Ausführungsbeispielen können die Schlitten mit anderen Strukturen, wie beispielsweise InfiniBand oder Ethernet, verbunden sein. Wie hierin detaillierter beschrieben ist, können Ressourcen innerhalb von Schlitten in dem Rechenzentrum 100 einer Gruppe (hierin als ein „gemanagter Knoten“ bezeichnet) allokiert werden, die Ressourcen von einem oder mehreren Schlitten umfasst, die bei der Ausführung einer Arbeitslast gemeinschaftlich genutzt werden sollen. Die Arbeitslast kann ausgeführt werden, als ob die Ressourcen, die zu dem gemanagten Knoten gehören, auf demselben Schlitten positioniert sind. Die Ressourcen in einem gemanagten Knoten können zu Schlitten gehören, die zu unterschiedlichen Racks und sogar zu unterschiedlichen Pods 110, 120, 130, 140 gehören. Somit können einige Ressourcen eines einzelnen Schlittens einem gemanagten Knoten allokiert sein, während andere Ressourcen desselben Schlittens einem unterschiedlichen gemanagten Knoten (z. B. ein Prozessor ist einem gemanagten Knoten zugewiesen und ein anderer Prozessor desselben Schlittens ist einem unterschiedlichen gemanagten Knoten zugewiesen) allokiert sind.
  • Ein Rechenzentrum, umfassend disaggregierte Ressourcen, wie z. B. das Rechenzentrum 100, kann in einer breiten Vielzahl von Kontexten verwendet werden, wie z. B. Unternehmen, Regierung, Cloud-Dienstanbieter und Kommunikationsdienst-Anbieter (z. B. Telcos), sowie in einer breiten Vielzahl von Größen, von Mega-Rechenzentren von Cloud-Dienstanbietern, die über 10.000 Quadratmeter verbrauchen, bis hin zu Einzel- oder Mehrfach-Rack-Installationen zur Verwendung in Basisstationen.
  • Das Disaggregieren von Ressourcen zu Schlitten, die überwiegend einen einzigen Ressourcentyp (z. B. Rechenschlitten, die primär Rechenressourcen umfassen, Speicherschlitten, die primär Speicherressourcen umfassen) aufweisen und das selektive Allokieren und De-Allokieren der disaggregierten Ressourcen, um einen gemanagten Knoten zu bilden, der zugewiesen ist, um eine Arbeitslast auszuführen, verbessert den Betrieb und die Ressourcennutzung des Rechenzentrums 100 im Vergleich zu typischen Rechenzentren, aufweisend hyperkonvergente Server, die Rechen-, Speicher- (memory), Speicherungs-(storage) und möglicherweise zusätzliche Ressourcen in einem einzelnen Gehäuse umfassen. Da Schlitten beispielsweise überwiegend Ressourcen eines bestimmten Typs umfassen, können Ressourcen eines gegebenen Typs unabhängig von anderen Ressourcen aufgerüstet werden. Zusätzlich, da verschiedene Ressourcentypen (Prozessoren, Speicherung, Beschleuniger usw.) üblicherweise unterschiedliche Aktualisierungsraten aufweisen, können außerdem eine größere Ressourcennutzung und reduzierte Gesamtbetriebskosten erreicht werden. Beispielsweise kann ein Rechenzentrumsbetreiber die Prozessoren in seiner gesamten Anlage aufrüsten, indem er nur die Rechenschlitten auslagert. In einem solchen Fall werden Beschleuniger- und Speicherungsressourcen möglicherweise nicht gleichzeitig aufgerüstet, sondern es kann ihnen vielmehr erlaubt werden, so lange weiterzuarbeiten, bis die eigene Aktualisierung dieser Ressourcen vorgesehen ist. Auch die Ressourcennutzung kann zunehmen. Wenn gemanagte Knoten beispielsweise basierend auf Anforderungen der Arbeitslasten zusammengesetzt sind, die auf ihnen ausgeführt werden, ist es wahrscheinlicher, dass Ressourcen innerhalb eines Knotens vollständig verwendet werden. Eine solche Nutzung kann es erlauben, dass mehr gemanagte Knoten in einem Rechenzentrum mit einem gegebenen Satz von Ressourcen ausgeführt werden oder dass ein Rechenzentrum, von dem erwartet wird, dass es einen gegebenen Satz von Arbeitslasten ausführt, unter Verwendung von weniger Ressourcen gebaut wird.
  • Bezug nehmend nun auf 2 umfasst der Pod 110 in dem darstellenden Ausführungsbeispiel einen Satz von Reihen 200, 210, 220, 230 von Racks 240. Jedes Rack 240 kann mehrere Schlitten (z. B. sechzehn Schlitten) häusen und den gehäusten Schlitten Leistung und Datenverbindungen bereitstellen, wie hierin detaillierter beschrieben ist. Bei dem darstellenden Ausführungsbeispiel sind die Racks in jeder Reihe 200, 210, 220, 230 mit mehreren Pod-Schaltern 250, 260 verbunden. Der Pod-Schalter 250 umfasst einen Satz von Ports 252, mit denen die Schlitten der Racks des Pods 110 verbunden sind, und einen anderen Satz von Ports 254, die den Pod 110 mit den Spine-Schaltern 150 verbinden, um Konnektivität zu anderen Pods in dem Rechenzentrum 100 bereitzustellen. Ähnlich umfasst der Pod-Schalter 260 einen Satz von Ports 262, mit dem die Schlitten der Racks des Pods 110 verbunden sind, und einen Satz von Ports 264, die den Pod 110 mit den Spine-Schaltern 150 verbinden. Somit stellt die Verwendung des Paares von Schaltern 250, 260 dem Pod 110 einen Betrag von Redundanz bereit. Zum Beispiel, falls irgendeiner der Schalter 250, 260 ausfällt, können die Schlitten in dem Pod 110 immer noch eine Datenkommunikation mit dem Rest des Rechenzentrums 100 (z. B. Schlitten anderer Pods) durch den anderen Schalter 250, 260 aufrechterhalten. Ferner können die Schalter 150, 250, 260 in dem darstellenden Ausführungsbeispiel als Dual-Modeoptische Schalter ausgeführt sein, die sowohl in der Lage sind, Ethernet-Protokoll-Kommunikationen, die Internet-Protocol (IP) -Pakete tragen, als auch Kommunikationen gemäß einem zweiten, Hochperformance-Link-Layer-Protokoll (z. B. Intels Omni-Path-Architektur, InfiniBand, PCI Express) über optische Signalisierungsmedien einer optischen Struktur zu routen.
  • Es wird darauf hingewiesen, dass jeder der anderen Pods 120, 130, 140 (sowie irgendwelche zusätzlichen Pods des Rechenzentrums 100) ähnlich strukturiert sein können wie und Komponenten aufweisen können, die ähnlich sind wie der Pod 110, der Bezug nehmend auf 2 gezeigt und beschrieben ist (z. B. jeder Pod kann Reihen von Racks aufweisen, die mehrere Schlitten häusen, wie vorangehend beschrieben ist). Zusätzlich, während zwei Pod-Schalter 250, 260 gezeigt sind, sollte es sich verstehen, dass bei anderen Ausführungsbeispielen jeder Pod 110, 120, 130, 140 mit einer unterschiedlichen Anzahl von Pod-Schaltern, die noch mehr Failover-Kapazität bereitstellt, verbunden sein kann. Natürlich können bei anderen Ausführungsbeispielen die Pods anders angeordnet sein als die in den 1-2 gezeigte Reihen-von-Racks-Konfiguration. Beispielsweise kann ein Pod als mehrere Sätze von Racks ausgeführt sein, in denen jeder Satz von Racks radial angeordnet ist, d. h. die Racks sind äquidistant von einem mittleren Schalter.
  • Bezug nehmend nun auf 3-5 umfasst jedes darstellende Rack 240 des Rechenzentrums 100 zwei längliche Stützpfosten 302, 304, die vertikal angeordnet sind. Zum Beispiel können sich die länglichen Stützpfosten 302, 304 von einem Boden des Rechenzentrums 100 nach oben erstrecken, wenn sie eingesetzt werden. Das Rack 240 umfasst auch ein oder mehrere horizontale Paare 310 länglicher Stützarme 312 (in 3 über eine gestrichelte Ellipse identifiziert), die ausgebildet sind, um einen Schlitten des Rechenzentrums 100 wie nachfolgend beschrieben zu stützen. Ein länglicher Stützarm 312 des Paares von länglichen Stützarmen 312 erstreckt sich von dem länglichen Stützpfosten 302 nach außen und der andere längliche Stützarm 312 erstreckt sich von dem länglichen Stützpfosten 304 nach außen.
  • Bei den darstellenden Ausführungsbeispielen ist jeder Schlitten des Rechenzentrums 100 als ein gehäuseloser Schlitten ausgeführt. Das heißt, jeder Schlitten weist ein gehäuseloses Schaltungsplatinensubstrat auf, auf dem physische Ressourcen (z. B. Prozessoren, Speicher (memory), Beschleuniger, Speicherung (storage), etc.) befestigt sind, wie nachfolgend detaillierter erörtert ist. Somit ist das Rack 240 ausgebildet, um die gehäuselosen Schlitten zu empfangen. Beispielsweise definiert jedes Paar 310 länglicher Stützarme 312 einen Schlitten-Slot 320 des Racks 240, der ausgebildet ist, um einen entsprechenden gehäuselosen Schlitten zu empfangen. Zu diesem Zweck umfasst jeder darstellende, längliche Stützarm 312 eine Schaltungsplatinenführung 330, die ausgebildet ist, um das gehäuselose Schaltungsplatinensubstrat des Schlittens zu empfangen. Jede Schaltungsplatinenführung 330 ist an einer Oberseite 332 des entsprechenden länglichen Stützarms 312 befestigt oder anderweitig angebracht. Zum Beispiel, bei dem darstellenden Ausführungsbeispiel ist jede Schaltungsplatinenführung 330 an einem distalen Ende des entsprechenden länglichen Stützarmes 312 relativ zu dem entsprechenden länglichen Stützpfosten 302, 304 befestigt. Der Klarheit der Figuren halber, wird sich möglicherweise nicht in jeder Figur auf jede Schaltungsplatinenführung 330 bezogen.
  • Jede Schaltungsplatinenführung 330 umfasst eine innere Wand, die einen Schaltungsplatinen-Slot 380 definiert, der ausgebildet ist, um das gehäuselose Schaltungsplatinensubstrat eines Schlittens 400 zu empfangen, wenn der Schlitten 400 in dem entsprechenden Schlitten-Slot 320 des Racks 240 empfangen wird. Dazu richtet, wie in 4 gezeigt ist, ein Benutzer (oder Roboter) das gehäuselose Schaltungsplatinensubstrat eines darstellenden gehäuselosen Schlittens 400 zu einem Schlitten-Slot 320 aus. Der Benutzer oder Roboter kann dann das gehäuselose Schaltungsplatinensubstrat vorwärts in den Schlitten-Slot 320 schieben, sodass jeder Seitenrand 414 des gehäuselosen Schaltungsplatinensubstrats in einem entsprechenden Schaltungsplatinen-Slot 380 der Schaltungsplatinenführungen 330 des Paares 310 länglicher Stützarme 312 empfangen wird, die den entsprechenden Schlitten-Slot 320 definieren, wie in 4 gezeigt ist. Durch ein Aufweisen von robotisch zugänglichen und robotisch manipulierbaren Schlitten, die disaggregierte Ressourcen aufweisen, kann irgendeine Art von Ressource unabhängig voneinander und mit ihrer eigenen optimierten Aktualisierungsrate upgegraded werden. Ferner sind die Schlitten ausgebildet, um blind mit Leistungs- und Datenkommunikationskabeln in jedem Rack 240 zusammenzupassen, was ihre Fähigkeit verbessert, schnell entfernt, upgegraded, neu installiert und/oder ersetzt werden zu können. Somit kann das Rechenzentrum 100 bei einigen Ausführungsbeispielen ohne menschliche Beteiligung vor Ort in dem Rechenzentrum arbeiten (z. B. Ausführen von Arbeitslasten, Durchführen von Wartung und/oder Upgrades, etc.). Bei anderen Ausführungsbeispielen kann ein Mensch eine oder mehrere Wartungs- oder Upgrade-Operationen in dem Rechenzentrum 100 erleichtern.
  • Es wird darauf hingewiesen, dass jede Schaltungsplatinenführung 330 doppelseitig ist. Das heißt, jede Schaltungsplatinenführung 330 umfasst eine innere Wand, die einen Schaltungsplatinen-Slot 380 auf jeder Seite der Schaltungsplatinenführung 330 definiert. Auf diese Weise kann jede Schaltungsplatinenführung 330 ein gehäuseloses Schaltungsplatinensubstrat auf beiden Seiten stützen. Somit kann dem Rack 240 ein einzelner zusätzlicher länglicher Stützpfosten dazugefügt werden, um das Rack 240 in eine Zwei-Rack-Lösung umzubauen, die doppelt so viele Schlitten-Slots 320 halten kann, wie in 3 gezeigt ist. Das darstellende Rack 240 umfasst sieben Paare 310 länglicher Stützarme 312, die entsprechende sieben Schlitten-Slots 320 definieren, die jeweils ausgebildet sind, um einen entsprechenden Schlitten 400 wie vorangehend erörtert ist, zu empfangen und zu stützen.
  • Natürlich kann bei anderen Ausführungsbeispielen das Rack 240 zusätzliche oder weniger Paare 310 länglicher Stützarme 312 (d.h. zusätzliche oder weniger Schlitten-Slots 320) umfassen. Es wird darauf hingewiesen, dass, da der Schlitten 400 gehäuselos ist, der Schlitten 400 eine Gesamthöhe aufweisen kann, die unterschiedlich ist als typische Server. Somit kann bei einigen Ausführungsbeispielen die Höhe jedes Schlitten-Slots 320 niedriger sein als die Höhe eines typischen Servers (z. B. niedriger als eine einzelne Rangeinheit, „1U“). Das heißt, die vertikale Distanz zwischen jedem Paar 310 länglicher Stützarme 312 kann geringer sein als eine Standard-Rack-Einheit „1U“. Zusätzlich kann aufgrund der relativen Verringerung der Höhe der Schlitten-Slots 320 die Gesamthöhe des Racks 240 bei einigen Ausführungsbeispielen niedriger sein als die Höhe traditioneller Rack-Einhäusungen. Zum Beispiel, bei einigen Ausführungsbeispielen kann jeder der länglichen Stützpfosten 302, 304 eine Länge von sechs Fuß oder weniger aufweisen. Bei anderen Ausführungsbeispielen kann das Rack 240 wiederum unterschiedliche Dimensionen aufweisen. Zum Beispiel kann bei einigen Ausführungsbeispielen die vertikale Distanz zwischen jedem Paar 310 länglicher Stützarme 312 größer sein als ein Standard-Rack bis „1U“. Bei solchen Ausführungsbeispielen ermöglicht die erhöhte vertikale Distanz zwischen den Schlitten ein Anbringen größerer Wärmesenken an den physischen Ressourcen und ein Verwenden größerer Lüfter (z. B. in dem nachfolgend beschriebenen Lüfter-Array 370) zum Kühlen jedes Schlittens, was es wiederum erlauben kann, dass die physischen Ressourcen bei höheren Leistungspegeln arbeiten. Ferner wird darauf hingewiesen, dass das Rack 240 keine Wände, Einhäusungen oder ähnliches umfasst. Vielmehr ist das Rack 240 ein einhäusungsloses Rack, das zu der lokalen Umgebung geöffnet ist. Natürlich kann in einigen Fällen eine Endplatte an einem der länglichen Stützpfosten 302, 304 angebracht sein, in diesen Situationen, in denen das Rack 240 ein Endeder-Reihe-Rack in dem Rechenzentrum 100 bildet.
  • Bei einigen Ausführungsbeispielen können verschiedene Verbindungen durch die länglichen Stützpfosten 302, 304 nach oben oder unten geroutet sein. Um ein solches Routing zu erleichtern, umfasst jeder längliche Stützpfosten 302, 304 eine innere Wand, die eine innere Kammer definiert, in der Verbindungen positioniert sein können. Die Verbindungen, die durch die länglichen Stützpfosten 302, 304 geroutet sind, können als irgendeine Art von Verbindungen ausgeführt sein, umfassend, aber nicht beschränkt auf Daten- oder Kommunikationsverbindungen, um jedem Schlitten-Slot 320 Kommunikationsverbindungen bereitzustellen, Leistungsverbindungen, um jedem Schlitten-Slot 320 Leistung bereitzustellen, und/oder andere Arten von Verbindungen.
  • Das Rack 240, bei dem darstellenden Ausführungsbeispiel, umfasst eine Stützplattform, auf der ein entsprechender optischer Datenverbinder (nicht gezeigt) befestigt ist. Jeder optische Datenverbinder ist einem entsprechenden Schlitten-Slot 320 zugeordnet und ist ausgebildet, um mit einem optischen Datenverbinder eines entsprechenden Schlittens 400 zusammenzupassen, wenn der Schlitten 400 in dem entsprechenden Schlitten-Slot 320 empfangen wird. Bei einigen Ausführungsbeispielen werden optische Verbindungen zwischen Komponenten (z. B. Schlitten, Racks und Schalter) in dem Rechenzentrum 100 mit einer blind zusammenpassenden optischen Verbindung hergestellt. Beispielsweise kann eine Tür an jedem Kabel verhindern, dass Staub die Faser im Inneren des Kabels verunreinigt. Bei dem Prozess eines Verbindens mit einem blind zusammenpassenden optischen Verbindermechanismus wird die Tür aufgeschoben, wenn das Ende des Kabels sich dem Verbindermechanismus nähert oder in diesen eindringt. Anschließend kann die optische Faser innerhalb des Kabels in ein Gel innerhalb des Verbindermechanismus eindringen und die optische Faser eines Kabels kommt in Kontakt mit der optischen Faser eines anderen Kabels innerhalb des Gels innerhalb des Verbindermechanismus.
  • Das darstellende Rack 240 umfasst auch ein Lüfterarray 370, das mit den Quer-Stützarmen des Racks 240 gekoppelt ist. Das Lüfterarray 370 umfasst eine oder mehrere Reihen von Kühllüftungen 372, die in einer horizontalen Linie zwischen den länglichen Stützpfosten 302, 304 ausgerichtet sind. Bei dem darstellenden Ausführungsbeispiel umfasst das Lüfterarray 370 eine Reihe von Kühllüftungen 372 für jeden Schlitten-Slot 320 des Racks 240. Wie vorangehend erörtert wurde, umfasst jeder Schlitten 400 bei dem darstellenden Ausführungsbeispiel nicht irgendein eingebautes Kühlsystem, und somit stellt das Lüfterarray 370 für jeden in dem Rack 240 empfangenen Schlitten 400 Kühlung bereit. Jedes Rack 240 umfasst bei dem darstellenden Ausführungsbeispiel auch eine Leistungsversorgung, die jedem Schlitten-Slot 320 zugeordnet ist. Jede Leistungsversorgung ist an einem der länglichen Stützarme 312 des Paares 310 von länglichen Stützarmen 312, die den entsprechenden Schlitten-Slot 320 definieren, befestigt. Zum Beispiel kann das Rack 240 eine Leistungsversorgung umfassen, die mit jedem länglichem Stützarm 312, der sich von dem länglichen Stützpfosten 302 erstreckt, gekoppelt oder an demselben befestigt ist. Jede Leistungsversorgung umfasst einen Leistungsverbinder, der ausgebildet ist, um mit einem Leistungsverbinder des Schlittens 400 zusammenzupassen, wenn der Schlitten 400 in dem entsprechenden Schlitten-Slot 320 empfangen wird. Bei dem darstellenden Ausführungsbeispiel umfasst der Schlitten 400 nicht irgendeine eingebaute Leistungsversorgung, und somit versorgen die Leistungsversorgungen, die in dem Rack 240 bereitgestellt sind, die entsprechenden Schlitten 400 mit Leistung, wenn sie an dem Rack 240 befestigt sind. Jede Leistungsversorgung ist ausgebildet, um die Leistungsanforderungen für ihren zugeordneten Schlitten zu erfüllen, die von Schlitten zu Schlitten variieren können. Zusätzlich können die in dem Rack 240 bereitgestellten Leistungsversorgungen unabhängig voneinander arbeiten. Das heißt, innerhalb eines einzelnen Racks kann eine erste Leistungsversorgung, die Leistung an einen Rechenschlitten liefert, Leistungspegel bereitstellen, die sich von den Leistungspegeln unterscheiden, die durch eine zweite Leistungsversorgung geliefert werden, die Leistung an einen Beschleunigerschlitten bereitstellt. Die Leistungsversorgungen können auf Schlittenebene oder Rackebene steuerbar sein und können lokal durch Komponenten auf dem zugeordneten Schlitten oder aus der Ferne gesteuert werden, wie beispielsweise durch einen anderen Schlitten oder einen Orchestrator.
  • Bezug nehmend nun auf 6 ist der Schlitten 400 bei dem darstellenden Ausführungsbeispiel ausgebildet, um in einem entsprechenden Rack 240 des Rechenzentrums 100 befestigt zu werden, wie vorangehend erörtert wurde. Bei einigen Ausführungsbeispielen kann jeder Schlitten 400 für die Ausführung bestimmter Aufgaben optimiert oder anderweitig ausgebildet sein, wie z. B. Rechenaufgaben, Beschleunigungsaufgaben, Datenspeicherungsaufgaben usw. Zum Beispiel kann der Schlitten 400 ausgeführt sein als ein Rechenschlitten 800, wie nachfolgend Bezug nehmend auf 8- 9 erörtert ist, als ein Beschleunigerschlitten 1000, wie nachfolgend Bezug nehmend auf 10- 11 erörtert ist, als ein Speicherungsschlitten (storage sled) 1200, wie nachfolgend Bezug nehmend auf 12- 13 erörtert ist, oder als ein Schlitten, der optimiert oder anderweitig ausgebildet ist, um andere spezialisierte Aufgaben auszuführen, wie beispielsweise ein Speicherschlitten (memory sled) 1400, wie nachfolgend Bezug nehmend auf 14 erörtert ist.
  • Wie vorangehend erörtert wurde, umfasst der darstellende Schlitten 400 ein gehäuseloses Schaltungsplatinensubstrat 602, das verschiedene physische Ressourcen (z. B. elektrische Komponenten) stützt, die darauf befestigt sind. Es wird darauf hingewiesen, dass das Schaltungsplatinensubstrat 602 insofern „gehäuselos“ ist, als der Schlitten 400 kein Gehäuse oder keine Einhäusung umfasst. Vielmehr ist das gehäuselose Schaltungsplatinensubstrat 602 offen für die lokale Umgebung. Das gehäuselose Schaltungsplatinensubstrat 602 kann aus irgendeinem Material gebildet werden, das in der Lage ist, die verschiedenen elektrischen Komponenten zu stützen, die darauf befestigt sind. Beispielsweise wird bei einem darstellenden Ausführungsbeispiel das gehäuselose Schaltungsplatinensubstrat 602 aus einem FR-4 glasverstärkten Epoxid-Laminatmaterial gebildet. Natürlich können bei anderen Ausführungsbeispielen andere Materialien verwendet werden, um das gehäuselose Schaltungsplatinensubstrat 602 zu bilden.
  • Wie nachfolgend detaillierter erörtert ist, umfasst das gehäuselose Schaltungsplatinensubstrat 602 mehrere Merkmale, die die thermischen Kühlcharakteristika der verschiedenen elektrischen Komponenten, die auf dem gehäuselosen Schaltungsplatinensubstrat 602 befestigt sind, verbessern. Wie bereits erörtert, umfasst das gehäuselose Schaltungsplatinensubstrat 602 kein Gehäuse oder keine Einhäusung, was den Luftstrom über die elektrischen Komponenten des Schlittens 400 verbessern kann, indem es diese Strukturen reduziert, die einen Luftstrom behindern können. Zum Beispiel, da das gehäuselose Schaltungsplatinensubstrat 602 nicht in einem einzelnen Gehäuse oder einer Einhäusung positioniert ist, gibt es keine vertikal angebrachte Rückwand (z. B. eine Rückplatte des Gehäuses), angebracht an dem gehäuselosen Schaltungsplatinensubstrat 602, die einen Luftstrom über die elektrischen Komponenten behindern könnte. Zusätzlich weist das gehäuselose Schaltungsplatinensubstrat 602 eine geometrische Form auf, die ausgebildet ist, um die Länge des Luftstrompfades über die elektrischen Komponenten, die auf dem gehäuselosen Schaltungsplatinensubstrat 602 befestigt sind, zu reduzieren. Beispielsweise weist das darstellende gehäuselose Schaltungsplatinensubstrat 602 eine Breite 604 auf, die größer ist als eine Tiefe 606 des gehäuselosen Schaltungsplatinensubstrats 602. Bei einem bestimmten Ausführungsbeispiel, zum Beispiel, weist das gehäuselose Schaltungsplatinensubstrat 602 eine Breite von etwa 21 Zoll und eine Tiefe von etwa 9 Zoll auf, im Vergleich zu einem typischen Server, der eine Breite von etwa 17 Zoll und eine Tiefe von etwa 39 Zoll aufweist. Somit weist ein Luftstrompfad 608, der sich von einem vorderen Rand 610 des gehäuselosen Schaltungsplatinensubstrats 602 in Richtung eines hinteren Rands 612 erstreckt, relativ zu typischen Servern eine kürzere Distanz auf, was die thermischen Kühlcharakteristika des Schlittens 400 verbessern kann. Ferner, obgleich in 6 nicht dargestellt, sind die verschiedenen physischen Ressourcen, die auf dem gehäuselosen Schaltungsplatinensubstrat 602 befestigt sind, an entsprechenden Stellen befestigt, sodass sich keine zwei im Wesentlichen wärmeproduzierenden elektrischen Komponenten gegenseitig beschatten, wie nachfolgend detaillierter erörtert wird. Das heißt, keine zwei elektrischen Komponenten, die während des Betriebs merkliche Wärme produzieren (d. h. größer als eine Nennwärme, die ausreicht, um die Kühlung einer anderen elektrischen Komponente nachteilig zu beeinflussen), sind auf dem gehäuselosen Schaltungsplatinensubstrat 602 linear in Reihe zueinander entlang der Richtung des Luftstompfads 608 (d. h. entlang einer Richtung, die sich von dem vorderen Rand 610 zu dem hinteren Rand 612 des gehäuselosen Schaltungsplatinensubstrats 602 erstreckt) befestigt.
  • Wie vorangehend erörtert wurde, umfasst der darstellende Schlitten 400 eine oder mehrere physische Ressourcen 620, die auf einer Oberseite 650 des gehäuselosen Schaltungsplatinensubstrats 602 befestigt sind. Obwohl zwei physische Ressourcen 620 in 6 gezeigt sind, wird darauf hingewiesen, dass der Schlitten 400 bei anderen Ausführungsbeispielen ein, zwei oder mehr physische Ressourcen 620 umfassen kann. Die physischen Ressourcen 620 können als irgendeine Art von Prozessor, Steuerung oder andere Rechenschaltung ausgeführt sein, der/die in der Lage ist, verschiedene Aufgaben wie beispielsweise Rechenfunktionen und/oder ein Steuern der Funktionen des Schlittens 400 auszuführen, abhängig von, zum Beispiel, dem Typ oder der beabsichtigten Funktionalität des Schlittens 400. Zum Beispiel können, wie nachfolgend detaillierter erörtert, die physischen Ressourcen 620 ausgeführt sein als Hochperformance-Prozessoren bei Ausführungsbeispielen, bei denen der Schlitten 400 ausgeführt ist als ein Rechenschlitten, als Beschleuniger-Co-Prozessoren oder Schaltungen bei Ausführungsbeispielen, bei denen der Schlitten 400 ausgeführt ist als ein Beschleunigerschlitten, Speicherungssteuerungen bei Ausführungsbeispielen, bei denen der Schlitten 400 ausgeführt ist als ein Speicherungsschlitten, oder ein Satz von Speichervorrichtungen bei Ausführungsbeispielen, bei denen der Schlitten 400 als Speicherschlitten ausgeführt ist.
  • Der Schlitten 400 umfasst auch eine oder mehrere zusätzliche physische Ressourcen 630, die auf der Oberseite 650 des gehäuselosen Schaltungsplatinensubstrats 602 befestigt sind. Bei dem darstellenden Ausführungsbeispiel umfassen die zusätzlichen physischen Ressourcen eine Netzwerkschnittstellensteuerung (NIC; Network Interface Controller), wie nachfolgend detaillierter erörtert wird. Natürlich können abhängig von dem Typ und der Funktionalität des Schlittens 400 die physischen Ressourcen 630 bei anderen Ausführungsbeispielen zusätzliche oder andere elektrische Komponenten, Schaltungen und/oder Vorrichtungen umfassen.
  • Die physischen Ressourcen 620 sind mit den physischen Ressourcen 630 über ein Eingang/Ausgang (I/O; input/output) -Teilsystem 622 kommunikativ gekoppelt. Das I/O-Teilsystem 622 kann als eine Schaltungsanordnung und/oder Komponenten ausgeführt sein, um Eingabe-/Ausgabe-Operationen mit den physischen Ressourcen 620, den physischen Ressourcen 630 und/oder anderen Komponenten des Schlittens 400 zu erleichtern. Zum Beispiel kann das I/O-Teilsystem 622 als Speichersteuerungs-Hubs, Eingabe/Ausgabe-Steuerungs-Hubs, Integrierter-Sensor-Hubs, Firmware-Vorrichtungen, Kommunikationslinks (z. B. Punkt-zu-Punkt-Links, Bus-Links, Drähte, Kabel, Wellenleiter, Lichtführungen, Gedruckte-Schaltungsplatinen-Leiterbahnen etc.) und/oder andere Komponenten und Teilsysteme, um die Eingabe-/Ausgabeoperationen zu erleichtern, ausgeführt sein oder diese anderweitig umfassen. Bei dem darstellenden Ausführungsbeispiel ist das I/O-Teilsystem 622 als ein Doppeldatenrate-4 (DDR4; double data rate 4) -Datenbus oder als ein DDR5-Datenbus ausgeführt oder umfasst dieselben anderweitig.
  • Bei einigen Ausführungsbeispielen kann der Schlitten 400 auch eine Ressource-zu-Ressource-Verbindung 624 umfassen. Die Ressource-zu-Ressource-Verbindung 624 kann als irgendeine Art von Kommunikationsverbindung ausgeführt sein, die in der Lage ist, Ressource-zu-Ressource-Kommunikationen zu erleichtern. Bei dem darstellenden Ausführungsbeispiel ist die Ressource-zu-Ressource-Verbindung 624 als eine Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung (z. B. schneller als das I/O-Teilsystem 622) ausgeführt. Zum Beispiel kann die Ressource-zu-Ressource-Verbindung 624 als eine QuickPath Interconnect (QPI), eine UltraPath Interconnect (UPI) oder eine andere Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung ausgeführt sein, die für Ressource-zu-Ressource-Kommunikationen dediziert ist.
  • Der Schlitten 400 umfasst auch einen Leistungsverbinder 640, der ausgebildet ist, um mit einem entsprechenden Leistungsverbinder des Racks 240 zusammenzupassen, wenn der Schlitten 400 in dem entsprechenden Rack 240 befestigt ist. Der Schlitten 400 empfängt Leistung von einer Leistungsversorgung des Racks 240 über den Leistungsverbinder 640, um den verschiedenen elektrischen Komponenten des Schlittens 400 Leistung zu liefern. Das heißt, der Schlitten 400 umfasst nicht irgendeine lokale Leistungsversorgung (d. h. eine eingebaute Leistungsversorgung), um den elektrischen Komponenten des Schlittens 400 Leistung bereitzustellen. Der Ausschluss einer lokalen oder eingebauten Leistungsversorgung erleichtert die Reduzierung der Gesamtgrundfläche des gehäuselosen Schaltungsplatinensubstrats 602, was die thermischen Kühlcharakteristika der verschiedenen elektrischen Komponenten, die auf dem gehäuselosen Schaltungsplatinensubstrat 602 befestigt sind, erhöhen kann, wie vorangehend erörtert wurde. Bei einigen Ausführungsbeispielen sind Spannungsregler auf einer Unterseite 750 (siehe 7) des gehäuselosen Schaltungsplatinensubstrats 602 direkt gegenüber den Prozessoren 820 (siehe 8) platziert, und Leistung wird von den Spannungsreglern zu den Prozessoren 820 durch Vias geroutet, die sich durch das Schaltungsplatinensubstrat 602 erstrecken. Eine solche Konfiguration stellt ein erhöhtes thermisches Budget, zusätzlichen Strom und/oder Spannung und eine bessere Spannungssteuerung relativ zu typischen gedruckten Schaltungsplatinen bereit, bei denen die Prozessorleistung von einem Spannungsregler teilweise durch gedruckte Schaltungs-Leiterbahnen geliefert wird.
  • Bei einigen Ausführungsbeispielen kann der Schlitten 400 auch Befestigungsmerkmale 642 umfassen, die ausgebildet sind, um mit einem befestigenden Arm oder einer anderen Struktur eines Roboters zusammenzupassen, um das Platzieren des Schlittens 600 in einem Rack 240 durch den Roboter zu erleichtern. Die Befestigungsmerkmale 642 können als irgendeine Art physischer Strukturen ausgeführt sein, die es dem Roboter erlauben, den Schlitten 400 zu greifen, ohne das gehäuselose Schaltungsplatinensubstrat 602 oder die darauf befestigten elektrischen Komponenten zu beschädigen. Zum Beispiel können bei einigen Ausführungsbeispielen die Befestigungsmerkmale 642 als nicht leitfähige Anschlussflächen, die an dem gehäuselosen Schaltungsplatinensubstrat 602 angebracht sind, ausgeführt sein. Bei anderen Ausführungsbeispielen können die Befestigungsmerkmale als Klammern, Spangen oder ähnliche Strukturen, die an dem gehäuselosen Schaltungsplatinensubstrat 602 angebracht sind, ausgeführt sein. Die bestimmte Anzahl, Form, Größe und/oder Zusammensetzung des Befestigungsmerkmals 642 kann von dem Entwurf des Roboters abhängen, der ausgebildet ist, um den Schlitten 400 zu managen.
  • Bezug nehmend nun auf 7 umfasst der Schlitten 400 zusätzlich zu den physischen Ressourcen 630, die auf der Oberseite 650 des gehäuselosen Schaltungsplatinensubstrats 602 befestigt sind, auch eine oder mehrere Speichervorrichtungen 720, die an einer Unterseite 750 des gehäuselosen Schaltungsplatinensubstrats 602 befestigt sind. Das heißt, das gehäuselose Schaltungsplatinensubstrat 602 ist als eine doppelseitige Schaltungsplatine ausgeführt. Die physischen Ressourcen 620 sind mit den Speichervorrichtungen 720 über das I/O-Teilsystem 622 kommunikativ gekoppelt. Zum Beispiel können die physischen Ressourcen 620 und die Speichervorrichtungen 720 durch ein oder mehrere Vias, die sich durch das gehäuselose Schaltungsplatinensubstrat 602 erstrecken, kommunikativ gekoppelt sein. Jede physische Ressource 620 kann bei einigen Ausführungsbeispielen mit einem unterschiedlichen Satz von einer oder mehreren Speichervorrichtungen 720 kommunikativ gekoppelt sein. Alternativ kann bei anderen Ausführungsbeispielen jede physische Ressource 620 kommunikativ mit jeder Speichervorrichtung 720 gekoppelt sein.
  • Die Speichervorrichtungen 720 können als irgendeine Art von Speichervorrichtung ausgeführt sein, die in der Lage ist, Daten für die physischen Ressourcen 620 während des Betriebs des Schlittens 400 zu speichern, wie beispielsweise irgendeine Art von flüchtigem (z. B. dynamischer Direktzugriffsspeicher (DRAM; dynamic random access memory), etc.) oder nichtflüchtigem Speicher. Ein flüchtiger Speicher kann ein Speicherungsmedium sein, das Leistung benötigt, um den Zustand von durch das Medium gespeicherten Daten aufrechtzuerhalten. Nicht einschränkende Beispiele für flüchtigen Speicher können verschiedene Typen von Direktzugriffsspeicher (RAM; random access memory) umfassen, wie beispielsweise dynamischen Direktzugriffsspeicher (DRAM) oder statischen Direktzugriffsspeicher (SRAM; static random access memory). Ein bestimmter Typ von DRAM, der in einem Speichermodul verwendet werden kann, ist synchroner dynamischer Direktzugriffsspeicher (SDRAM; synchronous dynamic random access memory). Bei bestimmten Ausführungsbeispielen kann der DRAM einer Speicherkomponente einem durch JEDEC veröffentlichten Standard entsprechen, wie beispielsweise JESD79F für DDR SDRAM, JESD79-2F für DDR2 SDRAM, JESD79-3F für DDR3 SDRAM, JESD79-4A für DDR4 SDRAM, JESD209 für Low Power DDR (LPDDR), JESD209-2 für LPDDR2, JESD209-3 für LPDDR3 und JESD209-4 für LPDDR4. Solche Standards (und ähnliche Standards) können als DDR-basierte Standards bezeichnet werden und Kommunikationsschnittstellen der Speicherungsvorrichtungen, die solche Standards implementieren, können als DDR-basierte Schnittstellen bezeichnet werden.
  • Bei einem Ausführungsbeispiel ist die Speichervorrichtung eine blockadressierbare Speichervorrichtung, wie beispielsweise die, die auf NAND oder NOR-Technologien basieren. Eine Speichervorrichtung kann auch nichtflüchtige Vorrichtungen der nächsten Generation umfassen, wie beispielsweise Intel 3D XPoint™ Speicher oder andere byteadressierbare Write-in-Place- nichtflüchtige Speichervorrichtungen. Bei einem Ausführungsbeispiel kann die Speichervorrichtung Speichervorrichtungen sein oder umfassen, die Chalkogenidglas, Multi-Schwellenpegel-NAND-Flash-Speicher, NOR-Flash-Speicher, Single- oder Multi-Level-Phasenwechselspeicher (PCM; Phase Change Memory), einen resistiven Speicher, Nanodraht-Speicher, ferroelektrischen Transistor-Direktzugriffsspeicher (FeTRAM; ferroelectric transistor random access memory), antiferroelektrischen Speicher, magnetoresistiven Direktzugriffsspeicher (MRAM; magnetoresistive random access memory), der Memristor-Technologie einbringt, resistiven Speicher, umfassend die Metalloxidbasis, die Sauerstoffleerstellenbasis und den Leitfähige-Brücken-Direktzugriffsspeicher (CB-RAM; conductive bridge Random Access Memory), oder Spin-Transfer-Torque- (STT; spin transfer torque) MRAM, eine Spintronik-Magnetübergangsspeicher-basierte Vorrichtung, eine Magnet-Tunnelübergang (MTJ; magnetic tunneling junction) -basierte Vorrichtung, eine DW-(Domain Wall-) und Spin-Bahn-Transfer- (SOT-; Spin Orbit Transfer) -basierte Vorrichtung, eine thyristorbasierte Speichervorrichtung oder eine Kombination von irgendwelchen aus den vorstehend Genannten oder einem anderen Speicher verwenden. Die Speichervorrichtung kann sich auf den Die selbst und/oder auf ein gepackagtes Speicherprodukt beziehen. Bei einigen Ausführungsbeispielen kann die Speichervorrichtung eine transistorlose, stapelbare Kreuzpunktarchitektur umfassen, bei der Speicherzellen an dem Schnittpunkt von Wortleitungen und Bitleitungen sitzen und individuell adressierbar sind und wobei Bitspeicherung auf einer Veränderung des Bulkwiderstands basiert.
  • Bezug nehmend nun auf 8 kann der Schlitten 400 bei einigen Ausführungsbeispielen als ein Rechenschlitten 800 ausgeführt sein. Der Rechenschlitten 800 ist optimiert, oder anderweitig ausgebildet, um Rechenaufgaben durchzuführen. Natürlich kann der Rechenschlitten 800, wie vorangehend erörtert wurde, sich auf andere Schlitten verlassen, wie beispielsweise Beschleunigerschlitten und/oder Speicherungsschlitten, um solche Rechenaufgaben durchzuführen. Der Rechenschlitten 800 umfasst verschiedene physische Ressourcen (z. B. elektrische Komponenten), die ähnlich zu den physischen Ressourcen des Schlittens 400 sind, die in 8 unter Verwendung derselben Bezugszeichen identifiziert wurden. Die Beschreibung solcher Komponenten, die vorangehend in Bezug auf 6 und 7 bereitgestellt wurde, ist anwendbar für die entsprechenden Komponenten des Rechenschlittens 800 und wird hierin der Klarheit der Beschreibung des Rechenschlittens 800 halber nicht wiederholt.
  • Bei dem darstellenden Rechenschlitten 800 sind die physischen Ressourcen 620 als Prozessoren 820 ausgeführt. Obwohl nur zwei Prozessoren 820 in 8 gezeigt sind, wird darauf hingewiesen, dass der Rechenschlitten 800 bei anderen Ausführungsbeispielen zusätzliche Prozessoren 820 umfassen kann. Darstellenderweise sind die Prozessoren 820 als Hochperformance-Prozessoren 820 ausgeführt und können ausgebildet sein, um mit einer relativ hohen Nennleistung zu arbeiten. Obwohl die Prozessoren 820 bei einem Arbeiten mit Nennleistungen, die höher sind als typische Prozessoren (die mit etwa 155-230 W arbeiten) zusätzliche Wärme erzeugen, erleichtern die vorangehend erörterten verbesserten thermischen Kühlcharakteristika des gehäuselosen Schaltungsplatinensubstrats 602 den Betrieb mit höherer Leistung. Zum Beispiel sind bei dem darstellenden Ausführungsbeispiel die Prozessoren 820 ausgebildet, um mit einer Nennleistung von zumindest 250 W zu arbeiten. Bei einigen Ausführungsbeispielen können die Prozessoren 820 ausgebildet sein, um mit einer Nennleistung von zumindest 350 W zu arbeiten.
  • Bei einigen Ausführungsbeispielen kann der Rechenschlitten 800 auch eine Prozessor-zu-Prozessor-Verbindung 842 umfassen. Ähnlich zu der Ressource-zu-Ressource-Verbindung 624 des vorangehend erörterten Schlittens 400, kann die Prozessor-zu-Prozessor-Verbindung 842 als irgendeine Art von Kommunikationsverbindung ausgeführt sein, die in der Lage ist, Prozessor-zu-Prozessor-Verbindungs- 842 Kommunikationen zu erleichtern. Bei dem darstellenden Ausführungsbeispiel ist die Prozessor-zu-Prozessor-Verbindung 842 als eine Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung (z. B. schneller als das I/O-Teilsystem 622) ausgeführt. Zum Beispiel kann die Prozessor-zu-Prozessor-Verbindung 842 als eine QuickPath Interconnect (QPI), eine UltraPath Interconnect (UPI) oder eine andere Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung ausgeführt sein, die für Prozessor-zu-Prozessor-Kommunikationen dediziert ist.
  • Der Rechenschlitten 800 umfasst auch eine Kommunikationsschaltung 830. Die darstellende Kommunikationsschaltung 830 umfasst eine Netzwerkschnittstellensteuerung (NIC; network interface controller) 832, der auch als eine Host-Strukturschnittstelle (HIF; host fabric interface) bezeichnet werden kann. Die NIC 832 kann als irgendeine Art von integrierter Schaltung, diskreten Schaltungen, Steuerungschips, Chipsätzen, Add-in-Platinen, Tochterkarten, Netzwerkschnittstellenkarten oder anderen Vorrichtungen, die durch den Rechenschlitten 800 genutzt werden können, um sich mit anderen Rechenvorrichtungen (z. B. mit anderen Schlitten 400) zu verbinden, ausgeführt sein oder diese anderweitig umfassen. Bei einigen Ausführungsbeispielen kann die NIC 832 als Teil eines Systems-auf-einem-Chip (SoC; system-on-a-chip), das einen oder mehrere Prozessoren umfasst, ausgeführt sein, oder auf einem Multi-Chip-Package, das auch einen oder mehrere Prozessoren umfasst, umfasst sein. Bei einigen Ausführungsbeispielen kann die NIC 832 einen lokalen Prozessor (nicht gezeigt) und/oder einen lokalen Speicher (nicht gezeigt) umfassen, die beide lokal zu der NIC 832 sind. Bei solchen Ausführungsbeispielen kann der lokale Prozessor der NIC 832 in der Lage sein, eine oder mehrere der Funktionen des Prozessors 820 auszuführen. Zusätzlich oder alternativ kann bei solchen Ausführungsbeispielen der lokale Speicher der NIC 832 in eine oder mehrere Komponenten des Rechenschlittens auf der Platinenebene, Buchsenebene, Chip-Ebene und/oder anderen Ebenen integriert sein.
  • Die Kommunikationsschaltung 830 ist kommunikativ mit einem optischen Datenverbinder 834 gekoppelt. Der optische Datenverbinder 834 ist ausgebildet, um mit einem entsprechenden optischen Datenverbinder des Racks 240 zusammenzupassen, wenn der Rechenschlitten 800 in dem Rack 240 befestigt ist. Darstellenderweise umfasst der optische Datenverbinder 834 eine Mehrzahl von optischen Fasern, die von einer zusammenpassenden Oberfläche des optischen Datenverbinders 834 zu einem optischen Sendeempfänger 836 führen. Der optische Sendeempfänger 836 ist ausgebildet, um eingehende optische Signale von dem rackseitigen optischen Datenverbinder in elektrische Signale umzuwandeln und um elektrische Signale in ausgehende optische Signale zu dem rackseitigen optischen Datenverbinder umzuwandeln. Obwohl der optische Sendeempfänger 836 in dem darstellenden Ausführungsbeispiel als einen Teil des optischen Datenverbinders 834 bildend gezeigt ist, kann er bei anderen Ausführungsbeispielen einen Abschnitt der Kommunikationsschaltung 830 bilden.
  • Bei einigen Ausführungsbeispielen kann der Rechenschlitten 800 auch einen Erweiterungsverbinder 840 umfassen. Bei solchen Ausführungsbeispielen ist der Erweiterungsverbinder 840 ausgebildet, um mit einem entsprechenden Verbinder eines gehäuselosen Erweiterungsschaltungsplatinensubstrats zusammenzupassen, um dem Rechenschlitten 800 zusätzliche physische Ressourcen bereitzustellen. Die zusätzlichen physischen Ressourcen können, zum Beispiel, durch die Prozessoren 820 während eines Betriebs des Rechenschlittens 800 genutzt werden. Das gehäuselose Expansionsschaltungsplatinensubstrat kann im Wesentlichen ähnlich zu dem vorangehend erörterten gehäuselosen Schaltungsplatinensubstrat 602 sein und kann verschiedene elektrische Komponenten umfassen, die daran befestigt sind. Die bestimmten elektrischen Komponenten, die an dem gehäuselosen Erweiterungsschaltungsplatinensubstrat befestigt sind, können von der beabsichtigten Funktionalität des gehäuselosen Erweiterungsschaltungsplatinensubstrats abhängen. Beispielsweise kann das gehäuselose Erweiterungsschaltungsplatinensubstrat zusätzliche Rechenressourcen, Speicherressourcen (memory resources) und/oder Speicherungsressourcen (storage resources) bereitstellen. Als solche können die zusätzlichen physischen Ressourcen des gehäuselosen Erweiterungsschaltungsplatinensubstrats Prozessoren, Speichervorrichtungen (memory devices), Speicherungsvorrichtungen (storage devices) und/oder Beschleunigerschaltungen, umfassend zum Beispiel feldprogrammierbare Gate-Arrays (FPGA; field programmable gate array), anwendungsspezifische integrierte Schaltungen (ASICs; application-specific integrated circuits), Sicherheits-Co-Prozessoren, Grafikverarbeitungseinheiten (GPUs; graphics processing units), Maschinelles-Lernen-Schaltungen oder andere spezialisierte Prozessoren, Steuerungen, Vorrichtungen und/oder Schaltungen umfassen, sind aber nicht darauf beschränkt.
  • Bezug nehmend nun auf 9 ist ein darstellendes Ausführungsbeispiel des Rechenschlittens 800 gezeigt. Wie gezeigt ist, sind die Prozessoren 820, die Kommunikationsschaltung 830 und der optische Datenverbinder 834 an der Oberseite 650 des gehäuselosen Schaltungsplatinensubstrats 602 befestigt. Irgendeine geeignete Anbringungs- oder Befestigungstechnologie kann verwendet werden, um die physischen Ressourcen des Rechenschlittens 800 an dem gehäuselosen Schaltungsplatinensubstrat 602 zu befestigen. Zum Beispiel können die verschiedenen physischen Ressourcen in entsprechenden Buchsen (z. B. einer Prozessorbuchse), Halterungen oder Klammern befestigt sein. In einigen Fällen können einige der elektrischen Komponenten durch Löten oder ähnliche Techniken direkt an dem gehäuselosen Schaltungsplatinensubstrat 602 befestigt sein.
  • Wie vorangehend erörtert wurde, sind die individuellen Prozessoren 820 und die Kommunikationsschaltung 830 an der Oberseite 650 des gehäuselosen Schaltungsplatinensubstrats 602 derart befestigt, dass sich keine zwei wärmeproduzierenden, elektrischen Komponenten gegenseitig beschatten. Bei dem darstellenden Ausführungsbeispiel sind die Prozessoren 820 und die Kommunikationsschaltung 830 an entsprechenden Stellen auf der Oberseite 650 des gehäuselosen Schaltungsplatinensubstrats 602 derart befestigt, dass keine zwei dieser physischen Ressourcen linear in einer Reihe mit anderen entlang der Richtung des Luftstrompfads 608 sind. Es wird darauf hingewiesen, dass, obwohl der optische Datenverbinder 834 in einer Reihe mit der Kommunikationsschaltung 830 ist, der optische Datenverbinder 834 im Betrieb keine oder nominale Wärme erzeugt.
  • Die Speichervorrichtungen 720 des Rechenschlittens 800 sind an der Unterseite 750 des gehäuselosen Schaltungsplatinensubstrats 602 befestigt, wie vorangehend Bezug nehmend auf den Schlitten 400 erörtert wurde. Obgleich sie an der Unterseite 750 befestigt sind, sind die Speichervorrichtungen 720 über das I/O-Teilsystem 622 kommunikativ mit den Prozessoren 820 gekoppelt, die auf der Oberseite 650 positioniert sind. Da das gehäuselose Schaltungsplatinensubstrat 602 als eine doppelseitige Schaltungsplatine ausgeführt ist, können die Speichervorrichtungen 720 und die Prozessoren 820 durch eines oder mehrere Vias, Verbinder oder andere Mechanismen, die sich durch das gehäuselose Schaltungsplatinensubstrat 602 erstrecken, kommunikativ gekoppelt sein. Natürlich kann jeder Prozessor 820 bei einigen Ausführungsbeispielen mit einem unterschiedlichen Satz von einer oder mehreren Speichervorrichtungen 720 kommunikativ gekoppelt sein. Alternativ kann bei anderen Ausführungsbeispielen jeder Prozessor 820 kommunikativ mit jeder Speichervorrichtung 720 gekoppelt sein. Bei einigen Ausführungsbeispielen können die Speichervorrichtungen 720 an einer oder mehreren Speichermezzaninen auf der Unterseite des gehäuselosen Schaltungsplatinensubstrats 602 befestigt sein und können mit einem entsprechenden Prozessor 820 durch ein Kugelgitter-Array verbunden sein.
  • Jeder der Prozessoren 820 umfasst eine daran befestigte Wärmesenke 850. Durch das Befestigen der Speichervorrichtungen 720 an der Unterseite 750 des gehäuselosen Schaltungsplatinensubstrats 602 (sowie das vertikale Beabstanden der Schlitten 400 in dem entsprechenden Rack 240) umfasst die Oberseite 650 des gehäuselosen Schaltungsplatinensubstrats 602 zusätzlichen „freien“ Bereich oder Raum, der die Verwendung von Wärmesenken 850 erleichtert, die eine größere Größe relativ zu traditionellen Wärmesenken aufweisen, die in typischen Servern verwendet werden. Zusätzlich umfassen aufgrund der verbesserten thermischen Kühlcharakteristika des gehäuselosen Schaltungsplatinensubstrats 602 keine der Prozessor-Wärmesenken 850 Kühllüftungen, die daran angebracht sind. Das heißt, jede der Wärmesenken 850 ist als eine lüfterlose Wärmesenke ausgeführt. Bei einigen Ausführungsbeispielen können sich die Wärmesenken 850, die auf den Prozessoren 820 befestigt sind, mit der Wärmesenke überlappen, die an der Kommunikationsschaltung 830 in Richtung des Luftstrompfads 608 angebracht ist, aufgrund ihrer erhöhten Größe, wie durch 9 veranschaulichend vorgeschlagen.
  • Bezug nehmend nun auf 10 kann der Schlitten 400 bei einigen Ausführungsbeispielen als ein Beschleunigerschlitten 1000 ausgeführt sein. Der Beschleunigerschlitten 1000 ist ausgebildet, um spezialisierte Rechenaufgaben, wie beispielsweise maschinelles Lernen, Verschlüsselung, Hashing oder andere rechenintensive Aufgaben, auszuführen. Bei einigen Ausführungsbeispielen kann zum Beispiel ein Rechenschlitten 800 im Betrieb Aufgaben an den Beschleunigerschlitten 1000 abgeben. Der Beschleunigerschlitten 1000 umfasst verschiedene Komponenten, die ähnlich zu den Komponenten des Schlittens 400 und/oder des Rechenschlittens 800 sind, die in 10 unter Verwendung derselben Bezugszeichen identifiziert wurden. Die Beschreibung solcher Komponenten, die vorangehend in Bezug auf 6, 7 und 8 bereitgestellt wurde, ist anwendbar für die entsprechenden Komponenten des Beschleunigerschlittens 1000 und wird hierin der Klarheit der Beschreibung des Beschleunigerschlittens 1000 halber nicht wiederholt.
  • Bei dem darstellenden Beschleunigerschlitten 1000 sind die physischen Ressourcen 620 als Beschleunigerschaltungen 1020 ausgeführt. Obwohl nur zwei Beschleunigerschaltungen 1020 in 10 gezeigt sind, wird darauf hingewiesen, dass der Beschleunigerschlitten 1000 bei anderen Ausführungsbeispielen zusätzliche Beschleunigerschaltungen 1020 umfassen kann. Zum Beispiel, wie in 11 gezeigt ist, kann der Beschleunigerschlitten 1000 bei einigen Ausführungsbeispielen vier Beschleunigerschaltungen 1020 umfassen. Die Beschleunigerschaltungen 1020 können als irgendeine Art von Prozessor, Co-Prozessor, Rechenschaltung oder andere Vorrichtung, die in der Lage ist, Rechen- oder Verarbeitungsoperationen durchzuführen, ausgeführt sein. Zum Beispiel können die Beschleunigerschaltungen 1020 beispielsweise als feldprogrammierbare Gate-Arrays (FPGA), anwendungsspezifische integrierte Schaltungen (ASICs), Sicherheits-Co-Prozessoren, Grafikverarbeitungseinheiten (GPUs), neuromorphe Prozessoreinheiten, Quantencomputer, Maschinelles-Lernen-Schaltungen oder andere spezialisierte Prozessoren, Steuerungen, Vorrichtungen und/oder Schaltungen ausgeführt sein.
  • Bei einigen Ausführungsbeispielen kann der Beschleunigerschlitten 1000 auch eine Beschleuniger-zu- Beschleuniger-Verbindung 1042 umfassen. Ähnlich zu der Ressource-zu-Ressource-Verbindung 624 des vorangehend erörterten Schlittens 600, kann die Beschleuniger-zu-Beschleuniger-Verbindung 1042 als irgendeine Art von Kommunikationsverbindung ausgeführt sein, die in der Lage ist, Beschleuniger-zu-Beschleuniger-Kommunikationen zu erleichtern. Bei dem darstellenden Ausführungsbeispiel ist die Beschleuniger-zu-Beschleuniger-Verbindung 1042 als eine Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung (z. B. schneller als das I/O-Teilsystem 622) ausgeführt. Zum Beispiel kann die Beschleuniger-zu-Beschleuniger-Verbindung 1042 als eine QuickPath Interconnect (QPI), eine UltraPath Interconnect (UPI) oder eine andere Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung ausgeführt sein, die für Prozessor-zu-Prozessor-Kommunikationen dediziert ist. Bei einigen Ausführungsbeispielen können die Beschleunigerschaltungen 1020 mit einer primären Beschleunigerschaltung 1020, die durch das I/O-Teilsystem 622 mit der NIC 832 und dem Speicher 720 verbunden ist, und einer sekundären Beschleunigerschaltung 1020, die durch eine primäre Beschleunigerschaltung 1020 mit der NIC 832 und dem Speicher 720 verbunden ist, als Daisy-Chain verbunden sein.
  • Bezug nehmend nun auf 11 ist ein darstellendes Ausführungsbeispiel des Beschleunigerschlittens 1000 gezeigt. Wie vorangehend erörtert wurde, sind die Beschleunigerschaltungen 1020, die Kommunikationsschaltung 830 und der optische Datenverbinder 834 an der Oberseite 650 des gehäuselosen Schaltungsplatinensubstrats 602 befestigt. Wiederum sind die individuellen Beschleunigerschaltungen 1020 und die Kommunikationsschaltung 830 an der Oberseite 650 des gehäuselosen Schaltungsplatinensubstrats 602 derart befestigt, dass sich keine zwei wärmeproduzierenden, elektrischen Komponenten gegenseitig beschatten, wie vorangehend erörtert wurde. Die Speichervorrichtungen 720 des Beschleunigerschlittens 1000 sind an der Unterseite 750 des gehäuselosen Schaltungsplatinensubstrats 602 befestigt, wie vorangehend Bezug nehmend auf den Schlitten 600 erörtert wurde. Obgleich sie an der Unterseite 750 befestigt sind, sind die Speichervorrichtungen 720 über das I/O-Teilsystem 622 (z. B. durch Vias) kommunikativ mit den Beschleunigerschaltungen 1020 gekoppelt, die auf der Oberseite 650 positioniert sind. Ferner kann jede der Beschleunigerschaltungen 1020 eine Wärmesenke 1070 umfassen, die größer ist als eine traditionelle Wärmesenke, die in einem Server verwendet wird. Wie vorangehend Bezug nehmend auf die Wärmesenken 870 erörtert wurde, können die Wärmesenken 1070 größer als traditionelle Wärmesenken sein, aufgrund des „freien“ Bereichs, der durch die Speicherressourcen 720 bereitgestellt ist, die auf der Unterseite 750 des gehäuselosen Schaltungsplatinensubstrats 602 anstatt auf der Oberseite 650 positioniert sind.
  • Bezug nehmend nun auf 12 kann der Schlitten 400 bei einigen Ausführungsbeispielen als ein Speicherungsschlitten 1200 ausgeführt sein. Der Speicherungsschlitten 1200 ist ausgebildet, um Daten in einer Datenspeicherung 1250 zu speichern, die lokal zu dem Speicherungsschlitten 1200 ist. Zum Beispiel kann ein Rechenschlitten 800 oder ein Beschleunigerschlitten 1000 im Betrieb Daten von der Datenspeicherung 1250 des Speicherungsschlittens 1200 speichern und abrufen. Der Speicherungsschlitten 1200 umfasst verschiedene Komponenten, die ähnlich zu den Komponenten des Schlittens 400 und/oder des Rechenschlittens 800 sind, die in 12 unter Verwendung derselben Bezugszeichen identifiziert wurden. Die Beschreibung solcher Komponenten, die vorangehend in Bezug auf 6, 7 und 8 bereitgestellt wurde, ist anwendbar auf die entsprechenden Komponenten des Speicherungsschlittens 1200 und wird hierin der Klarheit der Beschreibung des Speicherungsschlittens 1200 halber nicht wiederholt.
  • Bei dem darstellenden Speicherungsschlitten 1200 sind die physischen Ressourcen 620 als Speicherungssteuerungen 1220 ausgeführt. Obwohl nur zwei Speicherungssteuerungen 1220 in 12 gezeigt sind, wird darauf hingewiesen, dass der Speicherungsschlitten 1200 bei anderen Ausführungsbeispielen zusätzliche Speicherungssteuerungen 1220 umfassen kann. Die Speicherungssteuerungen 1220 können als irgendeine Art von Prozessor, Steuerung oder Steuerschaltung ausgeführt sein, die in der Lage ist, die Speicherung und den Abruf von Daten in die Datenspeicherung 1250 basierend auf Anforderungen, die über die Kommunikationsschaltung 830 empfangen werden, zu steuern. Bei dem darstellenden Ausführungsbeispiel sind die Speicherungssteuerungen 1220 als relativ Niedrig-Leistungs-Prozessoren oder -Steuerungen ausgeführt. Zum Beispiel können bei einigen Ausführungsbeispielen die Speicherungssteuerungen 1220 ausgebildet sein, um bei einer Nennleistung von etwa 75 Watt zu arbeiten.
  • Bei einigen Ausführungsbeispielen kann der Speicherungsschlitten 1200 auch eine Steuerung-zu- Steuerung-Verbindung 1242 umfassen. Ähnlich zu der Ressource-zu-Ressource-Verbindung 624 des vorangehend erörterten Schlittens 400, kann die Steuerung-zu-Steuerung-Verbindung 1242 als irgendeine Art von Kommunikationsverbindung ausgeführt sein, die in der Lage ist, Steuerung-zu-Steuerung-Kommunikationen zu erleichtern. Bei dem darstellenden Ausführungsbeispiel ist die Steuerung-zu-Steuerung-Verbindung 1242 als eine Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung (z. B. schneller als das I/O-Teilsystem 622) ausgeführt. Zum Beispiel kann die Steuerung-zu-Steuerung-Verbindung 1242 als eine QuickPath Interconnect (QPI), eine UltraPath Interconnect (UPI) oder eine andere Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung ausgeführt sein, die für Prozessor-zu-Prozessor-Kommunikationen dediziert ist.
  • Bezug nehmend nun auf 13 ist ein darstellendes Ausführungsbeispiel des Speicherungsschlittens (storage sled) 1200 gezeigt. Bei dem darstellenden Ausführungsbeispiel ist die Datenspeicherung 1250 als ein Speicherungskäfig 1252 ausgeführt, der ausgebildet ist, um eines oder mehrere Solid-State-Laufwerke (SSDs; solid state drives) 1254 zu häusen, oder umfasst diesen anderweitig. Zu diesem Zweck umfasst der Speicherungskäfig 1252 eine Anzahl von Befestigungsslots 1256, die jeweils ausgebildet sind, um ein entsprechendes Solid-State-Laufwerk 1254 zu empfangen. Jeder der Befestigungsslots 1256 umfasst eine Anzahl von Laufwerkführungen 1258, die zusammenwirken, um eine Zugriffsöffnung 1260 des entsprechenden Befestigungsslots 1256 zu definieren. Der Speicherungskäfig 1252 ist so auf dem gehäuselosen Schaltungsplatinensubstrat 602 befestigt, dass die Zugriffsöffnungen von dem gehäuselosen Schaltungsplatinensubstrat 602 weg (d. h. in Richtung der Vorderseite) zeigen. Somit sind die Solid-State-Laufwerke 1254 zugänglich, während der Speicherungsschlitten 1200 in einem entsprechenden Rack 204 befestigt ist. Zum Beispiel kann ein Solid-State-Laufwerk 1254 aus einem Rack 240 (z. B. über einen Roboter) getauscht werden, während der Speicherungsschlitten 1200 in dem entsprechenden Rack 240 befestigt bleibt.
  • Der Speicherungsschlitten 1252 umfasst darstellenderweise sechzehn Befestigungsslots 1256 und ist in der Lage, sechzehn Solid-State-Laufwerke 1254 zu befestigen und zu lagern. Natürlich kann der Speicherungskäfig 1252 bei anderen Ausführungsbeispielen ausgebildet sein, um zusätzliche oder weniger Solid-State-Laufwerke 1254 zu lagern. Zusätzlich sind bei dem darstellenden Ausführungsbeispiel die Solid-State-Treiber vertikal in dem Speicherungskäfig 1252 befestigt, können aber bei anderen Ausführungsbeispielen in einer unterschiedlichen Orientierung in dem Speicherungskäfig 1252 befestigt sein. Jedes Solid-State-Laufwerk 1254 kann als irgendeine Art von Datenspeicherungsvorrichtung ausgeführt sein, die in der Lage ist, Langzeitdaten zu speichern. Zu diesem Zweck können die Solid-State-Laufwerke 1254 flüchtige und nichtflüchtige Speichervorrichtungen umfassen, die vorangehend erörtert wurden.
  • Wie in 13 gezeigt ist, sind die Speicherungssteuerungen 1220, die Kommunikationsschaltung 830 und der optische Datenverbinder 834 darstellenderweise an der Oberseite 650 des gehäuselosen Schaltungsplatinensubstrats 602 befestigt. Wiederum kann, wie vorangehend erörtert wurde, irgendeine geeignete Anbringungs- oder Befestigungstechnologie verwendet werden, um die elektrischen Komponenten des Speicherungsschlittens 1200 auf dem gehäuselosen Schaltungsplatinensubstrat 602 zu befestigen, umfassend, zum Beispiel, Buchsen (z. B. eine Prozessorbuchse), Halterungen, Klammern, gelötete Verbindungen und/oder andere Befestigungs- oder Sicherungstechniken.
  • Wie vorangehend erörtert wurde, sind die individuellen Speicherungssteuerungen 1220 und die Kommunikationsschaltung 830 an der Oberseite 650 des gehäuselosen Schaltungsplatinensubstrats 602 derart befestigt, dass sich keine zwei wärmeproduzierenden, elektrischen Komponenten gegenseitig beschatten. Zum Beispiel sind die Speicherungssteuerungen 1220 und die Kommunikationsschaltung 830 an entsprechenden Stellen auf der Oberseite 650 des gehäuselosen Schaltungsplatinensubstrats 602 derart befestigt, dass keine zwei dieser elektrischen Komponenten linear in einer Reihe zueinander entlang der Richtung des Luftstrompfads 608 sind.
  • Die Speichervorrichtungen 720 des Speicherungsschlittens 1200 sind an der Unterseite 750 des gehäuselosen Schaltungsplatinensubstrats 602 befestigt, wie vorangehend Bezug nehmend auf den Schlitten 400 erörtert wurde. Obgleich sie an der Unterseite 750 befestigt sind, sind die Speichervorrichtungen 720 über das I/O-Teilsystem 622 kommunikativ mit den Speicherungssteuerungen 1220 gekoppelt, die auf der Oberseite 650 positioniert sind. Da das gehäuselose Schaltungsplatinensubstrat 602 als eine doppelseitige Schaltungsplatine ausgeführt ist, können die Speichervorrichtungen 720 und die Speicherungssteuerungen 1220 wiederum durch eines oder mehrere Vias, Verbinder oder andere Mechanismen, die sich durch das gehäuselose Schaltungsplatinensubstrat 602 erstrecken, kommunikativ gekoppelt sein. Jede der Speicherungssteuerungen 1220 umfasst eine daran befestigte Wärmesenke 1270. Wie vorangehend erörtert wurde, umfassen aufgrund der verbesserten thermischen Kühlcharakteristika des gehäuselosen Schaltungsplatinensubstrats 602 des Speicherungsschlittens 1200 keine der Wärmesenken 1270 Kühllüftungen, die daran angebracht sind. Das heißt, jede der Wärmesenken 1270 ist als eine lüfterlose Wärmesenke ausgeführt.
  • Bezug nehmend nun auf 14 kann der Schlitten 400 bei einigen Ausführungsbeispielen als ein Speicherschlitten (memory sled) 1400 ausgeführt sein. Der Speicherungsschlitten 1400 ist optimiert, oder anderweitig ausgebildet, um anderen Schlitten 400 (z. B. Rechenschlitten 800, Beschleunigerschlitten 1000, etc.) Zugriff auf einen Pool von Speicher (z. B. in zwei oder mehr Sätzen 1430, 1432 von Speichervorrichtungen 720) lokal zu dem Speicherschlitten 1200 bereitzustellen. Zum Beispiel kann ein Rechenschlitten 800 oder ein Beschleunigerschlitten 1000 während des Betriebs aus der Ferne auf einen oder mehrere der Speichersätze 1430, 1432 des Speicherschlittens 1200 schreiben und/oder von diesen lesen, unter Verwendung eines logischen Adressraums, der auf physische Adressen in den Speichersätzen 1430, 1432 abbildet. Der Speicherschlitten 1400 umfasst verschiedene Komponenten, die ähnlich zu Komponenten des Schlittens 400 und/oder des Rechenschlittens 800 sind, die in 14 unter Verwendung derselben Bezugszeichen identifiziert wurden. Die Beschreibung solcher Komponenten, die vorangehend in Bezug auf 6, 7 und 8 bereitgestellt wurde, ist anwendbar für die entsprechenden Komponenten des Speicherschlittens 1400 und wird hierin der Klarheit der Beschreibung des Speicherschlittens 1400 halber nicht wiederholt.
  • Bei dem darstellenden Speicherschlitten 1400 sind die physischen Ressourcen 620 als Speichersteuerungen 1420 ausgeführt. Obwohl nur zwei Speichersteuerungen 1420 in 14 gezeigt sind, wird darauf hingewiesen, dass der Speicherschlitten 1400 bei anderen Ausführungsbeispielen zusätzliche Speichersteuerungen 1420 umfassen kann. Die Speichersteuerungen 1420 können als irgendeine Art von Prozessor, Steuerung oder Steuerschaltung ausgeführt sein, die in der Lage ist, das Schreiben und Lesen von Daten in die Speichersätze 1430, 1432 basierend auf Anforderungen, die über die Kommunikationsschaltung 830 empfangen werden, zu steuern. Bei dem darstellenden Ausführungsbeispiel ist jede Speichersteuerung 1420 mit einem entsprechenden Speichersatz 1430, 1432 verbunden, um auf die Speichervorrichtungen 720 innerhalb des entsprechenden Speichersatzes 1430, 1432 zu schreiben und von ihnen zu lesen, und irgendwelche Berechtigungen (z. B. Lesen, Schreiben etc.) durchzusetzen, die dem Schlitten 400 zugeordnet sind, der eine Anforderung an den Speicherschlitten 1400 gesendet hat, um eine Speicherzugriffsoperation (z. B. Lesen oder Schreiben) durchzuführen.
  • Bei einigen Ausführungsbeispielen kann der Speicherschlitten 1400 auch eine Steuerung-zu-Steuerung-Verbindung 1442 umfassen. Ähnlich zu der Ressource-zu-Ressource-Verbindung 624 des vorangehend erörterten Schlittens 400, kann die Steuerung-zu-Steuerung-Verbindung 1442 als irgendeine Art von Kommunikationsverbindung ausgeführt sein, die in der Lage ist, Steuerung-zu-Steuerung-Kommunikationen zu erleichtern. Bei dem darstellenden Ausführungsbeispiel ist die Steuerung-zu-Steuerung-Verbindung 1442 als eine Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung (z. B. schneller als das I/O-Teilsystem 622) ausgeführt. Zum Beispiel kann die Steuerung-zu-Steuerung-Verbindung 1442 als eine QuickPath Interconnect (QPI), eine UltraPath Interconnect (UPI) oder eine andere Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung ausgeführt sein, die für Prozessor-zu-Prozessor-Kommunikationen dediziert ist. Somit kann bei einigen Ausführungsbeispielen eine Speichersteuerung 1420 durch die Steuerung-zu-Steuerung-Verbindung 1442 auf Speicher zugreifen, der innerhalb des Speichersatzes 1432 ist, der einer anderen Speichersteuerung 1420 zugeordnet ist. Bei einigen Ausführungsbeispielen ist eine skalierbare Speichersteuerung aus mehreren kleineren Speichersteuerungen, hierin als „Chiplets“ bezeichnet, auf einem Speicherschlitten (z. B. dem Speicherschlitten 1400) hergestellt. Die Chiplets können verbunden sein (z. B. unter Verwendung einer EMIB (Embedded Multi-Die Interconnect Bridge)). Die kombinierte Chiplet-Speichersteuerung kann auf eine relativ große Anzahl von Speichersteuerungen und I/O-Ports (z. B. bis zu 16 Speicherkanäle) skaliert werden. Bei einigen Ausführungsbeispielen können die Speichersteuerungen 1420 eine Speicherverschachtelung (z. B. eine Speicheradresse ist auf den Speichersatz 1430 abgebildet, die nächste Speicheradresse ist auf den Speichersatz 1432 abgebildet und die dritte Adresse ist auf den Speichersatz 1430 abgebildet, etc.) implementieren. Das Verschachteln kann innerhalb der Speichersteuerungen 1420 oder von CPU-Buchsen (z. B. des Rechenschlittens 800) über Netzwerklinks zu den Speichersätzen 1430, 1432 gemanagt werden und kann die Latenz, die einem Durchführen von Speicherzugriffsoperationen zugeordnet ist, im Vergleich zum Zugriff auf angrenzende Speicheradressen von derselben Speichervorrichtung verbessern.
  • Ferner kann bei einigen Ausführungsbeispielen der Speicherschlitten 1400 mit einem oder mehreren anderen Schlitten 400 (z. B. in dem gleichen Rack 240 oder einem benachbarten Rack 240) durch einen Wellenleiter verbunden sein, unter Verwendung des Wellenleiterverbinders 1480. Bei dem darstellenden Ausführungsbeispiel sind die Wellenleiter 64-Millimeter-Wellenleiter, die 16 Rx- (d. h. Empfangs-) Spuren und 16 Tx- (d. h. Sende-) Spuren bereitstellen. Jede Spur bei dem darstellenden Ausführungsbeispiel ist entweder 16 Ghz oder 32 Ghz. Bei anderen Ausführungsbeispielen können die Frequenzen unterschiedlich sein. Ein Verwenden eines Wellenleiters kann Zugriff mit hohem Durchsatzverhalten auf den Speicherpool (z. B. die Speichersätze 1430, 1432) auf einen anderen Schlitten (z. B. einen Schlitten 400 in demselben Rack 240 oder einem benachbarten Rack 240 als der Speicherschlitten 1400) bereitstellen, ohne die Last auf den optischen Datenverbinder 834 zu erhöhen.
  • Bezug nehmend nun auf 15 kann ein System zum Ausführen einer oder mehrerer Arbeitslasten (z. B. Anwendungen) gemäß dem Rechenzentrum 100 implementiert sein. Bei dem darstellenden Ausführungsbeispiel umfasst das System 1510 einen Orchestrator-Server 1520, der als ein gemanagter Knoten ausgeführt sein kann, aufweisend eine Rechenvorrichtung (z. B. einen Prozessor 820 auf einem Rechenschlitten 800), die Management-Software (z. B. eine Cloud-arbeitende Umgebung, wie beispielsweise Open Stack) ausführt, die kommunikativ mit mehreren Schlitten 400, umfassend eine große Anzahl von Rechenschlitten 1530 (z. B. jeweils ähnlich zu dem Rechenschlitten 800), Speicherschlitten 1540 (z. B. jeweils ähnlich zu dem Speicherschlitten 1400), Beschleunigerschlitten 1550 (z. B. jeweils ähnlich zu dem Speicherschlitten 1000), und Speicherungsschlitten 1560 (z. B. jeweils ähnlich zu dem Speicherungsschlitten 1200), gekoppelt ist. Einer oder mehrere der Schlitten 1530, 1540, 1550, 1560 können in einen gemanagten Knoten 1570 gruppiert sein, wie beispielsweise durch den Orchestrator-Server 1520, um gemeinsam eine Arbeitslast (z. B. eine Anwendung 1532, die in einer virtuellen Maschine oder in einem Container ausgeführt wird) durchzuführen. Der gemanagte Knoten 1570 kann als eine Anordnung von physischen Ressourcen 620, wie beispielsweise Prozessoren 820, Speicherressourcen 720, Beschleunigerschaltungen 1020 oder Datenspeicherung 1250, von dem gleichen oder unterschiedlichen Schlitten 400 ausgeführt sein. Ferner kann der gemanagte Knoten zu der Zeit, zu der dem gemanagten Knoten eine Arbeitslast zugewiesen werden soll, oder zu irgendeinem anderen Zeitpunkt durch den Orchestrator-Server 1520 eingerichtet, definiert oder „aufgesponnen“ werden und kann unabhängig davon existieren, ob dem gemanageten Knoten derzeit irgendwelche Arbeitslasten zugewiesen sind. Bei dem darstellenden Ausführungsbeispiel kann der Orchestrator-Server 1520 selektiv physische Ressourcen 620 von den Schlitten 400 allokieren und/oder de-allokieren und/oder einen oder mehrere Schlitten 400 zu dem gemanagten Knoten 1570 als eine Funktion von Service-Qualitäts- (QoS) Zielen (z. B. Performance-Ziele, die einem Durchsatz, Latenz, Anweisungen pro Sekunde, etc.), die einem Service Level Agreement für die Arbeitslast (z. B. die Anwendung 1532) zugeordnet sind, hinzufügen oder von demselben entfernen. Dabei kann der Orchestrator Server 1520 Telemetriedaten empfangen, die Performance-Bedingungen (z. B. Durchsatz, Latenz, Anweisungen pro Sekunde, etc.) in jedem Schlitten 400 des gemanagten Knotens 1570 anzeigen, und die Telemetriedaten mit den Service-Qualitäts-Zielen vergleichen, um zu bestimmen, ob die Service-Qualitäts-Ziele erfüllt werden. Der Orchestrator-Server 1520 kann zusätzlich bestimmen, ob eine oder mehrere physische Ressourcen von dem gemanagten Knoten 1570 de-allokiert werden können, während die QoS-Ziele noch erfüllt werden, wodurch diese physischen Ressourcen für eine Verwendung in einem anderen gemanagten Knoten (z. B. um eine unterschiedliche Arbeitslast durchzuführen) freigegeben werden. Alternativ, wenn die QoS-Ziele derzeit nicht erfüllt sind, kann der Orchestrator-Server 1520 bestimmen, zusätzliche physische Ressourcen dynamisch zu allokieren, um bei der Ausführung der Arbeitslast (z. B. der Anwendung 1532) zu helfen, während die Arbeitslast ausgeführt wird. In ähnlicher Weise kann der Orchestrator-Server 1520 bestimmen, physische Ressourcen von einem gemanagten Knoten dynamisch zu de-allokieren, wenn der Orchestrator-Server 1520 bestimmt, dass ein De-Allokieren der physischen Ressource dazu führen würde, dass die QoS-Ziele immer noch erreicht werden.
  • Zusätzlich kann der Orchestrator-Server 1520 bei einigen Ausführungsbeispielen Trends in der Ressourcennutzung der Arbeitslast (z. B. der Anwendung 1532) identifizieren, wie beispielsweise durch ein Identifizieren von Phasen einer Ausführung (z. B. Zeitperioden, in denen unterschiedliche Operationen, wobei jede unterschiedliche Ressourcennutzungscharakteristika aufweist, durchgeführt werden) der Arbeitslast (z. B. der Anwendung 1532) und durch vorausschauendes Identifizieren verfügbarer Ressourcen im Rechenzentrum 100 ein Allokieren derselben zu dem gemanagten Knoten 1570 (z. B. innerhalb einer vordefinierten Zeitperiode des zugeordneten Phasenbeginns). Bei einigen Ausführungsbeispielen kann der Orchestrator-Server 1520 Performance basierend auf verschiedenen Latenzen und einem Verteilungsschema modellieren, um Arbeitslasten unter Rechenschlitten und anderen Ressourcen (z. B. Beschleunigerschlitten, Speicherschlitten (memory sleds), Speicherungsschlitten (storage sleds)) in dem Rechenzentrum 100 zu verteilen. Der Orchestrator-Server 1520 kann beispielsweise ein Modell verwenden, das die Performance von Ressourcen auf dem Schlitten 400 (z. B. FPGA-Performance, Speicherzugrifflatenz, etc.) und die Performance (z. B. Überlastung, Latenz, Bandbreite) des Pfads durch das Netzwerk zu der Ressource (z. B. FPGA) berücksichtigt. Somit kann der Orchestrator-Server 1520 basierend auf der Gesamtlatenz, die jeder potenziellen Ressource, die in dem Rechenzentrum 100 (z. B. die Latenz, die der Performance der Ressource selbst zugeordnet ist, zusätzlich zu der Latenz, die dem Pfad durch das Netzwerk zwischen dem Rechenschlitten, der die Arbeitslast ausführt, und dem Schlitten 400, auf dem die Ressource positioniert ist, zugeordnet ist) verfügbar ist, zugeordnet ist, bestimmen, welche Ressource(n) mit welchen Arbeitslasten verwendet werden sollten.
  • Bei einigen Ausführungsbeispielen kann der Orchestrator-Server 1520 eine Karte von Wärmeerzeugung in dem Rechenzentrum 100 erstellen, unter Verwendung von Telemetriedaten (z. B. Temperaturen, Lüftergeschwindigkeiten, etc.), die von den Schlitten 400 gemeldet werden, und gemanagten Knoten als eine Funktion der Karte von Wärmeerzeugung und vorhergesagter Wärmeerzeugung, die unterschiedlichen Arbeitslasten zugeordnet ist, Ressourcen zuweisen, um eine Zieltemperatur und Wärmeverteilung in dem Rechenzentrum 100 zu erhalten. Zusätzlich oder alternativ dazu kann der Orchestrator-Server 1520 bei einigen Ausführungsbeispielen empfangene Telemetriedaten in einem hierarchischen Modell organisieren, das eine Beziehung zwischen den gemanagten Knoten (z. B. eine räumliche Beziehung wie beispielsweise die physischen Standorte der Ressourcen der gemanagten Knoten innerhalb des Rechenzentrums 100 und/oder eine funktionale Beziehung wie beispielsweise Gruppierungen der gemanagten Knoten durch die Kunden, für die die gemanagten Knoten Dienste bereitstellen, die Arten von Funktionen, die typischerweise durch die gemanagten Knoten ausgeführt werden, gemanagte Knoten, die typischerweise Arbeitslasten untereinander teilen oder austauschen, etc.) anzeigt. Basierend auf Unterschieden bei den physischen Standorten und Ressourcen in den gemanagten Knoten kann eine gegebene Arbeitslast unterschiedliche Ressourcennutzungen (z. B. Verursachen einer unterschiedlichen, internen Temperatur, Verwenden eines unterschiedlichen Prozentsatzes von Prozessor- oder Speicherkapazität) über die Ressourcen von unterschiedlichen gemanagten Knoten aufzeigen. Der Orchestrator-Server 1520 kann die Unterschiede basierend auf den Telemetriedaten bestimmen, die in dem hierarchischen Modell gespeichert sind, und die Unterschiede in eine Vorhersage einer zukünftigen Ressourcennutzung einer Arbeitlast einfließen lassen, falls die Arbeitslast von einem gemanagten Knoten einem anderen gemanagten Knoten neu zugewiesen wird, um die Ressourcennutzung in dem Rechenzentrum 100 genau auszubalancieren.
  • Um die Rechenlast auf dem Orchestrator-Server 1520 und die Datenübertragungslast auf dem Netzwerk zu reduzieren, kann der Orchestrator-Server 1520 bei einigen Ausführungsbeispielen Selbsttestinformationen an die Schlitten 400 senden, um es jedem Schlitten 400 zu ermöglichen, lokal (z. B. auf dem Schlitten 400) zu bestimmen, ob die Telemetriedaten, die durch den Schlitten 400 erzeugt wurden, eine oder mehrere Bedingungen (z. B. eine verfügbare Kapazität, die eine vorbestimmte Schwelle erfüllt, eine Temperatur, die eine vorbestimmte Schwelle erfüllt) erfüllen. Jeder Schlitten 400 kann dann ein vereinfachtes Ergebnis (z. B. Ja oder Nein) an den Orchestrator-Server 1520 zurückmelden, was der Orchestrator-Server 1520 bei dem Bestimmen der Allokation von Ressourcen zu gemanagten Knoten nutzen kann.
  • Bezug nehmend nun auf 16 ist ein Blockdiagramm für ein System 1600 für einen Erfahrungsqualitäts- (QoE) Softwarestapel bereitgestellt, der einen Netzwerk-Service-Rahmen repräsentiert, der zum Einsetzen, Orchestrieren und Managen von Diensten verwendet wird, die durch eine virtualisierte Netzwerkfunktion (VNF) bereitgestellt werden, die in dem System 1510 ausführen kann. Wie hierin weiter beschrieben, verwendet der Netzwerk-Service-Rahmen rechen-, netzwerk- und speicherbasierte Performance-Scores und darauf basierende Ressourcenvergabe-Abhilfen, um eine Service-Sicherstellung in dem System 1510 bereitzustellen. Das System 1600 wird auf einen auf QoE basierenden Industrie-Rahmen abgebildet. Das System 1600 stellt eine Service-Qualität (QoS) pro virtualisierter Netzwerkfunktion (VNF) als eine Kombination aus QoS pro CPU-Thread und Datenebenen-Entwicklungsbibliothek- (z. B. Data Plane Development Kit (DPDK)) basierte QoS pro Poll Mode Driver- (PMD) Thread bereit. Ferner bietet der Netzwerk-Service-Rahmen eine Rekalibrierung pro Sekunde unter Verwendung eines Überwachungs- und Ressourcenbewertungsagenten auf einem QoS-zu-QoE-Anteil. Der Ressource-Bewertungs-Agent kann die Ressourcen anpassen, um die QoE in einer VNF (oder einer anderen virtuellen Maschine (VM)) innerhalb eines bestimmten Bereichs zu halten.
  • Der durch das System 1600 bereitgestellte Netzwerk-Service-Rahmen umfasst die QoE-Überwachungseinrichtung, eine Service-Level-Ziel- (SLO; service level objective) Überwachungseinrichtung, eine Vorhergesagte-QoS-Überwachungseinrichtung, einen SLO-Agenten, einen Vorhergesagte-QoS-Agenten, einen CPU-Service-Recheneinheit- (SCU; service compute unit) Management-Agenten, einen Netzwerk-Service-Netzwerk-Einheit-(SNU; service network unit) Management-Agenten, einen Plattform-Telemetrie-Kollektor-Agenten, einen Abhilfe-Agenten und einen Virtuelle-Maschine-Manager (VMM) auf der zugrunde liegenden Hardware (HW). Unter Verwendung einer oder mehrerer solcher Komponenten stellt das System 1600 Netzwerk- und Rechenfähigkeit, Performance-QoS, Zuverlässigkeit (z. B. in Bezug auf Netzwerkbandbreite und CPU-Zyklen) und Verfügbarkeit (z. B. durch eine periodische Management-Agent-Neuberechnung von SCUs und SNUs) bereit. Bei einigen Ausführungsbeispielen stellt das System 1600 eine autonome Umgebung bereit, die ein QoE-Modell für einen Endnutzer und ein funktionales Abbilden von QoE-Parametern auf Arbeitslast-SLO-Parametern umfasst. Beispielsweise können Komponenten in dem System 1600 ein Arbeitslastmerkmal in eine VNF-Ressourcen- und eine SLO-Definition teilen, die zusammen ein Arbeitslast-SLO bilden können. Ferner stellt das System 1600 einen Kapazitätsplaner bereit, der Metriken und Scores erfasst, die sich auf Ressourcen wie beispielsweise Berechnung, Netzwerk und Beschleunigung beziehen. Dies ermöglicht ein Auffinden von Kapazität, Verfügbarkeit und für ein gegebenes SLO geeignete Hardware. Ferner überwacht und sammelt der Plattform-Telemetrie-Kollektor-Agent Metriken, die zum Detektieren von Instanzen verwendet werden, bei denen die Metriken außerhalb eines Bereichs für ein gegebenes SLO fallen. Das System 1600 umfasst Komponenten (z. B. die Vorhergesagte-QoS-Überwachungseinrichtung und den Vorhergesagte-QoS-Agenten), die ein tatsächliches Service-Level relativ zu einem erforderlichen (z. B. einem Ziel-) Service-Level basierend auf der oben genannten Abbildung auf eine QoE vorhersagen. Der Abhilfe-Agent kann Handlungen zur Minderung oder Wiederherstellung von Ressourcen auf ein gewünschtes Service Level durchführen.
  • Bei einigen Ausführungsbeispielen können die Schlittenvorrichtungen, die relativ zu 1-15 beschrieben sind, den Netzwerk-Service-Rahmen von System 1600 implementieren. Erläuternd stellt das System 1600 den Orchestrator-Server 1520, einen Rechenschlitten 1610, einen Speicherschlitten 1620 und einen Beschleunigerschlitten 1640 bereit, die jeweils mit einem Netzwerk 1640 (z. B. dem Internet) verbunden sind. Der Orchestrator-Server 1520 umfasst eine Service-Management-Logikeinheit 1602, die als irgendeine Vorrichtung oder Schaltungsanordnung zum Ausführen der hierin beschriebenen Funktionen ausgeführt sein kann, wie beispielsweise Empfangen von CPU und Netzwerkmetriken von den Agenten 1614, 1624 und 1644, die jeweils in dem Rechenschlitten 1610, in dem Speicherschlitten 1620 und dem Beschleunigerschlitten 1640 ausführen.
  • Der darstellende Rechenschlitten 1610 umfasst eine Anwendung 1612 (z. B. eine Arbeitslast, die im Namen eines Benutzers auszuführen ist) und einen Agenten 1614, der ausgebildet ist, um Rechen- und Netzwerkmetriken zu sammeln. Der Agent 1614 kann dann aus den Rechen- und Netzwerkmetriken Service-Rechen-Einheiten (SCUs) und Service-Netzwerk-Einheiten (SNUs) bestimmen, die verfügbare Rechen- und Netzwerkressourcen anzeigen, die zum Bedienen einer Arbeitslast, z. B. einer Anwendung, verfügbar sind.
  • Der darstellende Speicherschlitten 1620 umfasst eine oder mehrere Speichervorrichtungen 1622 (z. B. flüchtige und nichtflüchtige Speichervorrichtungen) und einen Agenten 1624. Ähnlich wie der Agent 1614 kann der Agent 1624 Rechen- und Netzwerkmetriken sammeln und SCUs und SNUs berechnen. Der darstellende Beschleunigerschlitten 1630 umfasst eine oder mehrere Beschleunigervorrichtungen 1632 (z. B. feldprogrammierbare Gate-Arrays (FPGAs; Field Programmable Gate Arrays), anwendungsspezifische integrierte Schaltungen (ASICs; application-specific integrated circuits), graphische Verarbeitungseinheiten (GPU; graphical processing units) usw.) und einen Agenten 1634, der Rechen- und Netzwerkmetriken zum Berechnen von SCUs und SNUs sammelt. Es wird darauf hingewiesen, dass das System 1600 mehrere Rechenschlitten 1610, Speicherschlitten 1620 und Beschleunigerschlitten 1630 umfassen kann.
  • Ferner können die Komponenten des Systems 1600 (z. B. die Agenten, Überwachungseinrichtungen und Telemetriekollektoren) als beschleunigte Einheiten implementiert sein, z. B. ausgeführt auf einem oder mehreren Beschleunigerschlitten 1630 oder Beschleunigern, die auf anderen Komponenten des Systems 1600 ausführen. Um zu vermeiden, dass Rechenplattformzyklen durch diese Komponenten verbraucht werden, kann eine Beschleunigervorrichtung (z. B. eine feld-programmierbares Gate-Array- (FPGA) Herleitung oder eine Beschleunigung im Package) es einem gegebenen Anwender eines Systems 1600 erlauben, beschleunigte Kernel-Bitströme zum Überwachen, Vorhersagen und Verarbeiten von Telemetrie zu registrieren. Die Beschleunigung kann eine proprietäre System-QoE-beschleunigte Logik umfassen, die ausgebildet ist, um die Anwender-Telemetrie von einer konvergierten Telemetrie-Architektur zu jedem der registrierten Bitströme zu routen. Dies erlaubt ein nahtloses Routing von Rückrufen von den beschleunigten Kernel-Bitströmen zu der CPU und anderen Komponenten. Die beschleunigte Logik umfasst beschleunigte Kernel-Bitstrom-Überwachungseinrichtungen, Agenten und Telemetrieprozessoren für jeden Anwender. Die beschleunigte Logik legt auch beschleunigte Funktionen frei, die durch Agenten verwendet werden können (z. B. für Funktionen wie beispielsweise Fast-FourierTransformation (FFT)). Ferner managt und routet die beschleunigte Logik Flüsse zwischen beschleunigten Komponenten und nicht-beschleunigten Komponenten.
  • Bezug nehmend nun auf 17 kann der Orchestrator-Server 1520 als irgendeine Art von Rechenvorrichtung ausgeführt sein, die in der Lage ist, die hierin beschriebenen Funktionen auszuführen. Wie gezeigt ist, umfasst der darstellende Orchestrator-Server 1520 eine Rechenmaschine 1702, ein Eingang/Ausgang (I/O) -Teilsystem 1708, eine Kommunikationsschaltungsanordnung 1710 und eine oder mehrere Datenspeicherungsvorrichtungen 1714. Natürlich kann der Orchestrator-Server 1520 bei anderen Ausführungsbeispielen andere oder zusätzliche Komponenten umfassen, wie solche, die üblicherweise in einem Computer zu finden sind (z. B. Display, Peripherievorrichtungen 1716 etc.). Zusätzlich können bei einigen Ausführungsbeispielen eine oder mehrere der darstellenden Komponenten in eine andere Komponente eingebracht sein oder auf andere Weise einen Abschnitt einer selben bilden.
  • Die Rechenmaschine 1702 kann als irgendeine Art von Vorrichtung oder Sammlung von Vorrichtungen ausgeführt sein, die in der Lage ist, verschiedene unten beschriebene Rechenfunktionen auszuführen. Bei einigen Ausführungsbeispielen kann die Rechenmaschine 1702 als eine einzelne Vorrichtung, wie beispielsweise eine integrierte Schaltung, ein eingebettetes System, ein feldprogrammierbares Gate-Array (FPGA), ein System-auf-einem-Chip (SoC) oder ein anderes integriertes System oder Vorrichtung ausgeführt sein. Zusätzlich umfasst die Rechenmaschine 1702 bei einigen Ausführungsbeispielen einen Prozessor 1704 und einen Speicher 1706 oder ist als solcher ausgeführt. Der Prozessor 1704 kann als irgendeine Art von Prozessor ausgeführt sein, der in der Lage ist, die hierin beschriebenen Funktionen auszuführen. Zum Beispiel kann der Prozessor 1704 als ein Einzel- oder Multi-Kernprozessor(en), ein Mikrocontroller oder anderer Prozessor oder Verarbeitungs-/Steuerungsschaltung ausgeführt sein. Bei einigen Ausführungsbeispielen kann der Prozessor 1704 als ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), neukonfigurierbare Hardware oder Hardwareschaltungsanordnung oder andere spezialisierte Hardware ausgeführt sein, solche umfassen oder damit gekoppelt sein, um eine Performance der hierin beschriebenen Funktionen zu erleichtern. Wie gezeigt ist, kann der Prozessor 1704 auch die oben genannte Service-Management-Logikeinheit 1602 umfassen.
  • Der Speicher 1706 kann als irgendeine Art von flüchtigem (z. B. dynamischem Direktzugriffsspeicher (DRAM), etc.) oder nichtflüchtigem Speicher oder Datenspeicherung, der in der Lage ist, die hierin beschriebenen Funktionen auszuführen, ausgeführt sein. Ein flüchtiger Speicher kann ein Speicherungsmedium sein, das Leistung benötigt, um den Zustand von durch das Medium gespeicherten Daten aufrechtzuerhalten. Nicht einschränkende Beispiele für flüchtigen Speicher können verschiedene Typen von Direktzugriffsspeicher (RAM; random access memory) umfassen, wie beispielsweise dynamischen Direktzugriffsspeicher (DRAM) oder statischen Direktzugriffsspeicher (SRAM; static random access memory). Ein bestimmter Typ von DRAM, der in einem Speichermodul verwendet werden kann, ist synchroner dynamischer Direktzugriffsspeicher (SDRAM; synchronous dynamic random access memory). Bei bestimmten Ausführungsbeispielen kann der DRAM einer Speicherkomponente einem durch JEDEC veröffentlichten Standard entsprechen, wie beispielsweise JESD79F für DDR SDRAM, JESD79-2F für DDR2 SDRAM, JESD79-3F für DDR3 SDRAM, JESD79-4A für DDR4 SDRAM, JESD209 für Low Power DDR (LPDDR), JESD209-2 für LPDDR2, JESD209-3 für LPDDR3 und JESD209-4 für LPDDR4 (diese Standards sind verfügbar unter www.jedec.org). Solche Standards (und ähnliche Standards) können als DDR-basierte Standards bezeichnet werden und Kommunikationsschnittstellen der Speicherungsvorrichtungen, die solche Standards implementieren, können als DDR-basierte Schnittstellen bezeichnet werden.
  • Bei einem Ausführungsbeispiel ist die Speichervorrichtung eine blockadressierbare Speichervorrichtung, wie beispielsweise die, die auf NAND oder NOR-Technologien basieren. Eine Speichervorrichtung kann auch nichtflüchtige Vorrichtungen umfassen, wie beispielsweise eine dreidimensionale Crosspoint-Speichervorrichtung (z. B. Intel 3D XPoint™ Speicher), oder andere byteadressierbare Write-in-Place- nichtflüchtige Speichervorrichtungen. Bei einem Ausführungsbeispiel kann die Speichervorrichtung Speichervorrichtungen sein oder umfassen, die Chalkogenidglas, Multi-Schwellenpegel-NAND-Flash-Speicher, NOR-Flash-Speicher, Single- oder Multi-Level-Phasenwechselspeicher (PCM; Phase Change Memory), einen resistiven Speicher, Nanodraht-Speicher, ferroelektrischen Transistor-Direktzugriffsspeicher (FeTRAM; ferroelectric transistor random access memory), antiferroelektrischen Speicher, magnetoresistiven Direktzugriffsspeicher (MRAM; magnetoresistive random access memory), der Memristor-Technologie einbringt, resistiven Speicher, umfassend die Metalloxidbasis, die Sauerstoffleerstellenbasis und den Leitfähige-Brücken-Direktzugriffsspeicher (CB-RAM; conductive bridge Random Access Memory), oder Spin-Transfer-Torque- (STT; spin transfer torque) MRAM, eine Spintronik-Magnetübergangsspeicher-basierte Vorrichtung, eine Magnet-Tunnelübergang (MTJ; magnetic tunneling junction) -basierte Vorrichtung, eine DW-(Domain Wall-) und Spin-Bahn-Transfer- (SOT-; Spin Orbit Transfer) -basierte Vorrichtung, eine thyristorbasierte Speichervorrichtung oder eine Kombination von irgendwelchen aus den vorstehend Genannten oder einem anderen Speicher verwenden. Die Speichervorrichtung kann sich auf den Die selbst und/oder auf ein gepackagtes Speicherprodukt beziehen.
  • Bei einigen Ausführungsbeispielen, kann 3D-Crosspoint-Speicher (z. B. Intel 3D XPoint™ Speicher) eine transistorlose, stapelbare Kreuzpunkt (cross point) -Architektur umfassen, bei der Speicherzellen an dem Schnittpunkt von Wortleitungen und Bitleitungen sitzen und individuell adressierbar sind, und bei der Bitspeicherung auf einer Veränderung des Bulkwiderstands basiert. Bei einigen Ausführungsbeispielen können alle oder ein Abschnitt des Speichers 1706 in den Prozessor 1704 integriert sein. In Betrieb kann der Speicher 1706 verschiedene Software und Daten speichern, die während des Betriebs verwendet werden, wie beispielsweise Aufgaben-Aufforderungs-Daten, Kernel-Abbildungs-Daten, Telemetriedaten, Anwendungen, Programme, Bibliotheken und Treiber.
  • Die Rechenmaschine 1702 ist kommunikativ mit anderen Komponenten des Orchestrator-Servers 1520 über das I/O-Teilsystem 1708 gekoppelt, das als Schaltungsanordnung und/oder Komponenten ausgeführt sein kann, um Ein-/Ausgabe-Operationen mit der Rechenmaschine 1702 (z. B. mit dem Prozessor 1704 und/oder dem Speicher 1706) und anderen Komponenten des Orchestrator-Servers 1520 zu erleichtern. Zum Beispiel kann das I/O-Teilsystem 1708 als Speichersteuerungs-Hubs, Eingabe/Ausgabe-Steuerungs-Hubs, Integrierter-Sensor-Hubs, Firmware-Vorrichtungen, Kommunikationslinks (z. B. Punkt-zu-Punkt-Links, Bus-Links, Drähte, Kabel, Lichtführungen, Gedruckte-Schaltungsplatinen-Leiterbahnen etc.) und/oder andere Komponenten und Teilsysteme, um die Eingabe-/Ausgabeoperationen zu erleichtern, ausgeführt sein oder diese anderweitig umfassen. Bei einigen Ausführungsbeispielen kann das I/O-Teilsystem 1708 einen Abschnitt eines Systems-auf-einem-Chip (SoC; system-on-a-chip) bilden und zusammen mit einem oder mehreren aus dem Prozessor 1704, dem Speicher 1706 und anderen Komponenten des Orchestrator-Servers 1520 in die Rechenmaschine 1702 eingebracht sein.
  • Die Kommunikationsschaltungsanordnung 1710 kann als irgendeine Kommunikationsschaltung, Vorrichtung oder Sammlung davon ausgeführt sein, die in der Lage ist, Kommunikationen über das Netzwerk 1640 zwischen dem Orchestrator-Server 1520 und einer anderen Rechenvorrichtung (z. B. dem Rechenschlitten 1610, dem Speicherschlitten 1620, dem Beschleunigerschlitten 1640 usw.) zu ermöglichen. Die Kommunikationsschaltungsanordnung 1710 kann ausgebildet sein, um irgendeine einzige oder mehrere Kommunikationstechnologien (z. B. verdrahtete oder drahtlose Kommunikation) und zugeordnete Protokolle (z. B. Ethernet, Bluetooth®, Wi-Fi®, WiMAX, etc.) zu verwenden, um eine solche Kommunikation zu bewirken.
  • Die darstellende Kommunikationsschaltungsanordnung 1710 umfasst eine Netzwerkschnittstellensteuerung (NIC; network interface controller) 1712, die auch als eine Host-Strukturschnittstelle (HIF; host fabric interface) bezeichnet werden kann. Die NIC 1712 kann als eine oder mehrere Add-in-Platinen, Tochterkarten, Netzwerkschnittstellenkarten, Steuerungschips, Chipsätze oder andere Vorrichtungen ausgeführt sein, die durch den Orchestrator-Server 1520 verwendet werden können, um sich mit einer anderen Rechenvorrichtung (z. B. dem Rechenschlitten 1610, dem Speicherschlitten 1620, dem Beschleunigerschlitten 1640 etc.) zu verbinden. Bei einigen Ausführungsbeispielen kann die NIC 1712 als Teil eines Systems-auf-einem-Chip (SoC; system-on-a-chip), das einen oder mehrere Prozessoren umfasst, ausgeführt sein, oder auf einem Multi-Chip-Package, das auch einen oder mehrere Prozessoren umfasst, umfasst sein. Bei einigen Ausführungsbeispielen kann die NIC 1712 einen lokalen Prozessor (nicht gezeigt) und/oder einen lokalen Speicher (nicht gezeigt) umfassen, die beide lokal zu der NIC 1712 sind. Bei solchen Ausführungsbeispielen kann der lokale Prozessor der NIC 1712 in der Lage sein, eine oder mehrere der Funktionen der hierin beschriebenen Rechenmaschine 1702 auszuführen. Zusätzlich oder alternativ kann bei solchen Ausführungsbeispielen der lokale Speicher der NIC 1712 in eine oder mehrere Komponenten des Orchestrator-Servers 1520 auf der Platinenebene, Buchsenebene, Chip-Ebene und/oder anderen Ebenen integriert sein.
  • Die eine oder die mehreren darstellenden Datenspeicherungsvorrichtungen 1714 können als irgendeine Art von Vorrichtungen ausgeführt sein, die für kurzfristige oder langfristige Speicherung von Daten ausgebildet sind, wie beispielsweise Speichervorrichtungen und - Schaltungen, Speicherkarten, Festplattenlaufwerke, Solid-State-Laufwerke oder andere Datenspeicherungsvorrichtungen. Jede Datenspeicherungsvorrichtung 1714 kann eine Systemunterteilung umfassen, die Daten und Firmwarecode für die Datenspeicherungsvorrichtung 1714 speichert. Jede Datenspeicherungsvorrichtung 1714 kann auch eine Betriebssystemunterteilung umfassen, die Datendateien und Ausführbare für ein Betriebssystem speichern.
  • Zusätzlich oder alternativ kann der Orchestrator-Server 1520 eine oder mehrere Peripherievorrichtungen 1716 umfassen. Solche Peripherievorrichtungen 1716 können irgendeine Art von Peripherievorrichtung umfassen, die üblicherweise in einer Rechenvorrichtung zu finden sind, wie beispielsweise einer Anzeige, Lautsprechern, einer Maus, einer Tastatur und/oder anderen Eingabe-/Ausgabe-Vorrichtungen, Schnittstellenvorrichtungen, und/oder anderen Peripherievorrichtungen. Ferner kann jeder der Schlitten 1610, 1620 und 1630 vergleichbare Komponenten umfassen wie die des Orchestrator-Servers 1520, möglicherweise mit Ausnahme der Schlitten 1610, 1620 und 1630, nicht umfassend die Service-Management-Logikeinheit 1602.
  • Bezug nehmend nun auf 18 kann der Orchestrator-Server 1520 während eines Betriebs eine Umgebung 1800 einrichten. Die darstellende Umgebung 1800 umfasst einen Netzwerkkommunikator 1820 und einen Service-Manager 1830. Jede der Komponenten der Umgebung 1800 kann als Hardware, Firmware, Software oder eine Kombination davon ausgeführt sein. Somit können bei einigen Ausführungsbeispielen eine oder mehrere der Komponenten der Umgebung 1800 als Schaltungsanordnung oder eine Sammlung elektrischer Vorrichtungen (z. B. Netzwerkkommunikatorschaltungsanordnung 1820, Service-Manager-Schaltungsanordnung 1830, etc.) ausgeführt sein. Es wird darauf hingewiesen, dass bei solchen Ausführungsbeispielen eine oder mehrere aus der Netzwerkkommunikatorschaltungsanordnung 1820 oder der Service-Manager-Schaltungsanordnung 1830 einen Abschnitt einer oder mehrerer aus der Rechenmaschine 1702, der Kommunikationsschaltungsanordnung 1710, des I/O-Teilsystems 1708 und/oder anderer Komponenten des Orchestrator-Servers 1520 bilden können.
  • Bei der darstellenden Umgebung 1800 ist der Netzwerkkommunikator 1820, der als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination derselben, wie vorangehend erörtert wurde, ausgeführt sein kann, ausgebildet, um Netzwerkkommunikationen (z. B. Netzwerkverkehr, Netzwerkpakete, Netzwerkflüsse, etc.) jeweils nach innen oder nach außen zu und von dem Orchestrator-Server 1520, zu ermöglichen. Dazu ist der Netzwerkkommunikator 1820 ausgebildet, um Datenpakete von einem System oder einer Rechenvorrichtung (z. B. dem Rechenschlitten 1610) zu empfangen und zu verarbeiten, und um Datenpakete an eine andere Rechenvorrichtung oder System (z. B. den Speicherschlitten 1620, den Beschleunigerschlitten 1630) vorzubereiten und zu senden. Dementsprechend kann bei einigen Ausführungsbeispielen zumindest ein Teil der Funktionalität des Netzwerkkommunikators 1820 durch die Kommunikationsschaltungsanordnung 1710 und, bei dem darstellenden Ausführungsbeispiel, durch die NIC 1712 durchgeführt werden.
  • Der Service-Manager 1830, der als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination davon ausgeführt sein kann, ist ausgebildet, um das Management von Rechen- und Netzwerkressourcen gemäß den hierin beschriebenen Techniken zu koordinieren. Dazu umfasst der Service-Manager 1830 bei dem darstellenden Ausführungsbeispiel eine Überwachungskomponente 1832, eine Vorhersagekomponente 1834 und eine Abhilfekomponente 1836.
  • Die Überwachungskomponente 1832 ist bei dem darstellenden Ausführungsbeispiel ausgebildet, um eine CPU und Netzwerkmetriken von Schlitten in dem System 1600 zu empfangen. Zusätzlich ist die Überwachungskomponente 1832 ausgebildet, um eine Anzeige eines Betrags von verfügbaren Service-Rechen-Einheiten (SCUs) und Service-Netzwerk-Einheiten (SNUs) zu empfangen. Jede der SCUs und SNUs sind logische Repräsentationen im Service Manager 1830 von verfügbaren Recheneinheiten und Netzwerkeinheiten auf Rechenvorrichtungen (z. B. dem Rechenschlitten 1610) in dem System 1600. Um die Metriken zu empfangen, kann die Überwachungskomponente 1832 mit den Agenten kommunizieren, die auf Vorrichtungen in dem System 1600 ausführen, wie z. B. die Agenten 1614, 1624 und 1634. Die Überwachungskomponente 1832 ist auch ausgebildet, um zu bestimmen, ob eine gegebene Ressource die SLO- (Service Level Objective) Anforderungen erfüllt, die z. B. innerhalb eines Service Level Agreement (SLA) spezifiziert sind.
  • Die Vorhersagekomponente 1834, in dem darstellenden Ausführungsbeispiel, ist ausgebildet, um verfügbare SNU-Daten und SCU-Daten zu empfangen und Rechenvorrichtungen in dem System 1600 Rechenvorrichtungen zu bestimmen, die in der Lage sind, Ressourcen bereitzustellen, wie beispielsweise beim Starten einer Virtuelle Maschine- (VM) Instanz. Die Vorhersagekomponente 1834 kann z. B. ein SLA und Service-Qualitäts- (QoS) Anforderungen, die einem gegebenen Benutzer zugeordnet sind, auswerten, um eine geeignete Rechenvorrichtung aus den Rechenvorrichtungen zu bestimmen, die verfügbaren SCU- und SNU-Einheiten zugeordnet sind, die SLOs erfüllt, die auch repräsentativ für SLO-Einheiten in dem Service-Manager 1830 sein können.
  • Die Abhilfekomponente 1836, in dem darstellenden Ausführungsbeispiel, ist ausgebildet, um bei einer Bestimmung, dass eine der Rechen- oder Netzwerkressourcen ein gegebenes SLO nicht erfüllt (oder vorhergesagt wird, dass sie dieselbe nicht erfüllt), eine oder mehrere Abhilfehandlungen zu bestimmen und zu erzeugen. Beispiel-Abhilfehandlungen umfassen eine Allokation von Rechen- und Netzwerkressourcen an einen gegebenen Rechenschlitten, die Verlagerung einer VM auf einen anderen Rechenschlitten, eine Allokation von Ressourcen an einen Beschleunigerschlitten und Ähnliches. Die Abhilfekomponente 1836 kann auch verursachen, dass betroffene Vorrichtungen die erzeugte Abhilfehandlung ausführen.
  • Bezug nehmend nun auf 19 kann der Orchestrator-Server 1520 (z. B. einer oder mehrere der Schlitten in System 1600), der die Komponenten des Systems 1600, in Ausführung, einbringt, ein Verfahren 1900 ausführen, um die Service-Sicherstellung im System 1600 zu managen. Beispielsweise kann das Verfahren 1900 ausgeführt werden, indem eine gegebene virtuelle Maschine (VM) auf einem Rechenschlitten gestartet wird. Bei Block 1902 werden verfügbare SCUs und SNUs bestimmt. Dazu bestimmt beispielsweise bei Block 1904 der Orchestrator-Server 1520 verfügbare SCUs und SNUs als eine Funktion von gesammelten CPU- und Netzwerkmetriken von Agenten, die auf Rechenvorrichtungen ausführen. Insbesondere bestimmen die Agenten, die in Rechenschlitten ausführen, eine Menge verfügbarer SCUs und SNUs am Host und veröffentlichen die Menge an Erfahrungsqualität (QoE) und SLO-Überwachungseinrichtungen, die in dem System 1600 ausführen. Eine SCU definiert eine Rechenfähigkeit. Eine SNU definiert die für eine VM erforderliche Netzwerkbandbreite. Die QoE- und SLO-Überwachungseinrichtungen können z. B. auf dem Orchestrator-Server 1520 ausführen. Die Menge an freien SCUs und SNUs kann unter Verwendung von CPU- und Netzwerkmetriken bestimmt werden, die durch einen Plattform-Telemetrie-Sammel-Agenten gesammelt werden.
  • Bei Block 1906 wird eine Service-Klasse (CLoS; class of service) einer QoE für eine gegebene VM ausgewählt, die gestartet werden soll (z. B. durch einen Zeitplaner in dem System 1600). Bei Block 1908 stimmt der Orchestrator-Server 1520 Hosts, auf denen die VM gestartet werden kann, mit Service-Levels für die VM ab. Bei Block 1910 wird eine ausgewählte CLoS auf SLO-Einheiten abgebildet. Bei Block 1912 werden die verfügbaren SNUs, SCUs und eine vorhergesagte QoS für jede Host-Rechenvorrichtung (z. B. Rechenschlitten 1610) ausgewertet. Auf dieser Grundlage platziert der Orchestrator-Server 1520 bei Block 1914 die VM in die geeignete Host-Rechenvorrichtung. Bei Block 1916 startet der Orchestrator-Server 1520 die VM an der Host-Rechen-Vorrichtung. Das Ergebnis der Vorhersage durch den QoS-Agenten wird an den Abhilfe-Agenten gesendet. Bei Block 1918 erzeugt der Orchestrator-Server 1520 einen oder mehrere Scores, die der Performance der in der Host-Rechenvorrichtung gestarteten VM zugeordnet sind.
  • Bei Block 1920 kann der SLO-Agent bestimmen, ob die Performance der VM das geforderte SLO erfüllt. Dafür berechnet der SLO-Agent von einer Performance-Überwachungseinrichtung empfangene Metriken. Der SLO-Agent kann die Ergebnisse an den Abhilfe-Agenten senden. Der Abhilfe-Agent kann die VM kennzeichnen, wenn die VM Ressourcen anderer VMs verbraucht. Wenn das SLO nicht erfüllt ist, kann der Abhilfe-Agent bei Block 1922 eine Abhilfe-Handlung erzeugen. Die SCU- und SNU-Agenten können die Abhilfe-Handlungen empfangen und entsprechend ausführen. Die QoE-Überwachungseinrichtung wird auf periodischer Basis (z. B. alle zwei Sekunden) über QoS-Werte pro VNF benachrichtigt.
  • Ein beispielhafter Anwendungsfall für ein Managen der Service-Sicherstellung in einer Kunden-NFV-Umgebung wird nun beschrieben. Eine Quality Solution Stack- (QSS) Überwachungseinrichtung an dem Orchestrator Server 1520 kann Module zum Definieren einer QoE und Prozessvorlagen umfassen. Die QSS-Überwachungseinrichtung kann auch einen Mapping-Prozessor zum Abbilden von QoE auf SLO-Anforderungen und ein Modul zur Definition von SLOs umfassen. Die QSS-Überwachungseinrichtung kann auch ein Kapazitätsplaner-Modul umfassen, das eine Schnittstelle mit QSS-Agenten an jedem Host bildet. Ein durch die QSS-Überwachungseinrichtung bereitgestelltes Analytikmodul kann auch spezialisierte Metriken auswerten. Die QSS-Überwachungseinrichtung stellt auch einen Kapazitätsrechner zur Schätzung der Kapazität auf Clusterebene bereit. Ein QSS-Agent umfasst einen Kapazitätsrechner auf der Host-Ebene. Der QSS-Agent überwacht auch Telemetrie und QoE auf einer Pro-VNF-Ebene. Der QSS-Agent setzt auch die SLO-Anforderungen durch. Zum Beispiel umfasst der QSS-Agent die SCU- und SNU-Agenten und die zuvor beschriebenen Abhilfe-Agenten. Die SCU- und SNU-Agenten können Rechen-/Netzwerkressourcen allokieren und anpassen. Der Abhilfe-Agent kann eine Richtlinie basierend auf dem Ausgang der SCU- und SNU-Agenten durchsetzen. Ferner kann eine virtualisierte Infrastrukturmanager- (VIM) Schicht Filter und Gewichte für einen Zeitplaner basierend auf durch die QSS-Überwachungseinrichtung berechneten Metriken umfassen. Die VIM-Schicht stellt auch Konfigurationen und Datenbanken für das System 1510 bereit.
  • Eine beispielhafte Abbildung von QoE auf SLO auf QoS wird nun relativ zu der Anwendung QoE auf VMs beschrieben. Die QoS wird an jedem Steuerebenen-Aggregat basierend auf einem Infrastruktur-VM-Aggregat und einem Anwendungs-Berechnungs- und Daten-VM-Aggregat berechnet. Diese Werte werden auf eine Anwendungs-QoE abgebildet. Überwachung und Abhilfe werden bei jedem Aggregat ausgeführt. Das QoE-Management kann auch über DPDK-Steuerungen und HW-Performance-Haken geleitet werden.
  • Im Hinblick auf die Hardware können Ausführungsbeispiele basierend auf einem Software- und Hardware-Co-Entwurfs-Management und Orchestrierungs-Ansatz angepasst werden. Dies erlaubt niedrigere Gesamtbetriebskosten (TCO; total cost of ownership) aufgrund eines geringeren Betrags an Software-Management-Mehraufwand, verbesserter Antwortzeiten durch die Möglichkeit, Daten auf beschleunigte Weise zu verarbeiten, und Multi-Anwender-Unterstützung.
  • Bei einigen Ausführungsbeispielen kann die QoS als eine Funktion von Verzögerung, Jitter, Latenz und Bandbreite definiert werden, und die QoE kann als eine Funktion der QoS definiert werden. QoE-Parameter können die Round-Trip-Zeit (RTT; round trip time) und die mittlere Beurteilungsnote (MOS; mean opinion score) auf Benutzerebene umfassen. Zum Beispiel für die RTT von 10.000 UDP-Paketen, die über ein Netzwerk gesendet werden, wobei PING als der Durchschnitt aller RTTs definiert ist und JITTER als das 99,9%-Quantil aller RTTs minus dem Minimum ist, kann RTT ausgedrückt werden als: Jitter = 99% of J i t t e r = 99 % o f   j = 1 i = 1000 R T T min ( R T T ) .
    Figure DE112019000910T5_0001
    RTT - min (RTT). MOS auf Benutzerebene bedeutet Dekodierzeit auf Anwendungsebene und teilt sich auf in CPU- und RAM-Verbrauch auf der Arbeitslastebene und in Verzögerungen, Hops und Paketverluste auf der Netzwerkebene und in nochmaliges Übertragen und Verzögerung auf der Linkebene. Gegeben Throughput = T h r o u g h p u t = W i n d o w S i z e R T T ,
    Figure DE112019000910T5_0002
    , kann der Steuerungsmechanismus an jeder Schicht auf folgende Art ausgeführt werden. Ein erwartetes SLO an dieser Schicht für RTT wird berechnet durch PING und basierend auf RFC 6928, oder SampleRTT = (1 - alpha) * SRTT + alpha * R'. Nachdem zwei RTT-Messungen ausgeführt werden, wird die erste Messung, SRTT, auf den Wert der ersten Messung initialisiert, d. h., SRTT = R'. Ein typischer RTT-Wert für Sprache, wie ITU-T G. 114 empfiehlt, ist eine Einweg-Latenzzeit von maximal 150 ms. Wenn eine Fenstergröße (window size) von 64 KB = 0,5 MBits, beträgt der Durchsatz (throughput) 0,5 / 0,15 = 3,3,33 Mbits/s - Minimum.
  • Es besteht die Möglichkeit, dass eine Netzwerklast einer VNF den Durchsatz anderer VNF (auf einem gleichen Host oder Rechenschlitten) auf derselben Anwender-Schnittstelle drosselt. Um solche Szenarien zu handhaben und eine Mindestbandbreite der VNFs sicherzustellen, kann der Bandbreitenanteil, den jede VNF in einem Host empfängt, auf der Anwender-Schnittstelle gesteuert werden. Dieser Steuerparameter kann unter Verwendung von SNU als Teil des SLO eingestellt werden. Jede SNU kann als ein niedrigster akzeptabler Durchsatz definiert werden (z. B. 1 SNU = 100 kbps).
  • Im Folgenden wird eine beispielhafte SLO-Definition bereitgestellt:

 'slo': {

 'slo_definition': {
       'slos': [
         {

          'SCU:'GIPS',
                  //
         }
         {

          'value': [‚100:200: 400: 500‘],
          'type': ‚SNU‘,
          'id': 29,
          'Description': ‚service network unit‘
          }
     }
   ]
 }
  • Im Folgenden wird eine beispielhafte QoE-Vorlage-Definition bereitgestellt:
  • 
     QOE_CLOS:{
     'HICritical': {
     'RTT': {
     'value': [10,20]
     'units': ‚ms‘
      }
     }
     'MedCritical': {
     'RTT': {
     'value': [21,30]
     'units': ‚ms‘ 
    
      }
     }
     'MinCritical': {
     'RTT': {
     'value': [40,50]
     'units': ‚ms‘
      }
     }
    }
  • In dem Obigen hat der Tag „value“ der SNU das folgende Format: ‚value‘: [Min. garantierte Downlink-SNU: Max. Downlink-SNU: Min. garantierte Uplink-SNU: Max. Uplink-SNU].
  • Das Folgende ist ein Beispielalgorithmus für eine QoE-Klassen-Abbildung auf SLP-Parameter:
    • Wenn QOE_CLOS „HiCrtical“ ist
      • Weise 2 bis 4 SCUs zu
      • Weise 400-500 SNUs zu
  • Wenn RTT > Maximalwert an der QOE-Überwachungseinrichtung, sende eine Warnung an den SLO-Agenten.
  • Am Host, prüfe IPC und Cache-Metriken von dem Performance-Überwachungs-Agenten, um VNF als berechnungsstark zu kategorisieren.
  • Wenn wahr, wird SLO-Agent benachrichtigt, der die SCU erhöht, was zu mehr CPU-Zyklen führt. Wenn die Cache-Fehlschläge hoch sind, allokiere Cache in BDX-Systemen
  • Wenn nicht berechnungsstark, prüfe IO trans-Zähler und RX-TX > 90% der SNU kategorisiere als netzwerkstark.
    Wenn wahr, erhöht SLO-Agent SNUs.
    Verwende libvirt, um Ports zu VMs hinzuzufügen.
  • Überwache RTT und Jitter an der QOE-Überwachungseinrichtung und richte Verhältnisse ein
  • Wenn Schwellen, z. B. VM1, überschritten werden:
    • Berechne den benötigten Latenz-Durchsatz.
  • Wende eine proportionale Drosselung durch DPDK-vhost-Austritts-Policer und Eintritts-Policer an.
  • Gewichtete Drosselung von VMs basierend auf den folgenden Verhältnissen. (TBD) Verhältnis von SLO zu QOE erreicht
  • Wenn mehr als 10% der VMs leiden, Migrieren.
  • Allokieren dynamischer pNIC PF in RSD-Umgebungen
  • Lastausgleich durch Hinzufügen von pmd-Threads für die Buchse, die die am stärksten leidenden VMs hostet.
  • Vorteilhafterweise erhalten VNFs, die in demselben oder einem unterschiedlichen Host gestartet werden, abhängig von der definierten SNU die gleichen Bandbreitenbegrenzungen. In einem bestimmten Host sollte die Summe der Mindestbandbreite, die für alle VNFs in einer bestimmten Anwender-Schnittstelle festgelegt ist, nicht über den tatsächlich durch diese Schnittstelle erreichten Durchsatz hinausgehen. Die Summe der festgelegten maximalen Bandbreite kann jedoch mehr als der tatsächliche Durchsatz der Anwender-Schnittstelle sein. Der festgelegte minimale und maximale Durchsatz kann nicht über den tatsächlichen Durchsatz der Anwender-Schnittstelle hinausgehen. Eine bestimmte VNF mit einer SNU weist die garantierte Mindestbandbreite auf und kann bis zu dem maximalen Durchsatz nutzen, vorausgesetzt, die SNU wird nicht durch andere VNFs in dem gleichen Host auf dieser Anwender-Schnittstelle verwendet.
  • Bei einigen Ausführungsbeispielen gibt jeder Host oder Rechenschlitten verfügbare SNUs pro Anwender-Schnittstellen periodisch an einen Service-Sicherstellungs-Manager bekannt. Das System 1600 kann die Steuerung aller Hosts zentralisieren und bei der Zeitplanung der VNFs helfen. Die Netzwerkmetriken jeder der VMs in dem Host werden auch als Graphen zur Überwachung angezeigt. Durch Verwenden einer DPDK-Bibliothek kann die VNF-Netzwerk-Durchsatz-Performance erhöht und die Latenz kann minimiert werden. Ferner werden Netzwerktreiber und Weiterleitungs-Threads in den Benutzerraum bewegt, was zu einer erhöhten Performance führt. Die physischen Ports (eth0), die an Anwender-Brücken angebracht sind, werden durch den Poll Mode Driver belegt, was dazu führt, dass der Kernel die Steuerung über die Ports verliert. Die an die Integrationsbrücken angebrachten VNF-Schnittstellen (vnet) sind vom Typ dpdkhostuser. Die Performance der VNFs wird weiter verbessert, indem die Anzahl der Weiterleitungs-Threads erhöht und IG-große Seiten der VM allokiert werden. Die Performance kann auch verbessert werden, indem die Weiterleitungs-Threads CPU-Kernen zugewiesen werden, die von der Betriebssystem-Zeitplanung isoliert sind. Die Performance kann auch in einem NUMA- (Non-Uniform Memory Access) bewussten System verbessert werden, indem die Weiterleitungs-Threads, die die physischen Ports bedienen, den CPU-Kernen an der Buchse allokiert werden, an der die physischen Ports positioniert sind. Die Performance kann auch dadurch verbessert werden, dass der sendende und der empfangende Thread der gleichen Buchse zugewiesen werden, an der der Weiterleitungs-Thread geplant ist.
  • Bei einigen Ausführungsbeispielen werden Ports durch DPDK gemanagt. In einem solchen Fall können die QoS und Ratenbegrenzungssteuerungen üblicherweise nicht angewendet werden. Open-Source-Lösungen können jedoch Ansätze für die Durchführung der Eintritt- und Austritt-Durchsatz-Steuerung bereitstellen. Darüber hinaus kann der Eintritts- und Austritts-Netzwerk-Durchsatz durch Anwenden der Eintritts- (ingress policing rates) und Austritts-Überwachungsraten (egress policing rates) auf die mit der Integrationsbrücke verbundenen vhost-Ports gesteuert werden, indem die Parameter ingress_policing_rate und egress_policing_rate des Ports an der Integrationsbrücke gesetzt werden. Durch Verwenden dieses Verfahrens kann jedoch die maximale Bandbreite der VNF eingestellt werden. In einem solchen Fall sind die SNU-Minimal- und Maximalwerte die gleichen, und es wird keine Überzeichnung implementiert. Anwendungen, die keine Änderung der QoS erfordern, werden auf solchen Systemen geplant (z. B. missionskritische Videoanwendungen).
  • Ferner können, wie vorangehend beschrieben, Ausführungsbeispiele an einen Software- und Hardware-Co-Entwurf angepasst werden. Beispielsweise kann eine Hardware-Offload-Architektur eine Schnittstellen- und Management-Logik, einen Plattform-Telemetrie-Verteiler, einen Rückrufmanager und eine Geistiges-Eigentum- (IP; intellectual property) Vorhersage- und Telemetriebeschleunigungsfunktion umfassen. Die Schnittstellen- und Management-Logik ist zu Softwarestapel- (z. B. des Systems 1600) Schnittstellen freigelegt, die es einem bestimmten Anwender, der eine Instanz von QoE ausführt, ermöglichen, Bitströme für die oben beschriebenen zwei Agenten und zwei Prädiktorkomponenten sowie einen Bitstrom für einen Agenten, der für die Verarbeitung der durch den Telemetrieverteiler gesendeten Telemetrie verantwortlich ist, zu instanziieren.
  • Der Plattform-Telemetrieverteiler ist ausgebildet, um entsprechende Performance-Zähler zu sammeln, die durch die Plattform-konvergierte Telemetriearchitektur, die jedem der Anwender zugeordnet ist, freigelegt werden, und die Zähler automatisch an den Bitstrom zur Verarbeitung der Telemetrie zu liefern. Der Bitstrom kann (z. B. gleichzeitig) die verarbeiteten Daten an die unterschiedlichen Bitstrom-Prädiktoren weitergeben. Wenn ein bestimmter QoEbeschleunigter Bitstrom über die Schnittstelle und die Management-Logik registriert wird, kann ein Anwender spezifizieren, welche Telemetriedaten der Prädiktor und die Telemetrieprozessoren verwenden.
  • Der Rückruf-Manager legt Schnittstellen für die Bitströme frei, um Rückrufe an die entsprechenden Software-Entitäten (z. B. die verschiedenen QoE-Manager, CPU, Netzwerk usw.) zu senden. Die IP-Vorhersage und Telemetrie-Beschleunigungs-Funktions-IP-Bibliothek legt einen Satz von Funktionen frei, die durch die Bitströme verwendet werden können. Die Bibliothek stellt auch zugriffsbeschleunigte Funktionen bereit, die durch proprietäre Bitstromlogik freigelegt werden. Ferner kann der Softwarestapel vor dem Registrieren von Benutzer-Bitströmen prüfen, welche Funktionen durch eine gegebene IP über einen CPUID-Mechanismus freigelegt werden.
  • BEISPIELE
  • Nachfolgend sind darstellende Beispiele der hierin offenbarten Technologien bereitgestellt. Ein Ausführungsbeispiel der Technologien kann irgendeine einzelne oder mehrere und irgendeine Kombination der nachfolgend beschriebenen Beispiele umfassen.
  • Beispiel 1 umfasst einen Orchestrator-Server zum Managen der Service-Sicherstellung einer Plattform, der Orchestrator-Server umfassend einen oder mehrere Prozessoren; und einen Speicher, der eine Mehrzahl von Anweisungen speichert, die, wenn sie auf dem einen oder den mehreren Prozessoren ausgeführt werden, den Orchestrator-Server veranlassen zum Empfangen einer Aufforderung, eine Virtuelle-Maschine- (VM) Instanz zu starten, wobei die Aufforderung eine Auswahl einer Serviceklasse (CLoS) einer Erfahrungsqualitäts- (QoS) Spezifikation spezifiziert; Abbilden der gewählten CLoS auf eine oder mehrere Service-Level-Ziel- (SLO) Einheiten, wobei die eine oder die mehreren SLO-Einheiten eine Rechenfähigkeit und eine erforderliche Netzwerk-Bandbreite, spezifiziert in einem Service Level Agreement (SLA), anzeigen; Starten der VM auf einer Rechenvorrichtung einer Mehrzahl von Rechenvorrichtungen, identifiziert als eine Funktion der abgebildeten SLO-Einheiten; Erzeugen eines oder mehrerer Scores, die einer Performance der VM zugeordnet sind; und Bestimmen, als eine Funktion des einen oder der mehreren erzeugten Scores, ob die Performance der VM auf der Rechenvorrichtung jede der einen oder mehreren SLO-Einheiten zufriedenstellt.
  • Beispiel 2 umfasst den Gegenstand von Beispiel 1, und wobei die Mehrzahl von Anweisungen ferner verursacht, dass der Orchestrator-Server in der Plattform eine Mehrzahl von verfügbaren Service-Rechen-Einheiten und eine Mehrzahl von verfügbaren Service-Netzwerk-Einheiten bestimmt.
  • Beispiel 3 umfasst den Gegenstand von einem der Beispiele 1 und 2, und wobei ein Bestimmen der Mehrzahl von verfügbaren Service-Rechen-Einheiten und der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten ein Bestimmen der Mehrzahl von verfügbaren Service-Rechen-Einheiten und der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten als eine Funktion von gesammelten Rechen- und Netzwerk-Metriken von Agent-Anwendungen, die auf Rechenvorrichtungen in der Plattform ausführen, umfasst.
  • Beispiel 4 umfasst den Gegenstand von einem der Beispiele 1-3, und wobei ein Identifizieren der Rechenvorrichtung als eine Funktion der abgebildeten SLO-Einheiten ein Auswerten der Mehrzahl von verfügbaren Service-Rechen-Einheiten, der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten und einer vorhergesagten Service-Qualität (QoS) jeder der Mehrzahl von Rechenvorrichtungen umfasst.
  • Beispiel 5 umfasst den Gegenstand von einem der Beispiele 1-4, und wobei die Mehrzahl von Anweisungen ferner verursacht, dass der Orchestrator-Server die VM in der identifizierten Rechenvorrichtung platziert.
  • Beispiel 6 umfasst den Gegenstand von einem der Beispiele 1-5, und wobei die Mehrzahl von Anweisungen ferner verursacht, dass der Orchestrator-Server, bei einer Bestimmung, dass zumindest eine der SLO-Einheiten nicht zufriedengestellt ist, eine Abhilfehandlung zum Ausführen erzeugt.
  • Beispiel 7 umfasst den Gegenstand von einem der Beispiele 1-6, und wobei die Mehrzahl von Anweisungen ferner verursacht, dass der Orchestrator-Server verursacht, dass die identifizierte Rechenvorrichtung die Abhilfehandlung ausführt.
  • Beispiel 8 umfasst ein Verfahren zum Managen der Service-Sicherstellung einer Plattform, umfassend ein Empfangen, durch einen Orchestrator-Server, einer Aufforderung, eine Virtuelle-Maschine- (VM) Instanz zu starten, wobei die Aufforderung eine Auswahl einer Serviceklasse (CLoS) einer Erfahrungsqualitäts- (QoS) Spezifikation spezifiziert; Abbilden, durch den Orchestrator-Server, der gewählten CLoS auf eine oder mehrere Service-Level-Ziel-(SLO) Einheiten, wobei die eine oder die mehreren SLO-Einheiten eine Rechenfähigkeit und eine erforderliche Netzwerk-Bandbreite, spezifiziert in einem Service Level Agreement (SLA), anzeigen; Starten, durch den Orchestrator-Server, der VM auf einer Rechenvorrichtung einer Mehrzahl von Rechenvorrichtungen, identifiziert als eine Funktion der abgebildeten SLO-Einheiten; Erzeugen, durch den Orchestrator-Server, eines oder mehrerer Scores, die einer Performance der VM zugeordnet sind; und Bestimmen, durch den Orchestrator-Server, als eine Funktion des einen oder der mehreren erzeugten Scores, ob die Performance der VM auf der Rechenvorrichtung jede der einen oder mehreren SLO-Einheiten zufriedenstellt.
  • Beispiel 9 umfasst den Gegenstand von Beispiel 8, und ferner umfassend ein Bestimmen, in der Plattform und durch den Orchestrator-Server, einer Mehrzahl von verfügbaren Service-Rechen-Einheiten und einer Mehrzahl von verfügbaren Service-Netzwerk-Einheiten.
  • Beispiel 10 umfasst den Gegenstand von einem der Beispiele 8 und 9, und wobei ein Bestimmen der Mehrzahl von verfügbaren Service-Rechen-Einheiten und der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten ein Bestimmen, durch den Orchestrator-Server, der Mehrzahl von verfügbaren Service-Rechen-Einheiten und der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten als eine Funktion von gesammelten Rechen- und Netzwerk-Metriken von Agent-Anwendungen, die auf Rechenvorrichtungen in der Plattform ausführen, umfasst.
  • Beispiel 11 umfasst den Gegenstand von einem der Beispiele 8-10, und wobei ein Identifizieren der Rechenvorrichtung als eine Funktion der abgebildeten SLO-Einheiten ein Auswerten, durch den Orchestrator-Server, der Mehrzahl von verfügbaren Service-Rechen-Einheiten, der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten und einer vorhergesagten Service-Qualität (QoS) jeder der Mehrzahl von Rechenvorrichtungen umfasst.
  • Beispiel 12 umfasst den Gegenstand von einem der Beispiele 8-11, und ferner umfassend ein Platzieren, durch den Orchestrator-Server, der VM in der identifizierten Rechenvorrichtung.
  • Beispiel 13 umfasst den Gegenstand von einem der Beispiele 8-12, und ferner umfassend, beim Bestimmen, durch den Orchestrator-Server, dass zumindest eine der SLO-Einheiten nicht zufriedengestellt ist, ein Erzeugen einer auszuführenden Abhilfehandlung.
  • Beispiel 14 umfasst den Gegenstand von einem der Beispiele 8-13, und ferner umfassend ein Veranlassen, durch den Orchestrator-Server, der identifizierten Rechenvorrichtung, die Abhilfehandlung auszuführen.
  • Beispiel 15 umfasst einen Orchestrator-Server zum Managen der Service-Sicherstellung einer Plattform, umfassend eine Schaltungsanordnung zum Empfangen einer Aufforderung, eine Virtuelle-Maschine- (VM) Instanz zu starten, wobei die Aufforderung eine Auswahl einer Serviceklasse (CLoS) einer Erfahrungsqualitäts- (QoS) Spezifikation spezifiziert; Mittel zum Abbilden der gewählten CLoS auf eine oder mehrere Service-Level-Ziel- (SLO) Einheiten, wobei die eine oder die mehreren SLO-Einheiten eine Rechenfähigkeit und eine erforderliche Netzwerk-Bandbreite, spezifiziert in einem Service Level Agreement (SLA), anzeigen; eine Schaltungsanordnung zum Starten der VM auf einer Rechenvorrichtung einer Mehrzahl von Rechenvorrichtungen, identifiziert als eine Funktion der abgebildeten SLO-Einheiten; Mittel zum Erzeugen eines oder mehrerer Scores, die einer Performance der VM zugeordnet sind; und Mittel zum Bestimmen, als eine Funktion des einen oder der mehreren erzeugten Scores, ob die Performance der VM auf der Rechenvorrichtung jede der einen oder mehreren SLO-Einheiten zufriedenstellt.
  • Beispiel 16 umfasst den Gegenstand von Beispiel 15, und ferner umfassend Mittel zum Bestimmen, in der Plattform, einer Mehrzahl von verfügbaren Service-Rechen-Einheiten und einer Mehrzahl von verfügbaren Service-Netzwerk-Einheiten.
  • Beispiel 17 umfasst den Gegenstand von einem der Beispiele 15 und 16, und wobei die Mittel zum Bestimmen der Mehrzahl von verfügbaren Service-Rechen-Einheiten und der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten Mittel zum Bestimmen der Mehrzahl von verfügbaren Service-Rechen-Einheiten und der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten als eine Funktion von gesammelten Rechen- und Netzwerk-Metriken von Agent-Anwendungen, die auf Rechenvorrichtungen in der Plattform ausführen, umfassen.
  • Beispiel 18 umfasst den Gegenstand von einem der Beispiele 15-17, und ferner umfassend Mittel zum Auswerten der Mehrzahl von verfügbaren Service-Rechen-Einheiten, der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten und einer vorhergesagten Service-Qualität (QoS) jeder der Mehrzahl von Rechenvorrichtungen, um die Rechenvorrichtung als eine Funktion der abgebildeten SLO-Einheiten zu identifizieren.
  • Beispiel 19 umfasst den Gegenstand von einem der Beispiele 15-18, und ferner umfassend eine Schaltungsanordnung zum Platzieren der VM in der identifizierten Rechenvorrichtung.
  • Beispiel 20 umfasst den Gegenstand von einem der Beispiele 15-19, und ferner umfassend Mittel zum Erzeugen einer Abhilfehandlung, auszuführen bei der Bestimmung, dass zumindest eine der SLO-Einheiten nicht zufriedengestellt ist; und Mittel zum Veranlassen der identifizierten Rechenvorrichtung zum Ausführen der Abhilfehandlung.
  • Beispiel 21 umfasst eines oder mehrere maschinenlesbare Speicherungsmedien, umfassend eine Mehrzahl darauf gespeicherter Befehle, die ansprechend darauf, dass sie ausgeführt werden, verursachen, dass ein Orchestrator-Server das Verfahren von einem der Beispiele 8-14 ausführt.
  • Beispiel 22 umfasst einen Orchestrator-Server, umfassend eine Schaltungsanordnung zum Ausführen des Verfahrens von einem der Beispiele 8-14.
  • Claims (20)

    1. Ein Orchestrator-Server zum Managen der Service-Sicherstellung einer Plattform, der Orchestrator-Server umfassend: einen oder mehrere Prozessoren; und einen Speicher, der eine Mehrzahl von Anweisungen speichert, die, wenn sie auf einem oder mehreren Prozessoren ausgeführt werden, den Orchestrator-Server veranlassen zum: Empfangen einer Aufforderung, eine Virtuelle-Maschine- (VM) Instanz zu starten, wobei die Aufforderung eine Auswahl einer Serviceklasse (CLoS) einer Erfahrungsqualitäts- (QoS) Spezifikation spezifiziert; Abbilden der gewählten CLoS auf eine oder mehrere Service-Level-Ziel- (SLO) Einheiten, wobei die eine oder die mehreren SLO-Einheiten eine Rechenfähigkeit und eine erforderliche Netzwerk-Bandbreite, spezifiziert in einem Service Level Agreement (SLA), anzeigen; Starten der VM auf einer Rechenvorrichtung einer Mehrzahl von Rechenvorrichtungen, identifiziert als eine Funktion der abgebildeten SLO-Einheiten; Erzeugen eines oder mehrerer Scores, die einer Performance der VM zugeordnet sind; und Bestimmen, als eine Funktion des einen oder der mehreren erzeugten Scores, ob die Performance der VM auf der Rechenvorrichtung jede der einen oder mehreren SLO-Einheiten zufriedenstellt.
    2. Der Orchestrator-Server gemäß Anspruch 1, wobei die Mehrzahl von Anweisungen ferner verursacht, dass der Orchestrator-Server in der Plattform eine Mehrzahl von verfügbaren Service-Rechen-Einheiten und eine Mehrzahl von verfügbaren Service-Netzwerk-Einheiten bestimmt.
    3. Der Orchestrator-Server gemäß Anspruch 2, wobei ein Bestimmen der Mehrzahl von verfügbaren Service-Rechen-Einheiten und der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten ein Bestimmen der Mehrzahl von verfügbaren Service-Rechen-Einheiten und der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten als eine Funktion von gesammelten Rechen- und Netzwerk-Metriken von Agent-Anwendungen, die auf Rechenvorrichtungen in der Plattform ausführen, umfasst.
    4. Der Orchestrator-Server gemäß Anspruch 3, ein Identifizieren der Rechenvorrichtung als eine Funktion der abgebildeten SLO-Einheiten umfassend: Auswerten der Mehrzahl von verfügbaren Service-Rechen-Einheiten, der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten und einer vorhergesagten Service-Qualität (QoS) jeder der Mehrzahl von Rechenvorrichtungen.
    5. Der Orchestrator-Server gemäß Anspruch 4, wobei die Mehrzahl von Anweisungen ferner verursacht, dass der Orchestrator-Server die VM in der identifizierten Rechenvorrichtung platziert.
    6. Der Orchestrator-Server gemäß Anspruch 1, wobei die Mehrzahl von Anweisungen ferner verursacht, dass der Orchestrator-Server, bei einer Bestimmung, dass zumindest eine der SLO-Einheiten nicht zufriedengestellt ist, eine Abhilfehandlung zum Ausführen erzeugt.
    7. Der Orchestrator-Server gemäß Anspruch 6, wobei die Mehrzahl von Anweisungen ferner verursacht, dass der Orchestrator-Server verursacht, dass die identifizierte Rechenvorrichtung die Abhilfehandlung ausführt.
    8. Ein Verfahren zum Managen der Service-Sicherstellung einer Plattform, umfassend: Empfangen, durch einen Orchestrator-Server, einer Aufforderung, eine Virtuelle-Maschine- (VM) Instanz zu starten, wobei die Aufforderung eine Auswahl einer Serviceklasse (CLoS) einer Erfahrungsqualitäts- (QoS) Spezifikation spezifiziert; Abbilden, durch den Orchestrator-Server, der gewählten CLoS auf eine oder mehrere Service-Level-Ziel- (SLO) Einheiten, wobei die eine oder die mehreren SLO-Einheiten eine Rechenfähigkeit und eine erforderliche Netzwerk-Bandbreite, spezifiziert in einem Service Level Agreement (SLA), anzeigen; Starten, durch den Orchestrator-Server, der VM auf einer Rechenvorrichtung einer Mehrzahl von Rechenvorrichtungen, identifiziert als eine Funktion der abgebildeten SLO-Einheiten; Erzeugen, durch den Orchestrator-Server, eines oder mehrerer Scores, die einer Performance der VM zugeordnet sind; und Bestimmen, durch den Orchestrator-Server, als eine Funktion des einen oder der mehreren erzeugten Scores, ob die Performance der VM auf der Rechenvorrichtung jede der einen oder mehreren SLO-Einheiten zufriedenstellt.
    9. Das Verfahren gemäß Anspruch 8, ferner umfassend ein Bestimmen, in der Plattform und durch den Orchestrator-Server, einer Mehrzahl von verfügbaren Service-Rechen-Einheiten und einer Mehrzahl von verfügbaren Service-Netzwerk-Einheiten.
    10. Das Verfahren gemäß Anspruch 9, wobei ein Bestimmen der Mehrzahl von verfügbaren Service-Rechen-Einheiten und der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten ein Bestimmen, durch den Orchestrator-Server, der Mehrzahl von verfügbaren Service-Rechen-Einheiten und der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten als eine Funktion von gesammelten Rechen- und Netzwerk-Metriken von Agent-Anwendungen, die auf Rechenvorrichtungen in der Plattform ausführen, umfasst.
    11. Das Verfahren gemäß Anspruch 10, wobei ein Identifizieren der Rechenvorrichtung als eine Funktion der abgebildeten SLO-Einheiten ein Auswerten, durch den Orchestrator-Server, der Mehrzahl von verfügbaren Service-Rechen-Einheiten, der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten und einer vorhergesagten Service-Qualität (QoS) jeder der Mehrzahl von Rechenvorrichtungen umfasst.
    12. Das Verfahren gemäß Anspruch 11, ferner umfassend ein Platzieren, durch den Orchestrator-Server, der VM in der identifizierten Rechenvorrichtung.
    13. Das Verfahren gemäß Anspruch 8, ferner umfassend, beim Bestimmen durch den Orchestrator-Server, dass zumindest eine der SLO-Einheiten nicht zufriedengestellt ist, ein Erzeugen einer auszuführenden Abhilfehandlung.
    14. Das Verfahren gemäß Anspruch 13, ferner umfassend ein Veranlassen, durch den Orchestrator-Server, der identifizierten Rechenvorrichtung, die Abhilfehandlung auszuführen.
    15. Ein Orchestrator-Server zum Managen der Service-Sicherstellung einer Plattform, umfassend: eine Schaltungsanordnung zum Empfangen einer Aufforderung, eine Virtuelle-Maschine-(VM) Instanz zu starten, wobei die Aufforderung eine Auswahl einer Serviceklasse (CLoS) einer Erfahrungsqualitäts- (QoS) Spezifikation spezifiziert; Mittel zum Abbilden der gewählten CLoS auf eine oder mehrere Service-Level-Ziel-(SLO) Einheiten, wobei die eine oder die mehreren SLO-Einheiten eine Rechenfähigkeit und eine erforderliche Netzwerk-Bandbreite, spezifiziert in einem Service Level Agreement (SLA), anzeigen; eine Schaltungsanordnung zum Starten der VM auf einer Rechenvorrichtung einer Mehrzahl von Rechenvorrichtungen, identifiziert als eine Funktion der abgebildeten SLO-Einheiten; Mittel zum Erzeugen eines oder mehrerer Scores, die einer Performance der VM zugeordnet sind; und Mittel zum Bestimmen, als eine Funktion des einen oder der mehreren erzeugten Scores, ob die Performance der VM auf der Rechenvorrichtung jede der einen oder mehreren SLO-Einheiten zufriedenstellt.
    16. Der Orchestrator-Server gemäß Anspruch 15, ferner umfassend Mittel zum Bestimmen, in der Plattform, einer Mehrzahl von verfügbaren Service-Rechen-Einheiten und einer Mehrzahl von verfügbaren Service-Netzwerk-Einheiten.
    17. Der Orchestrator-Server gemäß Anspruch 16, wobei die Mittel zum Bestimmen der Mehrzahl von verfügbaren Service-Rechen-Einheiten und der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten Mittel zum Bestimmen der Mehrzahl von verfügbaren Service-Rechen-Einheiten und der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten als eine Funktion von gesammelten Rechen- und Netzwerk-Metriken von Agent-Anwendungen, die auf Rechenvorrichtungen in der Plattform ausführen, umfasst.
    18. Der Orchestrator-Server gemäß Anspruch 17, ferner umfassend Mittel zum Auswerten der Mehrzahl von verfügbaren Service-Rechen-Einheiten, der Mehrzahl von verfügbaren Service-Netzwerk-Einheiten und einer vorhergesagten Service-Qualität (QoS) jeder der Mehrzahl von Rechenvorrichtungen, um die Rechenvorrichtung als eine Funktion der abgebildeten SLO-Einheiten zu identifizieren.
    19. Der Orchestrator-Server gemäß Anspruch 18, ferner umfassend eine Schaltungsanordnung zum Platzieren der VM in der identifizierten Rechenvorrichtung.
    20. Der Orchestrator-Server gemäß Anspruch 15, ferner umfassend: Mittel zum Erzeugen einer Abhilfehandlung, auszuführen bei der Bestimmung, dass zumindest eine der SLO-Einheiten nicht zufriedengestellt ist, und Mittel zum Veranlassen der identifizierten Rechenvorrichtung zum Ausführen der Abhilfehandlung.
    DE112019000910.9T 2018-02-21 2019-02-21 Technologien zum erreichen einer netzwerk-qualitätssicherung mit hardwarebeschleunigung Pending DE112019000910T5 (de)

    Applications Claiming Priority (3)

    Application Number Priority Date Filing Date Title
    US201862633397P 2018-02-21 2018-02-21
    US62/633,397 2018-02-21
    PCT/US2019/019008 WO2019165110A1 (en) 2018-02-21 2019-02-21 Technologies for achieving network quality of assurance with hardware acceleration

    Publications (1)

    Publication Number Publication Date
    DE112019000910T5 true DE112019000910T5 (de) 2021-03-18

    Family

    ID=67687946

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE112019000910.9T Pending DE112019000910T5 (de) 2018-02-21 2019-02-21 Technologien zum erreichen einer netzwerk-qualitätssicherung mit hardwarebeschleunigung

    Country Status (3)

    Country Link
    CN (1) CN111492348A (de)
    DE (1) DE112019000910T5 (de)
    WO (1) WO2019165110A1 (de)

    Families Citing this family (2)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    CN114629805B (zh) * 2020-11-27 2023-07-21 中国移动通信有限公司研究院 Sla策略的处理方法、装置、服务器及服务节点
    WO2022133690A1 (en) * 2020-12-21 2022-06-30 Intel Corporation Efficient resource allocation for service level compliance

    Family Cites Families (5)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US8732310B2 (en) * 2010-04-22 2014-05-20 International Business Machines Corporation Policy-driven capacity management in resource provisioning environments
    CN104246739A (zh) * 2012-04-27 2014-12-24 惠普发展公司,有限责任合伙企业 面向数据中心服务的联网
    US9183031B2 (en) * 2012-06-19 2015-11-10 Bank Of America Corporation Provisioning of a virtual machine by using a secured zone of a cloud environment
    US9998531B2 (en) * 2013-09-18 2018-06-12 International Business Machines Corporation Computer-based, balanced provisioning and optimization of data transfer resources for products and services
    US10721137B2 (en) * 2016-06-30 2020-07-21 Intel Corporation Performance assurance using workload phase detection

    Also Published As

    Publication number Publication date
    CN111492348A (zh) 2020-08-04
    WO2019165110A1 (en) 2019-08-29

    Similar Documents

    Publication Publication Date Title
    DE112018004798T5 (de) Technologien für ein bereitstellen von effizientem speicherzugriff auf einem beschleunigerschlitten
    DE102020118494A1 (de) Technologien zur behandlung einer latenzbasierten dienstebenenvereinbarung in fern-direktspeicherzugriffsnetzen
    US11888967B2 (en) Technologies for dynamic accelerator selection
    DE102020125046A1 (de) Konfigurationsschnittstelle zum auslagern von fähigkeiten an eine netzwerkschnittstelle
    DE102020118307A1 (de) Proaktiver daten-vorabruf mit angewandter quality-of-service
    DE102018214775A1 (de) Technologien zum Aufteilen der Arbeit über Beschleunigervorrichtungen hinweg
    DE102014117462A1 (de) Poolen von Speicherressourcen über mehrere Knoten hinweg
    DE102020201834A1 (de) Technologien für netzvorrichtungslastausgleichseinrichtungen für beschleunigte funktionen-als-dienst
    DE112017003710T5 (de) Verfahren zum Konfigurieren physischer Rechenressourcen für Arbeitslasten per Leitungsvermittlung verwandte Fälle
    DE102020132078A1 (de) Ressourcenzuteilung basierend auf anwendbarem service level agreement
    DE102022104207A1 (de) Pooling von Netzwerkverarbeitungsressourcen
    DE112017001762T5 (de) Technologien für den einsatz dynamischer underlay-netzwerke in cloud-computing-infrastrukturen
    DE112007001215B4 (de) Vorhersage der Leistungsnutzung von Rechenplattformspeicher
    DE102016100902A1 (de) Verfahren zum dynamischen Zuteilen von Ressourcen von konfigurierbaren Datenverarbeitungsressourcen
    DE102020113279A1 (de) Technologien zum managen von burst-bandbreite
    DE102020128959A1 (de) Verfahren und vorrichtungen zur verwaltung des thermischen verhaltens in mehrchip-kapselungen
    DE102020118312A1 (de) Technologien zum verwalten von disaggregierten beschleunigernetzwerken basierend auf remote direct memory access
    US20080270653A1 (en) Intelligent resource management in multiprocessor computer systems
    DE102020110582A1 (de) TECHNOLOGIEN ZUR AUTOMATISCHEN ARBEITSLASTERKENNUNG UND CACHE-QoS-RICHTLINIENANWENDUNG
    US20210326221A1 (en) Network interface device management of service execution failover
    US20200021492A1 (en) Technologies for storage cluster rebuild service traffic management
    DE102020201347A1 (de) Technologien zum abgleichen von sicherheitsanforderungen von funktion-als-dienst in edge-clouds
    DE102022124530A1 (de) Speicherpoolmanagement
    DE102020130555A1 (de) Adaptiver datenversand basierend auf lastfunktionen
    DE102020132767A1 (de) Verwaltung der Dienstgüte (QoS) eines Speichersystems