DE102022128300A1 - Verfahren und einrichtungen zum implementieren einer edge-skalierbaren adaptiv granulierten überwachung und telemetrieverarbeitung für multi-qos-dienste - Google Patents

Verfahren und einrichtungen zum implementieren einer edge-skalierbaren adaptiv granulierten überwachung und telemetrieverarbeitung für multi-qos-dienste Download PDF

Info

Publication number
DE102022128300A1
DE102022128300A1 DE102022128300.3A DE102022128300A DE102022128300A1 DE 102022128300 A1 DE102022128300 A1 DE 102022128300A1 DE 102022128300 A DE102022128300 A DE 102022128300A DE 102022128300 A1 DE102022128300 A1 DE 102022128300A1
Authority
DE
Germany
Prior art keywords
circuitry
function
monitoring
monitor
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022128300.3A
Other languages
English (en)
Inventor
Kshitij Arun Doshi
Francesc Guim Bernat
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 DE102022128300A1 publication Critical patent/DE102022128300A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5032Generating service level reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Es sind Verfahren und Einrichtungen zum Implementieren einer Edge-skalierbaren adaptiv granulierten Überwachung und Telemetrieverarbeitung für Multi-Dienstgüte(QoS)-Dienste offenbart. In einem Beispiel beinhaltet die Einrichtung eine Plattformberechnungsschaltungsanordnung. Die Einrichtung beinhaltet auch sowohl eine Überwachungsfunktionsregistrierungsschnittstellendatenstruktur zum Auflisten eines Satzes von Überwachungsfunktionen, die zumindest eine eindeutige universelle Funktionskennung und einen Funktionsdeskriptor bereitstellen, als auch eine Anwendungszuweisungsschnittstellendatenstruktur, die zumindest eine Anwendungskennung, eine Anwendungs-Service-Level-Agreement(SLA)-Definition und den Funktionsdeskriptor zum Ermöglichen einer Verknüpfung mit einer ersten Überwachungsfunktion bereitstellt. Außerdem beinhaltet die Einrichtung eine SLA-Überwachungsschaltungsanordnung, die die erste Überwachungsfunktion für eine Anwendungsinstanz in einem Logikstapel instanziiert, bewirkt, dass die erste Überwachungsfunktion in dem Hardware-und-Software-Überwachungslogikstapel ausgeführt wird, und einen QoS-Durchsetzungsrückruf als Reaktion auf eine Verletzung der SLA-Definition erzeugt.

Description

  • GEBIET DER OFFENBARUNG
  • Die vorliegende Offenbarung betrifft allgemein das Überwachen von Telemetriedaten für Service-Level-Agreements und insbesondere das Implementieren von Edge-skalierbarer adaptiv granulierter Überwachung und Telemetrieverarbeitung für Multi-Dienstgüte(QoS: Quality-of-Service)-Dienste.
  • HINTERGRUND
  • In den letzten Jahren ist die Telemetriesammlung und -verarbeitung in der gesamten Computing-Industrie wichtig geworden. Telemetriesammlung und -verarbeitung beinhaltet Sampling vieler Hardware- und Softwaremetriken, Liefern derselben an einen oder mehrere Empfangspunkte und Verwenden derselben, um zu verstehen, wann und wie Rechenressourcen zwischen Aufgaben/Diensten gemultiplext werden, sodass Service-Level-Agreements (SLAs) oder Dienstgüte(QoS)-Ziele mit einer effizienten Nutzung von Ressourcen erreicht werden. Typischerweise sammeln und verarbeiten Plattformsoftwarestapel Telemetrie insgesamt, um Zentralverarbeitungseinheit(CPU)-Zyklen, Speicher-/Eingabe-Ausgabe(E/A)-Bandbreiten, Leistung und anderen Ressourcen, die Konkurrenz aufweisen, aufzuteilen. Einige Service Level Objectives (Dienstgüteziele) gelten auch für die Infrastrukturaufgaben/-dienste, um eine rechtzeitige Sammlung und Verarbeitung von Telemetrie sicherzustellen. Diese Aktivitäten sind mit den Verantwortungen der Bereitstellung und des Lastausgleichs verbunden, was bewirkt, dass Datenzentren ihnen implizite Priorität verleihen. Die Koordination, Automatisierung und Verwaltung der Dienste sowie der Ressourcen, die solche Dienste benötigen, sind integrale Bestandteile von Datenzentrum-Cloud-Architekturen.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das einen Überblick über eine Konfiguration für Edge-Computing zeigt, die eine Verarbeitungsschicht beinhaltet, die in vielen der folgenden Beispiele als eine „Edge-Cloud“ bezeichnet wird.
    • 2 veranschaulicht beispielhafte Betriebsschichten zwischen Endpunkten, eine Edge-Cloud und Cloud-Computing-Umgebungen.
    • 3 veranschaulicht verschiedene beispielhafte Client-Endpunkte (in Form von Mobilvorrichtungen, Computern, autonomen Fahrzeugen, Unternehmens-Rechenausrüstung, industrieller Verarbeitungsausrüstung), die Anfragen und Antworten austauschen, die für die Art der Endpunktnetzwerkaggregation spezifisch sind.
    • 4 veranschaulicht ein Beispiel für Einsatz und Orchestrierung für virtualisierte und containerbasierte Edge-Konfigurationen über ein Edge-Computing-System, das zwischen mehreren Edge-Knoten und mehreren Mandanten (z. B. Benutzern, Anbietern) betrieben wird, die solche Edge-Knoten verwenden.
    • 5 veranschaulicht beispielhafte zusätzliche Rechenanordnungen, die Container in einem Edge-Rechensystem einsetzen.
    • 6 stellt einen Überblick über beispielhafte Komponenten zur Berechnung bereit, die an einem Rechenknoten in einem Edge-Rechensystem eingesetzt werden.
    • 7 stellt einen weiteren Überblick über beispielhafte Komponenten innerhalb einer Rechenvorrichtung in einem Edge-Rechensystem bereit.
    • 8 ist ein schematisches Diagramm einer beispielhaften Infrastrukturverarbeitungseinheit (IPU: Infrastructure Processing Unit).
    • 9 ist eine schematische Veranschaulichung einer beispielhaften Einrichtung zum Implementieren einer Edge-skalierbaren adaptiv granulierten Überwachung und Telemetrieverarbeitung für Multi-QoS-Dienste.
    • 10 ist eine Veranschaulichung der Einzelheiten in einer beispielhaften Überwachungsfunktionsregistrierungsschnittstellendatenstruktur und einer beispielhaften Anwendungszuweisungsschnittstellendatenstruktur.
    • 11A ist eine schematische Veranschaulichung einer beispielhaften Einrichtung einschließlich einer ausführlichen Schaltungsanordnung, die innerhalb einer SLA-Überwachungslogikschaltungsanordnung implementiert wird.
    • 11B ist eine schematische Veranschaulichung einer beispielhaften Einrichtung einschließlich einer ausführlichen Telemetriefunktionsausführerschaltungsanordnung, die innerhalb einer allgemeinen Prozessorschaltungsanordnung, einer allgemeinen Beschleunigerschaltungsanordnung und/oder einer Telemetriefunktionsbeschleunigerschaltungsanordnung implementiert wird.
    • 12 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen und/oder beispielhafte Operationen repräsentiert, die durch eine Prozessorschaltungsanordnung ausgeführt und/oder instanziiert werden können, um zu instanziieren und zu bewirken, dass eine Telemetrieüberwachungsfunktion SLA-Verletzungen in einem Rechenknoten ausführt und meldet.
    • 13 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen und/oder beispielhafte Operationen repräsentiert, die durch eine Prozessorschaltung ausgeführt und/oder instanziiert werden können, um eine Telemetrieüberwachungsfunktion zu parsen, einen Logikstapel zu konfigurieren, um die Telemetrieüberwachungsfunktion auszuführen, und die geparsten Operationen in einem Rechenknoten direkt auszuführen.
    • 14 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen und/oder beispielhafte Operationen repräsentiert, die durch eine Prozessorschaltungsanordnung ausgeführt und/oder instanziiert werden können, um eine Überwachungsfunktion in einer von mehreren Berechnungsschaltungsanordnungen basierend auf einer Anwendungsinstanzkritikalitätsstufe zu instanziieren.
    • 15 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen und/oder beispielhafte Operationen repräsentiert, die durch eine Prozessorschaltungsanordnung ausgeführt und/oder instanziiert werden können, um die Nutzungsrate einer Plattformressource zu überwachen und eine Überwachungsfunktion auf einer spezifischen Plattformressource als ein Ergebnis davon auszuführen, dass die Nutzungsrate unter einem Schwellenwert liegt.
    • 16 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen und/oder beispielhafte Operationen repräsentiert, die durch eine Prozessorschaltungsanordnung ausgeführt und/oder instanziiert werden können, um die Frequenz der Ausführung einer Überwachungsfunktion zu verwalten.
    • 17 ist ein Blockdiagramm einer beispielhaften Verarbeitungsplattform, die eine Prozessorschaltungsanordnung beinhaltet, die zum Ausführen der beispielhaften maschinenlesbaren Anweisungen von 12 strukturiert ist, um eine Edge-skalierbare adaptiv granulierte Überwachung und Telemetrieverarbeitung für Multi-QoS-Dienste zu implementieren.
    • 18 ist ein Blockdiagramm einer beispielhaften Implementierung der Prozessorschaltungsanordnung von 17.
    • 19 ist ein Blockdiagramm einer anderen beispielhaften Implementierung der Prozessorschaltungsanordnung von 17.
    • 20 ist ein Blockdiagramm einer beispielhaften Softwareverteilungsplattform (z. B. eines oder mehrerer Server) zum Verteilen von Software (z. B. Software, die den beispielhaften maschinenlesbaren Anweisungen der 12-16 entspricht) an Client-Vorrichtungen, die mit Endbenutzern und/oder Verbrauchern (z. B. für Lizenz, Verkauf und/oder Verwendung), Einzelhändler (z. B. für Verkauf, Wiederverkauf, Lizenz und/oder Unterlizenz) und/oder Originalgerätehersteller (OEMs) (z. B. zur Aufnahme in Produkte, die zum Beispiel an Einzelhändler und/oder an andere Endbenutzer, wie etwa Direktkaufskunden, zu verteilen sind) assoziiert sind.
  • Die Figuren sind nicht maßstabsgetreu.
  • Sofern nicht spezifisch anders angegeben, werden Deskriptoren, wie etwa „erste/r/s“, „zweite/r/s“, „dritte/r/s“ usw., hierin verwendet, ohne irgendeine Bedeutung von Priorität, physischer Reihenfolge, Anordnung in einer Liste und/oder Ordnung auf irgendeine Weise zu unterstellen oder anderweitig anzugeben, sondern werden lediglich als Bezeichnungen und/oder willkürliche Namen verwendet, um Elemente zum einfachen Verständnis der offenbarten Beispiele zu unterscheiden. Bei manchen Beispielen kann der Deskriptor „erstes“ verwendet werden, um auf ein Element in der ausführlichen Beschreibung zu verweisen, während auf das gleiche Element in einem Anspruch mit einem unterschiedlichen Deskriptor, wie etwa „zweites“ oder „drittes“, verwiesen wird. In derartigen Fällen versteht es sich, dass derartige Deskriptoren lediglich zum eindeutigen Identifizieren jener Elemente verwendet werden, die zum Beispiel ansonsten einen gleichen Namen teilen könnten.
  • Wie hierin verwendet, verweisen „ungefähr“ und „etwa“ auf Abmessungen, die aufgrund von Herstellungstoleranzen und/oder anderen realen Unvollkommenheiten möglicherweise nicht exakt sind. Wie hierin verwendet, verweist „im Wesentlichen Echtzeit“ auf ein Auftreten auf eine nahezu augenblickliche Weise, mit dem Verständnis, dass es Echtweltverzögerungen für Rechenzeit, Übertragung usw. geben kann. Sofern nichts anderes angegeben ist, bezieht sich „im Wesentlichen Echtzeit“ somit auf Echtzeit +/- 1 Sekunde. Wie hierin verwendet, schließt die Formulierung „in Kommunikation“, einschließlich Variationen davon, eine direkte Kommunikation und/oder eine indirekte Kommunikation durch eine oder mehrere Zwischenkomponenten ein und erfordert keine direkte physische (z. B. drahtgebundene) Kommunikation und/oder konstante Kommunikation, sondern schließt vielmehr zusätzlich eine selektive Kommunikation in periodischen Intervallen, geplanten Intervallen, aperiodischen Intervallen und/oder einmalige Ereignisse ein.
  • Wie hierin verwendet, ist „Prozessorschaltungsanordnung“ so definiert, dass sie (i) eine oder mehrere elektrische Spezialschaltungen beinhaltet, die zum Durchführen einer oder mehrerer spezifischer Operationen strukturiert sind und eine oder mehrere halbleiterbasierte Logikvorrichtungen (z. B. elektrische Hardware, die durch einen oder mehrere Transistoren implementiert wird) beinhalten, und/oder (ii) eine oder mehrere universelle halbleiterbasierte elektrische Schaltungen beinhaltet, die mit Anweisungen zum Durchführen spezifischer Operationen programmiert sind und eine oder mehrere halbleiterbasierte Logikvorrichtungen (z. B. elektrische Hardware, die durch einen oder mehrere Transistoren implementiert wird) beinhalten. Beispiele für eine Prozessorschaltungsanordnung beinhalten programmierte Mikroprozessoren, feldprogrammierbare Gate-Arrays (FPGAs), die Anweisungen instanziieren können, Zentralprozessoreinheiten (CPUs), Grafikprozessoreinheiten (GPUs), Digitalsignalprozessoren (DSPs), XPUs oder Mikrocontroller und integrierte Schaltungen wie etwa anwendungsspezifische integrierte Schaltungen (ASICs). Zum Beispiel kann eine XPU durch ein heterogenes Rechensystem implementiert werden, das mehrere Typen von Prozessorschaltungsanordnungen (z. B. ein oder mehrere FPGAs, eine oder mehrere CPUs, eine oder mehrere GPUs, einen oder mehrere DSPs usw. und/oder eine Kombination aus diesen) und Anwendungsprogrammierschnittstelle(n) (API(s)) beinhaltet, die Rechenaufgabe(n) jedem der mehreren Typen von Verarbeitungsschaltungsanordnung zuweisen können, die am besten zum Ausführen der Rechenaufgabe(n) geeignet ist/sind.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die Welt tritt schnell in eine nächste Phase von Cloud-Computing ein, die einige Schlüsselcharakteristiken aufweist, wie etwa:
    1. (a) Echtzeit- oder nahezu sofortige Erfüllung von Anforderungen,
    2. (b) fließende Zuweisung und Freigabe von Ressourcen - insbesondere mit der Virtualisierung von Netzwerkdaten und Steuerebenen über softwaredefinierte Infrastrukturen,
    3. (c) elastisches Bedarfswachstum, angetrieben durch einen immer größer werdenden Fülle an Informationen, die aus Daten gewonnen werden, und
    4. (d) sehr hohe Dichten von Multi-Mandanten-Diensten, die Just-in-Time gestartet werden.
  • Mobilitäts- und Echtzeiterfordernisse verschieben Cloud-Computing in dezentrale Edge-Clouds. Infolgedessen wird die Orchestrierung auch stark verteilt und dezentral, anstatt durch einen einzigen Sitz der Intelligenz gesteuert zu werden. Dementsprechend wird Telemetriesammlung und -verarbeitung (z. B. Daten, die von Knoten und Systemen gesammelt werden, die Informationen über die Verfügbarkeit von Verarbeitungsleistung und Zeit für Dienste beinhalten) auch dezentralisiert, um Effizienzen beizubehalten. Mit zunehmender Scheduling- und Dienstgüte(QoS)-Komplexität nehmen ebenfalls die Telemetriekosten zu, die als der Aufwand von Ressourcen angesehen werden können, deren Nutzung nicht zur Rechenproduktivität beiträgt, die die angeforderte Nachfrage erfüllt. Im Gegensatz zu Cloud-Datenzentren sind Edge-Datenzentren jedoch sowohl in verfügbaren Ressourcen (und daher dahingehend, wie viel durch die Telemetriekosten aufgebraucht werden) als auch der verfügbaren Zeit zum Bestimmen, wie sie am besten zu multiplexen sind, eng eingeschränkt - obwohl solche Bestimmungen für die anspruchsvollsten Service-Level-Agreements (SLAs) sehr rechenintensiv sein können.
  • Somit ist es wünschenswert, Folgendes zu bewirken:
    • [1] Bereitstellen einer reicheren Überwachungs- und SLA-Infrastruktur mit der notwendigen Genauigkeit und Granularität gegenüber Erfordernissen,
    • [2] Erreichen von diesem elastisch am Edge trotz der Einschränkungen,
    • [3] Niedrighalten von Overheads, und
    • [4] Fokussieren der Verarbeitung von Telemetrie wo benötigt und nicht überall.
  • Beispielsweise kann ein Dienst A kritisch sein und feingranuliertere und komplizierte Echtzeit-Telemetrieverarbeitung erfordern, um effektiv ausgeführt zu werden, aber ein anderer Dienst B kann weniger zuverlässigkeitskritisch als Dienst A sein, was nur eine Mangelvermeidung erfordert, um seine Aufgabe erfolgreich abzuschließen.
  • Gegenwärtig waren Tools, wie etwa Perf, mit traditioneller Software effektiv, sind aber mit neuen Edge-Einsätzen nicht effektiv. Das Abtasten, um Telemetriedaten in Knoten in modernen Edge-Netzwerken zu erhalten, ist kompliziert, wenn ein gegebenes System/ein gegebener Knoten Tausende laufender Funktionen aufweist und die Zähler zurück auf die spezifische Funktion korreliert werden, die ausgeführt wurde.
  • 1 ist ein Blockdiagramm 100, das einen Überblick über eine Konfiguration für Edge-Computing zeigt, die eine Verarbeitungsschicht beinhaltet, die in vielen der folgenden Beispiele als „Edge-Cloud“ bezeichnet wird. Wie gezeigt, befindet sich die Edge-Cloud 110 gemeinsam an einem Edge-Ort, wie etwa einem Zugangspunkt oder einer Basisstation 140, einem lokalen Verarbeitungs-Hub 150 oder einer Zentrale 120, und kann somit mehrere Entitäten, Vorrichtungen und Geräteinstanzen beinhalten. Die Edge-Cloud 110 befindet sich viel näher an den Endpunkt(Verbraucher und Erzeuger)-Datenquellen 160 (z. B. autonome Fahrzeuge 161, Benutzergeräte 162, Unternehmens- und Industrieausrüstung 163, Videoaufnahmevorrichtungen 164, Drohnen 165, Smart-Städte- und -Gebäude-Vorrichtungen 166, Sensoren und IoT-Vorrichtungen 167 usw.) als das Cloud-Datenzentrum 130. Rechen-, Speicher- und Speicherungsressourcen, die an den Edges in der Edge-Cloud 110 angeboten werden, sind kritisch für das Bereitstellen von Antwortzeiten mit ultraniedriger Latenz für Dienste und Funktionen, die durch die Endpunktdatenquellen 160 verwendet werden, sowie für das Reduzieren von Netzwerk-Backhaul-Verkehr von der Edge-Cloud 110 zu dem Cloud-Datenzentrum 130, wodurch Energieverbrauch und Gesamtnetzwerknutzungen unter anderen Vorteilen verbessert werden.
  • Berechnung, Speicher und Speicherung sind knappe Ressourcen und nehmen im Allgemeinen in Abhängigkeit von dem Edge-Ort ab (wobei z. B. weniger Verarbeitungsressourcen an Verbraucherendpunktvorrichtungen verfügbar sind als an einer Basisstation als an einer Zentrale). Je näher sich der Edge-Ort jedoch am Endpunkt (z. B. Benutzergerät (UE)) befindet, desto mehr sind Raum und Leistung häufig eingeschränkt. Somit versucht Edge-Computing die Menge an Ressourcen, die für Netzwerkdienste benötigt werden, durch die Verteilung von mehr Ressourcen, die sich sowohl geographisch als auch in der Netzwerkzugriffszeit näher befinden, zu reduzieren. Auf diese Weise versucht Edge-Computing, die Rechenressourcen gegebenenfalls zu den Arbeitslastdaten zu bringen oder die Arbeitslastdaten zu den Rechenressourcen zu bringen.
  • Das Folgende beschreibt Aspekte einer Edge-Cloud-Architektur, die mehrere potenzielle Einsätze abdeckt und Einschränkungen anspricht, die manche Netzwerkbetreiber oder Dienstanbieter in ihren eigenen Infrastrukturen aufweisen können. Diese beinhalten eine Variation von Konfigurationen basierend auf dem Edge-Ort (weil Edges auf einer Basisstationsebene zum Beispiel mehr eingeschränkte Leistungsfähigkeit und Fähigkeiten in einem Multi-Mandanten-Szenario aufweisen können); Konfigurationen basierend auf der Art von Berechnung, Speicher, Speicherung, Fabric, Beschleunigung oder ähnlichen Ressourcen, die Edge-Orten, Stufen von Orten oder Gruppen von Orten zur Verfügung stehen; die Dienst-, Sicherheits- und Verwaltungs- und Orchestrierungsfähigkeiten; und zugehörige Ziele zum Erreichen der Nutzbarkeit und Leistungsfähigkeit von Enddiensten. Diese Einsätze können eine Verarbeitung in Netzwerkschichten bewerkstelligen, die in Abhängigkeit von Latenz-, Entfernungs- und Timing-Charakteristiken als „Near-Edge“-, „Close-Edge“-, „Local-Edge“-, „Middle-Edge“- oder „Far-Edge“-Schichten betrachtet werden können.
  • Edge-Computing ist ein sich entwickelndes Paradigma, bei dem das Computing an oder näher am „Edge“ (Rand) eines Netzwerks durchgeführt wird, typischerweise durch die Verwendung einer Rechenplattform (z. B. x86- oder ARM-Rechenhardwarearchitektur), die an Basisstationen, Gateways, Netzwerkroutern oder anderen Vorrichtungen implementiert ist, die sich viel näher an Endpunktvorrichtungen befinden, die die Daten erzeugen und konsumieren. Edge-Gateway-Server können zum Beispiel mit Pools von Speicher- und Speicherungsressourcen ausgestattet sein, um Rechenaufgaben in Echtzeit für Anwendungsfälle mit niedriger Latenz (z. B. autonomes Fahren oder Videoüberwachung) für verbundene Client-Vorrichtungen durchzuführen. Oder als ein Beispiel können Basisstationen mit Rechen- und Beschleunigungsressourcen erweitert werden, um Dienstarbeitslasten für verbundene Benutzergeräte direkt zu verarbeiten, ohne ferner Daten über Backhaul-Netzwerke zu kommunizieren. Oder als ein anderes Beispiel kann Zentralen-Netzwerkverwaltungshardware durch standardisierte Rechenhardware ersetzt werden, die virtualisierte Netzwerkfunktionen durchführt und Rechenressourcen für die Ausführung von Diensten und Verbraucherfunktionen für verbundene Vorrichtungen anbietet. Innerhalb von Edge-Rechennetzwerken kann es Szenarien in Diensten geben, in denen die Rechenressource zu den Daten „verschoben“ wird, sowie Szenarien geben, in denen die Daten zur Rechenressource „verschoben“ werden. Oder als ein Beispiel können Basisstationsrechen-, Beschleunigungs- und Netzwerkressourcen Dienste bereitstellen, um die Arbeitslastbedürfnisse nach Bedarf durch Aktivieren ruhender Kapazität (Subskription, Kapazität nach Bedarf) zu skalieren, um Eckfälle, Notfälle zu verwalten oder Langlebigkeit für eingesetzte Ressourcen über einen wesentlich längeren implementierten Lebenszyklus bereitzustellen.
  • 2 veranschaulicht Betriebsschichten zwischen Endpunkten, einer Edge-Cloud und Cloud-Rechenumgebungen. Insbesondere stellt 2 Beispiele für Rechenverwendungsfälle 205 dar, die die Edge-Cloud 110 unter mehreren veranschaulichenden Schichten des Netzwerk-Computing nutzen. Die Schichten beginnen bei einer Endpunkt(Vorrichtungen und Dinge)-Schicht 200, die auf die Edge-Cloud 110 zugreift, um Datenerzeugungs-, Analyse- und Datenkonsumierungsaktivitäten durchzuführen. Die Edge-Cloud 110 kann mehrere Netzwerkschichten überspannen, wie etwa eine Edge-Vorrichtungsschicht 210 mit Gateways, Vor-Ort-Servern oder Netzwerkgeräten (Knoten 215), die sich in physisch nahen Edge-Systemen befinden; eine Netzwerkzugangsschicht 220, umfassend Basisstationen, Funkverarbeitungseinheiten, Netzwerkhubs, regionale Datenzentren (DZ) oder lokale Netzwerkgeräte (Geräte 225); und beliebige Geräte, Vorrichtungen oder Knoten, die sich dazwischen befinden (in Schicht 212, nicht ausführlich veranschaulicht). Die Netzwerkkommunikationen innerhalb der Edge-Cloud 110 und zwischen den verschiedenen Schichten können über eine beliebige Anzahl von drahtgebundenen oder drahtlosen Medien stattfinden, einschließlich über Konnektivitätsarchitekturen und Technologien, die nicht dargestellt sind.
  • Beispiele für Latenz, die aus Netzwerkkommunikationsentfernungs- und Verarbeitungszeitbeschränkungen resultieren, können von weniger als einer Millisekunde (ms), wenn inmitten der Endpunktschicht 200, unter 5 ms an der Edge-Vorrichtungsschicht 210, bis sogar zwischen 10 und 40 ms, wenn mit Knoten an der Netzwerkzugangsschicht 220 kommuniziert, reichen. Jenseits der Edge-Cloud 110 befinden sich Schichten des Kernnetzwerks 230 und des Cloud-Datenzentrums 240, jeweils mit zunehmender Latenz (z. B. zwischen 50-60 ms an der Kernnetzwerkschicht 230 bis 100 oder mehr ms an der Cloud-Datenzentrumsschicht). Infolgedessen werden Operationen an einem Kernnetzwerk-Datenzentrum 235 oder einem Cloud-Datenzentrum 245 mit Latenzen von mindestens 50 bis 100 ms oder mehr nicht in der Lage sein, viele zeitkritische Funktionen der Verwendungsfälle 205 zu realisieren. Jeder dieser Latenzwerte wird zu Veranschaulichungs- und Kontrastzwecken bereitgestellt; es versteht sich, dass die Verwendung anderer Zugangsnetzwerkmedien und -technologien die Latenzen weiter reduzieren kann. Bei manchen Beispielen können jeweilige Teile des Netzwerks relativ zu einer Netzwerkquelle und einem Netzwerkziel als „Close-Edge“-, „Local-Edge“-, „Near-Edge“-, „Middle-Edge“- oder „Far-Edge“-Schichten kategorisiert sein. Beispielsweise kann aus der Perspektive des Kernnetzwerk-Datenzentrums 235 oder eines Cloud-Datenzentrums 245 ein Zentralen- oder Inhaltsdatennetzwerk als innerhalb einer „Near Edge“-Schicht („nahe“ zu der Cloud, mit hohen Latenzwerten, wenn mit den Vorrichtungen und Endpunkten der Anwendungsfälle 205 kommuniziert wird) befindlich angesehen werden, wohingegen ein Zugangspunkt, eine Basisstation, ein Vor-Ort-Server oder ein Netzwerk-Gateway als innerhalb einer „Far Edge“-Schicht („fern“ von der Cloud, mit niedrigen Latenzwerten, wenn mit den Vorrichtungen und Endpunkten der Anwendungsfälle 205 kommuniziert wird) befindlich angesehen werden können. Es versteht sich, dass andere Kategorisierungen einer bestimmten Netzwerkschicht als eine „Close“, „Local“, „Near“, „Middle“ oder „Far“ Edge bildend auf Latenz, Distanz, Anzahl von Netzwerksprüngen oder anderen messbaren Charakteristiken basieren können, wie von einer Quelle in einer beliebigen der Netzwerkschichten 200-240 gemessen.
  • Die diversen Verwendungsfälle 205 können aufgrund mehrerer Dienste, die die Edge-Cloud nutzen, auf Ressourcen unter Nutzungsdruck von eingehenden Strömen zugreifen. Um Ergebnisse mit niedriger Latenz zu erzielen, gleichen die Dienste, die innerhalb der Edge-Cloud 110 ausgeführt werden, variierende Voraussetzungen in Bezug auf Folgendes aus: (a) Priorität (Durchsatz oder Latenz) und Dienstgüte (QoS: Quality of Service) (z. B. kann Verkehr für ein autonomes Auto eine höhere Priorität als ein Temperatursensor hinsichtlich der Antwortzeitvoraussetzung aufweisen; oder eine Leistungsfähigkeitsempfindlichkeit/-engstelle kann an einer Rechen-/Beschleuniger-, Speicher-, Speicherungs- oder Netzwerkressource in Abhängigkeit von der Anwendung existieren); (b) Zuverlässigkeit und Widerstandsfähigkeit (z. B. müssen manche Eingangsströme bearbeitet und der Verkehr mit missionskritischer Zuverlässigkeit geleitet werden, wohingegen manche anderen Eingangsströme je nach Anwendung einen gelegentlichen Ausfall tolerieren können); und (c) physikalische Beschränkungen (z. B. Leistung, Kühlung und Formfaktor usw.).
  • Die Ende-zu-Ende-Dienstansicht für diese Verwendungsfälle beinhaltet das Konzept eines Dienstflusses und ist mit einer Transaktion assoziiert. Die Transaktion gibt die Gesamtdienstvoraussetzung für die Entität an, die den Dienst konsumiert, sowie die assoziierten Dienste für die Ressourcen, Arbeitslasten, Arbeitsabläufe und Unternehmensfunktions- und Unternehmensebenenvoraussetzungen. Die Dienste, die mit den beschriebenen „Begriffen“ ausgeführt werden, können in jeder Schicht auf eine Weise verwaltet werden, dass Echtzeit- und Laufzeitvertragskonformität für die Transaktion während des Lebenszyklus des Dienstes sichergestellt wird. Wenn einer Komponente in der Transaktion ihr vereinbartes Service Level Agreement (SLA) fehlt, kann das System als Ganzes (Komponenten in der Transaktion) die Fähigkeit bereitstellen, (1) die Auswirkung der SLA-Verletzung zu verstehen und (2) andere Komponenten in dem System zu erweitern, um das gesamte Transaktions-SLA wiederaufzunehmen, und (3) Schritte zu implementieren, um Abhilfe zu schaffen.
  • Dementsprechend kann unter Berücksichtigung dieser Variationen und Dienstleistungsmerkmale Edge-Computing innerhalb der Edge-Cloud 110 die Fähigkeit bereitstellen, mehrere Anwendungen der Verwendungsfälle 205 (z. B. Objektverfolgung, Videoüberwachung, verbundene Autos usw.) in Echtzeit oder nahezu Echtzeit zu versorgen und auf diese zu reagieren und Voraussetzungen für ultraniedrige Latenz für diese mehreren Anwendungen zu erfüllen. Diese Vorteile ermöglichen eine ganz neue Klasse von Anwendungen (z. B. virtuelle Netzwerkfunktionen (VNFs), Function as a Service (FaaS), Edge as a Service (EaaS), Standardprozesse usw.), die herkömmliches Cloud-Computing aufgrund von Latenz oder anderen Einschränkungen nicht nutzen können.
  • Mit den Vorteilen von Edge-Computing ergeben sich jedoch die folgenden Vorbehalte. Die am Edge befindlichen Vorrichtungen sind häufig ressourcenbeschränkt, sodass Druck auf die Nutzung von Edge-Ressourcen besteht. Typischerweise wird dies durch das Pooling von Speicher- und Speicherungsressourcen zur Verwendung durch mehrere Benutzer (Mandanten) und Vorrichtungen adressiert. Der Edge kann leistungs- und kühlungseingeschränkt sein, sodass der Leistungsverbrauch durch die Anwendungen berücksichtigt werden muss, die die meiste Leistung verbrauchen. Es kann inhärente Leistung-Leistungsfähigkeit-Kompromisse in diesen gepoolten Speicherressourcen geben, da viele von ihnen wahrscheinlich neu entwickelte Speichertechnologien verwenden, bei denen höhere Leistung eine größere Speicherbandbreite benötigt. Gleichermaßen sind verbesserte Sicherheit von Hardware und vertrauenswürdigen Root-of-Trust-Funktionen auch erforderlich, da Edge-Orte unbemannt sein können und sogar Zugriffsberechtigung benötigen können (z. B. wenn sie an einem Drittparteistandort untergebracht sind). Derartige Probleme werden in der Edge-Cloud 110 in einer Multi-Mandanten-, Multi-Eigentümer- oder Multi-Zugriffssituation vergrößert, bei der Dienste und Anwendungen von vielen Benutzern angefordert werden, insbesondere, da die Netzwerknutzung dynamisch schwankt und sich die Zusammensetzung der mehreren Beteiligten, Anwendungsfälle und Dienste ändert.
  • Auf einer generischeren Ebene kann ein Edge-Rechensystem so beschrieben werden, dass es eine beliebige Anzahl von Einsätzen an den zuvor besprochenen Schichten umfasst, die in der Edge-Cloud 110 arbeiten (Netzwerkschichten 200-240), die eine Koordination vom Client und verteilten Rechenvorrichtungen bereitstellen. Ein oder mehrere Edge-Gateway-Knoten, ein oder mehrere Edge-Aggregationsknoten und ein oder mehrere Kerndatenzentren können über Schichten des Netzwerks verteilt sein, um eine Implementierung des Edge-Rechensystems durch oder im Auftrag eines Telekommunikationsdienstanbieters („Telco“ oder „TSP“), eines Internet-der-Dinge-Dienstanbieters, eines Cloud-Dienstanbieters (CSP), einer Unternehmensentität oder einer beliebigen anderen Anzahl von Entitäten bereitzustellen. Verschiedene Implementierungen und Konfigurationen des Edge-Rechensystems können dynamisch bereitgestellt werden, wie etwa bei Orchestrierung, um Dienstziele zu erfüllen.
  • Im Einklang mit den hierin bereitgestellten Beispielen kann ein Client-Rechenknoten als eine beliebige Art von Endpunktkomponente, -vorrichtung, -gerät oder anderer Sache umgesetzt sein, die/das dazu in der Lage ist, als ein Erzeuger oder Verbraucher von Daten zu kommunizieren. Ferner bedeutet die Kennzeichnung „Knoten“ oder „Vorrichtung“, wie sie in dem Edge-Rechensystem verwendet wird, nicht notwendigerweise, dass ein solcher Knoten oder eine solche Vorrichtung in einer Client- oder Agenten-/Minion-/Folger-Rolle arbeitet; vielmehr beziehen sich beliebige der Knoten oder Vorrichtungen in dem Edge-Rechensystem auf einzelne Entitäten, Knoten oder Subsysteme, die diskrete oder verbundene Hardware- oder Softwarekonfigurationen beinhalten, um die Edge-Cloud 110 zu ermöglichen oder zu verwenden.
  • Von daher ist die Edge-Cloud 110 aus Netzwerkkomponenten und Funktionsmerkmalen gebildet, die durch und innerhalb von Edge-Gateway-Knoten, Edge-Aggregationsknoten oder anderen Edge-Rechenknoten unter den Netzwerkschichten 210-A230 betrieben werden. Die Edge-Cloud 110 kann somit als eine beliebige Art von Netzwerk ausgebildet sein, das Edge-Rechen- und/oder Speicherungsressourcen bereitstellt, die sich in der Nähe von Funkzugangsnetzwerk(RAN)-fähigen Endpunktvorrichtungen (z. B. Mobilrechenvorrichtungen, IoT-Vorrichtungen, Smart-Vorrichtungen usw.) befinden, die hierin besprochen sind. Anders ausgedrückt kann man sich die Edge-Cloud 110 als ein „Rand“ vorstellen, der die Endpunktvorrichtungen und traditionelle Netzwerkzugangspunkte verbindet, die als ein Zutrittspunkt zu Kernnetzwerken von Dienstanbietern dienen, einschließlich Mobilträgernetzen (z. B. GSM-Netze (GSM: Global System for Mobile Communications), Long-Term-Evolution(LTE)-Netze, 5G/6G-Netze usw.), während er auch Speicherungs- oder Rechenfähigkeiten bereitstellt. Andere Arten und Formen von Netzwerkzugang (z. B. WiFi, Long-Range-Wireless, drahtgebundene Netzwerke einschließlich optischer Netzwerke usw.) können auch anstelle von oder in Kombination mit solchen 3GPP-Trägernetzen genutzt werden.
  • Die Netzwerkkomponenten der Edge-Cloud 110 können Server, Multi-Mandanten-Server, Geräterechenvorrichtungen und/oder eine beliebige andere Art von Rechenvorrichtungen sein. Zum Beispiel kann die Edge-Cloud 110 eine Geräterechenvorrichtung beinhalten, die eine eigenständige elektronische Einrichtung mit einer Einhausung, einem Chassis, einem Gehäuse oder einer Schale ist. Unter manchen Umständen kann die Einhausung für eine Tragbarkeit dimensioniert sein, sodass sie von einem Menschen getragen und/oder versandt werden kann. Beispielhafte Einhausungen können Materialien beinhalten, die eine oder mehrere Außenflächen bilden, die Inhalte des Geräts teilweise oder vollständig schützen, wobei der Schutz Wetterschutz, Schutz in gefährlichen Umgebungen (z. B. elektromagnetische Störungen (EMI), Vibration, extreme Temperaturen usw.) beinhalten kann und/oder Eintauchbarkeit ermöglichen kann. Beispielhafte Einhausungen können Leistungsschaltungsanordnungen beinhalten, um Leistung für stationäre und/oder tragbare Implementierungen bereitzustellen, wie etwa Wechselstrom(AC)-Leistungseingänge, Gleichstrom(DC)-Leistungseingänge, einen oder mehrere AC/DC-Wandler, einen oder mehrere DC/AC-Wandler, einen oder mehrere DC/DC-Wandler, Leistungsregler, Transformatoren, Ladeschaltungsanordnungen, Batterien, drahtgebundene Eingänge und/oder drahtlose Leistungseingänge. Beispielhafte Einhausungen und/oder Oberflächen davon können Montagehardware beinhalten oder mit dieser verbunden sein, um eine Befestigung an Strukturen, wie etwa Gebäuden, Telekommunikationsstrukturen (z. B. Masten, Antennenstrukturen usw.) und/oder Racks (z. B. Server-Racks, Bladebefestigungen usw.), zu ermöglichen. Beispielhafte Einhausungen und/oder Oberflächen davon können einen oder mehrere Sensoren (z. B. Temperatursensoren, Vibrationssensoren, Lichtsensoren, Akustiksensoren, kapazitive Sensoren, Näherungssensoren, Infrarot- oder andere visuelle Wärmesensoren usw.) unterstützen. Ein oder mehrere derartige Sensoren können in der Oberfläche enthalten, von dieser getragen oder anderweitig eingebettet und/oder an der Oberfläche des Geräts montiert sein. Beispielhafte Einhausungen und/oder Oberflächen davon können mechanische Konnektivität unterstützen, wie etwa Antriebshardware (z. B. Räder, Rotoren wie etwa Propeller usw.) und/oder Gelenkhardware (z. B. Roboterarme, schwenkbare Anhänge usw.). Unter manchen Umständen können die Sensoren eine beliebige Art von Eingabevorrichtungen beinhalten, wie etwa Benutzerschnittstellenhardware (z. B. Tasten, Schalter, Wählscheiben, Schieber, Mikrofone usw.). Unter manchen Umständen beinhalten die Einhausungen Ausgabevorrichtungen, die in ihnen enthalten sind, von ihnen getragen werden, in sie eingebettet und/oder an ihnen befestigt sind. Ausgabevorrichtungen können Anzeigen, Touchscreens, Leuchten, Leuchtdioden (LEDs), Lautsprecher, Eingabe/Ausgabe(E/A)-Ports (z. B. Universal Serial Bus (USB)) usw. beinhalten. Unter manchen Umständen sind Edge-Vorrichtungen Vorrichtungen, die im Netzwerk für einen spezifischen Zweck (z. B. eine Verkehrsampel) präsentiert werden, können aber Verarbeitungs- und/oder andere Kapazitäten aufweisen, die für andere Zwecke genutzt werden können. Solche Edge-Vorrichtungen können unabhängig von anderen vernetzten Vorrichtungen sein und können mit einer Einhausung ausgestattet sein, die einen Formfaktor aufweist, der für seinen primären Zweck geeignet ist; aber dennoch für andere Rechenaufgaben verfügbar ist, die ihre primäre Aufgabe nicht stören. Edge-Vorrichtungen beinhalten Internet-der-Dinge-Vorrichtungen. Die Geräterechenvorrichtung kann Hardware- und Softwarekomponenten beinhalten, um lokale Probleme, wie etwa Vorrichtungstemperatur, Vibration, Ressourcenausnutzung, Aktualisierungen, Leistungsprobleme, physische Sicherheit und Netzwerksicherheit usw., zu verwalten. Beispielhafte Hardware zum Implementieren einer Geräterechenvorrichtung ist in Verbindung mit 7 beschrieben. Die Edge-Cloud 110 kann auch einen oder mehrere Server und/oder einen oder mehrere Multi-Mandanten-Server beinhalten. Ein solcher Server kann ein Betriebssystem enthalten und eine virtuelle Rechenumgebung implementieren. Eine virtuelle Rechenumgebung kann einen Hypervisor beinhalten, der eine oder mehrere virtuelle Maschinen, einen oder mehrere Container usw. verwaltet (z. B. spawnt, einsetzt, in Dienst stellt, zerstört, außer Betrieb nimmt usw.). Derartige virtuelle Rechenumgebungen stellen eine Ausführungsumgebung bereit, in der eine oder mehrere Anwendungen und/oder andere Software, anderer Code oder andere Skripte ausgeführt werden können, während sie von einer oder mehreren anderen Anwendungen, Software, Code oder Skripten isoliert sind.
  • In 3 tauschen verschiedene Client-Endpunkte 310 (in Form von Mobilvorrichtungen, Computern, autonomen Fahrzeugen, Unternehmens-Rechenausrüstung, industrieller Verarbeitungsausrüstung) Anfragen und Antworten aus, die für die Art der Endpunktnetzwerkaggregation spezifisch sind. Beispielsweise können Client-Endpunkte 310 Netzwerkzugang über ein drahtgebundenes Breitbandnetzwerk erhalten, indem Anfragen und Antworten 322 durch ein Vor-Ort-Netzwerksystem 332 ausgetauscht werden. Manche Client-Endpunkte 310, wie etwa mobile Rechenvorrichtungen, können Netzwerkzugang über ein drahtloses Breitbandnetzwerk erhalten, indem Anforderungen und Antworten 324 durch einen Zugangspunkt (z. B. einen Mobilfunkturm) 334 ausgetauscht werden. Manche Client-Endpunkte 310, wie etwa autonome Fahrzeuge, können Netzwerkzugang für Anforderungen und Antworten 326 über ein drahtloses Fahrzeugnetzwerk durch ein auf Straßen angeordnetes Netzwerksystem 336 erhalten. Unabhängig von der Art des Netzwerkzugangs kann der TSP jedoch Aggregationspunkte 342, 344 innerhalb der Edge-Cloud 110 einsetzen, um Verkehr und Anforderungen zu aggregieren. Somit kann der TSP innerhalb der Edge-Cloud 110 verschiedene Rechen- und Speicherungsressourcen einsetzen, wie etwa bei Edge-Aggregationsknoten 340, um angeforderten Inhalt bereitzustellen. Die Edge-Aggregationsknoten 340 und andere Systeme der Edge-Cloud 110 sind mit einer Cloud oder einem Datenzentrum 360 verbunden, die/das ein Backhaul-Netzwerk 350 verwendet, um Anforderungen mit höherer Latenz von einer Cloud/einem Datenzentrum für Websites, Anwendungen, Datenbankserver usw. zu erfüllen. Zusätzliche oder konsolidierte Instanzen der Edge-Aggregationsknoten 340 und der Aggregationspunkte 342, 344, einschließlich jener, die auf einem einzigen Server-Framework eingesetzt werden, können auch innerhalb der Edge-Cloud 110 oder anderer Bereiche der TSP-Infrastruktur vorhanden sein.
  • 4 veranschaulicht den Einsatz und die Orchestrierung für virtualisierte und containerbasierte Edge-Konfigurationen über ein Edge-Computing-System, das zwischen mehreren Edge-Knoten und mehreren Mandanten (z. B. Benutzern, Anbietern) betrieben wird, die solche Edge-Knoten verwenden. Insbesondere stellt 4 die Koordination eines ersten Edge-Knotens 422 und eines zweiten Edge-Knotens 424 in einem Edge-Rechensystem 400 dar, um Anforderungen und Antworten für verschiedene Client-Endpunkte 410 (z. B. Smart-Städte/-Gebäude-Systeme, Mobilvorrichtungen, Rechenvorrichtungen, Unternehmens-/Logistiksysteme, Industriesysteme usw.) zu erfüllen, die auf verschiedene virtuelle Edge-Instanzen zugreifen. Hier stellen die virtuellen Edge-Instanzen 432, 434 Edge-Rechenfähigkeiten und Verarbeitung in einer Edge-Cloud mit Zugriff auf eine Cloud/ein Datenzentrum 440 für Anforderungen mit höherer Latenz für Websites, Anwendungen, Datenbankserver usw. bereit. Die Edge-Cloud ermöglicht jedoch eine Koordination der Verarbeitung zwischen mehreren Edge-Knoten für mehrere Mandanten oder Entitäten.
  • In dem Beispiel von 4 beinhalten diese virtuellen Edge-Instanzen: einen ersten virtuellen Edge 432, der einem ersten Mandanten (Mandant 1) angeboten wird und eine erste Kombination von Edge-Speicherung, -Berechnung und -Diensten anbietet; und einen zweiten virtuellen Edge 434, der einem zweiten Mandanten (Mandant 2) angeboten wird, der eine zweite Kombination von Edge-Speicherung, -Berechnung und -Diensten anbietet. Die virtuellen Edge-Instanzen 432, 434 sind unter den Edge-Knoten 422, 424 verteilt und können Szenarien beinhalten, in denen eine Anforderung und Antwort von demselben oder unterschiedlichen Edge-Knoten erfüllt werden. Die Konfiguration der Edge-Knoten 422, 424 zum Arbeiten auf eine verteilte, aber koordinierte Weise findet basierend auf Edge-Bereitstellungsfunktionen 450 statt. Die Funktionalität der Edge-Knoten 422, 424 zum Bereitstellen eines koordinierten Betriebs für Anwendungen und Dienste unter mehreren Mandanten findet basierend auf Orchestrierungsfunktionen 460 statt.
  • Es versteht sich, dass manche der Vorrichtungen in 410 Multi-Mandanten-Vorrichtungen sind, wobei Mandant 1 innerhalb eines Mandant1-„Slice“ funktionieren kann, während ein Mandant 2 innerhalb eines Mandant2-Slice funktionieren kann (und, in weiteren Beispielen können zusätzliche oder Sub-Mandanten existieren; und jeder Mandant kann sogar spezifisch berechtigt und transaktionell an einen spezifischen Satz von Merkmalen bis hin zu spezifischen Hardwaremerkmalen gebunden sein). Eine vertrauenswürdige Multi-Mandanten-Vorrichtung kann ferner einen mandantenspezifischen kryptografischen Schlüssel enthalten, sodass die Kombination aus Schlüssel und Slice als eine „Root of Trust“ (RoT) oder mandantenspezifische RoT angesehen werden kann. Eine RoT kann ferner dynamisch unter Verwendung einer DICE-Architektur (DICE: Device Identity Composition Engine) berechnet werden, sodass ein einzelner DICE-Hardwarebaustein verwendet werden kann, um geschichtete vertrauenswürdige Rechenbasiskontexte zum Schichten von Vorrichtungsfähigkeiten (wie etwa ein feldprogrammierbares Gate-Array (FPGA)) zu konstruieren. Die RoT kann ferner für einen vertrauenswürdigen Rechenkontext verwendet werden, um einen „Fan-Out“ zu ermöglichen, der zum Unterstützen von Multi-Mandanten nützlich ist. Innerhalb einer Multi-Mandanten-Umgebung können die jeweiligen Edge-Knoten 422, 424 als Sicherheitsmerkmaldurchsetzungspunkte für lokale Ressourcen arbeiten, die mehreren Mandanten pro Knoten zugewiesen sind. Zusätzlich dazu können Mandantenlaufzeit und Anwendungsausführung (z. B. in den Fällen 432, 434) als ein Durchsetzungspunkt für ein Sicherheitsmerkmal dienen, das eine virtuelle Edge-Abstraktion von Ressourcen erzeugt, die potenziell mehrere physische Hosting-Plattformen überspannen. Schließlich können die Orchestrierungsfunktionen 460 an einer Orchestrierungsentität als ein Sicherheitsmerkmaldurchsetzungspunkt zum Marshalling von Ressourcen entlang Mandantengrenzen arbeiten.
  • Edge-Rechenknoten können Ressourcen (Speicher, Zentralverarbeitungseinheit (CPU), Grafikverarbeitungseinheit (GPU), Interrupt-Steuerung, Eingabe/Ausgabe(E/A)-Steuerung, Speichersteuerung, Bussteuerung usw.) partitionieren, wobei jeweilige Partitionierungen eine RoT-Fähigkeit enthalten können und wobei Fan-Out und Schichtbildung gemäß einem DICE-Modell ferner auf Edge-Knoten angewendet werden können. Cloud-Rechenknoten verwenden häufig Container, FaaS-Engines, Servlets, Server oder eine andere Berechnungsabstraktion, die gemäß einer DICE-Schichtbildungs- und -Fan-out-Struktur partitioniert werden können, um jeweils einen RoT-Kontext zu unterstützen. Dementsprechend können die jeweiligen Vorrichtungen 410, 422 und 440, die RoTs überspannen, die Erstellung einer verteilten vertrauenswürdigen Rechenbasis (DTCB: Distributed Trusted Computing Base) koordinieren, sodass ein mandantenspezifischer virtueller vertrauenswürdiger sicherer Kanal, der alle Elemente Ende-zu-Ende verknüpft, erstellt werden kann.
  • Ferner versteht es sich, dass ein Container daten- oder arbeitslastspezifische Schlüssel aufweisen kann, die seinen Inhalt vor einem vorherigen Edge-Knoten schützen. Als Teil der Migration eines Containers kann eine Pod-Steuerung an einem Quell-Edge-Knoten einen Migrationsschlüssel von einer Ziel-Edge-Knoten-Pod-Steuerung erhalten, wobei der Migrationsschlüssel zum Wrappen der containerspezifischen Schlüssel verwendet wird. Wenn der Container/Pod zu dem Ziel-Edge-Knoten migriert wird, wird der Unwrapping-Schlüssel der Pod-Steuerung preisgegeben, die dann die gewrappten Schlüssel entschlüsselt. Die Schlüssel können nun zur Durchführung von Operationen an containerspezifischen Daten verwendet werden. Die Migrationsfunktionen können durch korrekt attestierte Edge-Knoten und Pod-Manager (wie oben beschrieben) angesteuert werden.
  • In weiteren Beispielen wird ein Edge-Rechensystem erweitert, um Orchestrierung mehrerer Anwendungen durch die Verwendung von Containern (einer eingebundenen, einsetzbaren Softwareeinheit, die Code und benötigte Abhängigkeiten bereitstellt) in einer Multi-Eigentümer-, Multi-Mandanten-Umgebung bereitzustellen. Ein Multi-Mandanten-Orchestrator kann verwendet werden, um Schlüsselverwaltung, Vertrauensanker-Verwaltung und andere Sicherheitsfunktionen in Bezug auf die Bereitstellung und den Lebenszyklus des vertrauenswürdigen „Slice“-Konzepts in 4 durchzuführen. Beispielsweise kann ein Edge-Rechensystem dazu konfiguriert sein, Anforderungen und Antworten für verschiedene Client-Endpunkte von mehreren virtuellen Edge-Instanzen (und von einer Cloud oder einem entfernten Datenzentrum) zu erfüllen. Die Verwendung dieser virtuellen Edge-Instanzen kann mehrere Mandanten und mehrere Anwendungen (z. B. Augmented Reality (AR)/Virtual Reality (VR), Unternehmensanwendungen, Inhaltslieferung, Gaming, Rechen-Offload usw.) gleichzeitig unterstützen. Ferner kann es mehrere Arten von Anwendungen innerhalb der virtuellen Edge-Instanzen geben (z. B. normale Anwendungen; latenzempfindliche Anwendungen; latenzkritische Anwendungen; Benutzerebenenanwendungen; Networking-Anwendungen usw.). Die virtuellen Edge-Instanzen können auch über Systeme mehrerer Eigentümer an unterschiedlichen geographischen Orten (oder jeweilige Rechensysteme und Ressourcen, den mehreren Eigentümern gemeinsam gehören oder gemeinsam von diesen verwaltet werden) gespannt sein.
  • Beispielsweise kann jeder Edge-Knoten 422, 424 die Verwendung von Containern implementieren, wie etwa unter Verwendung eines Container-„Pods“ 426, 428, der eine Gruppe von einem oder mehreren Containern bereitstellt. In einer Einstellung, die eine oder mehrere Container-Pods verwendet, ist eine Pod-Steuerung oder ein Orchestrator für die lokale Steuerung und Orchestrierung der Container im Pod verantwortlich. Verschiedene Edge-Knotenressourcen (z. B. Speicherung, Berechnung, Dienste, dargestellt mit Hexagonen), die für die jeweiligen Edge-Slices 432, 434 bereitgestellt werden, werden gemäß den Bedürfnissen jedes Containers partitioniert.
  • Bei der Verwendung von Container-Pods übersieht eine Pod-Steuerung die Partitionierung und Zuweisung von Containern und Ressourcen. Die Pod-Steuerung empfängt Anweisungen von einem Orchestrator (z. B. Orchestrator 460), die Steuerung darüber anzuweisen, wie und für welche Dauer physische Ressourcen am besten zu partitionieren sind, wie etwa durch Empfangen von KPI(Key Performance Indicator)-Zielen basierend auf SLA-Verträgen. Die Pod-Steuerung bestimmt, welcher Container welche Ressourcen und für wie lange benötigt, um die Arbeitslast abzuschließen und das SLA zu erfüllen. Die Pod-Steuerung verwaltet auch Container-Lebenszyklusvorgänge, wie etwa: Erzeugen des Containers, Versehen desselben mit Ressourcen und Anwendungen, Koordinieren von Zwischenergebnissen zwischen mehreren Containern, die auf einer verteilten Anwendung zusammenarbeiten, Zerlegen von Containern, wenn die Arbeitslast abgeschlossen ist, und dergleichen. Zusätzlich dazu kann die Pod-Steuerung eine Sicherheitsrolle spielen, die eine Zuweisung von Ressourcen verhindert, bis sich der rechte Mandant authentifiziert, oder eine Bereitstellung von Daten oder einer Arbeitslast an einen Container verhindert, bis ein Attestierungsergebnis erfüllt ist.
  • Auch bei der Verwendung von Container-Pods können Mandantengrenzen weiterhin existieren, jedoch im Kontext jedes Pods von Containern. Falls jeder mandantenspezifische Pod eine mandantenspezifische Pod-Steuerung aufweist, wird es eine gemeinsam genutzte Pod-Steuerung geben, die Ressourcenzuweisungsanforderungen konsolidiert, um typische Ressourcenmangelsituationen zu vermeiden. Weitere Steuerungen können vorgesehen sein, um eine Attestierung und Vertrauenswürdigkeit des Pods und der Pod-Steuerung zu gewährleisten. Beispielsweise kann der Orchestrator 460 lokalen Pod-Steuerungen, die eine Attestierungsverifizierung durchführen, eine Attestierungsverifizierungsrichtlinie bereitstellen. Falls eine Attestierung eine Richtlinie für eine erste Mandanten-Pod-Steuerung, aber nicht eine zweite Mandanten-Pod-Steuerung erfüllt, dann könnte der zweite Pod zu einem anderen Edge-Knoten migriert werden, der ihn erfüllt. Alternativ dazu kann dem ersten Pod erlaubt werden, ausgeführt zu werden, und eine andere gemeinsam genutzte Pod-Steuerung wird installiert und aufgerufen, bevor der zweite Pod ausgeführt wird.
  • 5 veranschaulicht zusätzliche Rechenanordnungen, die Container in einem Edge-Rechensystem einsetzen. Als ein vereinfachtes Beispiel stellen die Systemanordnungen 510, 520 Einstellungen dar, bei denen eine Pod-Steuerung (z. B. Container-Manager 511, 521 und Container-Orchestrator 531) dazu ausgelegt ist, containerisierte Pods, Funktionen und FaaS-Instanzen durch Ausführung über Rechenknoten (515 in Anordnung 510) zu starten oder containerisierte virtualisierte Netzwerkfunktionen durch Ausführung über Rechenknoten (523 in Anordnung 520) separat auszuführen. Diese Anordnung ist zur Verwendung mehrerer Mandanten in der Systemanordnung 530 (unter Verwendung von Rechenknoten 537) eingerichtet, wobei containerisierte Pods (z. B. Pods 512), Funktionen (z. B. Funktionen 513, VNFs 522, 536) und Functions-as-a-Service-Instanzen (z. B. FaaS-Instanz 514) innerhalb virtueller Maschinen (z. B. VMs 534, 535 für Mandanten 532, 533) gestartet werden, die für jeweilige Mandanten spezifisch sind (abgesehen von der Ausführung virtualisierter Netzwerkfunktionen). Diese Anordnung ist ferner zur Verwendung in der Systemanordnung 540 eingerichtet, die Container 542, 543 oder die Ausführung der verschiedenen Funktionen, Anwendungen und Funktionen auf den Rechenknoten 544 bereitstellt, wie durch ein containerbasiertes Orchestrierungs system 541 koordiniert.
  • Die in 5 dargestellten Systemanordnungen stellen eine Architektur bereit, die VMs, Container und Funktionen hinsichtlich der Anwendungszusammensetzung gleich behandelt (und resultierende Anwendungen sind Kombinationen dieser drei Bestandteile). Jeder Bestandteil kann die Verwendung einer oder mehrerer Beschleuniger(z. B. FPGA, ASIC usw.)-Komponenten als ein lokales Backend beinhalten. Auf diese Weise können Anwendungen über mehrere Edge-Eigentümer aufgeteilt werden, koordiniert durch einen Orchestrator.
  • Im Kontext von 5 können die Pod-Steuerung/der Container-Manager, der Container-Orchestrator und die einzelnen Knoten einen Sicherheitsvollzugspunkt bereitstellen. Die Mandantenisolation kann jedoch orchestriert werden, wobei sich die Ressourcen, die einem Mandanten zugewiesen sind, von Ressourcen unterscheiden, die einem zweiten Mandanten zugewiesen sind, aber Edge-Eigentümer kooperieren, um zu gewährleisten, dass Ressourcenzuweisungen nicht über Mandantengrenzen hinweg geteilt werden. Oder Ressourcenzuweisungen könnten über Mandantengrenzen hinweg isoliert werden, da Mandanten eine „Verwendung“ über eine Subskriptions- oder Transaktions-/Vertragsbasis ermöglichen könnten. In diesen Zusammenhängen können Virtualisierungs-, Containerisierungs-, Enklaven- und Hardwarepartitionierungsschemen von Edge-Eigentümern verwendet werden, um die Mandanten zu vollziehen. Andere Isolationsumgebungen können beinhalten: Bare-Metal(dedizierte)-Geräte, virtuelle Maschinen, Container, virtuelle Maschinen auf Containern oder Kombinationen davon.
  • Bei weiteren Beispielen können Aspekte von softwaredefinierter oder gesteuerter Siliziumhardware und anderer konfigurierbarer Hardware mit den Anwendungen, Funktionen und Diensten eines Edge-Rechensystems integrieren. Softwaredefiniertes Silizium (SDSi) kann verwendet werden, um zu gewährleisten, dass mancher Ressourcen- oder Hardwarebestandteil einen Vertrag oder ein Service-Level-Agreement erfüllen kann, basierend auf der Fähigkeit des Bestandteils, einen Teil von sich selbst oder die Arbeitslast zu beheben (z. B. durch ein Upgrade, eine Rekonfiguration oder eine Bereitstellung neuer Merkmale innerhalb der Hardwarekonfiguration selbst).
  • 6 stellt einen Überblick über beispielhafte Komponenten zur Berechnung bereit, die an einem Rechenknoten in einem Edge-Rechensystem eingesetzt werden.
  • 7 stellt einen weiteren Überblick über beispielhafte Komponenten innerhalb einer Rechenvorrichtung in einem Edge-Rechensystem bereit.
  • In weiteren Beispielen können beliebige der Rechenknoten oder -vorrichtungen, die unter Bezugnahme auf die vorliegenden Edge-Computing-Systeme und -Umgebung besprochen wurden, basierend auf den Komponenten, die in den 6 und 7 dargestellt sind, verwirklicht werden. Jeweilige Edge-Rechenknoten können als ein Typ von Vorrichtung, Gerät, Computer oder anderem „Ding“ umgesetzt sein, die in der Lage sind, mit anderen Edge-, Netzwerk- oder Endpunktkomponenten zu kommunizieren. Zum Beispiel kann eine Edge-Rechenvorrichtung als ein Personal Computer, ein Server, ein Smartphone, eine mobile Rechenvorrichtung, ein Smart-Gerät, ein fahrzeuginternes Rechensystem (z. B. ein Navigationssystem), eine eigenständige Vorrichtung mit einem Außengehäuse, einer Umhüllung usw. oder eine andere Vorrichtung oder ein anderes System, die/das in der Lage ist, die beschriebenen Funktionen durchzuführen, umgesetzt sein.
  • Im in 6 gezeigten vereinfachten Beispiel beinhaltet ein Edge-Rechenknoten 600 eine Rechen-Engine (hierin auch als „Berechnungsschaltungsanordnung“ bezeichnet) 602, ein Eingabe/Ausgabe(E/A)-Subsystem (hierin auch als „E/A-Schaltungsanordnung“ bezeichnet) 608, eine Datenspeicherung (hierin auch als „Datenspeicherungsschaltungsanordnung“ bezeichnet) 610, ein Kommunikationsschaltungsanordnung-Subsystem 612 und optional eine oder mehrere Peripherievorrichtungen (hierin auch als „Peripherievorrichtungsschaltungsanordnung“ bezeichnet) 614. In anderen Beispielen können jeweilige Rechenvorrichtungen andere oder zusätzliche Komponenten enthalten, wie etwa jene, die üblicherweise in einem Computer zu finden sind (z. B. eine Anzeige, Peripherievorrichtungen usw.). Zusätzlich dazu können in manchen Beispielen eine oder mehrere der veranschaulichenden Komponenten in eine andere Komponente integriert sein oder anderweitig einen Teil davon bilden.
  • Der Rechenknoten 600 kann als eine beliebige Art von Engine, Vorrichtung oder Sammlung von Vorrichtungen umgesetzt sein, die in der Lage sind, verschiedene Rechenfunktionen durchzuführen. Bei manchen Beispielen kann der Rechenknoten 600 als eine einzige Vorrichtung ausgeführt sein, wie etwa eine integrierte Schaltung, ein eingebettetes System, ein feldprogrammierbares Gate-Array (FPGA), ein System-on-Chip (SOC) oder ein anderes integriertes System oder eine andere integrierte Vorrichtung. Bei dem veranschaulichenden Beispiel beinhaltet der Rechenknoten 600 einen Prozessor (hierin auch als „Prozessorschaltungsanordnung“ bezeichnet) 604 und einen Speicher (hierin auch als „Speicherschaltungsanordnung“ bezeichnet) 606 oder ist als dieser ausgeführt. Der Prozessor 604 kann als eine beliebige Art von Prozessor(en) umgesetzt sein, der in der Lage ist, die hierin beschriebenen Funktionen (z. B. Ausführen einer Anwendung) durchzuführen. Der Prozessor 604 kann zum Beispiel als ein oder mehrere Mehrkernprozessoren, ein Mikrocontroller, eine Verarbeitungseinheit, eine spezialisierte oder SpezialVerarbeitungseinheit oder ein anderer Prozessor oder eine andere Verarbeitungs-/Steuerschaltung umgesetzt sein.
  • Bei manchen Beispielen kann der Prozessor 604 als ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), rekonfigurierbare Hardware oder Hardwareschaltungsanordnung oder andere spezialisierte Hardware umgesetzt sein, diese beinhalten oder mit diesen gekoppelt sein, um eine Leistungsfähigkeit der hierin beschriebenen Funktionen zu ermöglichen. Bei manchen Beispielen kann der Prozessor 604 auch als eine spezialisierte x-Verarbeitungseinheit (xPU) umgesetzt sein, die auch als eine Datenverarbeitungseinheit (DPU), eine Infrastrukturverarbeitungseinheit (IPU) oder eine Netzwerkverarbeitungseinheit (NPU) bekannt ist. Eine solche xPU kann als eine eigenständige Schaltung oder ein eigenständiges Schaltungs-Package umgesetzt sein, innerhalb eines SOC integriert sein oder mit einer Networking-Schaltungsanordnung (z. B. in einer SmartNIC oder erweiterten SmartNIC), einer Beschleunigungsschaltungsanordnung, Speicherungsvorrichtungen, Speicherungsplatten oder KI-Hardware (z. B. GPUs, programmierte FPGAs oder ASICs, die zum Implementieren eines KI-Modells wie etwa eines neuronalen Netzwerks zugeschnitten sind) integriert sein. Eine solche xPU kann dazu ausgelegt sein, eine Programmierung zu empfangen, abzurufen und/oder anderweitig zu erhalten, um einen oder mehrere Datenströme zu verarbeiten und spezifische Aufgaben und Aktionen für die Datenströme durchzuführen (wie etwa Hosten von Mikrodiensten, Durchführen von Dienstverwaltung oder Orchestrierung, Organisieren oder Verwalten von Server- oder Datenzentrum-Hardware, Verwalten von Dienst-Meshes oder Sammeln und Verteilen von Telemetrie), außerhalb der CPU oder Allzweckverarbeitungshardware. Es versteht sich jedoch, dass eine xPU, ein SOC, eine CPU und andere Variationen des Prozessors 604 koordiniert miteinander arbeiten können, um viele Arten von Operationen und Anweisungen innerhalb und im Auftrag des Rechenknotens 600 auszuführen.
  • Der Speicher 606 kann als ein beliebiger Typ von flüchtigem (z. B. dynamischer Direktzugriffsspeicher (DRAM) usw.) oder nichtflüchtigem Speicher oder flüchtiger oder nichtflüchtiger Datenspeicherung umgesetzt sein, der/die in der Lage ist, die hierin beschriebenen Funktionen durchzuführen. Ein flüchtiger Speicher kann ein Speicherungsmedium sein, das Leistung zum Aufrechterhalten des Zustands von durch das Medium gespeicherten Daten benötigt. Nichtbeschränkende Beispiele für flüchtigen Speicher können verschiedene Typen von Direktzugriffsspeicher (RAM), wie etwa DRAM oder statischen Direktzugriffsspeicher (SRAM), einschließen. Ein bestimmter Typ von DRAM, der in einem Speichermodul verwendet werden kann, ist synchroner dynamischer Direktzugriffsspeicher (SDRAM).
  • In einem Beispiel ist die Speichervorrichtung (z. B. die Speicherschaltungsanordnung) eine beliebige Anzahl von blockadressierbaren Speichervorrichtungen, wie etwa jene, die auf NAND- oder NOR-Technologien basieren (zum Beispiel Single-Level-Cell („SLC“), Multi-Level-Cell („MLC“), Quad-Level-Cell („QLC““), Tri-Level-Cell („TLC“) oder irgendein anderes NAND). In manchen Beispielen beinhaltet/beinhalten die Speichervorrichtung(en) eine byteadressierbare dreidimensionale Write-in-Place-Crosspoint-Speichervorrichtung oder andere byteadressierbare nichtflüchtige Write-in-Place-Speichervorrichtungen (Write-in-Place-NVM-Vorrichtungen), wie etwa Einzel- oder Mehrfachpegel-Phasenwechselspeicher (PCM) oder Phasenwechselspeicher mit einem Switch (PCMS), NVM-Vorrichtungen, die Chalkogenid-Phasenwechselmaterial (zum Beispiel Chalkogenidglas) verwenden, resistiven Speicher einschließlich Metalloxidbasis-, Sauerstoffleerstellenbasis- und Conductive-Bridge-Direktzugriffsspeicher (CB-RAM), Nanodrahtspeicher, ferroelektrischen Transistor-Direktzugriffsspeicher (FeTRAM), magnetoresistiven Direktzugriffsspeicher (MRAM) mit Memristortechnologie, Spin-Transfer-Torque(STT)-MRAM, eine auf spintronischem Magnetübergangsspeicher basierende Vorrichtung, eine auf Magnettunnelkontakt (MTJ) basierende Vorrichtung, eine auf Domänenwand (DW) und SOT (Spin-Orbit Transfer) basierende Vorrichtung, eine auf Thyristoren basierende Speichervorrichtung, eine Kombination aus beliebigen der vorstehenden oder einen anderen geeigneten Speicher. Eine Speichervorrichtung kann auch eine dreidimensionale Crosspoint-Speichervorrichtung (z. B. Intel® 3D XPoint™-Speicher) oder andere byteadressierbare nichtflüchtige Speichervorrichtungen mit ortsfestem Schreiben beinhalten. Die Speichervorrichtung kann sich auf den Die selbst und/oder auf ein gekapseltes Speicherprodukt beziehen. Bei manchen Beispielen kann der 3D-Crosspoint-Speicher (z. B. Intel® 3D XPoint™ Speicher) eine transistorlose stapelbare Crosspoint-Architektur beinhalten, bei der Speicherzellen am Schnittpunkt von Wortleitungen und Bitleitungen sitzen und einzeln adressierbar sind und bei der die Bitspeicherung auf einer Änderung des Volumenwiderstands basiert. Bei manchen Beispielen kann der gesamte oder ein Teil des Speichers 606 in den Prozessor 604 integriert sein. Der Speicher 606 kann verschiedene Software und Daten speichern, die während des Betriebs verwendet werden, wie etwa eine oder mehrere Anwendungen, Daten, die durch die Anwendung(en) bearbeitet werden, Bibliotheken und Treiber.
  • Bei manchen Beispielen beinhalten widerstandsbasierte und/oder transistorlose Speicherarchitekturen Phasenwechselspeicher(PCM)-Vorrichtungen im Nanometermaßstab, in denen sich ein Volumen von Phasenwechselmaterial zwischen mindestens zwei Elektroden befindet. Teile des beispielhaften Phasenwechselmaterials zeigen variierende Grade von kristallinen Phasen und amorphen Phasen, wobei variierende Widerstandsgrade zwischen den mindestens zwei Elektroden gemessen werden können. In manchen Beispielen ist das Phasenwechselmaterial ein Chalkogenid-basiertes Glasmaterial. Solche resistiven Speichervorrichtungen werden manchmal als memristive Vorrichtungen bezeichnet, die sich an die Vorgeschichte des Stroms erinnern, der zuvor durch sie geflossen ist. Gespeicherte Daten werden aus beispielhaften PCM-Vorrichtungen abgerufen, indem der elektrische Widerstand gemessen wird, wobei die kristallinen Phasen einen oder mehrere relativ niedrigere Widerstandswerte (z. B. logisch „0“) zeigen, im Gegensatz zu den amorphen Phasen mit einem oder mehreren relativ höheren Widerstandswerten (z. B. logisch „1“).
  • Beispielhafte PCM-Vorrichtungen speichern Daten für lange Zeiträume (z. B. ungefähr 10 Jahre bei Raumtemperatur). Schreiboperationen in beispielhafte PCM-Vorrichtungen (z. B. Setzen auf logisch „0“, Setzen auf logisch „1“, Setzen auf einen zwischenliegenden Widerstandswert) werden durch Anlegen eines oder mehrerer Stromimpulse an die mindestens zwei Elektroden erreicht, wobei die Impulse eine bestimmte Stromstärke und -dauer aufweisen. Beispielsweise bewirkt ein langer Niedrigstromimpuls (SET), der an die mindestens zwei Elektroden angelegt wird, dass sich die beispielhafte PCM-Vorrichtung in einem kristallinen Zustand mit niedrigem Widerstand befindet, während ein vergleichsweise kurzer Hochstromimpuls (RESET), der an die mindestens zwei Elektroden angelegt wird, bewirkt, dass sich die beispielhafte PCM-Vorrichtung in einem amorphen Zustand mit hohem Widerstand befindet.
  • In manchen Beispielen ermöglicht die Implementierung von PCM-Vorrichtungen Nicht-von-Neumann-Rechenarchitekturen, die In-Memory-Rechenfähigkeiten ermöglichen. Allgemein gesprochen beinhalten traditionelle Rechenarchitekturen eine Zentralverarbeitungseinheit (CPU), die über einen Bus kommunikativ mit einer oder mehreren Speichervorrichtungen verbunden ist. Von daher wird eine endliche Menge an Energie und Zeit verbraucht, um Daten zwischen der CPU und dem Speicher zu transferieren, was ein bekannter Engpass von von-Neumann-Rechenarchitekturen ist. PCM-Vorrichtungen minimieren und, in manchen Fällen, eliminieren jedoch Datentransfers zwischen der CPU und dem Speicher, indem manche Rechenoperationen speicherintern durchgeführt werden. Anders ausgedrückt speichern PCM-Vorrichtungen nicht nur Informationen, sondern führen auch Rechenaufgaben aus. Solche Nicht-von-Neumann-Rechenarchitekturen können Vektoren mit einer relativ hohen Dimensionalität implementieren, um hyperdimensionales Computing zu erleichtern, wie etwa Vektoren mit 10000 Bits. Vektoren mit relativ großer Bitbreite ermöglichen Computing-Paradigmen, die nach dem menschlichen Gehirn modelliert sind, das auch Informationen analog zu breiten Bitvektoren verarbeitet.
  • Die Berechnungsschaltungsanordnung 602 ist über das E/A-Subsystem 608, das als eine Schaltungsanordnung und/oder Komponenten umgesetzt sein kann, kommunikativ mit anderen Komponenten des Rechenknotens 600 gekoppelt, um Eingabe/Ausgabe-Operationen mit der Berechnungsschaltungsanordnung 602 (z. B. mit dem Prozessor 604 und/oder dem Hauptspeicher 606) und anderen Komponenten der Berechnungsschaltungsanordnung 602 zu ermöglichen. Das E/A-Untersystem 608 kann zum Beispiel als Speichersteuerungshubs, Eingabe/Ausgabe-Steuerungshubs, integrierte Sensorhubs, Firmwarevorrichtungen, Kommunikationslinks (z. B. Punkt-zu-Punkt-Links, Buslinks, Drähte, Kabel, Lichtleiter, Leiterbahnen usw.) und/oder andere Komponenten und Untersysteme umgesetzt sein oder diese anderweitig beinhalten, um die Eingabe/Ausgabe-Operationen zu erleichtern. Bei manchen Beispielen kann das E/A-Untersystem 608 einen Teil eines System-on-Chip (SoC) bilden und zusammen mit dem Prozessor 604 und/oder dem Speicher 606 und/oder anderen Komponenten der Berechnungsschaltungsanordnung 602 in die Berechnungsschaltungsanordnung 602 integriert sein.
  • Die eine oder die mehreren veranschaulichenden Datenspeicherungsvorrichtungen/-platten 610 können als eine oder mehrere beliebige Art(en) von physischen Vorrichtung(en) umgesetzt sein, die zur Kurzzeit- oder Langzeitspeicherung von Daten konfiguriert sind, wie etwa zum Beispiel Speichervorrichtungen, Speicher, Schaltungsanordnungen, Speicherkarten, Flash-Speicher, Festplattenlaufwerke (HDDs), Solid-State-Laufwerke (SSDs) und/oder andere Datenspeicherungsvorrichtungen/-platten. Einzelne Datenspeicherungsvorrichtungen/-platten 610 können eine Systempartitionierung beinhalten, die Daten und Firmwarecode für die Datenspeicherungsvorrichtung/-platten 610 speichert. Einzelne Datenspeicherungsvorrichtungen/-platten 610 können auch eine oder mehrere Betriebssystempartitionierungen beinhalten, die Datendateien und ausführbare Dateien für Betriebssysteme in Abhängigkeit von zum Beispiel der Art des Rechenknotens 600 speichern.
  • Die Kommunikationsschaltungsanordnung 612 kann als eine beliebige Kommunikationsschaltung, -vorrichtung oder -sammlung davon umgesetzt sein, die in der Lage ist, Kommunikationen über ein Netzwerk zwischen der Berechnungsschaltungsanordnung 602 und einer anderen Rechenvorrichtung (z. B. einem Edge-Gateway eines implementierenden Edge-Rechensystems) zu ermöglichen. Die Kommunikationsschaltungsanordnung 612 kann dazu konfiguriert sein, eine oder mehrere beliebige Kommunikationstechnologien (z. B. drahtgebundene oder drahtlose Kommunikationen) und assoziierte Protokolle (z. B. ein zellulares Networking-Protokoll, wie etwa einen 3GPP-, 4G- oder 5G-Standard, ein drahtloses lokales Netzwerkprotokoll, wie etwa IEEE 802.11/Wi-Fi®, ein drahtloses Weitverkehrsnetzwerkprotokoll, Ethernet, Bluetooth®, Bluetooth Low Energy, ein IoT-Protokoll, wie etwa IEEE 802.15.4 oder ZigBee®, LPWAN(Low-Power Wide Area Network)- oder LPWA(Low-Power Wide Area)-Protokolle usw.) zu verwenden, um eine solche Kommunikation zu bewirken.
  • Die veranschaulichende Kommunikationsschaltungsanordnung 612 beinhaltet eine Netzwerkschnittstellensteuerung (NIC) 620, die auch als eine Host-Fabric-Schnittstelle (HFI: Host Fabric Interface) bezeichnet werden kann. Die NIC 620 kann als eine oder mehrere Add-In-Platinen, Tochterkarten, Netzwerkschnittstellenkarten, Steuerungschips, Chipsätze oder andere Vorrichtungen umgesetzt sein, die durch den Rechenknoten 600 verwendet werden können, um sich mit einer anderen Rechenvorrichtung (z. B. einem Edge-Gateway-Knoten) zu verbinden. Bei manchen Beispielen kann die NIC 620 als Teil eines System-on-Chip (SoC) umgesetzt sein, das einen oder mehrere Prozessoren beinhaltet, oder kann auf einem Mehrchip-Package enthalten sein, das auch einen oder mehrere Prozessoren beinhaltet. Bei manchen Beispielen kann die NIC 620 einen lokalen Prozessor (nicht gezeigt) und/oder einen lokalen Speicher (nicht gezeigt) beinhalten, die beide lokal für die NIC 620 sind. Bei solchen Beispielen kann der lokale Prozessor der NIC 620 dazu in der Lage sein, eine oder mehrere der Funktionen der hierin beschriebenen Berechnungsschaltungsanordnung 602 durchzuführen. Zusätzlich oder alternativ dazu kann in solchen Beispielen der lokale Speicher der NIC 620 in eine oder mehrere Komponenten des Client-Rechenknotens auf Platinenebene, Socket-Ebene, Chip-Ebene und/oder anderen Ebenen integriert sein.
  • Zusätzlich kann in manchen Beispielen ein jeweiliger Rechenknoten 600 eine oder mehrere Peripherievorrichtungen 614 beinhalten. Solche Peripherievorrichtungen 614 können eine beliebige Art von Peripherievorrichtung beinhalten, die in einer Rechenvorrichtung oder einem Server gefunden wird, wie etwa Audioeingabevorrichtungen, eine Anzeige, andere Eingabe/Ausgabe-Vorrichtungen, Schnittstellenvorrichtungen und/oder andere Peripherievorrichtungen, in Abhängigkeit von der speziellen Art des Rechenknotens 600. In weiteren Beispielen kann der Rechenknoten 600 durch einen jeweiligen Edge-Rechenknoten (egal ob ein Client, Gateway oder Aggregationsknoten) in einem Edge-Rechensystem oder ähnlichen Formen von Geräten, Computern, Untersystemen, Schaltungsanordnungen oder anderen Komponenten umgesetzt sein.
  • In einem ausführlicheren Beispiel veranschaulicht 7 ein Blockdiagramm eines Beispiels für Komponenten, die in einem Edge-Rechenknoten 750 zum Implementieren der hierin beschriebenen Techniken (z. B. Operationen, Prozesse, Verfahren und Methoden) vorhanden sein können. Dieser Edge-Rechenknoten 750 stellt eine nähere Ansicht der jeweiligen Komponenten des Knotens 600 bereit, wenn er als oder als Teil einer Rechenvorrichtung (z. B. als eine Mobilvorrichtung, eine Basisstation, ein Server, ein Gateway usw.) implementiert wird. Der Edge-Rechenknoten 750 kann eine beliebige Kombination der hierin genannten Hardware- oder Logikkomponenten beinhalten, und er kann eine beliebige Vorrichtung, die mit einem Edge-Kommunikationsnetzwerk oder einer Kombination solcher Netzwerke verwendbar ist, beinhalten oder mit dieser gekoppelt sein. Die Komponenten können als integrierte Schaltungen (ICs), Teile davon, diskrete elektronische Vorrichtungen oder andere Module, Anweisungssätze, programmierbare Logik oder Algorithmen, Hardware, Hardwarebeschleuniger, Software, Firmware oder eine Kombination davon, die im Edge-Rechenknoten 750 angepasst sind, oder als Komponenten, die anderweitig in ein Gehäuse eines größeren Systems integriert sind, implementiert sein.
  • Die Edge-Rechenvorrichtung 750 kann eine Verarbeitungsschaltungsanordnung in der Form eines Prozessors 752 beinhalten, der ein Mikroprozessor, ein Mehrkernprozessor, ein Multithread-Prozessor, ein Ultraniederspannungsprozessor, ein eingebetteter Prozessor, eine xPU/DPU/IPU/NPU, eine Spezialverarbeitungseinheit, eine spezialisierte Verarbeitungseinheit oder andere bekannte Verarbeitungselemente sein kann. Der Prozessor 752 kann ein Teil eines System-on-Chip (SoC) sein, in dem der Prozessor 752 und andere Komponenten in einer einzigen integrierten Schaltung oder einem einzigen Package ausgebildet sind, wie etwa die Edison™- oder Galileo™-SoC-Platinen von Intel Corporation, Santa Clara, Kalifornien, USA. Als ein Beispiel kann der Prozessor 752 einen auf Intel® Architecture Core™ basierenden CPU-Prozessor, wie etwa einen Quark™-, einen Atom™-, einen i3-, einen i5-, einen i7-, einen i9- oder einen MCU-Klasse-Prozessor oder einen anderen solchen Prozessor, der von Intel® verfügbar ist, beinhalten. Eine beliebige Anzahl anderer Prozessoren kann jedoch verwendet werden, wie etwa erhältlich von der Firma Advanced Micro Devices, Inc. (AMD®) aus Sunnyvale, Kalifornien, USA, ein MIPS®-basiertes Design der Firma MIPS Technologies, Inc. aus Sunnyvale, Kalifornien, USA, ein ARM®-basiertes Design, lizenziert von ARM Holdings, Ltd. oder ein Kunde davon, oder deren Lizenznehmer oder Adopter. Die Prozessoren können Einheiten beinhalten, wie etwa einen A5-A13-Prozessor von Apple® Inc., einen Snapdragon™-Prozessor von Qualcommon® Technologies, Inc., oder einen OMAP™-Prozessor von Texas Instruments, Inc. Der Prozessor 752 und begleitende Schaltungsanordnungen können in einem Einzel-Socket-Formfaktor, Multi-Socket-Formfaktor oder einer Vielfalt anderer Formate bereitgestellt sein, einschließlich in beschränkten Hardwarekonfigurationen oder Konfigurationen, die weniger als alle in 7 gezeigten Elemente beinhaltet.
  • Der Prozessor 752 kann über ein Interconnect 756 (z. B. einen Bus) mit einem Systemspeicher 754 kommunizieren. Eine beliebige Anzahl von Speichervorrichtungen kann verwendet werden, um eine gegebene Menge an Systemspeicher bereitzustellen. Als Beispiele kann der Speicher 754 Direktzugriffsspeicher (RAM) gemäß einem JEDEC-Design (JEDEC: Joint Electron Devices Engineering Council) sein, wie etwa den DDR- oder mobilen DDR-Standards (z. B. LPDDR, LPDDR2, LPDDR3 oder LPDDR4). In bestimmten Beispielen kann eine Speicherkomponente einem von JEDEC vertriebenen DRAM-Standard entsprechen, wie etwa 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 diversen Implementierungen können die einzelnen Speichervorrichtungen von einer beliebigen Anzahl von verschiedenen Package-Typen sein, wie etwa Single Die Package (SDP), Dual Die Package (DDP) oder Quad Die Package (Q17P). Diese Vorrichtungen können in manchen Beispielen direkt auf eine Hauptplatine gelötet sein, um eine Lösung mit niedrigerem Profil bereitzustellen, während die Vorrichtungen in anderen Beispielen als ein oder mehrere Speichermodule ausgelegt sind, die im Gegenzug durch einen gegebenen Verbinder mit der Hauptplatine gekoppelt sind. Eine beliebige Anzahl anderer Speicherimplementierungen kann verwendet werden, wie etwa andere Typen von Speichermodulen, z. B. Dual Inline Memory Modules (DIMMs) verschiedener Varianten, einschließlich unter anderem microDIMMs oder MiniDIMMs.
  • Um eine dauerhafte Speicherung von Informationen, wie etwa Daten, Anwendungen, Betriebssystemen und so weiter, bereitzustellen, kann eine Speicherung 758 auch über das Interconnect 756 mit dem Prozessor 752 gekoppelt sein. Bei einem Beispiel kann der Speicher 758 über ein Solid-State-Laufwerk (SSDD) implementiert werden. Andere Vorrichtungen, die für die Speicherung 758 verwendet werden können, beinhalten Flash-Speicherkarten, wie etwa Secure-Digital(SD)-Karten, microSD-Karten, eXtreme-Digital-(XD)-Bildkarten und dergleichen und Universal-Serial-Bus(USB)-Flash-Laufwerke. Bei einem Beispiel kann die Speichervorrichtung Speichervorrichtungen sein oder beinhalten, die Chalkogenidglas, NAND-Flash-Speicher mit mehreren Schwellenpegeln, NOR-Flash-Speicher, Einzel- oder Mehrfachpegel-Phasenwechselspeicher (PCM), einen resistiven Speicher, Nanodrahtspeicher, ferroelektrischen Transistor-Direktzugriffsspeicher (FeTRAM), antiferroelektrischen Speicher, magnetoresistiven Direktzugriffsspeicher (MRAM), Speicher, der Memristortechnologie beinhaltet, resistiven Speicher einschließlich der Metalloxid-Basis, der Sauerstoffleerstellenbasis und den Leitfähige-Brücke-Direktzugriffsspeicher (CB-RAM) oder Spin-Transfer-Torque(STT)-MRAM, einer auf spintronischen Magnetübergangsspeicher basierte Vorrichtung, eine Magnettunnelübergang(MTJ)-basierte Vorrichtung, eine DW(Domänenwand)- und SOT(Spin-Orbit-Transfer)-basierte Vorrichtung, eine thyristorbasierte Speichervorrichtung oder eine Kombination von beliebigen der obigen oder eines anderen Speichers verwenden.
  • In Niederleistungsimplementierungen kann die Speicherung 758 ein On-Die-Speicher oder Register sein, die mit dem Prozessor 752 assoziiert sind. Bei manchen Beispielen kann die Speicherung 758 jedoch unter Verwendung eines Mikro-Festplattenlaufwerks (HDD) implementiert werden. Ferner kann eine beliebige Anzahl neuer Technologien für die Speicherung 758 zusätzlich zu den, oder anstelle der, beschriebenen Technologien verwendet werden, wie etwa unter anderem Widerstandswechselspeicher, Phasenwechselspeicher, holografische Speicher oder chemische Speicher.
  • Die Komponenten können über das Interconnect 756 kommunizieren. Das Interconnect 756 kann eine beliebige Anzahl von Technologien beinhalten, einschließlich Industry Standard Architecture (ISA), extended ISA (EISA), Peripheral Component Interconnect (PCI), Peripheral Component Interconnect Extended (PCIx), PCI Express (PCIe) oder eine beliebige Anzahl anderer Technologien. Das Interconnect 756 kann ein proprietärer Bus sein, der zum Beispiel in einem SoC-basierten System verwendet wird. Andere Bussysteme können enthalten sein, wie etwa unter anderem eine Inter-Integrated-Circuit(I2C)-Schnittstelle, eine Serial-Peripheral-Interface(SPI)-Schnittstelle, Punkt-zu-Punkt-Schnittstellen und ein Leistungsbus.
  • Das Interconnect 756 kann den Prozessor 752 mit einem Sendeempfänger 766 koppeln, um mit den verbundenen Edge-Vorrichtungen 762 zu kommunizieren. Der Sendeempfänger 766 kann eine beliebige Anzahl von Frequenzen und Protokollen verwenden, wie z. B. 2,4-Gigahertz (GHz)-Übertragungen nach dem IEEE-802.15.4-Standard, unter Verwendung des Bluetooth®-Low-Energy(BLE)-Standards, wie von der Bluetooth® Special Interest Group definiert, oder des ZigBee®-Standards unter anderem. Eine beliebige Anzahl von Funkgeräten, die für ein bestimmtes Drahtloskommunikationsprotokoll konfiguriert sind, kann für die Verbindungen zu den verbundenen Edge-Vorrichtungen 762 verwendet werden. Zum Beispiel kann eine WLAN-Einheit (WLAN: Wireless Local Area Network - drahtloses Lokalnetzwerk) verwendet werden, um WiFi® -Kommunikationen gemäß dem IEEE (Institute of Electrical and Electronics Engineers) 802.11-Standard zu implementieren. Außerdem können Drahtlos-Weitbereichskommunikationen, z. B. gemäß einem zellularen oder anderen Drahtlos-Weitbereichsprotokoll über eine Drahtlos-Weitbereichsnetzwerk(WWAN)-Einheit stattfinden.
  • Der Drahtlosnetzwerksendeempfänger 766 (oder mehrere Sendeempfänger) kann unter Verwendung mehrerer Standards oder Funkgeräte für Kommunikationen mit einer anderen Reichweite kommunizieren. Beispielsweise kann der Edge-Rechenknoten 750 mit nahen Vorrichtungen, z. B. innerhalb von etwa 10 Metern, unter Verwendung eines lokalen Sendeempfängers basierend auf Bluetooth Low Energy (BLE) oder eines anderen Niedrigleistungsfunkgeräts kommunizieren, um Leistung zu sparen. Entferntere verbundene Edge-Vorrichtungen 762, z. B. innerhalb von etwa 50 Metern, können über ZigBee® oder andere Zwischenleistungsfunkgeräte erreicht werden. Beide Kommunikationstechniken können über ein einziges Funkgerät mit unterschiedlichen Leistungspegeln stattfinden oder können über separate Sendeempfänger stattfinden, zum Beispiel einen lokalen Sendeempfänger, der BLE verwendet, und einen separaten Mesh-Sendeempfänger, der ZigBee® verwendet.
  • Ein Drahtlosnetzwerksendeempfänger 766 (z. B. ein Funksendeempfänger) kann enthalten sein, um mit Vorrichtungen oder Diensten in einer Cloud (z. B. einer Edge-Cloud 795) über Lokal- oder Weitverkehrsnetzwerkprotokolle zu kommunizieren. Der Drahtlosnetzwerksendeempfänger 766 kann ein LPWA-Sendeempfänger (LPWA: Low Power Wide Area) sein, der unter anderem den Standards IEEE 802.15.4 oder IEEE 802.15.4g folgt. Der Edge-Rechenknoten 750 kann über einen weiten Bereich unter Verwendung von LoRaWAN™ (Long Range Wide Area Network), das von Semtech und der LoRa Alliance entwickelt wurde, kommunizieren. Die hierin beschriebenen Techniken sind nicht auf diese Technologien beschränkt, sondern können mit einer beliebigen Anzahl von anderen Cloud-Sendeempfängern verwendet werden, die Kommunikationen mit großer Reichweite und niedriger Bandbreite implementieren, wie etwa Sigfox und andere Technologien. Ferner können andere Kommunikationstechniken, wie beispielsweise Kanalspringen mit Zeitschlitzen, das in der Spezifikation IEEE 802.15.4e beschrieben ist, verwendet werden.
  • Eine beliebige Anzahl anderer Funkkommunikationen und -protokolle kann zusätzlich zu den für den Drahtlosnetzwerksendeempfänger 766 erwähnten Systemen verwendet werden, wie hierin beschrieben. Zum Beispiel kann der Sendeempfänger 766 einen zellularen Sendeempfänger umfassen, der Spreizspektrum(SPA/SAS)-Kommunikationen zum Implementieren von Hochgeschwindigkeitskommunikationen verwendet. Ferner kann eine beliebige Anzahl anderer Protokolle verwendet werden, wie etwa WiFi®-Netze für Kommunikationen mittlerer Geschwindigkeit und Bereitstellung von Netzkommunikationen. Der Sendeempfänger 766 kann Funkgeräte beinhalten, die mit einer beliebigen Anzahl von 3GPP(Third Generation Partnership Project)-Spezifikationen kompatibel sind, wie etwa Long Term Evolution (LTE) und Kommunikationssysteme der 5. Generation (5G), die am Ende der vorliegenden Offenbarung ausführlicher besprochen werden. Eine Netzwerkschnittstellensteuerung (NIC) 768 kann enthalten sein, um eine drahtgebundene Kommunikation zu Knoten der Edge-Cloud 795 oder anderen Vorrichtungen, wie etwa den verbundenen Edge-Vorrichtungen 762 (die z. B. in einem Mesh arbeiten), bereitzustellen. Die drahtgebundene Kommunikation kann eine Ethernet-Verbindung bereitstellen oder kann auf anderen Arten von Netzwerken basieren, wie etwa Controller Area Network (CAN), Local Interconnect Network (LIN), DeviceNet, ControlNet, Data Highway+, PROFIBUS oder PROFINET, unter vielen anderen. Eine zusätzliche NIC 768 kann enthalten sein, um eine Verbindung mit einem zweiten Netzwerk zu ermöglichen, beispielsweise eine erste NIC 768, die Kommunikationen zu der Cloud über Ethernet bereitstellt, und eine zweite NIC 768, die Kommunikationen zu anderen Vorrichtungen über einen anderen Netzwerktyp bereitstellt.
  • Angesichts der Vielfalt von Arten anwendbarer Kommunikationen von der Vorrichtung zu einer anderen Komponente oder einem anderen Netzwerk kann zutreffende Kommunikationsschaltungsanordnung, die von der Vorrichtung verwendet wird, eine oder mehrere der Komponenten 764, 766, 768 oder 770 beinhalten oder durch diese verkörpert sein. Dementsprechend können bei verschiedenen Beispielen anwendbare Mittel zum Kommunizieren (z. B. Empfangen, Senden usw.) durch eine solche Kommunikationsschaltungsanordnung verkörpert werden.
  • Der Edge-Rechenknoten 750 kann eine Beschleunigungsschaltungsanordnung 764 beinhalten oder mit dieser gekoppelt sein, die durch einen oder mehrere Beschleuniger mit künstlicher Intelligenz (KI), einen neuronalen Rechen-Stick, neuromorphe Hardware, ein FPGA, eine Anordnung von GPUs, eine Anordnung aus xPUs/DPUs/IPU/NPUs, ein oder mehrere SoCs, eine oder mehreren CPUs, einen oder mehreren Digitalsignalprozessoren, dedizierte ASICs oder andere Formen spezialisierter Prozessoren oder Schaltungsanordnungen umgesetzt sein, die zum Erfüllen einer oder mehrerer spezialisierter Aufgaben ausgelegt sind. Diese Aufgaben können KI-Verarbeitung (einschließlich Maschinenlern-, Trainings-, Inferenz- und Klassifizierungsoperationen), visuelle Datenverarbeitung, Netzwerkdatenverarbeitung, Objektdetektion, Regelanalyse oder dergleichen beinhalten. Zu diesen Aufgaben können auch die an anderer Stelle in diesem Dokument besprochenen spezifischen Edge-Rechenaufgaben für Dienstverwaltung und Dienstoperationen gehören.
  • Das Interconnect 756 kann den Prozessor 752 mit einem Sensorhub oder einer externen Schnittstelle 770 koppeln, der/die zum Verbinden zusätzlicher Vorrichtungen oder Subsysteme verwendet wird. Die Vorrichtungen können Sensoren 772, wie etwa Beschleunigungsmesser, Pegelsensoren, Strömungssensoren, optische Lichtsensoren, Kamerasensoren, Temperatursensoren, Sensoren eines globalen Navigationssystems (z. B. GPS), Drucksensoren, barometrische Drucksensoren und dergleichen beinhalten. Der Hub oder die Schnittstelle 770 kann ferner verwendet werden, um den Edge-Rechenknoten 750 mit Aktoren 774 zu verbinden, wie etwa Leistungsschaltern, Ventilaktoren, einem akustischen Tongenerator, einer visuellen Warnvorrichtung und dergleichen.
  • Bei manchen optionalen Beispielen können verschiedene Eingabe/Ausgabe(E/A)-Vorrichtungen innerhalb des Edge-Rechenknotens 750 vorhanden sein oder mit diesem verbunden sein. Beispielsweise kann eine Anzeige oder eine andere Ausgabevorrichtung 784 enthalten sein, um Informationen, wie etwa Sensorablesungen oder Aktorposition, zu zeigen. Eine Eingabevorrichtung 786, wie beispielsweise ein Touchscreen oder ein Tastenfeld, kann enthalten sein, um Eingaben anzunehmen. Eine Ausgabevorrichtung 784 kann eine beliebige Anzahl von Formen einer akustischen oder visuellen Anzeige beinhalten, einschließlich einfacher visueller Ausgaben, wie binärer Statusindikatoren (z. B. Leuchtdioden (LEDs)) und visueller Mehrzeichenausgaben, oder komplexere Ausgaben, wie Anzeigebildschirme (z. B. Flüssigkristallanzeige(LCD)-Bildschirme), wobei die Ausgabe von Zeichen, Grafiken, Multimediaobjekten und dergleichen aus dem Betrieb des Edge-Rechenknotens 750 generiert oder erzeugt wird. Eine Anzeigen- oder Konsolenhardware kann im Kontext des vorliegenden Systems verwendet werden, um eine Ausgabe bereitzustellen und eine Eingabe eines Edge-Rechensystems zu empfangen; Komponenten oder Dienste eines Edge-Rechensystems zu verwalten; einen Zustand einer Edge-Rechenkomponente oder eines Edge-Dienstes zu identifizieren, oder eine beliebige andere Anzahl von Verwaltungs- oder Administrationsfunktionen oder Dienstanwendungsfällen durchzuführen.
  • Eine Batterie 776 kann den Edge-Rechenknoten 750 mit Leistung versorgen, wobei sie in Beispielen, in denen der Edge-Rechenknoten 750 an einem festen Ort montiert ist, eine Leistungsversorgung aufweisen kann, die mit einem Stromnetz gekoppelt ist, oder die Batterie kann als ein Backup oder für temporäre Funktionen verwendet werden. Die Batterie 776 kann eine Lithium-Ionen-Batterie oder eine Metall-Luft-Batterie, wie beispielsweise eine Zink-Luft-Batterie, eine Aluminium-Luft-Batterie, eine Lithium-Luft-Batterie und dergleichen sein.
  • Ein Batterieüberwachungs-/-ladegerät 778 kann in dem Edge-Rechenknoten 750 enthalten sein, um den Ladezustand (SoCh: State of Charge) der Batterie 776, falls enthalten, zu verfolgen. Das Batterieüberwachungs-/-ladegerät 778 kann dazu verwendet werden, andere Parameter der Batterie 776 zu überwachen, um Ausfallvorhersagen bereitzustellen, wie etwa den Gesundheitszustand (SoH: State of Health) und den Funktionszustand (SoF: State of Function) der Batterie 776. Das Batterieüberwachungs-/-ladegerät 778 kann eine integrierte Batterieüberwachungsschaltung beinhalten, wie etwa einen LTC4020 oder einen LTC2990 von Linear Technologies, einen ADT7488A von ON Semiconductor aus Phoenix, Arizona, USA, oder einen IC der UCD90xxx-Familie von Texas Instruments aus Dallas, TX, USA. Das Batterieüberwachungs-/-ladegerät 778 kann die Informationen über die Batterie 776 über das Interconnect 756 an den Prozessor 752 kommunizieren. Das Batterieüberwachungs-/-ladegerät 778 kann auch einen Analog-Digital-Wandler (ADC) beinhalten, der es dem Prozessor 752 ermöglicht, die Spannung der Batterie 776 oder den Stromfluss von der Batterie 776 direkt zu überwachen. Die Batterieparameter können verwendet werden, um Aktionen zu bestimmen, die der Edge-Rechenknoten 750 ausführen kann, wie etwa Übertragungsfrequenz, Mesh-Netzwerkoperation, Erfassungsfrequenz und dergleichen.
  • Ein Leistungsblock 780 oder eine andere Leistungsversorgung, die an ein Stromnetz gekoppelt ist, kann mit dem Batterieüberwachungs-/-ladegerät 778 gekoppelt werden, um die Batterie 776 zu laden. Bei einigen Beispielen kann der Leistungsblock 780 durch einen drahtlosen Leistungsempfänger ersetzt werden, um die Leistung drahtlos, zum Beispiel durch eine Schleifenantenne im Edge-Rechenknoten 750, zu erhalten. Eine Drahtlosbatterieladeschaltung, wie etwa unter anderem ein LTC4020-Chip von Linear Technologies aus Milpitas, Kalifornien, kann im Batterieüberwachungs-/-ladegerät 778 enthalten sein. Die spezifischen Ladeschaltungen können basierend auf der Größe der Batterie 776 und somit dem erforderlichen Strom ausgewählt werden. Das Aufladen kann unter anderem unter Verwendung des von der Airfuel Alliance veröffentlichten Airfuel-Standard, dem vom Wireless Power Consortium veröffentlichten Qi-Ladestandard oder dem von der Alliance for Wireless Power veröffentlichten Rezence-Ladestandard durchgeführt werden.
  • Die Speicherung 758 kann Anweisungen 782 in Form von Software-, Firmware- oder Hardwarebefehlen enthalten, um die hierin beschriebenen Techniken zu implementieren. Obwohl solche Anweisungen 782 als Codeblöcke gezeigt sind, die in dem Speicher 754 und der Speicherung 758 enthalten sind, versteht es sich, dass beliebige der Codeblöcke durch festverdrahtete Schaltungen ersetzt werden können, die zum Beispiel in einer anwendungsspezifischen integrierten Schaltung (ASIC: Application Specific Integrated Circuit) eingebaut sind.
  • Bei einem Beispiel können die Anweisungen 782, die über den Speicher 754, die Speicherung 758 oder den Prozessor 752 bereitgestellt werden, als ein nichtflüchtiges maschinenlesbares Medium 760 umgesetzt sein, das Code beinhaltet, um den Prozessor 752 anzuweisen, elektronische Operationen in dem Edge-Rechenknoten 750 durchzuführen. Der Prozessor 752 kann über das Interconnect 756 auf das nichtflüchtige maschinenlesbare Medium 760 zugreifen. Beispielsweise kann das nichtflüchtige maschinenlesbare Medium 760 durch Vorrichtungen realisiert sein, die für die Speicherung 758 beschrieben sind, oder kann spezifische Speicherungseinheiten beinhalten, wie etwa Speicherungsvorrichtungen und/oder Speicherungsplatten, die optische Platten (z. B. Digital Versatile Disk (DVD), Compact Disk (CD), CD-ROM, Blu-ray-Disk), Flash-Laufwerke, Disketten, Festplatten (z. B. SSDs) enthalten, oder eine beliebige Anzahl anderer Hardwarevorrichtungen, in denen Informationen für eine beliebige Dauer (z. B. für längere Zeiträume, permanent, für kurze Momente, zum temporären Puffern und/oder Cachen) gespeichert werden. Das nichtflüchtige, maschinenlesbare Medium 760 kann Anweisungen beinhalten, um den Prozessor 752 anzuweisen, eine spezifische Sequenz oder einen spezifischen Fluss von Aktionen durchzuführen, wie zum Beispiel mit Bezug auf das Flussdiagramm bzw. die Flussdiagramme und das Blockdiagramm bzw. die Blockdiagramme von Operationen und Funktionalität, die oben dargestellt sind, beschrieben. Wie hierin verwendet, sind die Begriffe „maschinenlesbares Medium“ und „computerlesbares Medium“ austauschbar. Wie hierin verwendet, wird der Begriff „nichtflüchtiges computerlesbares Speicherungsmedium“ ausdrücklich so definiert, dass er eine beliebige Art von computerlesbarer Speicherungsvorrichtung und/oder Speicherungsplatte beinhaltet und das Propagieren von Signalen ausschließt und Übertragungsmedien ausschließt.
  • Auch in einem spezifischen Beispiel können die Anweisungen 782 auf dem Prozessor 752 (separat oder in Kombination mit den Anweisungen 782 des maschinenlesbaren Mediums 760) die Ausführung oder Operation einer vertrauenswürdigen Ausführungsumgebung (TEE) 790 konfigurieren. In einem Beispiel arbeitet die TEE 790 als ein geschützter Bereich, der für den Prozessor 752 zur sicheren Ausführung von Anweisungen und zum sicheren Zugriff auf Daten zugänglich ist. Verschiedene Implementierungen der TEE 790 und eines begleitenden sicheren Bereichs in dem Prozessor 752 oder dem Speicher 754 können beispielsweise durch Verwendung von Intel® Software Guard Extensions (SGX) oder ARM® TrustZone® Hardwaresicherheitserweiterungen, Intel® Management Engine (ME) oder Intel® Converged Security Manageability Engine (CSME) bereitgestellt werden. Andere Aspekte von Sicherheitsverhärtung, Hardware-Roots-of-Trust und vertrauenswürdigen oder geschützten Operationen können in der Vorrichtung 750 durch die TEE 790 und den Prozessor 752 implementiert werden.
  • Obwohl die veranschaulichten Beispiele von 6 und 7 beispielhafte Komponenten für einen Rechenknoten bzw. eine Rechenvorrichtung beinhalten, sind hierin offenbarte Beispiele nicht darauf beschränkt. Wie hierin verwendet, kann ein „Computer“ manche oder alle der beispielhaften Komponenten der 6 und/oder 7 in unterschiedlichen Arten von Rechenumgebungen beinhalten. Beispielhafte Rechenumgebungen beinhalten Edge-Rechenvorrichtungen (z. B. Edge-Computer) in einer verteilten Networking-Anordnung, sodass bestimmte teilnehmende Edge-Rechenvorrichtungen heterogene oder homogene Vorrichtungen sind. Wie hierin verwendet, kann ein „Computer“ einen Personal Computer, einen Server, ein Benutzergerät, einen Beschleuniger usw. beinhalten, einschließlich beliebiger Kombinationen davon. In einigen Beispielen beinhaltet verteiltes Networking und/oder verteiltes Computing eine beliebige Anzahl solcher Edge-Rechenvorrichtungen, wie in den 6 und/oder 7 veranschaulicht, die jeweils unterschiedliche Teilkomponenten, unterschiedliche Speicherkapazitäten, E/A-Fähigkeiten usw. beinhalten können. Da einige Implementierungen von verteiltem Networking und/oder verteiltem Computing mit einer bestimmten gewünschten Funktionalität assoziiert sind, enthalten hierin offenbarte Beispiele verschiedene Kombinationen von Komponenten, die in den 6 und/oder 7 veranschaulicht sind, um die funktionalen Ziele von verteilten Rechenaufgaben zu erfüllen. In manchen Beispielen beinhaltet der Begriff „Rechenknoten“ oder „Computer“ nur den beispielhaften Prozessor 704, den Speicher 706 und das E/A-Subsystem 708 von 6. In manchen Beispielen hängen eine oder mehrere Zielfunktionen von verteilten Rechenaufgabe(n) von einer oder mehreren alternativen Vorrichtungen/Strukturen ab, die sich in unterschiedlichen Teilen einer Edge-Networking-Umgebung befinden, wie etwa Vorrichtungen zum Aufnehmen von Datenspeicherung (z. B. die beispielhafte Datenspeicherung 710), Eingabe/Ausgabe-Fähigkeiten (z. B. die beispielhafte(n) Peripherievorrichtung(en) 714) und/oder Netzwerkkommunikationsfähigkeiten (z. B. die beispielhafte NIC 720).
  • In manchen Beispielen sind Computer, die in einer verteilten Computing- und/oder verteilten Networking-Umgebung (z. B. einem Edge-Netzwerk) arbeiten, dafür strukturiert, bestimmte Zielfunktionalität auf eine Weise unterzubringen, die Rechenverschwendung reduziert. Da beispielsweise ein Computer einen Teilsatz der in den 6 und 7 offenbarten Komponenten beinhaltet, erfüllen solche Computer die Ausführung von Zielfunktionen des verteilten Computing, ohne eine Rechenstruktur zu beinhalten, die ansonsten ungenutzt und/oder unternutzt wäre. Von daher schließt der Begriff „Computer“, wie hierin verwendet, eine beliebige Kombination der Struktur der 6 und/oder 7 ein, die in der Lage ist, Zielfunktionen von verteilten Rechenaufgaben zu erfüllen und/oder anderweitig auszuführen. In manchen Beispielen sind Computer auf eine Weise strukturiert, die entsprechenden Zielfunktionen des verteilten Computing entspricht, auf eine Weise, die in Verbindung mit dynamischem Bedarf runterskaliert oder hochskaliert. In einigen Beispielen werden unterschiedliche Computer hinsichtlich ihrer Fähigkeit, eine oder mehrere Aufgaben der Anforderung(en) des verteilten Computing zu verarbeiten, aufgerufen und/oder anderweitig instanziiert, sodass jeder Computer, der in der Lage ist, die Aufgaben zu erfüllen, mit einer solchen Rechenaktivität fortfährt.
  • In den veranschaulichten Beispielen der 6 und 7 beinhalten Rechenvorrichtungen Betriebssysteme. Wie hierin verwendet, ist ein „Betriebssystem“ Software zum Steuern beispielhafter Rechenvorrichtungen, wie etwa des beispielhaften Edge-Rechenknotens 700 von 6 und/oder des beispielhaften Edge-Rechenknotens 750 von 7. Beispielhafte Betriebssysteme beinhalten unter anderem verbraucherbasierte Betriebssysteme (z. B. Microsoft® Windows® 10, Google® Android® OS, Apple® Mac® OS usw.). Beispielhafte Betriebssysteme beinhalten unter anderem auch industriefokussierte Betriebssysteme, wie etwa Echtzeitbetriebssysteme, Hypervisoren usw. Ein beispielhaftes Betriebssystem auf einem ersten Edge-Rechenknoten kann das gleiche oder ein anderes als ein beispielhaftes Betriebssystem auf einem zweiten Edge-Rechenknoten sein. In manchen Beispielen ruft das Betriebssystem alternative Software auf, um eine oder mehrere Funktionen und/oder Operationen zu ermöglichen, die nicht nativ für das Betriebssystem sind, wie etwa bestimmte Kommunikationsprotokolle und/oder -interpreter. In manchen Beispielen instanziiert das Betriebssystem verschiedene Funktionalitäten, die für das Betriebssystem nicht nativ sind. In manchen Beispielen beinhalten Betriebssysteme variierende Komplexitäts- und/oder Fähigkeitsgrade. Beispielsweise beinhaltet ein erstes Betriebssystem, das einem ersten Edge-Rechenknoten entspricht, ein Echtzeitbetriebssystem, das bestimmte Leistungsfähigkeitserwartungen des Ansprechverhaltens auf dynamische Eingabebedingungen aufweist, und ein zweites Betriebssystem, das einem zweiten Edge-Rechenknoten entspricht, beinhaltet grafische Benutzeroberflächenfähigkeiten, um Endbenutzer-E/A zu ermöglichen.
  • 8 ist ein schematisches Diagramm einer beispielhaften Infrastrukturverarbeitungseinheit (IPU: Infrastructure Processing Unit). 8 stellt ein Beispiel für eine Infrastrukturverarbeitungseinheit (IPU: Infrastructure Processing Unit) dar. Unterschiedliche Beispiele für hierin offenbarte IPUs ermöglichen verbesserte Leistungsfähigkeits-, Verwaltungs-, Sicherheits- und Koordinationsfunktionen zwischen Entitäten (z. B. Cloud-Dienstanbietern) und ermöglichen Infrastruktur-Offload- und/oder Kommunikationskoordinierungsfunktionen. Wie unten ausführlicher offenbart, können IPUs mit SmartNICs und Speicherung oder Speicher (z. B. auf demselben Die, System-on-Chip (SoC) oder verbundenen Dies) integriert sein, die sich an Vor-Ort-Systemen, Basisstationen, Gateways, Nachbarschaftszentralen und so weiter befinden. Unterschiedliche Beispiele für eine oder mehrere hierin offenbarte IPUs können eine Anwendung durchführen, einschließlich einer beliebigen Anzahl von Mikrodiensten, wobei jeder Mikrodienst in seinem eigenen Prozess läuft und unter Verwendung von Protokollen (z. B. eine HTTP-Ressourcen-API, Nachrichtendienst oder gRPC) kommuniziert. Mittels zentraler Verwaltung dieser Dienste können Mikrodienste unabhängig eingesetzt werden. Ein Verwaltungssystem kann in unterschiedlichen Programmiersprachen geschrieben sein und unterschiedliche Datenspeicherungstechnologien verwenden.
  • Des Weiteren können eine oder mehrere IPUs Plattformverwaltung, Networking-Stapelverarbeitungsoperationen, Sicherheits(Krypto)-Operationen, Speichersoftware, Identitäts- und Schlüsselverwaltung, Telemetrie, Protokollierung, Überwachung und Dienst-Mesh (z. B. Steuern, wie verschiedene Mikrodienste miteinander kommunizieren) ausführen. Die IPU kann auf eine xPU zugreifen, um die Durchführung verschiedener Aufgaben abzuladen. Beispielsweise legt eine IPU XPU-, Speicherungs-, Speicher- und CPU-Ressourcen und -Fähigkeiten als einen Dienst offen, auf die andere Mikrodienste zur Funktionskomposition zugreifen können. Dies kann die Performanz verbessern und Datenbewegung und Latenz reduzieren. Eine IPU kann Fähigkeiten durchführen, wie etwa jene eines Routers, eines Lastausgleichers, einer Firewall, TCP/zuverlässigen Transports, eines Dienst-Mesh (z. B. Proxy oder API-Gateway), Sicherheit, Datentransformation, Authentifizierung, Dienstgüte (QoS), Sicherheit, Telemetriemessung, Ereignisprotokollierung, Initiierung und Verwaltung von Datenabläufen, Datenplatzierung oder Arbeitsauftragsplanung von Ressourcen auf einer xPU, einer Speicherung, einem Speicher oder einer CPU.
  • In dem veranschaulichten Beispiel von 8 beinhaltet die IPU 800 eine sichere Ressourcenverwaltungsschaltungsanordnung 802, eine Netzwerkschnittstellensteuerungs(NIC)-Schaltungsanordnung 804, eine Sicherheits- und Root-of-Trust-Schaltungsanordnung 806, eine Ressourcenkompositionsschaltungsanordnung 808, eine Zeitstempelverwaltungsschaltungsanordnung 810, einen Speicher und eine Speicherung 812, eine Verarbeitungsschaltungsanordnung 814, eine Beschleunigerschaltungsanordnung 816 und/oder eine Übersetzerschaltungsanordnung 818 oder greift anderweitig darauf zu. Eine beliebige Anzahl und/oder Kombination anderer Struktur(en) kann verwendet werden, wie etwa unter anderem die Komprimierungs- und Verschlüsselungsschaltungsanordnung 820, die Speicherverwaltungs- und Übersetzungseinheitsschaltungsanordnung 822, die Rechen-Fabric-Datenvermittlungsschaltungsanordnung 824, die Sicherheitsrichtliniendurchsetzungsschaltungsanordnung 826, die Vorrichtungsvirtualisierungsschaltungsanordnung 828, die Telemetrie-, Verfolgungs-, Protokollierungs- und Überwachungsschaltungsanordnung 830, die Dienstgüteschaltungsanordnung 832, die Suchschaltungsanordnung 834, die Netzwerkfunktionsschaltungsanordnung (z. B. Routing, Firewall, Lastausgleich, Netzwerkadressenübersetzung (NAT) usw.) 836, die Zuverlässige-Transport-, Ordnungs-, Neuübertragungs-, Überlastregelungsschaltungsanordnung 838 und die Hochverfügbarkeits-, Fehlerbehandlungs- und Migrationsschaltungsanordnung 840, gezeigt in 8. Unterschiedliche Beispiele können eine oder mehrere Strukturen (Komponenten) der beispielhaften IPU 800 zusammen oder getrennt verwenden. Beispielsweise kann Komprimierungs- und Verschlüsselungsschaltungsanordnung 820 als ein separater Dienst verwendet werden oder als Teil eines Datenflusses mit vSwitch und Paketverschlüsselung verkettet werden.
  • Bei manchen Beispielen beinhaltet die IPU 800 ein feldprogrammierbares Gate-Array (FPGA) 870, das strukturiert ist, Befehle von einer CPU, XPU oder Anwendung über eine API zu empfangen und Befehle/Aufgaben im Auftrag der CPU durchzuführen, einschließlich Arbeitslastverwaltung und Offload- oder Beschleunigeroperationen. Das veranschaulichte Beispiel von 8 kann eine beliebige Anzahl an FPGAs beinhalten, die dazu ausgelegt und/oder anderweitig strukturiert sind, beliebige Operationen einer beliebigen hierin beschriebenen IPU durchzuführen.
  • Die beispielhafte Rechen-Fabric-Schaltungsanordnung 850 stellt Konnektivität zu einem lokalen Host oder einer lokalen Vorrichtung (z. B. Server oder Vorrichtung (z. B. xPU, Speicher- oder Speicherungsvorrichtung) bereit. Konnektivität mit einem lokalen Host oder einer lokalen Vorrichtung oder SmartNIC oder einer anderen IPU wird in manchen Beispielen unter Verwendung von Peripheral Component Interconnect Express (PCIe) und/oder ARM AXI und/oder Intel® QuickPath Interconnect (QPI) und/oder Intel® Ultra Path Interconnect (UPI) und/oder Intel® On-Chip System Fabric (IOSF) und/oder Omnipath und/oder Ethernet und/oder Compute Express Link (CXL) und/oder HyperTransport und/oder NVLink und/oder Advanced Microcontroller Bus Architecture (AMBA) Interconnect und/oder OpenCAPI und/oder Gen-Z und/oder CCIX und/oder Infinity Fabric (IF) und so weiter bereitgestellt. Unterschiedliche Beispiele der Host-Konnektivität stellen symmetrischen Speicher und symmetrisches Caching bereit, um gleiches Peering zwischen CPU, XPU und IPU zu ermöglichen (z. B. über CXL.cache und CXL.mem).
  • Eine beispielhafte Medienschnittstellenschaltungsanordnung 860 stellt Konnektivität zu einer entfernten SmartNIC oder einer anderen IPU oder einem Dienst über ein Netzwerkmedium oder ein Netzwerk-Fabric bereit. Dies kann über eine beliebige Art von Netzwerkmedien (z. B. drahtgebunden oder drahtlos) und unter Verwendung eines beliebigen Protokolls (z. B. Ethernet, InfiniBand, Fiber Channel, ATM, um einige zu nennen) bereitgestellt werden.
  • Bei manchen Beispielen ist die IPU 800, anstatt dass der Server/die CPU die primäre Komponente ist, die die IPU 800 verwaltet, ein Root eines Systems (z. B. Rack von Servern oder Datenzentrum) und verwaltet Rechenressourcen (z. B. CPU, xPU, Speicherung, Speicher, andere IPUs usw.) in der IPU 800 und außerhalb der IPU 800. Im Folgenden werden unterschiedliche Operationen einer IPU beschrieben.
  • In einigen Beispielen führt die IPU 800 eine Orchestrierung durch, um zu entscheiden, welche Hardware oder Software eine Arbeitslast ausführen soll, basierend auf verfügbaren Ressourcen (z. B. Dienste und Vorrichtungen) und berücksichtigt Service-Level-Agreements und Latenzen, um zu bestimmen, ob Ressourcen (z. B. CPU, xPU, Speicherung, Speicher usw.) von dem lokalen Host oder von einem entfernten Host oder einer gepoolten Ressource zugewiesen werden sollen. In Beispielen, in denen die IPU 800 ausgewählt ist, um eine Arbeitslast durchzuführen, lädt die sichere Ressourcenverwaltungsschaltungsanordnung 802 Arbeit zu einer CPU, xPU oder einer anderen Vorrichtung ab und die IPU 800 beschleunigt die Konnektivität verteilter Laufzeiten, reduziert Latenz, CPU und erhöht die Zuverlässigkeit.
  • In einigen Beispielen führt die sichere Ressourcenverwaltungsschaltungsanordnung 802 ein Dienst-Mesh aus, um zu entscheiden, welche Ressource die Arbeitslast ausführen soll, und dafür sorgen, dass L7- (Anwendungsschicht) und Fernprozeduraufruf(RPC)-Verkehr insgesamt den Kern umgehen, sodass eine Benutzerraumanwendung direkt mit der beispielhaften IPU 800 kommunizieren kann (die IPU 800 und die Anwendung können z. B. einen Speicherplatz teilen). In einigen Beispielen ist ein Dienst-Mesh eine konfigurierbare Infrastrukturschicht mit niedriger Latenz, die dazu ausgelegt ist, Kommunikationen zwischen Anwendungsmikrodiensten unter Verwendung von Anwendungsprogrammierungsschnittstellen (APIs) (z. B. über Fernprozeduraufrufe (RPCs)) zu bearbeiten. Das beispielhafte Dienst-Mesh stellt schnelle, zuverlässige und sichere Kommunikationen zwischen containerisierten oder virtualisierten Anwendungsinfrastrukturdiensten bereit. Das Dienst-Mesh kann kritische Fähigkeiten bereitstellen, einschließlich unter anderem Dienstentdeckung, Lastausgleich, Verschlüsselung, Beobachtbarkeit, Verfolgbarkeit, Authentifizierung und Autorisierung und Unterstützung für das Sicherungsschaltermuster.
  • Bei manchen Beispielen beinhalten Infrastrukturdienste einen Verbundknoten, der durch eine IPU bei oder nach dem Empfangen einer Arbeitslast von einer Anwendung erzeugt wird. In manchen Fällen beinhaltet der Verbundknoten Zugriff auf Hardwarevorrichtungen, Software unter Verwendung von APIs, RPCs, gRPCs oder Kommunikationsprotokolle mit Anweisungen, wie unter anderem iSCSI, NVMe-oF oder CXL.
  • In manchen Fällen wählt sich die beispielhafte IPU 800 dynamisch selbst aus, um eine gegebene Arbeitslast (z. B. Mikrodienst) innerhalb einer zusammensetzbaren Infrastruktur einschließlich einer IPU, xPU, CPU, Speicherung, Speicher und anderen Vorrichtungen in einem Knoten auszuführen.
  • In manchen Beispielen laufen Kommunikationen durch die Medienschnittstellenschaltungsanordnung 860 der beispielhaften IPU 800 durch eine NIC/SmartNIC (für knotenübergreifende Kommunikationen) oder zurück zu einem lokalen Dienst auf demselben Host. Kommunikationen durch die beispielhafte Medienschnittstellenschaltungsanordnung 860 der beispielhaften IPU 800 zu einer anderen IPU können dann gemeinsam genutzten Speicherunterstützungstransport zwischen durch die lokalen IPUs geschalteten xPUs verwenden. Die Verwendung von IPU-zu-IPU-Kommunikation kann Latenz und Jitter durch Eintrittsplanung von Nachrichten und Arbeitsverarbeitung basierend auf einem Dienstgüteziel (SLO: Service Level Objective) reduzieren.
  • Zum Beispiel priorisiert die beispielhafte IPU 800 für eine Anforderung an eine Datenbankanwendung, die eine Antwort erfordert, ihre Verarbeitung, um das Anhalten der anfordernden Anwendung zu minimieren. In einigen Beispielen plant die IPU 800 die priorisierte Nachrichtenanforderung, die das Ereignis ausgibt, um eine SQL-Abfragedatenbank auszuführen, und die beispielhafte IPU konstruiert Mikrodienste, die SQL-Abfragen ausgeben, und die Abfragen werden an die entsprechenden Vorrichtungen oder Dienste gesendet.
  • 9 ist eine schematische Veranschaulichung einer beispielhaften Einrichtung zum Implementieren einer Edge-skalierbaren adaptiv granulierten Überwachung und Telemetrieverarbeitung für Multi-QoS-Dienste. In dem veranschaulichten Beispiel in 9 ist eine allgemeine Plattformberechnungsschaltungsanordnung 900 gezeigt. Die beispielhafte allgemeine Plattformberechnungsschaltungsanordnung 900 beinhaltet eine allgemeine Prozessorschaltungsanordnung 902. In unterschiedlichen Beispielen kann die allgemeine Prozessorschaltungsanordnung 902 eine oder mehrere Zentralverarbeitungseinheiten (CPUs), eine oder mehrere Grafikverarbeitungseinheiten (GPUs), eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) und einen oder mehrere einer beliebigen Anzahl anderer Prozessoren beinhalten. 17 beinhaltet eine ausführlichere Beschreibung der allgemeinen Prozessorschaltungsanordnung 902 in den Einzelheiten der Verarbeitungsschaltungsanordnung 1612.
  • Zurückkehren zu 9 beinhaltet die beispielhafte allgemeine Plattformberechnungsschaltungsanordnung 900 eine allgemeine Beschleunigerschaltungsanordnung 904. Bei unterschiedlichen Beispielen kann die allgemeine Beschleunigerschaltungsanordnung 904 eine oder mehrere Beschleunigereinheiten beinhalten, die dazu ausgebildet sind, einen oder mehrere spezifische Prozesse zu beschleunigen. Die beispielhafte allgemeine Beschleunigerschaltungsanordnung 904 unterscheidet sich von der beispielhaften allgemeinen Prozessorschaltungsanordnung 902 darin, dass der eine oder die mehreren Beschleuniger, die sich in der allgemeinen Beschleunigerschaltungsanordnung 904 befinden, für spezifischere Anwendungen, Aufgaben und Prozesse bestimmt sind im Vergleich zu der beispielhaften allgemeinen Prozessorschaltungsanordnung 902, die in der Lage ist, Universalanweisungen auszuführen (z. B. Anweisungen, die Funktionen in Softwareanwendungen durchführen, die auf einem Betriebssystem ausgeführt werden). Außerdem soll der Begriff „allgemein“ in Bezug auf sowohl die allgemeine Prozessorschaltungsanordnung 902 als auch die allgemeine Beschleunigerschaltungsanordnung 904 einfach als von der dedizierten Telemetriefunktionsbeschleunigerschaltungsanordnung 906 unterschiedlich bedeuten, die weiter unten ausführlich besprochen wird.
  • In dem veranschaulichten Beispiel in 9 ist eine Speicherschaltungsanordnung 908 vorhanden. Die beispielhafte Speicherschaltungsanordnung 908 kann ein dynamischer Direktzugriffsspeicher (DRAM), ein nichtflüchtiger Speicher, ein Cache, eine Reihe von Registern, ein oder mehrere Speicherungspuffer, die als ein Teil einer Prozessorschaltungsanordnung integriert sind, oder eine beliebige andere Art von Speicher-Speicherung, die zum Speichern von Informationen in der Lage ist, sein. In dem veranschaulichten Beispiel in 9 gibt es mindestens zwei Schnittstellen, die in der Speicherschaltungsanordnung 908 gespeichert sind: eine Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 und eine Anwendungszuweisungsschnittstellendatenstruktur 912. In anderen Beispielen sind die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 und die Anwendungszuweisungsschnittstellendatenstruktur 912 jeweils in separaten Speicherschaltungsanordnungen gespeichert. In noch anderen Beispielen sind die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 und/oder die Anwendungszuweisungsschnittstellendatenstruktur 912 aufgrund der Wichtigkeit und der Geschwindigkeit, mit der diese Schnittstellen möglicherweise funktionieren müssen, in hardwaredefinierten Registern oder anderen Hardwareschaltungsanordnungen implementiert. In manchen Beispielen bewirken ein oder mehrere Prozesse in dem System die Speicherung der Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 und der Anwendungszuweisungsschnittstellendatenstruktur 912 (d. h. erzeugen die Schnittstellen, wie in 10 beschrieben, und nutzen dann einen Betriebssystemaufruf, einen Speicherungssteuerungsaufruf oder eine andere „Speichern“-Funktion, um die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 und die Anwendungszuweisungsschnittstellendatenstruktur 912 in einen Speicher, wie etwa die Speicherschaltungsanordnung 908, schreiben zu lassen). Zum Beispiel kann die SLA-Überwachungsschaltungsanordnung 914 beide Schnittstellen initialisieren und einen Aufruf an ein Betriebssystem oder einen anderen Systemdienst senden, um die Speicherung zu bewirken. In anderen Beispielen sind die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 und die Anwendungszuweisungsschnittstellendatenstruktur 912 reine Softwareinstanziierungen (z. B. virtuelle Container) und nicht in einer Schaltungsanordnung implementiert.
  • Die beispielhafte Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 listet Überwachungsfunktionen auf. In manchen Beispielen wird eine Überwachungsfunktion durch eine Kennung, eine Definition der Überwachungsfunktion und eine Liste von Telemetriemetriken (z. B. Telemetrieinformationen, eine Telemetriemetrikliste) spezifiziert (z. B. definiert), die durch die Überwachungsfunktion zu sammeln sind. In einigen Beispielen können Telemetriemetriken Recheneinheitsnutzung (z. B. allgemeine Berechnung, Beschleunigerberechnung und/oder dedizierte Beschleunigerrecheneinheitsnutzung), Anwendungsprioritätsstufe, Überwachungsfunktionsprioritätsstufe, Leistungsverbrauchsnutzung, Tageszeit oder eine beliebige andere bekannte Metrik beinhalten, die zum Bereitstellen von Informationen genutzt werden könnte.
  • 10 beinhaltet eine Veranschaulichung des Details in der beispielhaften Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910. Jede Zeile in der beispielhaften Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 repräsentiert Funktionen, die durch die Telemetrieüberwachungsschaltungsanordnung 926 durchgeführt werden. Jede Zeile in der beispielhaften Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 weist eine Funktions-ID 1000 auf. In manchen Beispielen ist die Funktions-ID 1000 eine universelle eindeutige ID (UUID), die durch einen Dienststapel genutzt wird (z. B. eine Liste von Diensten, die auf einer Vorrichtung ausgeführt werden, die die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 beinhaltet). In einigen Beispielen nutzt der Dienststapel die UUID, um die aufgelistete Überwachungsfunktion mit einer bestimmten Anwendung (z. B. Aufgabe, Dienst, Funktion) an die Vorrichtung zu binden.
  • Als Nächstes beinhaltet jede Zeile in der beispielhaften Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 einen aufgelisteten Satz von Metriken 1002. Der aufgelistete Satz von Metriken 1002 beinhaltet den spezifizierten Satz von Telemetrieinformationen, die als Eingaben gesammelt werden sollen. In manchen Beispielen beinhaltet der aufgelistete Satz von Metriken 1002 Telemetrieinformationen bezüglich der Hardware und/oder Software der Vorrichtung/Plattform selbst (z. B. derselben Vorrichtung, die die beispielhafte Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 speichert). In anderen Beispielen beinhaltet der aufgelistete Satz von Metriken 1002 Telemetrieinformationen bezüglich der Hardware und/oder Software anderer Vorrichtungen, die mit der Vorrichtung/Plattform verbunden sind. In noch anderen Beispielen beinhaltet der aufgelistete Satz von Metriken 1002 Telemetrieinformationen bezüglich sowohl der Hardware und/oder Software der Vorrichtung selbst als auch anderer Vorrichtungen, die mit der Vorrichtung selbst verbunden sind. In manchen Beispielen kann eine Vorrichtung entweder eine diskrete Vorrichtung sein (z. B. über eine PCIe- oder CXL-Schnittstelle verbunden) oder in eine Prozessor-/Beschleunigerschaltungsanordnung integriert sein (z. B. in eine CPU integriert). Zum Beispiel kann ein Kryptobeschleuniger in eine CPU integriert sein. Zusätzlich dazu kann in manchen Beispielen eine beliebige Vorrichtung oder ein beliebiges Element in einem beliebigen System ihre/seine eigene SLA aufweisen.
  • Die beispielhafte Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 beinhaltet auch eine Funktionsdefinition 1004. In manchen Beispielen ist die Funktionsdefinition 1004 ein Deskriptor, ein Zeiger usw. für die zu berechnende Überwachungsfunktion. In manchen Beispielen ist die zu berechnende Überwachungsfunktion eine Funktion, die durch eine oder mehrere Operationen zum Berechnen/Abrufen der Liste von Metriken 1002 definiert ist, und daher zeigt die Funktionsdefinition 1004 auf die eine oder die mehreren Operationen, die zum Berechnen der Metriken benötigt werden. In anderen Beispielen zeigt die Funktionsdefinition 1004 auf einen komplexeren Algorithmus, der als ein Bitstrom (oder ähnliche Informationen) repräsentiert ist, der in einem Rechenelement (z. B. Prozessorschaltungsanordnungskern(en), Beschleuniger(n) oder spezialisierter Logik) ausgeführt werden soll. In noch anderen Beispielen können die Überwachungsfunktion oder -unterfunktionen (z. B. die Operationen, die die Informationen einschließlich der Liste von Metriken 1002 abrufen), die die Überwachungsfunktion für eine Metriksammlung aufruft, zusätzlich Funktionsaufrufe beinhalten, um beschleunigte (z. B. Out-of-Band-) Codes, Signale usw. zu liefern. Die beschleunigten Codes/Signale können mögliche SLA-Verletzungen angeben, die detektiert oder vorhergesagt wurden (z. B. eine Prädiktion basierend auf einem Trend einer Metrik in Richtung einer SLA-Verletzung). In manchen Beispielen kann die Funktionsdefinition auch QoS-Aktionen beinhalten, die als Reaktion auf eine SLA-Verletzung durchzuführen sind.
  • 10 beinhaltet auch eine Veranschaulichung des Details in der beispielhaften Anwendungszuweisungsschnittstellendatenstruktur 912. In manchen Beispielen soll die Anwendungszuweisungsschnittstellendatenstruktur 912 Anwendungsinstanzen als laufend/vorhanden/verfügbar/usw. auflisten. Jede Zeile in der beispielhaften Anwendungszuweisungsschnittstellendatenstruktur 912 repräsentiert eine Anwendungsinstanz, die möglicherweise durch eine oder mehrere Überwachungsfunktionen überwacht werden soll. Jede Zeile in der beispielhaften Anwendungszuweisungsschnittstellendatenstruktur 912 weist einen Mandanten-ID-Eigentümer 1006 auf. In einigen Beispielen ist der Mandanten-ID-Eigentümer 1006 eine UUID, die eine Funktions-ID in der beispielhaften Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 mit einer Anwendung verknüpft, die in der Anwendungszuweisungsschnittstellendatenstruktur 912 zu überwachen ist. Um die Verknüpfung abzuschließen, beinhaltet jede Zeile in der beispielhaften Anwendungszuweisungsschnittstellendatenstruktur 912 auch einen Anwendungsprozessadressraum (App-PASID) 1008, der die mit der UUUID-Überwachungsfunktion verknüpfte Softwareinstanz (z. B. die/der zu überwachende Aufgabe, Dienst, Funktion, Anwendung) identifiziert. In manchen Beispielen ermöglichen die App-PASID 1008 und die UUID 1006, die in jedem Eintrag in der Anwendungszuweisungsschnittstellendatenstruktur 912 aufgelistet sind, die Verknüpfung zwischen der aufgelisteten Überwachungsfunktion und der aufgelisteten Anwendung.
  • In dem veranschaulichten Beispiel von 10 beinhaltet die beispielhafte Anwendungszuweisungsschnittstellendatenstruktur 912 auch einen SLA-Kritikalitätstyp 1010. Der beispielhafte SLA-Kritikalitätstyp 1010 definiert die Kritikalität (z. B. Wichtigkeit) der zu überwachenden Instanz der Anwendung (z. B. Aufgabe/Dienst/Funktion/usw.). Zum Beispiel kann es drei definierte Kritikalitätsstufen der Anwendungsinstanz mit drei unterschiedlichen Erfordernissen darüber geben, wie eine Überwachung basierend auf dem Kritikalitätstyp durchgeführt werden soll:
    • • Niedrige Kritikalität: Es wird keine Beschleunigung benötigt, um die Überwachungsfunktion zu berechnen, und Ressourcen können umverteilt werden, um die Überwachung anderer Dienste/Anwendungen zu verbessern.
    • • Mittelhohe Kritikalität: Die Beschleunigung der Berechnung der Überwachungsfunktion ist optional und wird genutzt, falls die Beschleunigungsressourcen von anderen Diensten/Anwendungen gespart werden können (basierend auf den Kritikalitätsstufen der anderen Dienste/Anwendungen).
    • • Hohe Kritikalität: Eine Beschleunigung oder ein beschleunigter Betrieb der Berechnung der Überwachungsfunktion wird für skalierbare und/oder Echtzeit-Funktionalität benötigt.
  • In anderen Beispielen kann eine beliebige andere Anzahl von Kritikalitätstypen hinzugefügt oder entfernt werden, um einen feingranulierteren oder grobgranulierteren Ansatz zum Nutzen eines SLA-Kritikalitätstyps zu erzeugen (z. B. kann es in einem gewissen Szenario 10 Kritikalitätsstufen geben und ein anderes Szenario kann nur eine einzige Kritikalitätsstufe aufweisen). Zusätzlich dazu kann in manchen Beispielen die Anzahl diskreter Kritikalitätsstufen andere Typen definierter Werte aufweisen, die sich von einer Kritikalitätsstufe unterscheiden.
  • In dem veranschaulichten Beispiel von 10 beinhaltet die Anwendungszuweisungsschnittstellendatenstruktur 912 auch eine Frequenz 1012. In manchen Beispielen kennzeichnet die Frequenz 1012, wie häufig die Überwachungsfunktion ausgeführt werden sollte, um die Anwendung zu überwachen. Zum Beispiel kann eine erste Überwachungsfunktion einmal alle 10 Mikrosekunden ausgeführt werden, eine zweite Überwachungsfunktion kann einmal pro Millisekunde ausgeführt werden, eine dritte Überwachungsfunktion kann einmal pro Sekunde ausgeführt werden und eine vierte Überwachungsfunktion kann kontinuierlich ausgeführt werden, um eine Anwendung in einem kontinuierlichen Echtzeitmodus zu überwachen.
  • In dem veranschaulichten Beispiel von 10 beinhaltet die Anwendungszuweisungsschnittstellendatenstruktur 912 auch die SLA-Definition 1014. Die beispielhafte SLA-Definition 1014 definiert, welche Aktionen die Überwachungsfunktion ergreifen würde oder wie die Überwachungsfunktion Korrekturmaßnahmen auslösen würde. Zum Beispiel kann die SLA-Definition 1014 eine Funktionstelemetrie-ID oder Metrik-ID beinhalten. In einigen Beispielen kann die SLA-Definition 1014 einen Zeiger auf eine QoS-Logik zum Vornehmen einer Korrekturmaßnahme beinhalten. In einigen Beispielen kann die SLA-Definition 1014 eine oder mehrere Operationen (oder Zeiger auf Operationen) beinhalten, um ein Interrupt auf Benutzerebene (ULI: User-Level Interrupt) oder eine andere Art von Interrupt an den Softwarestapel der Vorrichtung zu liefern, um einen Softwarerückruf zu starten. In anderen Beispielen kann die SLA-Definition 1014 ein oder mehrere zusätzliche Funktionselemente beinhalten, die abgeschlossen werden sollen, um die zu nehmende Metrik zu definieren, die Schwellen der Metrik zu definieren und/oder die Optionen zum Auslösen zu definieren, falls die Metrik ein Schwellenniveau erreicht.
  • Obwohl die beispielhafte Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 und die Anwendungszuweisungsschnittstellendatenstruktur 912 als eine Datenstruktur mit mehreren Zeilen für mehrere Einträge in 10 gezeigt sind, versteht es sich, dass in einigen Beispielen jede Datenstruktur, wenn sie existiert, einen einzigen Eintrag aufweisen kann.
  • Zurückkehrend zu 9 ist eine beispielhafte SLA-Überwachungsschaltungsanordnung 914 gezeigt. In manchen Beispielen ist die SLA-Überwachungsschaltungsanordnung 914 für das Implementieren der beispielhaften Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 und der beispielhaften Anwendungszuweisungsschnittstellendatenstruktur 912 verantwortlich. Zum Beispiel kann die SLA-Überwachungsschaltungsanordnung 914 die beispielhafte Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 und die beispielhafte Anwendungszuweisungsschnittstellendatenstruktur 912 zur System-Boot-Zeit initialisieren und einrichten. In anderen Beispielen initialisiert eine andere Entität (z. B. ein entfernter Administrator-Agent) die beispielhafte Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 und die beispielhafte Anwendungszuweisungsschnittstellendatenstruktur 912.
  • In manchen Beispielen ist die SLA-Überwachungsschaltungsanordnung 914 dafür verantwortlich, der Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 neue Überwachungsfunktionen hinzuzufügen, während sie verfügbar werden, und ist dafür verantwortlich, der Anwendungszuweisungsschnittstellendatenstruktur 912 neue Anwendungsinstanzen hinzuzufügen, während sie erzeugt werden. In manchen Beispielen verknüpft die SLA-Überwachungsschaltungsanordnung 914 die Überwachungsfunktionen mit den Anwendungsinstanzen. In unterschiedlichen Beispielen kann jede Anwendungsinstanz basierend auf den Überwachungsbedürfnissen der Anwendungsinstanz mit keiner, einer oder mehr als einer Überwachungsfunktion verknüpft werden.
  • Um eine Überwachungsfunktion mit einer speziellen Anwendung (z. B. Dienst/Aufgabe/Funktion/usw.) zu verknüpfen, instanziiert die beispielhafte SLA-Überwachungsschaltungsanordnung 914 eine Überwachungsfunktions-UUID (1000 in 10) für eine Anwendung-PASID (1008 in 10). In manchen Beispielen, falls die Anwendung eine Anwendung mit hoher Kritikalität/Priorität ist (oder die definierte Überwachungsfunktion selbst per Definition, was sie überwacht, eine Überwachungsfunktion mit hoher Priorität ist), dann instanziiert die SLA-Überwachungsschaltungsanordnung 914 die Überwachungsfunktion in eine der verfügbaren beschleunigten Recheneinheiten (z. B. die allgemeine Beschleunigerschaltungsanordnung 904).
  • In manchen Beispielen können einer oder mehrere der in 9 beschriebenen Funktionsblöcke die Funktionen einer IPU beinhalten (wie in der Erörterung von 8 oben beschrieben). In manchen Beispielen können die IPU-artigen Funktionsblöcke von 9 mittels IPU-zu-IPU-Messaging miteinander kommunizieren. IPU-basierte Messaging-Kommunikationen zwischen den Funktionsblöcken von 9 können Nachrichten und Arbeitsverarbeitung basierend auf einem oder mehreren Service Level Objectives (SLO; Dienstgütezielen) planen.
  • 11A ist eine schematische Veranschaulichung einer beispielhaften Einrichtung einschließlich einer ausführlichen Schaltungsanordnung, die innerhalb der SLA-Überwachungslogikschaltungsanordnung 914 implementiert wird. Die beispielhafte SLA-Überwachungslogik beinhaltet eine Überwachungsfunktionsinstanziiererschaltungsanordnung 1100 zum Instanziieren der Überwachungsfunktion für eine Anwendungsinstanz in einem Hardware-und-Software-Überwachungslogikstapel. In manchen Beispielen beinhaltet der Hardware-und-Software-Überwachungslogikstapel einen Stapel aus Hardware- und Softwareschichten auf der Vorrichtung, der auf einer hohen Ebene die zu überwachende Softwareanwendung beinhaltet, bei niedrigeren Schichten des Stapels das Betriebssystem und den Betriebssystem-Kernel beinhaltet, auf dem die Softwareanwendung läuft, und bei weiteren unteren Schichten des Stapels die Hardware beinhaltet, auf der das Betriebssystem läuft/existiert (z. B. die allgemeine Plattformberechnungsschaltungsanordnung 900 und die Speicherschaltungsanordnung 908, die Teile der Vorrichtung bilden). Der „Hardware-und-Software-Überwachungslogikstapel“ definiert einfach den ganzen Stapel von Hardware- und Softwarelogik, der durch die Überwachungsfunktion überwacht werden soll, um zu bestimmen, ob die SLA(s) eingehalten oder verletzt wird (werden).
  • In manchen Beispielen beinhaltet die Einrichtung Mittel zum Instanziieren der Überwachungsfunktion für eine Anwendungsinstanz in einem Hardware- und-Software-Überwachungslogikstapel. Zum Beispiel können die Mittel zum Instanziieren durch die Überwachungsfunktionsinstanziiererschaltungsanordnung 1100 implementiert werden. In manchen Beispielen kann die Überwachungsfunktionsinstanziiererschaltungsanordnung 1100 durch maschinenausführbare Anweisungen implementiert werden, wie etwa jene, die durch zumindest Block 1100 von 11A, der durch eine Prozessorschaltungsanordnung ausgeführt wird, die durch die beispielhafte Prozessorschaltungsanordnung 1712 von 17, die beispielhafte Prozessorschaltungsanordnung 1800 von 18 und/oder die beispielhafte Feldprogrammierbares-Gate-Array(FPGA)-Schaltungsanordnung 1900 von 19 implementiert werden kann. Bei anderen Beispielen wird die Überwachungsfunktionsinstanziiererschaltungsanordnung 1100 durch andere Hardwarelogikschaltungsanordnungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination aus Hardware, Software und/oder Firmware implementiert. Zum Beispiel kann die Überwachungsfunktionsinstanziiererschaltungsanordnung 1100 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), einen Komparator, einen Operationsverstärker (Op-Amp), eine Logikschaltung usw.) implementiert werden, die zum Durchführen der entsprechenden Operation strukturiert sind, ohne Software oder Firmware auszuführen, aber andere Strukturen sind ebenfalls geeignet.
  • In manchen Beispielen beinhaltet die beispielhafte SLA-Überwachungsschaltungsanordnung 914 eine Anwendungsinstanzkritikalitätsbestimmerschaltungsanordnung 1102 zum Bestimmen der Kritikalität (z. B. Priorität) der zu überwachenden Anwendung. Die beispielhafte Anwendungsinstanzkritikalitätsbestimmerschaltungsanordnung 1102 kann einen oder mehrere Prozesse verwenden, um die Kritikalitätsstufe der Anwendung zu bestimmen. In manchen Beispielen ist die Kritikalitätsstufe basierend auf den Informationen des SLA-Kritikalitätstyps 1010 in der Anwendungszuweisungsschnittstellendatenstruktur 912 pro aufgelisteter Anwendungsinstanz (App-PASID 1008) bekannt. In anderen Beispielen ist eine Anwendungskritikalitätsstufe einem oder mehreren anderen Verfahren bekannt, wie etwa eine vorbestimmte OS-basierte Kritikalitätsliste oder andere Prozesse.
  • In manchen Beispielen beinhaltet die Einrichtung Mittel zum Bestimmen der Kritikalitätsstufe der Anwendungsinstanz. Zum Beispiel können die Mittel zum Bestimmen durch die Anwendungsinstanzkritikalitätsbestimmerschaltungsanordnung 1102 implementiert werden. In manchen Beispielen kann die Anwendungsinstanzkritikalitätsbestimmerschaltungsanordnung 1102 durch maschinenausführbare Anweisungen implementiert werden, wie etwa jene, die durch zumindest Block 1102 von 11A, der durch eine Prozessorschaltungsanordnung ausgeführt wird, die durch die beispielhafte Prozessorschaltungsanordnung 1712 von 17, die beispielhafte Prozessorschaltungsanordnung 1800 von 18 und/oder die beispielhafte Feldprogrammierbares-Gate-Array(FPGA)-Schaltungsanordnung 1900 von 19 implementiert werden kann. Bei anderen Beispielen wird die Anwendungsinstanzkritikalitätsbestimmerschaltungsanordnung 1102 durch andere Hardwarelogikschaltungsanordnungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination aus Hardware, Software und/oder Firmware implementiert. Zum Beispiel kann die Anwendungsinstanzkritikalitätsbestimmerschaltungsanordnung 1102 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), einen Komparator, einen Operationsverstärker (Op-Amp), eine Logikschaltung usw.) implementiert werden, die zum Durchführen der entsprechenden Operation strukturiert sind, ohne Software oder Firmware auszuführen, aber andere Strukturen sind ebenfalls geeignet.
  • In manchen Beispielen beinhaltet die beispielhafte SLA-Überwachungsschaltungsanordnung 914 eine Ressourcennutzungsüberwachungsschaltungsanordnung 1104 zum Überwachen des Gebrauchs/der Nutzung von Rechenressourcen (z. B. Recheneinheiten, die in der Lage sind, die Überwachung und Berechnung bereitzustellen, die zum Ausführen einer Überwachungsfunktion erforderlich sind). Falls in einigen Beispielen bestimmt wird, dass die Anwendung geringer als eine Anwendung mit hoher Kritikalität/Priorität ist (z. B. eine Anwendung mit mittelhoher Priorität), dann wird die Ressourcennutzungsüberwachungsschaltungsanordnung 1104 die Recheneinheiten (z. B. die allgemeine Prozessorschaltungsanordnung 902, die allgemeine Beschleunigerschaltungsanordnung 902 und/oder die Telemetriefunktionsbeschleunigerschaltungsanordnung 906 plus die dedizierte Telemetrieberechnungsschaltungsanordnung 918) überwachen, die durch einen oder mehrere Dienste ohne hohe Kritikalität verwendet wird. Wenn genügend Ressourcen vorhanden sind, um die Überwachungsfunktion auszuführen, wird die beispielhafte SLA-Überwachungsschaltungsanordnung 914 durch die Verwendung der Überwachungsfunktionsinstanziiererschaltungsanordnung 1100 die Überwachungsfunktion in eine (oder mehrere) der Recheneinheiten instanziieren, um die Telemetriedaten abzurufen und zu berechnen. In manchen Beispielen überwacht die Ressourcennutzungsüberwachungsschaltungsanordnung 1104 kontinuierlich die Recheneinheitsressourcen und kann die Überwachungsfunktion mehrmals priorisieren und depriorisieren, wenn sich Ressourceneinschränkungen dynamisch ändern.
  • In manchen Beispielen nutzt die Ressourcennutzungsüberwachungsschaltungsanordnung 1104 Top-Down-Mikroarchitekturanalyseverfahren (TMAM: Top-Down Microarchitecture Analysis Methods) und die resultierenden Metriken, um zu identifizieren, ob eine gegebene Recheneinheitsressource vollständig genutzt wird oder durch einen Dienst/eine Anwendung mit niedrigerer Priorität als die Überwachungsfunktion genutzt wird. Falls die Ressourcen verfügbar sind oder werden, instanziiert die Überwachungsfunktionsinstanziiererschaltungsanordnung 1100 die Überwachungsfunktion in dem Softwarestapel, um mit der Überwachung und/oder dem Berechnen von Telemetriedaten zu beginnen/diese wiederaufzunehmen.
  • In manchen Beispielen überwacht die Ressourcennutzungsüberwachungsschaltungsanordnung 1104 eine Nutzungsrate einer Ressource einer Plattform (z. B. eines Rechenknotens). Falls die Nutzungsrate der Ressource unter einer maximalen Schwellenrate liegt, kann die Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 bewirken, dass zumindest ein Teil der allgemeinen Plattformberechnungsschaltungsanordnung die Überwachungsfunktion ausführt.
  • In manchen Beispielen verschiebt die Überwachungsfunktionsinstanziiererschaltungsanordnung 1100 die Überwachungsfunktion zu Softwarestapeln mit niedrigerer Priorität, während sie verfügbar werden, wodurch ermöglicht wird, dass Ressourcen in Softwarestapeln mit höherer Priorität freigegeben werden. Falls/wenn dies auftritt, gibt die Überwachungsfunktionsinstanziiererschaltungsanordnung 1100 die Überwachungsfunktionsressourcen von dem Softwarestapel mit mittelhoher Priorität frei (und gibt potenziell auch beliebige Ressourcen frei, die mit QoS-Logik assoziiert sind), um zu ermöglichen, dass solche Ressourcen anderen Funktionen mit höherer Priorität zur Verfügung gestellt werden.
  • In manchen Beispielen beinhaltet die Einrichtung Mittel zum Überwachen der Nutzung der Vorrichtungsressourcen/Recheneinheiten. Zum Beispiel können die Mittel zum Überwachen durch die Ressourcennutzungsüberwachungsschaltungsanordnung 1104 implementiert werden. In manchen Beispielen kann die Ressourcennutzungsüberwachungsschaltungsanordnung 1104 durch maschinenausführbare Anweisungen implementiert werden, wie etwa jene, die durch zumindest Block 1104 von 11A, der durch eine Prozessorschaltungsanordnung ausgeführt wird, die durch die beispielhafte Prozessorschaltungsanordnung 1712 von 17, die beispielhafte Prozessorschaltungsanordnung 1800 von 18 und/oder die beispielhafte Feldprogrammierbares-Gate-Array(FPGA)-Schaltungsanordnung 1900 von 19 implementiert werden kann. Bei anderen Beispielen wird die Ressourcennutzungsüberwachungsschaltungsanordnung 1104 durch andere Hardwarelogikschaltungsanordnungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination aus Hardware, Software und/oder Firmware implementiert. Zum Beispiel kann die Ressourcennutzungsüberwachungsschaltungsanordnung 1104 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), einen Komparator, einen Operationsverstärker (Op-Amp), eine Logikschaltung usw.) implementiert werden, die zum Durchführen der entsprechenden Operation strukturiert sind, ohne Software oder Firmware auszuführen, aber andere Strukturen sind ebenfalls geeignet.
  • In manchen Beispielen beinhaltet die beispielhafte SLA-Überwachungsschaltungsanordnung 914 eine Überwachungsfunktionsausführungsstarter(z. B. -verursacher-)schaltungsanordnung 1106, die bewirkt, dass die Ausführung jeder Überwachungsfunktion genutzt wird, um eine oder mehrere Anwendungen alle N Zeiteinheiten (z. B. die Frequenz der Überwachung) zu überwachen. In manchen Beispielen verwaltet die Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 einen Timer (z. B. Initiieren/Setzen/Rücksetzen), um die Zeitfrequenz (z. B. alle N Einheiten) herunterzuzählen. In manchen Beispielen bewirkt die Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106, dass die Überwachungsfunktion jedes Mal, wenn der Timer null erreicht, eine Ausführung beginnt, und dann wird der Timer zurückgesetzt.
  • In 11A beinhaltet die SLA-Überwachungsschaltungsanordnung 914 zusätzlich eine QoS-Rückrufgeneratorschaltungsanordnung 1108 zum Erzeugen beliebiger Durchsetzungsrückrufe an eine QoS-Durchsetzungsschaltungsanordnung 916 als Reaktion auf eine Verletzung der SLA (z. B. die Definition der SLA). In manchen Beispielen wird die SLA-Überwachungsschaltungsanordnung 914 die ID der Überwachungsfunktion, einen aktuellen Satz von Werten der Telemetriemetriken, die mit der Überwachungsfunktion assoziiert sind, und ein beliebiges Ergebnis der Ausführung der Überwachungsfunktion (z. B. Telemetriedaten überschritten eine Schwelle in der SLA) bereitstellen. In manchen Beispielen bewirkt die SLA-Überwachungsschaltungsanordnung 914, dass die Überwachungsfunktion in dem Hardware-und-Software-Überwachungslogikstapel ausgeführt wird.
  • In manchen Beispielen beinhaltet die Einrichtung Mittel zum Veranlassen, dass die Überwachungsfunktion in dem Hardware-und-Software-Überwachungslogikstapel ausgeführt wird. Zum Beispiel kann das Mittel zum Veranlassen durch die Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 implementiert werden. In manchen Beispielen kann die Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 durch maschinenausführbare Anweisungen implementiert werden, wie etwa jene, die durch zumindest Block 1106 von 11A, der durch eine Prozessorschaltungsanordnung ausgeführt wird, die durch die beispielhafte Prozessorschaltungsanordnung 1712 von 17, die beispielhafte Prozessorschaltungsanordnung 1800 von 18 und/oder die beispielhafte Feldprogrammierbares-Gate-Array(FPGA)-Schaltungsanordnung 1900 von 19 implementiert werden kann. Bei anderen Beispielen wird die Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 durch andere Hardwarelogikschaltungsanordnungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination aus Hardware, Software und/oder Firmware implementiert. Zum Beispiel kann die Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), einen Komparator, einen Operationsverstärker (Op-Amp), eine Logikschaltung usw.) implementiert werden, die zum Durchführen der entsprechenden Operation strukturiert sind, ohne Software oder Firmware auszuführen, aber andere Strukturen sind ebenfalls geeignet.
  • In einigen Beispielen beinhaltet die Einrichtung Mittel zum Erzeugen eines Dienstgüte(QoS)-Durchsetzungsrückrufs als Reaktion auf eine Verletzung der SLA-Definition. Das Mittel zum Erzeugen kann zum Beispiel durch die QoS-Rückrufgeneratorschaltungsanordnung 1108 implementiert werden. In manchen Beispielen kann die QoS-Rückrufgeneratorschaltungsanordnung 1108 durch maschinenausführbare Anweisungen implementiert werden, wie etwa jene, die durch zumindest Block 1108 von 11A, der durch eine Prozessorschaltungsanordnung ausgeführt wird, die durch die beispielhafte Prozessorschaltungsanordnung 1712 von 17, die beispielhafte Prozessorschaltungsanordnung 1800 von 18 und/oder die beispielhafte Feldprogrammierbares-Gate-Array(FPGA)-Schaltungsanordnung 1900 von 19 implementiert werden kann. In anderen Beispielen wird die QoS-Rückrufgeneratorschaltungsanordnung 1108 durch andere Hardwarelogikschaltungsanordnungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination aus Hardware, Software und/oder Firmware implementiert. Zum Beispiel kann die QoS-Rückrufgeneratorschaltungsanordnung 1108 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), einen Komparator, einen Operationsverstärker (Op-Amp), eine Logikschaltung usw.) implementiert werden, die zum Durchführen der entsprechenden Operation strukturiert sind, ohne Software oder Firmware auszuführen, aber andere Strukturen sind ebenfalls geeignet.
  • In dem veranschaulichten Beispiel in 9 empfängt die QoS-Durchsetzungsschaltungsanordnung 916 Rückrufe von der SLA-Überwachungsschaltungsanordnung 914 und führt eine oder mehrere Aktionen durch, die mit dem Rückruf assoziiert sind. Ein Rückruf zum Handhaben einer SLA-Verletzung oder einer vorhergesagten drohenden SLA-Verletzung (aufgrund eines Trends in den Telemetriedaten) kann zum Beispiel bewirken, dass die QoS-Durchsetzungsschaltungsanordnung 916 Signale an die allgemeine Plattformberechnungsschaltungsanordnung 900 sendet (z. B. die Recheneinheiten der allgemeinen Prozessorschaltungsanordnung 902 und/oder der allgemeinen Beschleunigerschaltungsanordnung 904), um die überwachte Anwendung neu zu priorisieren, da sie nicht den Prozentsatz einer oder mehrerer Rechenressourcen, die ihr bereitgestellt werden sollten, oder den Prozentsatz an Zeit einer oder mehrerer Rechenressourcen empfängt. Die beispielhafte QoS-Durchsetzungsschaltungsanordnung 916 kann veranlassen, dass die allgemeine Plattformberechnungsschaltungsanordnung 900 (z. B. die Recheneinheiten der allgemeinen Prozessorschaltungsanordnung 902 und/oder der allgemeinen Beschleunigerschaltungsanordnung 904) die Anwendung auf eine höhere Softwarestapelprioritätsstufe verschiebt und/oder andere Anwendungen depriorisiert, um der betreffenden Anwendung mehr Ressourcen bereitzustellen.
  • In einigen Beispielen beinhaltet die Einrichtung Mittel zum Durchführen einer QoS-Aktion als Reaktion auf das Empfangen eines QoS-Rückrufs einer Verletzung einer SLA. Das Mittel zum Erzeugen kann zum Beispiel durch die QoS-Durchsetzungsschaltungsanordnung 916 implementiert werden. In manchen Beispielen kann die QoS-Durchsetzungsschaltungsanordnung 916 durch maschinenausführbare Anweisungen implementiert werden, wie etwa jene, die durch zumindest Block 916 von 9 implementiert werden, der durch eine Prozessorschaltungsanordnung ausgeführt wird, die durch die beispielhafte Prozessorschaltungsanordnung 1712 von 17, die beispielhafte Prozessorschaltungsanordnung 1800 von 18 und/oder die beispielhafte Feldprogrammierbares-Gate-Array(FPGA)-Schaltungsanordnung 1900 von 19 implementiert werden kann. In anderen Beispielen wird die QoS-Durchsetzungsschaltungsanordnung 916 durch andere Hardwarelogikschaltungsanordnungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination aus Hardware, Software und/oder Firmware implementiert. Zum Beispiel kann die QoS-Durchsetzungsschaltungsanordnung 916 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), einen Komparator, einen Operationsverstärker (Op-Amp), eine Logikschaltung usw.) implementiert werden, die zum Durchführen der entsprechenden Operation strukturiert sind, ohne Software oder Firmware auszuführen, aber andere Strukturen sind ebenfalls geeignet.
  • In dem veranschaulichten Beispiel in 9 kann die Telemetriefunktionsbeschleunigerschaltungsanordnung 906 eine dedizierte Telemetrieberechnungsschaltungsanordnung 918 zum Überwachen/Abrufen/Berechnen von Telemetriefunktionsdaten beinhalten. Dies ist von der allgemeinen Prozessorschaltungsanordnung 902 und der allgemeinen Beschleunigerschaltungsanordnung 904 in der Vorrichtung getrennt, da die dedizierte Telemetrieberechnungsschaltungsanordnung nicht für irgendeine andere Art von Funktionalität genutzt wird und eine ununterbrochene dedizierte Telemetrieberechnung ermöglicht, um bei Überwachungsfunktionen mit hoher Priorität zu helfen. In manchen Beispielen liefert die Telemetriefunktionsbeschleunigerschaltungsanordnung 906 die berechneten Telemetrieergebnisse an die SLA-Überwachungsschaltungsanordnung 914, um das Überwachen der Anwendungen zu unterstützen.
  • In dem veranschaulichten Beispiel in 9 befinden sich die SLA-Überwachungsschaltungsanordnung 914, die QoS-Durchsetzungsschaltungsanordnung 916, die Telemetriefunktionsbeschleunigerschaltungsanordnung 906 und die dedizierte Telemetrieberechnungsschaltungsanordnung 918 in einer Verwaltungssteuerungsschaltungsanordnung 920. In manchen Beispielen ist die Verwaltungssteuerungsschaltungsanordnung 920 ein Platinenverwaltungssteuerungschip, der sich auf einer Hauptplatine der Vorrichtung befindet, aber von der allgemeinen Plattformberechnungsschaltungsanordnung 900 getrennt ist. In anderen Beispielen ist die Verwaltungssteuerungsschaltungsanordnung 920 in die allgemeine Plattformberechnungsschaltungsanordnung 900 integriert. In manchen Beispielen stellt eine Schnittstellenverwaltungsschaltungsanordnung 922 einen Kommunikationslink von einer anderen Schaltungsanordnung auf der Vorrichtung zu der Verwaltungssteuerungsschaltungsanordnung 920 (und der SLA-Überwachungsschaltungsanordnung 914, die in der Verwaltungssteuerungsschaltungsanordnung 920 integriert ist) bereit.
  • In manchen Beispielen befinden sich die Verwaltungssteuerungsschaltungsanordnung 920, die allgemeine Plattformberechnungsschaltungsanordnung 900, die Speicherschaltungsanordnung 908 und alle Schaltungsanordnungen, die in 9 als sich innerhalb dieser Schaltungsanordnungen (920, 900 und 908) befindlich veranschaulicht sind, innerhalb einer Telemetrieüberwachungsschaltungsanordnung 926, die allgemeiner zumindest ein Teil einer Rechenknotenschaltungsanordnung 924 ist. Die Rechenknotenschaltungsanordnung 924 kann in einer beliebigen Form eines Rechenknotens vorliegen, der bekannt und oben unter Bezugnahme auf 7 beschrieben ist.
  • 11B ist eine schematische Veranschaulichung einer beispielhaften Einrichtung einschließlich einer ausführlichen Telemetriefunktionsausführerschaltungsanordnung, die innerhalb der allgemeinen Prozessorschaltungsanordnung 902, der allgemeinen Beschleunigerschaltungsanordnung 904 und/oder der Telemetriefunktionsbeschleunigerschaltungsanordnung 906 implementiert wird. In manchen Beispielen werden die Telemetriefunktionen durch eine oder mehrere der Recheneinheiten in der Vorrichtung/dem System/dem Rechenknoten implementiert und ausgeführt. Zum Beispiel können die Telemetriefunktionsbeschleunigerschaltungsanordnung 906 und/oder die allgemeine Beschleunigerschaltungsanordnung 904 und/oder die allgemeine Prozessorschaltungsanordnung 902 eine Telemetriefunktionsausführerschaltungsanordnung beinhalten. In einigen Beispielen stellt die Telemetriefunktionsausführerschaltungsanordnung 1110, wenn sie in der allgemeinen Beschleunigerschaltungsanordnung 904 und/oder der Telemetriefunktionsbeschleunigerschaltungsanordnung 906 implementiert ist, eine hardwarebeschleunigte Telemetriefunktionsausführung bereit. In einigen Beispielen stellt die Telemetriefunktionsausführerschaltungsanordnung 1110, wenn sie in der Telemetriefunktionsbeschleunigerschaltungsanordnung 906 implementiert ist, eine dedizierte hardwarebeschleunigte Telemetriefunktionsausführung bereit. In einigen Beispielen weisen die hardwarebeschleunigten Telemetriefunktionsausführer 904 und/oder 906 eine Anzahl (N) von Einheiten einfacher beschleunigter Funktionen auf. Die beispielhafte allgemeine Prozessorschaltungsanordnung 902 kann auch leistungsfähig Telemetriefunktionsverwaltung und -berechnungen, aber auf eine softwareimplementierte Weise bereitstellen.
  • In 11B beinhaltet die beispielhafte Telemetriefunktionsausführerschaltungsanordnung 1110 eine Überwachungsfunktionsparserschaltungsanordnung 1112 zum Parsen der Informationen, die in der Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 und in der Anwendungszuweisungsschnittstellendatenstruktur 912 gespeichert sind. Die Telemetriefunktionsausführerschaltungsanordnung 1110 kann zum Beispiel eine Überwachungsfunktion, die in der Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 gespeichert ist, in einen Satz von Operationen parsen. Der Satz von Operationen kann die auszuführende Funktionsdefinition 1004, den Satz von Metriken 1002 und die Funktions-ID 1000 beinhalten.
  • In manchen Beispielen beinhaltet die Einrichtung Mittel zum Parsen der ersten Überwachungsfunktion in einen Satz von Operationen. Zum Beispiel können die Mittel zum Parsen durch die Überwachungsfunktionsparserschaltungsanordnung 1112 implementiert werden. In manchen Beispielen kann die Überwachungsfunktionsparserschaltungsanordnung 1112 durch maschinenausführbare Anweisungen implementiert werden, wie etwa jene, die durch zumindest Block 1112 von 11, der durch eine Prozessorschaltungsanordnung ausgeführt wird, die durch die beispielhafte Prozessorschaltungsanordnung 1712 von 17, die beispielhafte Prozessorschaltungsanordnung 1800 von 18 und/oder die beispielhafte Feldprogrammierbares-Gate-Array(FPGA)-Schaltungsanordnung 1900 von 19 implementiert werden kann. Bei anderen Beispielen wird die Überwachungsfunktionsparserschaltungsanordnung 1112 durch andere Hardwarelogikschaltungsanordnungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination aus Hardware, Software und/oder Firmware implementiert. Zum Beispiel kann die Überwachungsfunktionsparserschaltungsanordnung 1112 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), einen Komparator, einen Operationsverstärker (Op-Amp), eine Logikschaltung usw.) implementiert werden, die zum Durchführen der entsprechenden Operation strukturiert sind, ohne Software oder Firmware auszuführen, aber andere Strukturen sind ebenfalls geeignet.
  • In 11B beinhaltet die beispielhafte Telemetriefunktionsausführerschaltungsanordnung 1110 eine Hardware-und-Software-Überwachungslogikstapel-Konfigurationsschaltungsanordnung 1114. In einigen Beispielen, sobald die Überwachungsfunktion geparst ist, dann konfigurieren die beispielhaften Telemetriefunktionsausführer (z. B. die Telemetriefunktionsbeschleunigerschaltungsanordnung 906, die allgemeine Beschleunigerschaltungsanordnung 904 und/oder die allgemeine Prozessorschaltungsanordnung 902) den Hardware-und-Software-Überwachungslogikstapel (z. B. Hardware-/Beschleunigerlogik und die Softwareanwendung(en) und das Betriebssystem) zum Durchführen der Überwachung (z. B. Telemetriemetrikensammlung und Überwachung von Operationen/Anweisungen). Die Konfiguration kann in einigen Beispielen das Starten komplementärer Softwarefunktionen beinhalten, die mit dem Hardware-und-Software-Überwachungslogikstapel verschachtelt sind, um eine vollständig betriebsfähige Umgebung zum erfolgreichen Überwachen und Berechnen von Telemetriedaten im Hinblick auf die zu überwachende Anwendungsinstanz zu erstellen.
  • In manchen Beispielen beinhaltet die Einrichtung Mittel zum Konfigurieren des Hardware-und-Software-Überwachungslogikstapels zum Durchführen der Überwachung. Zum Beispiel können die Mittel zum Konfigurieren durch die Hardware-und-Software-Überwachungslogikstapel-Konfigurationsschaltungsanordnung 1114 implementiert werden. In manchen Beispielen kann die Hardware-und-Software-Überwachungslogikstapel-Konfigurationsschaltungsanordnung 1114 durch maschinenausführbare Anweisungen implementiert werden, wie etwa jene, die durch zumindest Block 1114 von 11, der durch eine Prozessorschaltungsanordnung ausgeführt wird, die durch die beispielhafte Prozessorschaltungsanordnung 1712 von 17, die beispielhafte Prozessorschaltungsanordnung 1800 von 18 und/oder die beispielhafte Feldprogrammierbares-Gate-Array(FPGA)-Schaltungsanordnung 1900 von 19 implementiert werden kann. Bei anderen Beispielen wird die Hardware-und-Software-Überwachungslogikstapel-Konfigurationsschaltungsanordnung 1114 durch andere Hardwarelogikschaltungsanordnungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination aus Hardware, Software und/oder Firmware implementiert. Zum Beispiel kann die Hardware-und-Software-Überwachungslogikstapel-Konfigurationsschaltungsanordnung 1114 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), einen Komparator, einen Operationsverstärker (Op-Amp), eine Logikschaltung usw.) implementiert werden, die zum Durchführen der entsprechenden Operation strukturiert sind, ohne Software oder Firmware auszuführen, aber andere Strukturen sind ebenfalls geeignet.
  • In 11B beinhaltet die beispielhafte Telemetriefunktionsausführerschaltungsanordnung 1110 eine Überwachungsfunktionsausführungsschaltungsanordnung 1114. In einigen Beispielen führt die Telemetriefunktionsausführungsschaltungsanordnung 1110 (z. B. die Überwachungsfunktionsausführungsschaltungsanordnung 1114, die in der Telemetriefunktionsbeschleunigerschaltungsanordnung 906, der allgemeinen Beschleunigerschaltungsanordnung 904 und/oder der allgemeinen Prozessorschaltungsanordnung 902 vorhanden ist) dann direkt den Satz von Operationen aus, die geparst wurden. Der Satz von Operationen kann eine Reihe von Funktionsaufrufen, einen ausführbaren Bitstrom, eine oder mehrere Reihen von Funktionsaufrufen an Sekundärlogik, um bei der Überwachung zu helfen, oder eine Kombination der obigen Optionen beinhalten. In einigen Beispielen initiieren die Telemetriefunktionsausführer (z. B. die Telemetriefunktionsbeschleunigerschaltungsanordnung 906, die allgemeine Beschleunigerschaltungsanordnung 904 und/oder die allgemeine Prozessorschaltungsanordnung 902) ferner Hardware- und/oder Softwarekomponenten, die die erforderliche Überwachung durchführen. Somit können Initialisierungs- und Funktionsaufrufe an andere Hardware/Software auf der Rechenknotenschaltungsanordnung 924 und/oder Initialisierungs- und Funktionsaufrufe an Hardware/Software auf anderen Rechenknoten implementiert werden. In einigen Beispielen ist eine große Anzahl von überwachungsbeschleunigten Telemetrieausnutzungseinheiten, wie etwa Telemetriefunktionsausführer (z. B. die Telemetriefunktionsbeschleunigerschaltungsanordnung 906, die allgemeine Beschleunigerschaltungsanordnung 904 und/oder die allgemeine Prozessorschaltungsanordnung 902), verfügbar. In einigen Beispielen ermöglicht die große Anzahl verfügbarer Recheneinheiten zum Dienen dieser Funktionen eine feingranulierte und skalierbare Ausführung von Just-in-Time- und Just-as-Needed-Telemetriedatenerfassung/-verarbeitung.
  • In einigen Beispielen beinhaltet die Einrichtung Mittel zum direkten Ausführen des Satzes von Operationen (z. B. der Operationen, die geparst wurden). Das Mittel zum Ausführen kann zum Beispiel durch die Überwachungsfunktionsausführungsschaltungsanordnung 1114 implementiert werden. In manchen Beispielen kann die Überwachungsfunktionsausführungsschaltungsanordnung 1114 durch maschinenausführbare Anweisungen implementiert werden, wie etwa jene, die durch zumindest Block 1114 von 11, der durch eine Prozessorschaltungsanordnung ausgeführt wird, die durch die beispielhafte Prozessorschaltungsanordnung 1712 von 17, die beispielhafte Prozessorschaltungsanordnung 1800 von 18 und/oder die beispielhafte Feldprogrammierbares-Gate-Array(FPGA)-Schaltungsanordnung 1900 von 19 implementiert werden kann. Bei anderen Beispielen wird die Überwachungsfunktionsausführungsschaltungsanordnung 1114 durch andere Hardwarelogikschaltungsanordnungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination aus Hardware, Software und/oder Firmware implementiert. Zum Beispiel kann die Überwachungsfunktionsausführungsschaltungsanordnung 1114 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), einen Komparator, einen Operationsverstärker (Op-Amp), eine Logikschaltung usw.) implementiert werden, die zum Durchführen der entsprechenden Operation strukturiert sind, ohne Software oder Firmware auszuführen, aber andere Strukturen sind ebenfalls geeignet.
  • In manchen Beispielen beinhaltet die Einrichtung Mittel zum Initiieren zusätzlicher Hardware- und/oder Softwarekomponenten, um die benötigte Überwachung durchzuführen. Das Mittel zum Initiieren kann zum Beispiel durch die Telemetriefunktionsausführerschaltungsanordnung 1110 implementiert werden. In manchen Beispielen kann die Telemetriefunktionsausführerschaltungsanordnung 1110 durch maschinenausführbare Anweisungen implementiert werden, wie etwa jene, die durch zumindest Block 1110 von 11, der durch eine Prozessorschaltungsanordnung ausgeführt wird, die durch die beispielhafte Prozessorschaltungsanordnung 1712 von 17, die beispielhafte Prozessorschaltungsanordnung 1800 von 18 und/oder die beispielhafte Feldprogrammierbares-Gate-Array(FPGA)-Schaltungsanordnung 1900 von 19 implementiert werden kann. Bei anderen Beispielen wird die Telemetriefunktionsausführerschaltungsanordnung 1110 durch andere Hardwarelogikschaltungsanordnungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination aus Hardware, Software und/oder Firmware implementiert. Zum Beispiel kann die Telemetriefunktionsausführerschaltungsanordnung 1110 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), einen Komparator, einen Operationsverstärker (Op-Amp), eine Logikschaltung usw.) implementiert werden, die zum Durchführen der entsprechenden Operation strukturiert sind, ohne Software oder Firmware auszuführen, aber andere Strukturen sind ebenfalls geeignet.
  • Während in 9 eine beispielhafte Art und Weise zum Implementieren der Telemetrieüberwachungsschaltungsanordnung 926 veranschaulicht ist, können eines bzw. eine oder mehrere der in 9 veranschaulichten Elemente, Prozesse und/oder Vorrichtungen auf beliebige andere Weise kombiniert, aufgeteilt, umgeordnet, weggelassen, eliminiert und/oder implementiert werden. Ferner können die beispielhafte allgemeine Plattformberechnungsschaltungsanordnung 900, die beispielhafte allgemeine Prozessorschaltungsanordnung 902, die beispielhafte allgemeine Beschleunigerschaltungsanordnung 904, die beispielhafte Telemetriefunktionsbeschleunigerschaltungsanordnung 906 (einschließlich der folgenden ausführlichen Schaltungsanordnungen, die in der beispielhaften Telemetriefunktionsausführerschaltungsanordnung 1110 implementiert sind, die selbst in einer oder mehreren von 902, 904 und/oder 906 implementiert ist: die Überwachungsfunktionsparserschaltungsanordnung 1112, die Hardware-und-Software-Überwachungslogikstapel-Konfigurationsschaltungsanordnung 1114 und die Überwachungsfunktionsausführungsschaltungsanordnung 1116), die beispielhafte Speicherschaltungsanordnung 908, die beispielhafte Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910, die beispielhafte Anwendungszuweisungsschnittstellendatenstruktur 912, die beispielhafte SLA-Überwachungsschaltungsanordnung 914 (einschließlich der folgenden Schaltungsanordnungen, die innerhalb der SLA-Überwachungsschaltungsanordnung 914 in 11A implementiert sind: die beispielhafte Überwachungsfunktionsinstanziiererschaltungsanordnung 1100, die Anwendungsinstanzkritikalitätsbestimmerschaltungsanordnung 1102, die Ressourcennutzungsüberwachungsschaltungsanordnung 1104, die Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 und die QoS-Rückrufgeneratorschaltungsanordnung 1108), die beispielhafte QoS-Durchsetzungsschaltungsanordnung 916, die beispielhafte dedizierte Telemetrieberechnungsschaltungsanordnung 918, die beispielhafte Verwaltungssteuerungsschaltungsanordnung 920, die beispielhafte Schnittstellenverwaltungsschaltungsanordnung 922 und/oder allgemeiner die beispielhafte Telemetrieüberwachungsschaltungsanordnung 926 von 9 durch Hardware, Software, Firmware und/oder eine beliebige Kombination von Hardware, Software und/oder Firmware implementiert werden. Somit könnten zum Beispiel beliebige der beispielhaften allgemeinen Plattformberechnungsschaltungsanordnung 900, der beispielhaften allgemeinen Prozessorschaltungsanordnung 902, der beispielhaften allgemeinen Beschleunigerschaltungsanordnung 904, der beispielhaften Telemetriefunktionsbeschleunigerschaltungsanordnung 906 (einschließlich der folgenden ausführlichen Schaltungsanordnungen, die in der beispielhaften Telemetriefunktionsausführerschaltungsanordnung 1110 implementiert sind, die selbst in einer oder mehreren von 902, 904 und/oder 906 implementiert ist: die Überwachungsfunktionsparserschaltungsanordnung 1112, die Hardware-und-Software-Überwachungslogikstapel-Konfigurationsschaltungsanordnung 1114 und die Überwachungsfunktionsausführungsschaltungsanordnung 1116), der beispielhaften Speicherschaltungsanordnung 908, der beispielhaften Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910, der beispielhaften Anwendungszuweisungsschnittstellendatenstruktur 912, der beispielhaften SLA-Überwachungsschaltungsanordnung 914 (einschließlich der folgenden Schaltungsanordnungen, die innerhalb der SLA-Überwachungsschaltungsanordnung 914 in 11A implementiert sind: die beispielhafte Überwachungsfunktionsinstanziiererschaltungsanordnung 1100, die Anwendungsinstanzkritikalitätsbestimmerschaltungsanordnung 1102, die Ressourcennutzungsüberwachungsschaltungsanordnung 1104, die Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 und die QoS-Rückrufgeneratorschaltungsanordnung 1108), der beispielhaften QoS-Durchsetzungsschaltungsanordnung 916, der beispielhaften dedizierten Telemetrieberechnungsschaltungsanordnung 918, der beispielhaften Verwaltungssteuerungsschaltungsanordnung 920, der beispielhaften Schnittstellenverwaltungsschaltungsanordnung 922 und/oder allgemeiner der beispielhaften Telemetrieüberwachungsschaltungsanordnung 926 durch Prozessorschaltungsanordnung, (eine) analoge Schaltung(en), (eine) digitale Schaltung(en), (eine) Logikschaltung(en), (einen) programmierbare(n) Prozessor(en), (einen) programmierbare(n) Mikrocontroller, (eine) Grafikverarbeitungseinheit(en) (GPU(s)), (einen) Digitalsignalprozessor(en) (DSP(s)), (eine) anwendungsspezifische integrierte Schaltung(en) (ASIC(s)), (eine) programmierbare Logikvorrichtung(en) (PLD(s)) und/oder (eine) feldprogrammierbare Logikvorrichtung(en) (FPLD(s)) wie etwa feldprogrammierbare Gate-Arrays (FPGA(s)) implementiert werden. Beim Lesen beliebiger der Einrichtungs- oder Systemansprüche dieses Patents werden, um eine rein Software- und/oder Firmwareimplementierung abzudecken, die beispielhafte allgemeine Plattformberechnungsschaltungsanordnung 900 und/oder die beispielhafte allgemeine Prozessorschaltungsanordnung 902 und/oder die beispielhafte allgemeine Beschleunigerschaltungsanordnung 904 und/oder die beispielhafte Telemetriefunktionsbeschleunigerschaltungsanordnung 906 (einschließlich der folgenden ausführlichen Schaltungsanordnungen, die in der beispielhaften Telemetriefunktionsausführerschaltungsanordnung 1110 implementiert sind, die selbst in einer oder mehreren von 902, 904 und/oder 906 implementiert ist: die Überwachungsfunktionsparserschaltungsanordnung 1112, die Hardware-und-Software-Überwachungslogikstapel-Konfigurationsschaltungsanordnung 1114 und die Überwachungsfunktionsausführungsschaltungsanordnung 1116) und/oder die beispielhafte Speicherschaltungsanordnung 908 und/oder die beispielhafte Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910 und/oder die beispielhafte Anwendungszuweisungsschnittstellendatenstruktur 912 und/oder die beispielhafte SLA-Überwachungsschaltungsanordnung 914 (einschließlich der folgenden Schaltungsanordnungen, die innerhalb der SLA-Überwachungsschaltungsanordnung 914 in 11A implementiert sind: die beispielhafte Überwachungsfunktionsinstanziiererschaltungsanordnung 1100, die Anwendungsinstanzkritikalitätsbestimmerschaltungsanordnung 1102, die Ressourcennutzungsüberwachungsschaltungsanordnung 1104, die Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 und die QoS-Rückrufgeneratorschaltungsanordnung 1108) und/oder die beispielhafte QoS-Durchsetzungsschaltungsanordnung 916 und/oder die beispielhafte dedizierte Telemetrieberechnungsschaltungsanordnung 918 und/oder die beispielhafte Verwaltungssteuerungsschaltungsanordnung 920 und/oder die beispielhafte Schnittstellenverwaltungsschaltungsanordnung 922 und/oder allgemeiner die beispielhafte Telemetrieüberwachungsschaltungsanordnung 926 hiermit ausdrücklich so definiert, dass sie eine nichtflüchtige computerlesbare Speicherungsvorrichtung oder Speicherungsplatte beinhalten, wie etwa einen Speicher, eine Digital Versatile Disk (DVD), eine Compact Disk (CD), eine Blu-Ray-Disk usw., die die Software und/oder Firmware beinhaltet. Des Weiteren kann die beispielhafte Telemetrieüberwachungsschaltungsanordnung 926 aus 9 ein(e) oder mehr Elemente, Prozesse und/oder Vorrichtungen zusätzlich zu den oder anstelle der in 9 veranschaulichten enthalten, und/oder kann mehr als eines von beliebigen oder allen der veranschaulichten Elemente, Prozesse und Vorrichtungen enthalten.
  • Ein Flussdiagramm, das beispielhafte Hardwarelogikschaltungsanordnungen, maschinenlesbare Anweisungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige Kombination davon zum Implementieren der SLA-Überwachungsschaltungsanordnung 914 repräsentieren, ist in 12 gezeigt. Die maschinenlesbaren Anweisungen können ein oder mehrere ausführbare Programme oder Teil(e) eines ausführbaren Programms zur Ausführung durch eine Prozessorschaltungsanordnung sein, wie etwa die Prozessorschaltungsanordnung 1712, die in der unten in Verbindung mit 17 besprochenen beispielhaften Prozessorplattform 1700 gezeigt ist, und/oder die unten in Verbindung mit den 18 und/oder 19 besprochene beispielhafte Prozessorschaltungsanordnung. Das Programm kann in Software umgesetzt sein, die auf einem oder mehreren nichtflüchtigen computerlesbaren Speicherungsmedien gespeichert ist, wie etwa einer CD, einer Diskette, einem Festplattenlaufwerk (HDD), einer DVD, einer Blu-Ray-Disk, einem flüchtigen Speicher (z. B. Direktzugriffsspeicher (RAM) eines beliebigen Typs usw.) oder einem nichtflüchtigen Speicher (z. B. FLASH-Speicher, einem HDD usw.), die mit einer Prozessorschaltungsanordnung assoziiert sind, die sich in einer oder mehreren Hardwarevorrichtungen befindet, jedoch könnten alternativ das gesamte Programm und/oder Teile davon durch eine oder mehrere andere Hardwarevorrichtungen als die Prozessorschaltungsanordnung ausgeführt werden und/oder in Firmware oder dedizierter Hardware umgesetzt werden. Die maschinenlesbaren Anweisungen können über mehrere Hardwarevorrichtungen verteilt und/oder durch zwei oder mehr Hardwarevorrichtungen (z. B. eine Server- und eine Client-Hardwarevorrichtung) ausgeführt werden. Die Client-Hardwarevorrichtung kann zum Beispiel durch eine Endpunkt-Client-Hardwarevorrichtung (z. B. eine Hardwarevorrichtung, die mit einem Benutzer assoziiert ist) oder eine Zwischen-Client-Hardwarevorrichtung (z. B. ein Funkzugangsnetz(RAN)-Gateway, das eine Kommunikation zwischen einem Server und einer Endpunkt-Client-Hardwarevorrichtung ermöglichen kann) implementiert werden. Gleichermaßen können die nichtflüchtigen computerlesbaren Speicherungsmedien ein oder mehrere Medien beinhalten, die sich in einer oder mehreren Hardwarevorrichtungen befinden. Obwohl das beispielhafte Programm unter Bezugnahme auf das in der 12 veranschaulichte Flussdiagramm beschrieben ist, können ferner alternativ viele andere Verfahren zum Implementieren der beispielhaften SLA-Überwachungsschaltungsanordnung 914 verwendet werden. Beispielsweise kann die Reihenfolge der Ausführung der Blöcke geändert werden und/oder manche der beschriebenen Blöcke können geändert, entfernt oder kombiniert werden. Zusätzlich oder alternativ dazu können beliebige oder alle der Blöcke durch eine oder mehrere Hardwareschaltungen (z. B. eine Prozessorschaltungsanordnung, eine diskrete und/oder integrierte analoge und/oder digitale Schaltungsanordnung, ein FPGA, eine ASIC, einen Komparator, einen Operationsverstärker (Op-Amp), eine Logikschaltung usw.) implementiert werden, die strukturiert sind, um die entsprechende Operation durchzuführen, ohne Software oder Firmware auszuführen. Die Prozessorschaltungsanordnung kann an unterschiedlichen Netzwerkstandorten verteilt und/oder lokal zu einer oder mehreren Hardwarevorrichtungen sein (z. B. ein Einzelkernprozessor (z. B. eine Einzelkern-Zentralprozessoreinheit (CPU)), ein Mehrkernprozessor (z. B. eine Mehrkern-CPU) usw.) in einer einzigen Maschine, mehreren Prozessoren, die über mehrere Server eines Server-Racks verteilt sind, mehreren Prozessoren, die über ein oder mehrere Server-Racks verteilt sind, einer CPU und/oder einem FPGA, die sich in demselben Package (z. B. demselben IC(Integrierte Schaltung)-Package oder in zwei oder mehr separaten Gehäusen usw. befinden).
  • Die hierin beschriebenen maschinenlesbaren Anweisungen können in einem komprimierten Format und/oder einem verschlüsselten Format und/oder einem fragmentierten Format und/oder einem kompilierten Format und/oder einem ausführbaren Format und/oder einem verpackten Format usw. gespeichert sein. Die hierin beschriebenen maschinenlesbaren Anweisungen können als Daten oder Datenstruktur (z. B. als Teile von Anweisungen, Code, Repräsentationen von Code usw.) gespeichert sein, die genutzt werden können, um maschinenlesbare Anweisungen zu erstellen, herzustellen und/oder zu erzeugen. Zum Beispiel können die maschinenlesbaren Anweisungen fragmentiert und auf einer oder mehreren Speicherungsvorrichtungen und/oder Rechenvorrichtungen (z. B. Servern) gespeichert sein, die sich an denselben oder unterschiedlichen Orten eines Netzwerks oder einer Sammlung von Netzwerken (z. B. in der Cloud, in Edge-Vorrichtungen usw.) befinden. Die maschinenlesbaren Anweisungen können eines oder mehrere von Installation, Modifikation, Anpassung, Aktualisierung, Kombinierung, Ergänzung, Konfigurierung, Entschlüsselung, Dekomprimierung, Entpackung, Verteilung, Neuzuordnung, Kompilierung usw. erfordern, um sie direkt durch eine Rechenvorrichtung und/oder eine andere Maschine lesbar, interpretierbar und/oder ausführbar zu machen. Zum Beispiel können die maschinenlesbaren Anweisungen in mehreren Teilen gespeichert sein, die einzeln komprimiert, verschlüsselt und/oder auf separaten Rechenvorrichtungen gespeichert sind, wobei die Teile, wenn sie entschlüsselt, dekomprimiert und/oder kombiniert werden, einen Satz maschinenausführbarer Anweisungen bilden, die eine oder mehrere Operationen implementieren, die zusammen ein Programm, wie etwa das hierin beschriebene, bilden können.
  • In einem anderen Beispiel können die maschinenlesbaren Anweisungen in einem Zustand gespeichert sein, in dem sie durch eine Prozessorschaltungsanordnung gelesen werden können, aber ein Hinzufügen einer Bibliothek (z. B. einer Dynamic Link Library (DLL)), eines Softwareentwicklungskits (SDK), einer Anwendungsprogrammierungsschnittstelle (API) usw. erfordern, um die maschinenlesbaren Anweisungen auf einer bestimmten Rechenvorrichtung oder einer anderen Vorrichtung auszuführen. In einem anderen Beispiel müssen die maschinenlesbaren Anweisungen möglicherweise konfiguriert werden (z. B. Einstellungen gespeichert, Daten eingegeben, Netzwerkadressen aufgezeichnet werden usw.), bevor die maschinenlesbaren Anweisungen und/oder das (die) entsprechende(n) Programm(e) vollständig oder teilweise ausgeführt werden können. Somit können maschinenlesbare Medien, wie hierin verwendet, maschinenlesbare Anweisungen und/oder Programm(e) unabhängig von dem bestimmten Format oder Zustand der maschinenlesbaren Anweisungen und/oder Programm(e), wenn sie gespeichert sind oder sich anderweitig im Ruhe- oder im Transportzustand befinden, beinhalten.
  • Die hierin beschriebenen maschinenlesbaren Anweisungen können durch eine beliebige vergangene, aktuelle oder zukünftige Befehlssprache, Skriptsprache, Programmiersprache usw. repräsentiert sein. Beispielsweise können die maschinenlesbaren Anweisungen unter Verwendung beliebiger der folgenden Sprachen repräsentiert sein: C, C++, Java, C#, Perl, Python, JavaScript, HyperText Markup Language (HTML), Structured Query Language (SQL), Swift usw.
  • Wie oben erwähnt, können die beispielhaften Operationen der 12-16 unter Verwendung ausführbarer Anweisungen (z. B. computer- und/oder maschinenlesbarer Anweisungen) implementiert werden, die auf einem oder mehreren nichtflüchtigen computer- und/oder maschinenlesbaren Medien gespeichert sind, wie etwa optischen Speicherungsvorrichtungen, magnetischen Speicherungsvorrichtungen, einem HDD, einem Flash-Speicher, einem Nur-Lese-Speicher (ROM), einer CD, einer DVD, einem Cache, einem RAM eines beliebigen Typs, einem Register und/oder einer beliebigen anderen Speicherungsvorrichtung oder Speicherungsplatte, auf der Informationen für eine beliebige Dauer (z. B. für längere Zeiträume, permanent, kurzzeitig, zum temporären Puffern und/oder zum Cachen der Informationen) gespeichert sind. Wie hierin verwendet, sind die Begriffe nichtflüchtiges computerlesbares Medium und nichtflüchtiges computerlesbares Speicherungsmedium ausdrücklich so definiert, dass sie eine beliebige Art von computerlesbarer Speicherungsvorrichtung und/oder Speicherungsplatte beinhalten und propagierende Signale ausschließen und Übertragungsmedien ausschließen.
  • „Beinhaltend“ und „umfassend“ (und alle Formen und Zeitformen davon) werden hierin als offene Begriffe verwendet. Wenn somit ein Anspruch eine beliebige Form von „beinhalten“ oder „umfassen“ (z. B. umfasst, beinhaltet, umfassend, beinhaltend, aufweisend usw.) als eine Präambel oder innerhalb einer Anspruchsrezitation einer beliebigen Art einsetzt, versteht es sich somit, dass zusätzliche Elemente, Begriffe usw. vorhanden sein können, ohne außerhalb des Schutzumfangs des entsprechenden Anspruchs oder der entsprechenden Rezitation zu fallen. Wie hierin verwendet, ist, wenn die Formulierung „mindestens“ als der Übergangsausdruck in zum Beispiel einer Präambel eines Anspruchs verwendet wird, dies auf die gleiche Weise ein offener Ausdruck wie der Ausdruck „umfassend“ und „beinhaltend“ ein offener Ausdruck ist. Der Begriff „und/oder“ bezieht sich, wenn er zum Beispiel in einer Form wie etwa A, B und/oder C verwendet wird, auf eine beliebige Kombination oder Teilmenge von A, B, C, wie etwa (1) A allein, (2) B allein, (3) C allein, (4) A mit B, (5) A mit C, (6) B mit C oder (7) A mit B und mit C. Wie hierin im Kontext der Beschreibung von Strukturen, Komponenten, Gegenständen, Objekten und/oder Dingen verwendet, soll der Ausdruck „mindestens eines von A und B“ auf Implementierungen verweisen, die beliebige von (1) mindestens einem A, (2) mindestens einem B oder (3) mindestens einem A und mindestens einem B beinhalten. Gleichermaßen, wie hierin im Kontext der Beschreibung von Strukturen, Komponenten, Gegenständen, Objekten und/oder Dingen verwendet, soll der Ausdruck „mindestens eines von A oder B“ auf Implementierungen verweisen, die beliebige von (1) mindestens einem A, (2) mindestens ein B oder (3) mindestens einem A und mindestens einem B beinhalten. Wie hierin im Kontext der Beschreibung der Leistungsfähigkeit oder Ausführung von Prozessen, Anweisungen, Handlungen, Aktivitäten und/oder Schritten verwendet, soll sich der Ausdruck „mindestens eines von A und B“ auf Implementierungen beziehen, die beliebige von (1) mindestens einem A, (2) mindestens einem B, oder (3) mindestens einem A und mindestens einem B beinhalten. Ähnlich, wie hierin im Kontext der Beschreibung der Leistungsfähigkeit oder Ausführung von Prozessen, Anweisungen, Handlungen, Aktivitäten und/oder Schritten verwendet, soll sich der Ausdruck „mindestens eines von A oder B“ auf Implementierungen beziehen, die beliebige von (1) mindestens einem A, (2) mindestens einem B oder (3) mindestens einem A und mindestens einem B beinhalten.
  • Wie hier verwendet, schließen Singularreferenzen (z. B. „ein“, „eine“, „eines“, „erstes“, „zweites“ usw.) einen Plural nicht aus. Der Begriff „ein“ Objekt, wie hierin verwendet, verweist auf eines oder mehrere dieses Objekts. Die Begriffe „ein“, „ein oder mehrere“ und „mindestens ein“ werden hierin austauschbar verwendet. Wenngleich einzeln aufgelistet, können ferner eine Vielzahl von Mitteln, Elementen oder Verfahrenshandlungen durch z. B. dieselbe Entität oder dasselbe Objekt implementiert werden. Zusätzlich dazu, obwohl einzelne Merkmale in unterschiedlichen Beispielen oder Ansprüchen enthalten sein können, können diese möglicherweise kombiniert werden, und der Einschluss in verschiedenen Beispielen oder Ansprüchen deutet nicht an, dass eine Kombination von Merkmalen nicht machbar und/oder vorteilhaft ist.
  • 12 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen und/oder beispielhafte Operationen repräsentiert, die durch eine Prozessorschaltungsanordnung ausgeführt und/oder instanziiert werden können, um zu instanziieren und zu bewirken, dass eine Telemetrieüberwachungsfunktion SLA-Verletzungen in einem Rechenknoten ausführt und meldet.
  • Die maschinenlesbaren Anweisungen und/oder Operationen von 12 sind in Verbindung mit der beispielhaften SLA-Überwachungsschaltungsanordnung 914, der beispielhaften Überwachungsfunktionsinstanziiererschaltungsanordnung 1100, der beispielhaften Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 und der beispielhaften QoS-Rückrufgeneratorschaltungsanordnung 1108 der 9 und 11A beschrieben.
  • In dem veranschaulichten Beispiel von 12 beginnt der Prozess, wenn eine Telemetrieüberwachungsfunktion in einem Rechenknoten implementiert werden soll. Bei Block 1200 instanziiert die beispielhafte Überwachungsfunktionsinstanziiererschaltungsanordnung 1100 die erste Überwachungsfunktion für eine erste Anwendungsinstanz in einem Hardware-und-Software-Überwachungslogikstapel. In manchen Beispielen beinhaltet der Hardware-und-Software-Überwachungslogikstapel den gesamten Stapel von Softwareanwendungen und dem Betriebssystem bis zu der Hardware niedriger Ebene, die zum Durchführen der Telemetriedatensammlung und -berechnung genutzt wird. In manchen Beispielen kann der Hardware-und-Software-Überwachungslogikstapel eine instanziierte Überwachungsfunktion in einer allgemeinen Prozessorschaltungsanordnung 902 durch einen softwareimplementierten Stapel, in einer allgemeinen Beschleunigerschaltungsanordnung 904 durch einen hardwarebeschleunigungsimplementierten Stapel nutzen oder in einer Telemetriefunktionsbeschleunigerschaltungsanordnung 906, die eine dedizierte Ressource (mit N Anzahl von dedizierten Beschleunigerschaltungsanordnungen) ist, zum Überwachen von Funktionsberechnungserfordernissen nutzen.
  • Bei Block 1202 bewirkt die beispielhafte Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106, dass die erste Überwachungsfunktion in dem Hardware-und-Software-Überwachungslogikstapel 1202 ausgeführt wird. In manchen Beispielen führt die Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 einen Aufruf/eine Operation an den Hardware-und-Software-Überwachungslogikstapel aus, um mit dem Überwachen der Funktionsausführung für die verknüpfte/designierte Anwendungsinstanz, die überwacht wird, zu beginnen.
  • Bei Block 1204 erzeugt die beispielhafte QoS-Rückrufgeneratorschaltungsanordnung 1108 einen Dienstgütedurchsetzungsrückruf als Reaktion auf eine Verletzung der SLA-Definition. In einigen Beispielen wird der Dienstdurchsetzungsrückruf als Reaktion auf keine Verletzung einer SLA-Anforderung nicht erzeugt. In einigen Beispielen erzeugt die durch QoS-Rückrufgeneratorschaltungsanordnung 1108, wenn eine Verletzung der SLA-Definition stattgefunden hat, einen Rückruf, nachdem die Verletzung auftritt (durch den Benachrichtigungsprozess von der SLA-Überwachungsschaltungsanordnung 914 zu der QoS-Durchsetzungsschaltungsanordnung 916). In anderen Beispielen verfolgt die SLA-Überwachungsschaltungsanordnung 914 Daten, die in SLA-Definitionen genutzt werden, und ein „Vorab-Rückruf“ wird als Reaktion auf eine Trendlinie erzeugt, die zeigt, dass eine SLA-Verletzung unmittelbar bevorsteht oder zumindest, dass die Daten in Richtung einer Verletzung tendieren. In einigen Beispielen kann die QoS-Durchsetzungsschaltungsanordnung vorschreibende Maßnahmen mit der allgemeinen Plattformberechnungsschaltungsanordnung 900 vor einer Verletzung implementieren, um zu versuchen, zu verhindern, dass die Verletzung auftritt.
  • Zu diesem Zeitpunkt endet der Prozess.
  • 13 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen und/oder beispielhafte Operationen repräsentiert, die durch eine Prozessorschaltung ausgeführt und/oder instanziiert werden können, um eine Telemetrieüberwachungsfunktion zu parsen, einen Logikstapel zu konfigurieren, um die Telemetrieüberwachungsfunktion auszuführen, und die geparsten Operationen in einem Rechenknoten direkt auszuführen.
  • Die maschinenlesbaren Anweisungen und/oder Operationen von 13 sind in Verbindung mit der beispielhaften Telemetriefunktionsausführerschaltungsanordnung 1110, der beispielhaften Überwachungsfunktionsparserschaltungsanordnung 1112, der beispielhaften Hardware-und-Software-Überwachungslogikstapel-Konfigurationsschaltungsanordnung 1114 und der beispielhaften Überwachungsfunktionsausführungsschaltungsanordnung 1116 der 9 und 11B beschrieben.
  • In dem veranschaulichten Beispiel von 13 beginnt der Prozess, wenn eine Telemetrieüberwachungsfunktion durch einen Ausführer in einem Rechenknoten geparst werden soll. Bei Block 1300 parst die beispielhafte Überwachungsfunktionsparserschaltungsanordnung 1112 die erste Überwachungsfunktion in einen Satz von Operationen. In manchen Beispielen nutzt die Überwachungsfunktionsparserschaltungsanordnung 1112 ein vorbestimmtes Format der Überwachungsfunktion. In manchen Beispielen ist die Überwachungsfunktion eine Standardfunktion, die einer Vorlage folgt. In einigen Beispielen ist die Überwachungsfunktion neu/eindeutig und ein Zeiger auf ausführliche strukturelle Aspekte der Überwachungsfunktionsoperationen ist an einem zugänglichen Ort gespeichert. In manchen Beispielen werden Pakete von Überwachungsfunktionen mit den SLA-Erfordernissen verteilt, wobei die Vereinbarung nicht nur die Erfordernisse spezifiziert, sondern auch, wie die Daten überwacht werden sollen, um zu verifizieren, dass die Erfordernisse erfüllt sind.
  • Bei Block 1302 konfiguriert die beispielhafte Hardware-und-Software-Überwachungslogikstapel-Konfigurationsschaltungsanordnung 1114 den Hardware-und-Software-Überwachungslogikstapel zum Durchführen der Überwachung. In manchen Beispielen weist die Hardware-und-Software-Überwachungslogikstapel-Konfigurationsschaltungsanordnung 1114 eine Reihe von Konfigurationsschritten durch einen Prozess auf, von dem bekannt ist, dass er Ressourcen sichert, die zum Implementieren des Überwachungsprozesses benötigt werden. In manchen Beispielen sind die Ressourcen alle lokal und es gibt eine Reihe von Schrittfunktionen, die der Kritikalität der Überwachungsfunktion gegenüber dem Typ von Hardware und Software entsprechen, die zum Unterstützen einer solchen Überwachungsfunktion genutzt werden (z. B. je wichtiger die Überwachungsfunktion ist, desto höhere Priorität die Überwachungsfunktion bei solchen Ressourcen gegenüber anderen Aufgaben erhält, die um dieselben Ressourcen konkurrieren, desto mehr solcher Ressourcen der Überwachungsfunktion zugewiesen wird usw.).
  • Bei Block 1304 führt die beispielhafte Überwachungsfunktionsausführungsschaltungsanordnung 1116 den Satz von Operationen direkt aus. Wie zuvor angegeben, kann die beispielhafte Überwachungsfunktionsausführungsschaltungsanordnung 1116 die allgemeine Prozessorschaltungsanordnung 902, die allgemeine Beschleunigerschaltungsanordnung 904 und/oder die Telemetriefunktionsbeschleunigerschaltungsanordnung 906 beinhalten, wobei die Entscheidung zwischen solchen Arten von Schaltungsanordnungen eine Funktion der Kritikalität der Überwachungsfunktion sein kann. Außerdem kann in Abhängigkeit von der Art einer Schaltungsanordnung, die zum Ausführen der Überwachungsfunktion genutzt wird, der Satz von Operationen, der zum Ausführen der Überwachungsfunktion genutzt wird, variieren. Falls die Überwachungsfunktion zum Beispiel eine hohe Kritikalität aufweist, kann ein direkter Bitstrom der Funktion mit hoher Priorität in die Telemetriefunktionsbeschleunigerschaltungsanordnung 906 zur Verarbeitung durch die dedizierte Telemetrieberechnungsschaltungsanordnung 918 gestreamt werden. Der direkte Bitstrom kann als eine beschleunigte Funktion bezeichnet werden. Zusätzlich dazu kann die Telemetriefunktionsbeschleunigerschaltungsanordnung 906 Aufrufe zu entfernten Ressourcen zur weiteren Unterstützung beim Überwachen von Funktionsberechnungsbedürfnissen aussenden.
  • Zu diesem Zeitpunkt endet der Prozess.
  • 14 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen und/oder beispielhafte Operationen repräsentiert, die durch eine Prozessorschaltungsanordnung ausgeführt und/oder instanziiert werden können, um eine Überwachungsfunktion in einer von mehreren Berechnungsschaltungsanordnungen basierend auf einer Anwendungsinstanzkritikalitätsstufe zu instanziieren.
  • Die maschinenlesbaren Anweisungen und/oder Operationen von 14 sind in Verbindung mit der beispielhaften SLA-Überwachungsschaltungsanordnung 914, der beispielhaften Überwachungsfunktionsinstanziiererschaltungsanordnung 1100 und der beispielhaften Anwendungsinstanzkritikalitätsbestimmerschaltungsanordnung 1102 der 9 und 11A beschrieben.
  • In dem veranschaulichten Beispiel von 14 beginnt der Prozess, wenn eine Telemetrieüberwachungsfunktion auf einer von mehreren Berechnungsschaltungsanordnungen basierend auf der Kritikalitätsstufe der zu überwachenden Anwendungsinstanz instanziiert werden soll. Bei Block 1400 bestimmt die beispielhafte Anwendungsinstanzkritikalitätsbestimmerschaltungsanordnung 1102, ob die Kritikalitätsstufe der Anwendungsinstanz hoch ist.
  • Falls die Kritikalitätsstufe der Anwendungsinstanz hoch ist, dann instanziiert bei Block 1402 die beispielhafte Überwachungsfunktionsinstanziiererschaltungsanordnung 1100 (oder allgemeiner die SLA-Überwachungsschaltungsanordnung 914) die erste Überwachungsfunktion in zumindest der Telemetriefunktionsbeschleunigerschaltungsanordnung (906 von 9) (d. h. als Reaktion darauf, dass die Kritikalitätsstufe der Instanz hoch ist).
  • Falls die Kritikalitätsstufe der Anwendungsinstanz nicht hoch ist, dann instanziiert bei Block 1404 die beispielhafte Überwachungsfunktionsinstanziiererschaltungsanordnung 1100 (oder allgemeiner die SLA-Überwachungsschaltungsanordnung 914) die erste Überwachungsfunktion in zumindest der allgemeinen Plattformberechnungsschaltungsanordnung (900 von 9) (d. h. als Reaktion darauf, dass die Kritikalitätsstufe der Instanz weniger als hoch ist). In unterschiedlichen Beispielen kann „weniger als hoch“ einer niedrigen Kritikalitätsstufe, einer mittelhohen Kritikalitätsstufe oder einer beliebigen Kritikalitätsstufe außer einer hohen Kritikalitätsstufe entsprechen.
  • Zu diesem Zeitpunkt endet der Prozess.
  • 14 zeigt ein einfaches Beispiel für einen Kritikalitätsentscheidungsfindungsprozess mit zwei Zuständen (z. B. hoher gegenüber nicht hoher Kritikalitätsstufe). In vielen anderen Beispielen gibt es mehr als zwei Kritikalitätszustände (z. B. 3, 5, 10 oder mehr). Je mehr Kritikalitätszustände vorhanden sind, desto feingranulierter kann die SLA-Überwachungsschaltungsanordnung 914 mit dem Verwalten eines breiten Arrays von Überwachungsfunktionsanforderungen sein. Der feingranulierte Ansatz ermöglicht ein angepassteres Dokument für SLA-Erfordernisse, wenn mit Benutzern/Kunden interagiert wird, die einzigartige Bedürfnisse haben. Es versteht sich, dass das Flussdiagramm in 14 erweitert werden könnte, um viele Kritikalitätsstufen unterzubringen, und die Instanziierungsblöcke (z. B. 1402 und 1404) können Überwachungsfunktionen an stark angepassten Versionen von Hardware-und-Software-Überwachungslogikstapeln instanziieren.
  • 15 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen und/oder beispielhafte Operationen repräsentiert, die durch eine Prozessorschaltungsanordnung ausgeführt und/oder instanziiert werden können, um die Nutzungsrate einer Plattformressource zu überwachen und eine Überwachungsfunktion auf einer spezifischen Plattformressource als ein Ergebnis davon auszuführen, dass die Nutzungsrate unter einem Schwellenwert liegt.
  • Die maschinenlesbaren Anweisungen und/oder Operationen von 15 sind in Verbindung mit der beispielhaften SLA-Überwachungsschaltungsanordnung 914, der beispielhaften Ressourcennutzungsüberwachungsschaltungsanordnung 1104 und der beispielhaften Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 der 9 und 11A beschrieben.
  • In dem veranschaulichten Beispiel von 15 beginnt der Prozess, wenn eine Plattformressourcennutzungsrate überwacht werden soll, um zu bestimmen, welche Plattformressource eine Überwachungsfunktion ausführen sollte. Bei Block 1500 überwacht die beispielhafte Ressourcennutzungsüberwachungsschaltungsanordnung 1104 eine Nutzungsrate einer allgemeinen Plattformberechnungsschaltungsanordnung (900 von 9).
  • Bei Block 1502 bestimmt die beispielhafte Ressourcennutzungsüberwachungsschaltungsanordnung 1104 dann, ob die überwachte Nutzungsrate unter einem maximalen Schwellenwert liegt.
  • Falls die Nutzungsrate unter dem maximalen Schwellenwert liegt, dann bewirkt die beispielhafte Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 bei Block 1504, dass zumindest ein Teil der allgemeinen Plattformberechnungsschaltungsanordnung die erste Überwachungsfunktion ausführt.
  • Falls die Nutzungsrate bei oder über dem maximalen Schwellenwert liegt, dann kehrt die beispielhafte Ressourcennutzungsüberwachungsschaltungsanordnung 1104 zu Block 1500 zurück, um die Nutzungsrate der allgemeinen Plattformberechnungsschaltungsanordnung weiter zu überwachen.
  • Zu diesem Zeitpunkt endet der Prozess.
  • In anderen Beispielen kann die entgegengesetzte Version einer Nutzungsrate genutzt werden. Zum Beispiel kann die Nutzungsrate unter einen minimalen Schwellenwert fallen und die beispielhafte Ressourcennutzungsüberwachungsschaltungsanordnung 1104 kann dann die Fähigkeit (durch die SLA-Definition) aufweisen, eine Überwachungsfunktion mit höherer Kritikalität zu weniger effizienten Berechnungsfähigkeiten zu verschieben. In dem in 9 gezeigten Beispiel weist die Telemetrieüberwachungsschaltungsanordnung 926 drei unterschiedliche Ebenen potenziell verfügbarer Hardwareberechnungsressourcen auf (z. B. die allgemeine Prozessorschaltungsanordnung 902 und die allgemeine Beschleunigerschaltungsanordnung 904 innerhalb der allgemeinen Plattformberechnungsschaltungsanordnung 900 und die Telemetriefunktionsbeschleunigerschaltungsanordnung 906, der die dedizierte Telemetrieberechnungsschaltungsanordnung 918 zur Verfügung steht). In anderen Beispielen können mehr (oder weniger) unterschiedliche Ebenen verfügbarer Hardwareberechnungsressourcen verfügbar sein, um Optionen für Hardware-und-Software-Überwachungsfunktionslogikstapel weiter zu unterscheiden.
  • 16 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen und/oder beispielhafte Operationen repräsentiert, die durch eine Prozessorschaltungsanordnung ausgeführt und/oder instanziiert werden können, um die Frequenz der Ausführung einer Überwachungsfunktion zu verwalten.
  • Die maschinenlesbaren Anweisungen und/oder Operationen von 16 sind in Verbindung mit der beispielhaften SLA-Überwachungsschaltungsanordnung 914 und der beispielhaften Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 der 9 und 11A beschrieben.
  • In dem veranschaulichten Beispiel von 15 beginnt der Prozess, wenn eine Überwachungsfunktion nach einer gewissen Menge an Zeit ausgeführt werden soll. Bei Block 1600 verwaltet die beispielhafte Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 einen Timer, um die Frequenzzeit (z. B. einen Frequenzzeitwert, der eine Anzahl von Mikrosekunden, Millisekunden, Sekunden usw. zwischen jeder Ausführung einer gegebenen Überwachungsfunktion ist) herunterzuzählen. In manchen Beispielen gibt die Frequenzzeit eine Überwachungsfunktionsfrequenz an (d. h. die Frequenz, mit der die Überwachungsfunktion ausgeführt wird).
  • Bei Block 1602 prüft die beispielhafte Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 dann, ob der Timer abgelaufen ist.
  • Falls der Timer abgelaufen ist, dann bewirkt die beispielhafte Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 bei Block 1604, dass die erste Überwachungsfunktion ausgeführt wird.
  • Falls der Timer nicht abgelaufen ist, dann kehrt die beispielhafte Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 zu Block 1602 zurück, um zu prüfen, ob der Timer erneut abgelaufen ist.
  • Zu diesem Zeitpunkt endet der Prozess.
  • Die Prozessorplattform 1700 des veranschaulichten Beispiels beinhaltet die Prozessorschaltungsanordnung 1712. Die Prozessorschaltungsanordnung 1712 des veranschaulichten Beispiels ist Hardware. Zum Beispiel kann die Prozessorschaltungsanordnung 1712 durch eine oder mehrere integrierte Schaltungen, Logikschaltungen, FPGAs, Mikroprozessoren, CPUs, GPUs, DSPs und/oder Mikrocontroller einer beliebigen gewünschten Familie oder eines beliebigen gewünschten Herstellers implementiert werden. Die Prozessorschaltungsanordnung 1712 kann durch eine oder mehrere halbleiterbasierte (z. B. siliziumbasierte) Vorrichtungen implementiert werden. In diesem Beispiel implementiert die Prozessorschaltungsanordnung 1712 die beispielhafte allgemeine Plattformberechnungsschaltungsanordnung 900, die beispielhafte allgemeine Prozessorschaltungsanordnung 902, die beispielhafte allgemeine Beschleunigerschaltungsanordnung 904, die beispielhafte Telemetriefunktionsbeschleunigerschaltungsanordnung 906 (einschließlich der folgenden ausführlichen Schaltungsanordnungen, die in der beispielhaften Telemetriefunktionsausführerschaltungsanordnung 1110 implementiert sind, die selbst in einer oder mehreren von 902, 904 und/oder 906 implementiert ist: die Überwachungsfunktionsparserschaltungsanordnung 1112, die Hardware-und-Software-Überwachungslogikstapel-Konfigurationsschaltungsanordnung 1114 und die Überwachungsfunktionsausführungsschaltungsanordnung 1116), die beispielhafte Speicherschaltungsanordnung 908, die beispielhafte Überwachungsfunktionsregistrierungsschnittstellendatenstruktur 910, die beispielhafte Anwendungszuweisungsschnittstellendatenstruktur 912, die beispielhafte SLA-Überwachungsschaltungsanordnung 914 (einschließlich der folgenden Schaltungsanordnungen, die innerhalb der SLA-Überwachungsschaltungsanordnung 914 in 11A implementiert sind: die beispielhafte Überwachungsfunktionsinstanziiererschaltungsanordnung 1100, die Anwendungsinstanzkritikalitätsbestimmerschaltungsanordnung 1102, die Ressourcennutzungsüberwachungsschaltungsanordnung 1104, die Überwachungsfunktionsausführungsstarterschaltungsanordnung 1106 und die QoS-Rückrufgeneratorschaltungsanordnung 1108), die beispielhafte QoS-Durchsetzungsschaltungsanordnung 916, die beispielhafte dedizierte Telemetrieberechnungsschaltungsanordnung 918, die beispielhafte Verwaltungssteuerungsschaltungsanordnung 920, die beispielhafte Schnittstellenverwaltungsschaltungsanordnung 922 und/oder allgemeiner die beispielhafte Telemetrieüberwachungsschaltungsanordnung 926 von 9.
  • Die Prozessorschaltungsanordnung 1712 des veranschaulichten Beispiels beinhaltet einen lokalen Speicher 1713 (z. B. einen Cache, Register usw.). Die Prozessorschaltungsanordnung 1712 des veranschaulichten Beispiels befindet sich durch einen Bus 1718 in Kommunikation mit einem Hauptspeicher, der einen flüchtigen Speicher 1714 und einen nichtflüchtigen Speicher 1716 beinhaltet. Der flüchtige Speicher 1714 kann durch SDRAM (synchroner dynamischer Direktzugriffsspeicher), DRAM (dynamischer Direktzugriffsspeicher), RDRAM® (RAMBUS® dynamischer Direktzugriffsspeicher) und/oder eine beliebige andere Art von RAM-Vorrichtung implementiert werden. Der nichtflüchtige Speicher 1716 kann durch Flash-Speicher und/oder eine beliebige andere gewünschte Art von Speichervorrichtung implementiert werden. Der Zugriff auf den Hauptspeicher 1714, 1716 des veranschaulichten Beispiels wird durch eine Speichersteuerung 1717 gesteuert.
  • Die Prozessorplattform 1700 des veranschaulichten Beispiels beinhaltet auch eine Schnittstellenschaltungsanordnung 1720. Die Schnittstellenschaltungsanordnung 1720 kann durch Hardware gemäß einer beliebigen Art von Schnittstellenstandard implementiert werden, wie etwa einer Ethernet-Schnittstelle, einer USB(Universal Serial Bus)-Schnittstelle, einer Bluetooth®-Schnittstelle, einer NFC(Nahfeldkommunikation)-Schnittstelle, einer PCI-Schnittstelle und/oder einer PCIe-Schnittstelle.
  • Bei dem veranschaulichten Beispiel sind eine oder mehrere Eingabevorrichtungen 1722 mit der Schnittstellenschaltungsanordnung 1720 verbunden. Die eine oder die mehreren Eingabevorrichtungen 1722 ermöglichen einem Benutzer, Daten und/oder Befehle in die Prozessorschaltungsanordnung 1712 einzugeben. Die eine oder die mehreren Eingabevorrichtungen 1722 können zum Beispiel durch einen Audiosensor, ein Mikrofon, eine Kamera (Standbild oder Video), eine Tastatur, eine Taste, eine Maus, einen Touchscreen, ein Trackpad, einen Trackball, eine Isopoint-Vornchtung und/oder ein Spracherkennungssystem implementiert werden.
  • Eine oder mehrere Ausgabevorrichtungen 1724 sind auch mit der Schnittstellenschaltungsanordnung 1720 des veranschaulichten Beispiels verbunden. Die Ausgabevorrichtungen 1724 können zum Beispiel durch Anzeigevorrichtungen (z. B. eine Leuchtdiode (LED), eine organische Leuchtdiode (OLED), eine Flüssigkristallanzeige (LCD), eine Kathodenstrahlröhren(CRT)-Anzeige, eine In-Place-Switching(IPS)-Anzeige, einen Touchscreen usw.), eine taktile Ausgabevorrichtung, einen Drucker und/oder einen Lautsprecher implementiert werden. Die Schnittstellenschaltungsanordnung 1720 des veranschaulichten Beispiels beinhaltet somit typischerweise eine Grafiktreiberkarte, einen Grafiktreiberchip und/oder eine Grafikprozessorschaltungsanordnung, wie etwa eine GPU.
  • Die Schnittstellenschaltungsanordnung 1720 des veranschaulichten Beispiels beinhaltet auch eine Kommunikationsvorrichtung, wie etwa einen Sender, einen Empfänger, einen Sendeempfänger, ein Modem, ein Heim-Gateway, einen drahtlosen Zugangspunkt und/oder eine Netzwerkschnittstelle, um den Austausch von Daten mit externen Maschinen (z. B. Rechenvorrichtungen einer beliebigen Art) durch ein Netzwerk 1726 zu ermöglichen. Die Kommunikation kann zum Beispiel durch eine Ethernet-Verbindung, eine DSL-Verbindung (DSL: Digital Subscriber Line), eine Telefonleitungsverbindung, ein Koaxialkabelsystem, ein Satellitensystem, ein drahtloses Sichtliniensystem, ein Mobilfunksystem, eine optische Verbindung usw. erfolgen.
  • Die Prozessorplattform 1700 des veranschaulichten Beispiels beinhaltet auch eine oder mehrere Massenspeicherungsvorrichtungen 1728 zum Speichern von Software und/oder Daten. Beispiele für solche Massenspeicherungsvorrichtungen 1728 beinhalten magnetische Speicherungsvorrichtungen, optische Speicherungsvorrichtungen, Diskettenlaufwerke, HDDs, CDs, Blu-Ray-Disk-Laufwerke, RAID-Systeme (RAID: Redundant Array of Independent Disks), Solid-State-Speicherungsvorrichtungen, wie etwa Flash-Speichervorrichtungen, und DVD-Laufwerke.
  • Die maschinenausführbaren Anweisungen 1732, die durch die maschinenlesbaren Anweisungen der 12-16 implementiert werden können, können in der Massenspeicherungsvorrichtung 1728, in dem flüchtigen Speicher 1714, in dem nichtflüchtigen Speicher 1716 und/oder auf einem entfernbaren nichtflüchtigen computerlesbaren Speicherungsmedium, wie etwa einer CD oder DVD, gespeichert sein.
  • 5 ist ein Blockdiagramm einer beispielhaften Implementierung der Prozessorschaltungsanordnung 1712 von 17. In diesem Beispiel wird die Prozessorschaltungsanordnung 1712 von 17 durch einen Mikroprozessor 1800 implementiert. Zum Beispiel kann der Mikroprozessor 1800 eine Mehrkernhardwareschaltungsanordnung implementieren, wie etwa eine CPU, einen DSP, eine GPU, eine XPU usw. Obwohl er eine beliebige Anzahl beispielhafter Kerne 1802 (z. B. 1 Kern) beinhalten kann, ist der Mikroprozessor 1800 dieses Beispiels eine Mehrkernhalbleitervorrichtung, die N Kerne beinhaltet. Die Kerne 1802 des Mikroprozessors 1800 können unabhängig arbeiten oder können zusammenwirken, um maschinenlesbare Anweisungen auszuführen. Zum Beispiel kann Maschinencode, der einem Firmware-Programm, einem eingebetteten Software-Programm oder einem Software-Programm entspricht, durch einen der Kerne 1802 ausgeführt werden oder kann durch mehrere der Kerne 1802 zur gleichen oder zu unterschiedlichen Zeiten ausgeführt werden. In einigen Beispielen ist der Maschinencode, der dem Firmware-Programm, dem eingebetteten Software-Programm oder dem Software-Programm entspricht, in Threads geteilt und wird parallel durch zwei oder mehr der Kerne 1802 ausgeführt. Das Softwareprogramm kann einem Teil oder allen der maschinenlesbaren Anweisungen und/oder Operationen entsprechen, die durch die Flussdiagramme der 12-16 repräsentiert werden.
  • Die Kerne 1802 können durch einen beispielhaften Bus 1804 kommunizieren. In einigen Beispielen kann der Bus 1804 einen Kommunikationsbus implementieren, um eine Kommunikation zu bewirken, die mit einem bzw. mehreren der Kerne 1802 assoziiert ist. Zum Beispiel kann der Bus 1804 einen Inter-Integrated-Circuit(I2C)-Bus und/oder einen Serial-Peripheral-Interface(SPI)-Bus und/oder einen PCI-Bus und/oder einen PCIe-Bus implementieren. Zusätzlich oder alternativ kann der Bus 1804 eine beliebige andere Art von Rechen- oder elektrischem Bus implementieren. Die Kerne 1802 können Daten, Anweisungen und/oder Signale von einer oder mehreren externen Vorrichtungen durch die beispielhafte Schnittstellenschaltungsanordnung 1806 erhalten. Die Kerne 1802 können Daten, Anweisungen und/oder Signale durch die Schnittstellenschaltungsanordnung 1806 an die eine oder die mehreren externen Vorrichtungen ausgeben. Obwohl die Kerne 1802 dieses Beispiels einen beispielhaften lokalen Speicher 1820 (z. B. Level-1(L1)-Cache, der in einen Ll-Datencache und einen L1-Anweisungscache geteilt sein kann) beinhalten, beinhaltet der Mikroprozessor 1800 auch einen beispielhaften gemeinsam genutzten Speicher 1810, der von den Kernen (z. B. Level-2(L2)-Cache)) für einen Hochgeschwindigkeitszugriff auf Daten und/oder Anweisungen gemeinsam genutzt werden kann. Daten und/oder Anweisungen können durch Schreiben in den und/oder Lesen aus dem gemeinsam genutzten Speicher 1810 übertragen (z. B. gemeinsam genutzt) werden. Der lokale Speicher 1820 von jedem der Kerne 1802 und der gemeinsam genutzte Speicher 1810 können Teil einer Hierarchie von Speicherungsvorrichtungen sein, die mehrere Ebenen von Cachespeicher und den Hauptspeicher (z. B. Hauptspeicher 1714, 1716 von 17) beinhalten. Typischerweise weisen höhere Speicherebenen in der Hierarchie eine niedrigere Zugriffszeit auf und weisen eine kleinere Speicherungskapazität als niedrigere Speicherebenen auf. Änderungen auf den verschiedenen Ebenen der Cache-Hierarchie werden durch eine Cache-Kohärenzrichtlinie verwaltet (z. B. koordiniert).
  • Jeder Kern 1802 kann als eine CPU, ein DSP, eine GPU usw. oder eine beliebige andere Art von Hardwareschaltungsanordnung bezeichnet werden. Jeder Kern 1802 beinhaltet eine Steuereinheitsschaltungsanordnung 1814, eine Arithmetik-und-Logik(AL)-Schaltungsanordnung (manchmal als eine ALU bezeichnet) 1816, mehrere Register 1818, den L1-Cache 1820 und einen beispielhaften Bus 1822. Andere Strukturen können vorhanden sein. Zum Beispiel kann jeder Kern 1802 eine Vektoreinheitsschaltungsanordnung, eine SIMD-Einheitsschaltungsanordnung (SIMD: Single Instruction Multiple Data - einzelne Anweisung, mehrere Daten), eine Lade-/Speichereinheit(LSU)-Schaltungsanordnung, eine Verzweigungs-/Sprungeinheitsschaltungsanordnung, eine Gleitkommaeinheit(FPU)-Schaltungsanordnung usw. beinhalten. Die Steuereinheitsschaltungsanordnung 1814 beinhaltet halbleiterbasierte Schaltungen, die zum Steuern (z. B. Koordinieren) einer Datenbewegung innerhalb des entsprechenden Kerns 1802 strukturiert sind. Die AL-Schaltungsanordnung 1816 beinhaltet halbleiterbasierte Schaltungen, die dazu strukturiert sind, eine oder mehrere mathematische und/oder logische Operationen an den Daten innerhalb des entsprechenden Kerns 1802 durchzuführen. Die AL-Schaltungsanordnung 1816 mancher Beispiele führt ganzzahlbasierte Operationen durch. In anderen Beispielen führt die AL-Schaltungsanordnung 1816 auch Gleitkommaoperationen durch. In noch anderen Beispielen kann die AL-Schaltungsanordnung 1816 eine erste AL-Schaltungsanordnung, die ganzzahlbasierte Operationen durchführt, und eine zweite AL-Schaltungsanordnung, die Gleitkommaoperationen durchführt, beinhalten. In manchen Beispielen kann die AL-Schaltungsanordnung 1816 als eine Arithmetik-Logik-Einheit (ALU) bezeichnet werden. Die Register 1818 sind halbleiterbasierte Strukturen zum Speichern von Daten und/oder Anweisungen, wie etwa Ergebnissen einer oder mehrerer der Operationen, die durch die AL-Schaltungsanordnung 1816 des entsprechenden Kerns 1802 durchgeführt werden. Die Register 1818 können zum Beispiel ein oder mehrere Vektorregister, ein oder mehrere SIMD-Register, ein oder mehrere Allzweckregister, ein oder mehrere Flag-Register, ein oder mehrere Segmentregister, ein oder mehrere maschinenspezifische Register, ein oder mehrere Anweisungszeigerregister, ein oder mehrere Steuerregister, ein oder mehrere Debug-Register, ein oder mehrere Speicherverwaltungsregister, ein oder mehrere Maschinenprüfregister usw. beinhalten. Die Register 1818 können in einer Bank angeordnet sein, wie in 18 gezeigt ist. Alternativ dazu können die Register 1818 in einer beliebigen anderen Anordnung, einem beliebigen anderen Format oder einer beliebigen anderen Struktur organisiert sein, einschließlich einer Verteilung im Kern 1802, um die Zugriffszeit zu verkürzen. Der Bus 1820 kann einen I2C-Bus und/oder einen SPI-Bus und/oder einen PCI-Bus und/oder einen PCIe-Bus implementieren
  • Jeder Kern 1802 und/oder allgemeiner der Mikroprozessor 1800 kann zusätzliche und/oder alternative Strukturen zu den oben gezeigten und beschriebenen beinhalten. Zum Beispiel können eine oder mehrere Taktschaltungen, eine oder mehrere Leistungsversorgungen, ein oder mehrere Leistungsgatter, ein oder mehrere Cache-Home-Agenten (CHAs), ein oder mehrere konvergierte/gemeinsame Mesh-Stopps (CMSs), ein oder mehrere Shifter (z. B. Barrel-Shifter) und/oder eine andere Schaltungsanordnung vorhanden sein. Der Mikroprozessor 1800 ist eine Halbleitervorrichtung, die so gefertigt ist, dass sie viele Transistoren beinhaltet, die miteinander verbunden sind, um die oben beschriebenen Strukturen in einer oder mehreren integrierten Schaltungen (ICs) zu implementieren, die in einem oder mehreren Packages enthalten sind. Die Prozessorschaltungsanordnung kann einen oder mehrere Beschleuniger beinhalten und/oder mit diesen zusammenwirken. In manchen Beispielen werden Beschleuniger durch eine Logikschaltungsanordnung implementiert, um gewisse Aufgaben schneller und/oder effizienter durchzuführen, als durch einen Allzweckprozessor durchgeführt werden kann. Beispiele für Beschleuniger beinhalten ASICs und FPGAs, wie etwa die hierin besprochenen. Eine GPU oder eine andere programmierbare Vorrichtung kann auch ein Beschleuniger sein. Beschleuniger können sich in der Prozessorschaltungsanordnung, in demselben Chipgehäuse wie die Prozessorschaltungsanordnung und/oder in einem oder mehreren von der Prozessorschaltungsanordnung getrennten Gehäusen befinden.
  • 19 ist ein Blockdiagramm einer anderen beispielhaften Implementierung der Prozessorschaltungsanordnung 1712 von 17. In diesem Beispiel wird die Prozessorschaltungsanordnung 1712 durch eine FPGA-Schaltungsanordnung 1900 implementiert. Die FPGA-Schaltungsanordnung 1900 kann zum Beispiel verwendet werden, um Operationen durchzuführen, die ansonsten durch den beispielhaften Mikroprozessor 1800 von 18 durchgeführt werden könnten, der entsprechende maschinenlesbare Anweisungen ausführt. Sobald sie jedoch konfiguriert ist, instanziiert die FPGA-Schaltungsanordnung 1900 die maschinenlesbaren Anweisungen in Hardware und kann dementsprechend die Operationen häufig schneller ausführen, als sie durch einen Allzweckmikroprozessor durchgeführt werden könnten, der die entsprechende Software ausführt.
  • Genauer gesagt, im Gegensatz zu dem oben beschriebenen Mikroprozessor 1800 von 18 (der eine Allzweckvorrichtung ist, die dazu programmiert sein kann, einen Teil oder alle der maschinenlesbaren Anweisungen auszuführen, die durch die Flussdiagramme der 12-16 repräsentiert werden, deren Zwischenverbindungen und eine Logikschaltungsanordnung aber nach der Fertigung fixiert sind), beinhaltet die FPGA-Schaltungsanordnung 1900 des Beispiels von 19 Zwischenverbindungen und eine Logikschaltungsanordnung, die nach der Fertigung auf unterschiedliche Weisen konfiguriert und/oder miteinander verbunden werden können, um zum Beispiel einen Teil oder alle der maschinenlesbaren Anweisungen, die durch die Flussdiagramme der 12-16 repräsentiert werden, zu instanziieren. Insbesondere kann das FPGA 1900 als ein Array aus Logikgattern, Zwischenverbindungen und Schaltern angesehen werden. Die Schalter können dazu programmiert sein, zu ändern, wie die Logikgatter durch die Zwischenverbindungen miteinander verbunden sind, wodurch effektiv eine oder mehrere dedizierte Logikschaltungen gebildet werden (es sei denn, dass und bis die FPGA-Schaltungsanordnung 1900 neu programmiert ist). Die konfigurierten Logikschaltungen ermöglichen, dass die Logikgatter auf unterschiedliche Weisen zusammenwirken, um unterschiedliche Operationen an Daten durchzuführen, die durch die Eingangsschaltungsanordnung empfangen werden. Diese Operationen können einem Teil oder der gesamten Software entsprechen, die durch die Flussdiagramme der 12-16 repräsentiert wird. Von daher kann die FPGA-Schaltungsanordnung 1900 strukturiert sein, um einen Teil oder alle der maschinenlesbaren Anweisungen der Flussdiagramme der 12-16 effektiv als dedizierte Logikschaltungen zu instanziieren, um die Operationen, die diesen Softwareanweisungen entsprechen, auf eine dedizierte Weise analog zu einer ASIC durchzuführen. Daher kann die FPGA-Schaltungsanordnung 1900 die Operationen durchführen, die dem Teil oder allen der maschinenlesbaren Anweisungen der 12-16 entsprechen, schneller als der Allzweckmikroprozessor dieselben ausführen kann.
  • In dem Beispiel von 19 ist die FPGA-Schaltungsanordnung 1900 strukturiert, um durch einen Endbenutzer durch eine Hardwarebeschreibungssprache (HDL), wie etwa Verilog, programmiert (und/oder einmal oder mehrmals umprogrammiert) zu werden. Die FPGA-Schaltungsanordnung 1900 von 19 beinhaltet eine beispielhafte Eingabe/Ausgabe(E/A)-Schaltungsanordnung 1902, um Daten von der beispielhaften Konfigurationsschaltungsanordnung 1904 und/oder externer Hardware (z. B. einer externen Hardwareschaltungsanordnung) 1906 zu erhalten und/oder an diese auszugeben. Zum Beispiel kann die Konfigurationsschaltungsanordnung 1904 eine Schnittstellenschaltungsanordnung implementieren, die maschinenlesbare Anweisungen zum Konfigurieren der FPGA-Schaltungsanordnung 1900 oder eines oder mehrerer Teile davon erhalten kann. In manchen solchen Beispielen kann die Konfigurationsschaltungsanordnung 1904 die maschinenlesbaren Anweisungen von einem Benutzer, einer Maschine (z. B. Hardwareschaltungsanordnung (z. B. programmierte oder dedizierte Schaltungsanordnung), die ein Künstliche-Intelligenz-/Maschinenlernmodell (KI-/ML-Modell) implementieren kann, um die Anweisungen zu erzeugen) usw. erhalten. In einigen Beispielen kann die externe Hardware 1906 den Mikroprozessor 1800 von 18 implementieren. Die FPGA-Schaltungsanordnung 1900 beinhaltet auch ein Array aus einer beispielhaften Logikgatterschaltungsanordnung 1908, mehreren beispielhaften konfigurierbaren Zwischenverbindungen 1910 und einer beispielhaften Speicherungsschaltungsanordnung 1912. Die Logikgatterschaltungsanordnung 1908 und die Zwischenverbindungen 1910 sind konfigurierbar, um eine oder mehrere Operationen zu instanziieren, die zumindest einigen der maschinenlesbaren Anweisungen der 12-16 und/oder anderen gewünschten Operationen entsprechen können. Die in 19 gezeigte Logikgatterschaltungsanordnung 1908 wird in Gruppen oder Blöcken gefertigt. Jeder Block beinhaltet halbleiterbasierte elektrische Strukturen, die zu Logikschaltungen konfiguriert sein können. In manchen Beispielen beinhalten die elektrischen Strukturen Logikgatter (z. B. AND-Gatter, OR-Gatter, NOR-Gatter usw.), die Basisbausteine für Logikschaltungen bereitstellen. Elektrisch steuerbare Schalter (z. B. Transistoren) sind innerhalb jeder der Logikgatterschaltungsanordnungen 1908 vorhanden, um eine Konfiguration der elektrischen Strukturen und/oder der Logikgatter zu ermöglichen, um Schaltungen zum Durchführen gewünschter Operationen zu bilden. Die Logikgatterschaltungsanordnung 1908 kann andere elektrische Strukturen beinhalten, wie etwa Nachschlagetabellen (LUTs), Register (z. B. FlipFlops oder Latches), Multiplexer usw.
  • Die Zwischenverbindungen 1910 des veranschaulichten Beispiels sind leitfähige Pfade, Leiterbahnen, Vias oder dergleichen, die elektrisch steuerbare Schalter (z. B. Transistoren) beinhalten können, deren Zustand durch Programmieren (z. B. unter Verwendung einer HDL-Anweisungssprache) geändert werden kann, um eine oder mehrere Verbindungen zwischen einer oder mehreren der Logikgatterschaltungsanordnungen 1908 zu aktivieren oder zu deaktivieren, um gewünschte Logikschaltungen zu programmieren.
  • Die Speicherungsschaltungsanordnung 1912 des veranschaulichten Beispiels ist dazu strukturiert, ein oder mehrere Ergebnisse der einen oder der mehreren Operationen zu speichern, die durch entsprechende Logikgatter durchgeführt werden. Die Speicherungsschaltungsanordnung 1912 kann durch Register oder dergleichen implementiert werden. In dem veranschaulichten Beispiel ist die Speicherungsschaltungsanordnung 1912 unter der Logikgatterschaltungsanordnung 1908 verteilt, um den Zugriff zu ermöglichen und die Ausführungsgeschwindigkeit zu erhöhen.
  • Die beispielhafte FPGA-Schaltungsanordnung 1900 von 19 beinhaltet auch eine beispielhafte dedizierte Operationsschaltungsanordnung 1914. In diesem Beispiel beinhaltet die dedizierte Operationsschaltungsanordnung 1914 eine Spezialschaltungsanordnung 1916, die aufgerufen werden kann, um üblicherweise verwendete Funktionen zu implementieren, um die Notwendigkeit zu vermeiden, diese Funktionen im Feld zu programmieren. Beispiele für eine solche Spezialschaltungsanordnung 1916 beinhalten eine Speicher(z. B. DRAM)-Steuerungsschaltungsanordnung, eine PCIe-Steuerungsschaltungsanordnung, eine Taktschaltungsanordnung, eine Sendeempfängerschaltungsanordnung, einen Speicher und eine Multiplizierer-Akkumulator-Schaltungsanordnung. Andere Arten von Spezialschaltungsanordnungen können vorhanden sein. In manchen Beispielen kann die FPGA-Schaltungsanordnung 1900 auch eine beispielhafte programmierbare Allzweckschaltungsanordnung 1918, wie etwa eine beispielhafte CPU 1920 und/oder einen beispielhaften DSP 1922, beinhalten. Eine andere programmierbare Allzweckschaltungsanordnung 1918 kann zusätzlich oder alternativ vorhanden sein, wie etwa eine GPU, eine XPU usw., die dazu programmiert sein kann, andere Operationen durchzuführen.
  • Obwohl die 5 und 6 zwei beispielhafte Implementierungen der Prozessorschaltungsanordnung 412 von 4 veranschaulichen, werden viele andere Ansätze in Betracht gezogen. Wie oben erwähnt, kann zum Beispiel eine moderne FPGA-Schaltungsanordnung eine On-Board-CPU, wie etwa eine oder mehrere der beispielhaften CPU 1920 von 19, beinhalten. Daher kann die Prozessorschaltungsanordnung 1712 von 17 zusätzlich durch Kombinieren des beispielhaften Mikroprozessors 1800 von 18 und der beispielhaften FPGA-Schaltungsanordnung 1900 von 19 implementiert werden. In manchen solchen hybriden Beispielen kann ein erster Teil der maschinenlesbaren Anweisungen, der durch die Flussdiagramme der 12-16 repräsentiert wird, durch einen oder mehrere der Kerne 1802 von 18 ausgeführt werden, und ein zweiter Teil der maschinenlesbaren Anweisungen, der durch die Flussdiagramme der 12-16 repräsentiert wird, kann durch die FPGA-Schaltungsanordnung 1900 von 19 ausgeführt werden.
  • In manchen Beispielen kann sich die Prozessorschaltungsanordnung 1712 von 17 in einem oder mehreren Packages befinden. Zum Beispiel können sich die Prozessorschaltungsanordnung 1800 von 18 und/oder die FPGA-Schaltungsanordnung 1900 von 19 in einem oder mehreren Packages befinden. In manchen Beispielen kann eine XPU durch die Prozessorschaltungsanordnung 1712 von 17 implementiert werden, die sich in einem oder mehreren Packages befinden kann. Zum Beispiel kann die XPU eine CPU in einem Package, einen DSP in einem anderen Package, eine GPU in noch einem anderen Package und ein FPGA in noch einem anderen Package beinhalten.
  • Ein Blockdiagramm, das eine beispielhafte Softwareverteilungsplattform 2005 zum Verteilen von Software, wie etwa der beispielhaften maschinenlesbaren Anweisungen 1732 von 17, an Hardwarevorrichtungen veranschaulicht, die Drittparteien gehören und/oder von diesen betrieben werden, ist in 20 veranschaulicht. Die beispielhafte Softwareverteilungsplattform 2005 kann durch einen beliebigen Computerserver, eine beliebige Dateneinrichtung, einen beliebigen Cloud-Dienst usw. implementiert werden, der/die in der Lage ist, Software zu speichern und zu anderen Rechenvorrichtungen zu übertragen. Die Drittparteien können Kunden der Entität sein, die die Softwareverteilungsplattform 2005 besitzt und/oder betreibt. Zum Beispiel kann die Entität, die die Softwareverteilungsplattform 2005 besitzt und/oder betreibt, ein Entwickler, ein Verkäufer und/oder ein Lizenzgeber von Software, wie etwa die beispielhaften maschinenlesbaren Anweisungen 1732 von 17, sein. Die Drittparteien können Verbraucher, Benutzer, Einzelhändler, OEMs usw. sein, die die Software zur Verwendung und/oder Weiterverkauf und/oder Sublizenzieren erwerben und/oder lizenzieren. In dem veranschaulichten Beispiel beinhaltet die Softwareverteilungsplattform 2005 einen oder mehrere Server und eine oder mehrere Speicherungsvorrichtungen. Die Speicherungsvorrichtungen speichern die maschinenlesbaren Anweisungen 1732, die den beispielhaften maschinenlesbaren Anweisungen 1200, 1300, 1400, 1500 und 1600 der 12-16 entsprechen können, wie oben beschrieben. Der eine oder die mehreren Server der beispielhaften Softwareverteilungsplattform 2005 stehen in Kommunikation mit einem Netzwerk 2010, das einem oder mehreren beliebigen des Internets und/oder beliebigen der oben beschriebenen beispielhaften Netzwerke 2010 entsprechen kann. In einigen Beispielen reagieren der eine oder die mehreren Server auf Anforderungen, die Software als Teil einer kommerziellen Transaktion an eine anfragende Partei zu übertragen. Die Zahlung für die Lieferung, den Verkauf und/oder die Lizenz der Software kann durch den einen oder die mehreren Server der Softwareverteilungsplattform und/oder durch eine Drittpartei-Zahlungsentität gehandhabt werden. Die Server ermöglichen Käufern und/oder Lizenzgebern, die maschinenlesbaren Anweisungen 1732 von der Softwareverteilungsplattform 2005 herunterzuladen. Beispielsweise kann die Software, die den beispielhaften maschinenlesbaren Anweisungen 1200, 1300, 1400, 1500 und 1600 der 12-16 entsprechen können, auf die beispielhafte Prozessorplattform 1700 heruntergeladen werden, die die maschinenlesbaren Anweisungen 1732 ausführen soll, um die Telemetrieüberwachungsschaltungsanordnung 926 zu implementieren. In manchen Beispielen bieten ein oder mehrere Server der Softwareverteilungsplattform 2005 periodisch Aktualisierungen an der Software (z. B. die beispielhaften maschinenlesbaren Anweisungen 1732 von 17) an, übertragen und/oder erzwingen diese, um sicherzustellen, dass Verbesserungen, Patches, Aktualisierungen usw. verteilt und auf die Software an den Endbenutzervorrichtungen angewendet werden.
  • Aus dem Vorstehenden versteht es sich, dass beispielhafte Systeme, Verfahren, Einrichtungen und Herstellungsartikel offenbart wurden, die eine Edge-skalierbare adaptiv granulierte Überwachung und Telemetrieverarbeitung für Multi-QoS-Dienste implementieren. Die offenbarten Systeme, Verfahren, Einrichtungen und Herstellungsartikel verbessern die Effizienz der Verwendung einer Rechenvorrichtung durch Implementieren eines angepassten und feingranulierten Ansatzes zum Überwachen von Telemetriedaten und Bereitstellen von Rechenressourcen, die den zu bearbeitenden Überwachungsfunktionen entsprechen. Die offenbarten Systeme, Verfahren, Einrichtungen und Herstellungsartikel sind dementsprechend auf eine oder mehrere Verbesserungen des Betriebs einer Maschine, wie etwa eines Computers oder einer anderen elektronischen und/oder mechanischen Vorrichtung, ausgerichtet.
  • Beispiel 1 beinhaltet eine Einrichtung, umfassend eine Plattformberechnungsschaltungsanordnung einschließlich einer Prozessorschaltungsanordnung und/oder einer Beschleunigerschaltungsanordnung, eine Überwachungsfunktionsregistrierungsschnittstellendatenstruktur zum Einschließen eines Satzes einer oder mehrerer Überwachungsfunktionen, wobei die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur für jede Überwachungsfunktion in dem Satz eine eindeutige universelle Funktionskennung und einen Funktionsdeskriptor bereitstellt, und eine Anwendungszuweisungsschnittstellendatenstruktur, die Anwendungsinstanzen beinhalten soll, wobei die Anwendungszuweisungsschnittstellendatenstruktur für jede Anwendungsinstanz eine Anwendungskennung, eine Anwendungs-Service-Level-Agreement(SLA)-Definition, und den Funktionsdeskriptor zum Ermöglichen einer Verknüpfung mit einer ersten Überwachungsfunktion bereitstellt, und eine SLA-Überwachungsschaltungsanordnung, wobei die SLA-Überwachungsschaltungsanordnung die erste Überwachungsfunktion für eine erste Anwendungsinstanz in einem Hardware-und-Software-Überwachungslogikstapel instanziieren soll, bewirken soll, dass die erste Überwachungsfunktion in dem Hardware-und-Software-Überwachungslogikstapel ausgeführt wird, und einen Dienstgüte(QoS)-Durchsetzungsrückruf als Reaktion auf eine Verletzung der SLA-Definition erzeugen soll.
  • Beispiel 2 beinhaltet die Einrichtung des Beispiels 1, ferner beinhaltend eine Telemetriefunktionsbeschleunigerschaltungsanordnung zum Parsen der ersten Überwachungsfunktion in einen Satz von Operationen und Konfigurieren des Hardware-und-Software-Überwachungslogikstapels zum Ausführen des Satzes von Operationen.
  • Beispiel 3 beinhaltet die Einrichtung des Beispiels 2, wobei der Hardware-und-Software-Überwachungslogikstapel die Plattformberechnungsschaltungsanordnung und/oder die Telemetriefunktionsbeschleunigerschaltungsanordnung beinhaltet.
  • Beispiel 4 beinhaltet die Einrichtung des Beispiels 3, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz eine Instanzkritikalitätsstufe beinhaltet.
  • Beispiel 5 beinhaltet die Einrichtung des Beispiels 4, wobei die SLA-Überwachungsschaltungsanordnung die erste Überwachungsfunktion in zumindest der Telemetriefunktionsbeschleunigerschaltungsanordnung als Reaktion darauf instanziieren soll, dass die Instanzkritikalitätsstufe hoch ist, und die erste Überwachungsfunktion in zumindest der Plattformberechnungsschaltungsanordnung als Reaktion darauf instanziieren soll, dass die Instanzkritikalitätsstufe weniger als hoch ist.
  • Beispiel 6 beinhaltet die Einrichtung des Beispiels 5, wobei die SLA-Überwachungsschaltungsanordnung eine Nutzungsrate der Plattformberechnungsschaltungsanordnung überwachen soll, und als Reaktion darauf, dass die Nutzungsrate unter einem maximalen Schwellenwert liegt, bewirken soll, dass zumindest ein Teil der Plattformberechnungsschaltungsanordnung die erste Überwachungsfunktion ausführt.
  • Beispiel 7 beinhaltet die Einrichtung des Beispiels 1, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz einen Frequenzzeitwert beinhaltet, um eine Überwachungsfunktionsfrequenz der Ausführung anzugeben, und wobei die SLA-Überwachungsschaltungsanordnung ferner einen Timer verwalten soll, um den Frequenzzeitwert herunterzuzählen, und bewirken soll, dass die erste Überwachungsfunktion ausgeführt wird, nachdem der Timer abläuft.
  • Beispiel 8 beinhaltet die Einrichtung des Beispiels 1, wobei die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur für jede Überwachungsfunktion eine Telemetriemetrikliste von zu sammelnden Telemetriemetriken beinhaltet.
  • Beispiel 9 beinhaltet die Einrichtung des Beispiels 8, wobei die SLA-Überwachungsschaltungsanordnung ferner einer QoS-Durchsetzungsschaltungsanordnung die Funktionskennung der ersten Überwachungsfunktion und/oder einen aktuellen Satz von Werten der Telemetriemetriken und/oder ein Ergebnis der Ausführung der Überwachungsfunktion bereitstellen soll.
  • Beispiel 10 beinhaltet die Einrichtung des Beispiels 8, wobei die Überwachungsfunktion einen Algorithmus, der durch eine beschleunigte Funktion repräsentiert wird, und/oder eine oder mehrere Operationen zum Sammeln der Telemetriemetriken und/oder eine oder mehrere Unterfunktionen, die aufgerufen werden, um einen Satz von Telemetriemetriken zu sammeln, beinhaltet.
  • Beispiel 11 beinhaltet die Einrichtung des Beispiels 1, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz eine Auflistung einer oder mehrerer Korrekturmaßnahmen beinhaltet, die als Reaktion darauf ausgelöst werden sollen, dass die SLA-Überwachungsschaltungsanordnung den QoS-Durchsetzungsrückruf erzeugt.
  • Beispiel 12 beinhaltet mindestens ein nichtflüchtiges computerlesbares Speicherungsmedium, das Anweisungen umfasst, die, wenn sie ausgeführt werden, bewirken, dass ein oder mehrere Prozessoren einer Maschine zumindest eine Speicherung einer Überwachungsfunktionsregistrierungsschnittstellendatenstruktur zum Auflisten eines Satzes von Überwachungsfunktionen bewirken, wobei die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur für jede Überwachungsfunktion in dem Satz eine eindeutige universelle Funktionskennung und einen Funktionsdeskriptor bereitstellt, und eine Speicherung einer Anwendungszuweisungsschnittstellendatenstruktur zum Auflisten von Anwendungsinstanzen bewirken, wobei die Anwendungszuweisungsschnittstellendatenstruktur für jede Anwendungsinstanz eine Anwendungskennung, eine Anwendungs-Service-Level-Agreement(SLA)-Definition und den Funktionsdeskriptor zum Ermöglichen einer Verknüpfung mit einer ersten Überwachungsfunktion bereitstellt, und die erste Überwachungsfunktion für eine erste Anwendungsinstanz in einem Hardware-und-Software-Überwachungslogikstapel instanziiert, wobei der Hardware-und-Software-Überwachungslogikstapel eine Plattformberechnungsschaltungsanordnung und/oder eine Telemetriefunktionsbeschleunigerschaltungsanordnung beinhaltet, bewirkt, dass die erste Überwachungsfunktion in dem Hardware-und-Software-Überwachungslogikstapel ausgeführt wird, und einen Dienstgüte(QoS)-Durchsetzungsrückruf als Reaktion auf eine Verletzung der SLA-Definition erzeugt.
  • Beispiel 13 beinhaltet das mindestens eine nichtflüchtige computerlesbare Speicherungsmedium des Beispiels 12, wobei die Anweisungen, wenn sie ausgeführt werden, bewirken, dass der eine oder die mehreren der Prozessoren der Maschine die erste Überwachungsfunktion in einen Satz von Operationen parsen, und den Hardware-und-Software-Überwachungslogikstapel zum Ausführen des Satzes von Operationen konfigurieren.
  • Beispiel 14 beinhaltet das mindestens eine nichtflüchtige computerlesbare Speicherungsmedium des Beispiels 13, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz eine Instanzkritikalitätsstufe beinhaltet.
  • Beispiel 15 beinhaltet das mindestens eine nichtflüchtige computerlesbare Speicherungsmedium des Beispiels 14, wobei die Anweisungen, wenn sie ausgeführt werden, bewirken, dass der eine oder die mehreren der Prozessoren der Maschine die erste Überwachungsfunktion in zumindest der Telemetriefunktionsbeschleunigerschaltungsanordnung als Reaktion darauf instanziieren, dass die Instanzkritikalitätsstufe hoch ist, und die erste Überwachungsfunktion in zumindest der Plattformberechnungsschaltungsanordnung als Reaktion darauf instanziieren, dass die Instanzkritikalitätsstufe weniger als hoch ist.
  • Beispiel 16 beinhaltet das mindestens eine nichtflüchtige computerlesbare Speicherungsmedium des Beispiels 15, wobei die Anweisungen, wenn sie ausgeführt werden, bewirken, dass der eine oder die mehreren der Prozessoren der Maschine eine Nutzungsrate der Plattformberechnungsschaltungsanordnung überwachen und als Reaktion darauf, dass die Nutzungsrate unter einem maximalen Schwellenwert liegt, bewirken, dass zumindest ein Teil der Plattformberechnungsschaltungsanordnung die erste Überwachungsfunktion ausführt.
  • Beispiel 17 beinhaltet das mindestens eine nichtflüchtige computerlesbare Speicherungsmedium des Beispiels 12, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz einen Frequenzzeitwert beinhaltet, um eine Überwachungsfunktionsfrequenz der Ausführung anzugeben, und wobei die Anweisungen, wenn sie ausgeführt werden, den einen oder die mehreren der Prozessoren der Maschine veranlassen, einen Timer zu verwalten, um den Frequenzzeitwert herunterzuzählen, und zu bewirken, dass die erste Überwachungsfunktion ausgeführt wird, nachdem der Timer abläuft.
  • Beispiel 18 beinhaltet das mindestens eine nichtflüchtige computerlesbare Speicherungsmedium des Beispiels 12, wobei die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur für jede Überwachungsfunktion eine Telemetriemetrikliste von zu sammelnden Telemetriemetriken beinhaltet.
  • Beispiel 19 beinhaltet das mindestens eine nichtflüchtige computerlesbare Speicherungsmedium des Beispiels 18, wobei die Anweisungen, wenn sie ausgeführt werden, bewirken, dass der eine oder die mehreren der Prozessoren der Maschine einer QoS-Durchsetzungsschaltungsanordnung die Funktionskennung der ersten Überwachungsfunktion und/oder einen aktuellen Satz von Werten der Telemetriemetriken und/oder ein Ergebnis der Ausführung der Überwachungsfunktion bereitstellen.
  • Beispiel 20 beinhaltet das mindestens eine nichtflüchtige computerlesbare Speicherungsmedium des Beispiels 18, wobei die Überwachungsfunktion einen Algorithmus, der durch eine beschleunigte Funktion repräsentiert wird, und/oder eine oder mehrere Operationen zum Sammeln der Telemetriemetriken und/oder eine oder mehrere Unterfunktionen, die aufgerufen werden, um einen Satz von Telemetriemetriken zu sammeln, beinhaltet.
  • Beispiel 21 beinhaltet das mindestens eine nichtflüchtige computerlesbare Speicherungsmedium des Beispiels 12, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz eine oder mehrere Korrekturmaßnahmen beinhaltet, die als Reaktion auf das Erzeugen des QoS-Durchsetzungsrückrufs ausgelöst werden sollen.
  • Beispiel 22 beinhaltet eine Einrichtung, umfassend eine Prozessorschaltungsanordnung, die eine Zentralprozessoreinheit und/oder eine Grafikprozessoreinheit und/oder einen Digitalsignalprozessor beinhaltet, wobei die Zentralprozessoreinheit und/oder die Grafikprozessoreinheit und/oder der Digitalsignalprozessor eine Steuerschaltungsanordnung zum Steuern einer Datenverschiebung innerhalb der Prozessorschaltungsanordnung, eine Arithmetik-und-LogikSchaltungsanordnung zum Durchführen einer oder mehrerer erster Operationen entsprechend Anweisungen und ein oder mehrere Register zum Speichern eines Ergebnisses der einen oder der mehreren ersten Operationen aufweist, die Anweisungen in der Einrichtung, ein feldprogrammierbares Gate-Array (FPGA), wobei das FPGA eine Logikgatterschaltungsanordnung beinhaltet, mehrere konfigurierbare Zwischenverbindungen, und eine Speicherungsschaltungsanordnung, wobei die Logikgatterschaltungsanordnung und die Zwischenverbindungen eine oder mehrere zweite Operationen durchführen sollen, wobei die Speicherungsschaltungsanordnung ein Ergebnis der einen oder der mehreren zweiten Operationen speichern soll, oder eine anwendungsspezifische integrierte Schaltungsanordnung (ASIC) einschließlich einer Logikgatterschaltungsanordnung zum Durchführen einer oder mehrerer dritter Operationen, wobei die Prozessorschaltungsanordnung die eine oder die mehreren ersten Operationen und/oder die eine oder die mehreren zweiten Operationen und/oder die eine oder die mehreren dritten Operationen durchführen soll zum Instanziieren einer Überwachungsfunktionsregistrierungsschnittstellendatenstruktur zum Auflisten eines Satzes von Überwachungsfunktionen, wobei die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur für jede Überwachungsfunktion in dem Satz eine eindeutige universelle Funktionskennung und einen Funktionsdeskriptor beinhaltet, einer Anwendungszuweisungsschnittstellendatenstruktur zum Auflisten von Anwendungsinstanzen, wobei die Anwendungszuweisungsschnittstellendatenstruktur für jede Anwendungsinstanz eine Anwendungskennung, eine Anwendungs-Service-Level-Agreement(SLA)-Definition und den Funktionsdeskriptor zum Ermöglichen einer Verknüpfung mit einer ersten Überwachungsfunktion beinhaltet, einer SLA-Überwachungsschaltungsanordnung, wobei die SLA-Überwachungsschaltungsanordnung die erste Überwachungsfunktion für eine erste Anwendungsinstanz in einem Hardware-und-Software-Überwachungslogikstapel instanziieren soll, bewirken soll, dass die erste Überwachungsfunktion in dem Hardware-und-Software-Überwachungslogikstapel ausgeführt wird, und einen Dienstgüte(QoS)-Durchsetzungsrückruf als Reaktion auf eine Verletzung der SLA-Definition erzeugen soll.
  • Beispiel 23 beinhaltet die Einrichtung des Beispiels 22, wobei die Prozessorschaltungsanordnung die eine oder die mehreren ersten Operationen und/oder die eine oder die mehreren zweiten Operationen und/oder die eine oder die mehreren dritten Operationen durchführen soll zum Instanziieren einer Telemetriefunktionsbeschleunigerschaltungsanordnung, um die erste Überwachungsfunktion in einen Satz von Operationen zu parsen, und den Hardware-und-Software-Überwachungslogikstapel zum Ausführen des Satzes von Operationen zu konfigurieren.
  • Beispiel 24 beinhaltet die Einrichtung des Beispiels 23, wobei der Hardware-und-Software-Überwachungslogikstapel die Beschleunigerschaltungsanordnung und/oder die Prozessorschaltungsanordnung und/oder die Telemetriefunktionsbeschleunigerschaltungsanordnung beinhaltet.
  • Beispiel 25 beinhaltet die Einrichtung des Beispiels 24, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz eine Instanzkritikalitätsstufe beinhaltet.
  • Beispiel 26 beinhaltet die Einrichtung des Beispiels 25, wobei die SLA-Überwachungsschaltungsanordnung die erste Überwachungsfunktion in zumindest der Telemetriefunktionsbeschleunigerschaltungsanordnung als Reaktion darauf instanziieren soll, dass die Instanzkritikalitätsstufe hoch ist, und die erste Überwachungsfunktion in zumindest einer Plattformberechnungsschaltungsanordnung als Reaktion darauf instanziieren soll, dass die Instanzkritikalitätsstufe weniger als hoch ist.
  • Beispiel 27 beinhaltet die Einrichtung des Beispiels 26, wobei die SLA-Überwachungsschaltungsanordnung eine Nutzungsrate der Plattformberechnungsschaltungsanordnung überwachen soll, und als Reaktion darauf, dass die Nutzungsrate unter einem maximalen Schwellenwert liegt, bewirken soll, dass zumindest ein Teil der Plattformberechnungsschaltungsanordnung die erste Überwachungsfunktion ausführt.
  • Beispiel 28 beinhaltet die Einrichtung des Beispiels 22, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz einen Frequenzwert beinhaltet, um eine Überwachungsfunktionsfrequenz der Ausführung anzugeben, und die SLA-Überwachungsschaltungsanordnung einen Timer verwalten soll, um den Frequenzwert herunterzuzählen, und bewirken soll, dass die erste Überwachungsfunktion ausgeführt wird, nachdem der Timer abläuft.
  • Beispiel 29 beinhaltet die Einrichtung des Beispiels 22, wobei die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur für jede Überwachungsfunktion eine Liste von zu sammelnden Telemetriemetriken beinhaltet.
  • Beispiel 30 beinhaltet die Einrichtung des Beispiels 29, wobei die SLA-Überwachungsschaltungsanordnung einer QoS-Durchsetzungsschaltungsanordnung die Funktionskennung der ersten Überwachungsfunktion und/oder einen aktuellen Satz von Werten der Liste von Telemetriemetriken und/oder ein Ergebnis der Ausführung der Überwachungsfunktion bereitstellen soll.
  • Beispiel 31 beinhaltet die Einrichtung des Beispiels 29, wobei die Überwachungsfunktion einen Algorithmus, der durch eine beschleunigte Funktion repräsentiert wird, und/oder eine oder mehrere Operationen zum Sammeln eines aktuellen Satzes von Werten entsprechend der Liste von Telemetriemetriken und/oder eine oder mehrere Unterfunktionen, die aufgerufen werden, um den aktuellen Satz von Werten entsprechend der Liste von Telemetriemetriken zu sammeln, beinhaltet.
  • Beispiel 32 beinhaltet die Einrichtung des Beispiels 22, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz eine oder mehrere Korrekturmaßnahmen beinhaltet, die als Reaktion darauf ausgelöst werden sollen, dass die SLA-Überwachungsschaltungsanordnung den QoS-Durchsetzungsrückruf erzeugt.
  • Obwohl gewisse beispielhafte Systeme, Verfahren, Einrichtungen und Herstellungsartikel hierin offenbart wurden, ist der Schutzumfang dieses Patents nicht darauf beschränkt. Im Gegenteil deckt dieses Patent alle Systeme, Verfahren, Einrichtungen und Herstellungsartikel ab, die in den Schutzumfang der Ansprüche dieses Patents fallen.
  • Die folgenden Ansprüche werden hiermit durch diese Bezugnahme in diese ausführliche Beschreibung aufgenommen, wobei jeder Anspruch für sich allein als eine separate Ausführungsform der vorliegenden Offenbarung steht.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • C, C++, Java, C#, Perl, Python, JavaScript, HyperText Markup Language (HTML), Structured Query Language (SQL), Swift [0139]
    • CDs, Blu-Ray-Disk- [0183]
    • RAID: Redundant Array of Independent Disk [0183]

Claims (25)

  1. Einrichtung, die Folgendes umfasst: eine Plattformberechnungsschaltungsanordnung, die eine Prozessorschaltungsanordnung und/oder eine Beschleunigerschaltungsanordnung beinhaltet; eine Überwachungsfunktionsregistrierungsschnittstellendatenstruktur, die einen Satz von einer oder mehreren Überwachungsfunktionen beinhalten soll, wobei die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur für jede Überwachungsfunktion in dem Satz eine eindeutige universelle Funktionskennung und einen Funktionsdeskriptor bereitstellt; und eine Anwendungszuweisungsschnittstellendatenstruktur, die Anwendungsinstanzen beinhalten soll, wobei die Anwendungszuweisungsschnittstellendatenstruktur für jede Anwendungsinstanz eine Anwendungskennung, eine Anwendungs-Service-Level-Agreement(SLA)-Definition und den Funktionsdeskriptor zum Ermöglichen einer Verknüpfung mit einer ersten Überwachungsfunktion bereitstellt; und eine SLA-Überwachungsschaltungsanordnung, wobei die SLA-Überwachungsschaltungsanordnung ausgelegt ist zum: Instanziieren der ersten Überwachungsfunktion für eine erste Anwendungsinstanz in einem Hardware-und-Software-Überwachungslogikstapel; Bewirken, dass die erste Überwachungsfunktion in dem Hardware-und-Software-Überwachungslogikstapel ausgeführt wird; und Erzeugen eines Dienstgüte(QoS)-Durchsetzungsrückrufs als Reaktion auf eine Verletzung der SLA-Definition.
  2. Einrichtung nach Anspruch 1, die ferner Folgendes beinhaltet: eine Telemetriefunktionsbeschleunigerschaltungsanordnung zum: Parsen der ersten Überwachungsfunktion in einen Satz von Operationen; und Konfigurieren des Hardware-und-Software-Überwachungslogikstapels zum Ausführen des Satzes von Operationen.
  3. Einrichtung nach einem des Anspruchs 1 oder des Anspruchs 2, wobei der Hardware-und-Software-Überwachungslogikstapel die Plattformberechnungsschaltungsanordnung und/oder die Telemetriefunktionsbeschleunigerschaltungsanordnung beinhaltet.
  4. Einrichtung nach einem der Ansprüche 1-3, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz eine Instanzkritikalitätsstufe beinhaltet.
  5. Einrichtung nach einem der Ansprüche 2-4, wobei die SLA-Überwachungsschaltungsanordnung ausgelegt ist zum: Instanziieren der ersten Überwachungsfunktion in zumindest der Telemetriefunktionsbeschleunigerschaltungsanordnung als Reaktion darauf, dass die Instanzkritikalitätsstufe hoch ist; und Instanziieren der ersten Überwachungsfunktion in zumindest der Plattformberechnungsschaltungsanordnung als Reaktion darauf, dass die Instanzkritikalitätsstufe weniger als hoch ist.
  6. Einrichtung nach einem der Ansprüche 2-5, wobei die SLA-Überwachungsschaltungsanordnung ausgelegt ist zum: Überwachen einer Nutzungsrate der Plattformberechnungsschaltungsanordnung; und als Reaktion darauf, dass die Nutzungsrate unter einem maximalen Schwellenwert liegt, Bewirken, dass zumindest ein Teil der Plattformberechnungsschaltungsanordnung die erste Überwachungsfunktion ausführt.
  7. Einrichtung nach Anspruch 1, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz einen Frequenzzeitwert zum Angeben einer Überwachungsfunktionsfrequenz der Ausführung beinhaltet, und wobei die SLA-Überwachungsschaltungsanordnung ferner ausgelegt ist zum: Verwalten eines Timers, um den Frequenzzeitwert herunterzuzählen; und Bewirken, dass die erste Überwachungsfunktion ausgeführt wird, nachdem der Timer abläuft.
  8. Einrichtung nach Anspruch 1, wobei die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur für jede Überwachungsfunktion eine Telemetriemetrikliste von zu sammelnden Telemetriemetriken beinhaltet.
  9. Einrichtung nach Anspruch 8, wobei die SLA-Überwachungsschaltungsanordnung ferner einer QoS-Durchsetzungsschaltungsanordnung die Funktionskennung der ersten Überwachungsfunktion und/oder einen aktuellen Satz von Werten der Telemetriemetriken und/oder ein Ergebnis der Ausführung der Überwachungsfunktion bereitstellen soll.
  10. Einrichtung nach einem des Anspruchs 8 oder des Anspruchs 9, wobei die Überwachungsfunktion einen Algorithmus, der durch eine beschleunigte Funktion repräsentiert wird, und/oder eine oder mehrere Operationen zum Sammeln der Telemetriemetriken und/oder eine oder mehrere Unterfunktionen, die aufgerufen werden, um einen Satz von Telemetriemetriken zu sammeln, beinhaltet.
  11. Einrichtung nach Anspruch 1, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz eine Auflistung einer oder mehrerer Korrekturmaßnahmen beinhaltet, die als Reaktion darauf ausgelöst werden sollen, dass die SLA-Überwachungsschaltungsanordnung den QoS-Durchsetzungsrückruf erzeugt.
  12. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien, die Anweisungen umfassen, die, wenn sie ausgeführt werden, einen oder mehrere Prozessoren einer Maschine zumindest zu Folgendem veranlassen: Bewirken einer Speicherung einer Überwachungsfunktionsregistrierungsschnittstellendatenstruktur zum Auflisten eines Satzes von Überwachungsfunktionen, wobei die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur für jede Überwachungsfunktion in dem Satz eine eindeutige universelle Funktionskennung und einen Funktionsdeskriptor bereitstellt; und Bewirken einer Speicherung einer Anwendungszuweisungsschnittstellendatenstruktur zum Auflisten von Anwendungsinstanzen, wobei die Anwendungszuweisungsschnittstellendatenstruktur für jede Anwendungsinstanz eine Anwendungskennung, eine Anwendungs-Service-Level-Agreement(SLA)-Definition und den Funktionsdeskriptor zum Ermöglichen einer Verknüpfung mit einer ersten Überwachungsfunktion bereitstellt; und Instanziieren der ersten Überwachungsfunktion für eine erste Anwendungsinstanz in einem Hardware-und-Software-Überwachungslogikstapel, wobei der Hardware-und-Software-Überwachungslogikstapel eine Plattformberechnungsschaltungsanordnung und/oder eine Telemetriefunktionsbeschleunigerschaltungsanordnung beinhaltet; Bewirken, dass die erste Überwachungsfunktion in dem Hardware-und-Software-Überwachungslogikstapel ausgeführt wird; und Erzeugen eines Dienstgüte(QoS)-Durchsetzungsrückrufs als Reaktion auf eine Verletzung der SLA-Definition.
  13. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien nach Anspruch 12, wobei die Anweisungen, wenn sie ausgeführt werden, bewirken, dass der eine oder die mehreren der Prozessoren der Maschine ausgelegt sind zum: Parsen der ersten Überwachungsfunktion in einen Satz von Operationen; und Konfigurieren des Hardware-und-Software-Überwachungslogikstapels zum Ausführen des Satzes von Operationen.
  14. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien nach einem des Anspruchs 12 oder des Anspruchs 13, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz eine Instanzkritikalitätsstufe beinhaltet.
  15. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien nach einem der Ansprüche 12-14, wobei die Anweisungen, wenn sie ausgeführt werden, bewirken, dass der eine oder die mehreren der Prozessoren der Maschine ausgelegt sind zum: Instanziieren der ersten Überwachungsfunktion in zumindest der Telemetriefunktionsbeschleunigerschaltungsanordnung als Reaktion darauf, dass die Instanzkritikalitätsstufe hoch ist; und Instanziieren der ersten Überwachungsfunktion in zumindest der Plattformberechnungsschaltungsanordnung als Reaktion darauf, dass die Instanzkritikalitätsstufe weniger als hoch ist.
  16. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien nach einem der Ansprüche 12-15, wobei die Anweisungen, wenn sie ausgeführt werden, bewirken, dass der eine oder die mehreren der Prozessoren der Maschine ausgelegt sind zum: Überwachen einer Nutzungsrate der Plattformberechnungsschaltungsanordnung; und als Reaktion darauf, dass die Nutzungsrate unter einem maximalen Schwellenwert liegt, Bewirken, dass zumindest ein Teil der Plattformberechnungsschaltungsanordnung die erste Überwachungsfunktion ausführt.
  17. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien nach Anspruch 12, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz einen Frequenzzeitwert beinhaltet, um eine Überwachungsfunktionsfrequenz der Ausführung anzugeben, und wobei die Anweisungen, wenn sie ausgeführt werden, bewirken, dass der eine oder die mehreren der Prozessoren der Maschine ausgelegt sind zum: Verwalten eines Timers, um den Frequenzzeitwert herunterzuzählen; und Bewirken, dass die erste Überwachungsfunktion ausgeführt wird, nachdem der Timer abläuft.
  18. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien nach Anspruch 12, wobei die Überwachungsfunktionsregistrierungsschnittstellendatenstruktur für jede Überwachungsfunktion eine Telemetriemetrikliste von zu sammelnden Telemetriemetriken beinhaltet.
  19. Computerlesbares Speicherungsmedium bzw. computerlesbare Speicherungsmedien nach Anspruch 18, wobei die Anweisungen, wenn sie ausgeführt werden, bewirken, dass der eine oder die mehreren der Prozessoren der Maschine ausgelegt sind zum: Bereitstellen der Funktionskennung der ersten Überwachungsfunktion und/oder eines aktuellen Satzes von Werten der Telemetriemetriken und/oder eines Ergebnisses der Ausführung der Überwachungsfunktion zu einer QoS-Durchsetzungsschaltungsanordnung.
  20. Verfahren, das Folgendes umfasst: Auflisten eines Satzes von Überwachungsfunktionen in einer Überwachungsfunktionsregistrierungsschnittstellendatenstruktur, einschließlich, für jede Überwachungsfunktion in dem Satz, einer eindeutigen universellen Funktionskennung und eines Funktionsdeskriptors; Auflisten von Anwendungsinstanzen in einer Anwendungszuweisungsschnittstellendatenstruktur, einschließlich, für jede Anwendungsinstanz, einer Anwendungskennung, einer Anwendungs-Service-Level-Agreement(SLA)-Definition und des Funktionsdeskriptors zum Ermöglichen einer Verknüpfung mit einer ersten Überwachungsfunktion; Instanziieren der ersten Überwachungsfunktion für eine erste Anwendungsinstanz in einem Hardware-und-Software-Überwachungslogikstapel; Bewirken, dass die erste Überwachungsfunktion in dem Hardware-und-Software-Überwachungslogikstapel ausgeführt wird; und Erzeugen eines Dienstgüte(QoS)-Durchsetzungsrückrufs als Reaktion auf eine Verletzung der SLA-Definition.
  21. Verfahren nach Anspruch 20, das Folgendes umfasst: Parsen der ersten Überwachungsfunktion in einen Satz von Operationen; und Konfigurieren des Hardware-und-Software-Überwachungslogikstapels zum Ausführen des Satzes von Operationen.
  22. Verfahren nach einem des Anspruchs 20 oder des Anspruchs 21, wobei die Anwendungszuweisungsschnittstellendatenstruktur ferner für jede Anwendungsinstanz eine Instanzkritikalitätsstufe beinhaltet.
  23. Verfahren nach Anspruch 22, das Folgendes umfasst: Instanziieren der ersten Überwachungsfunktion in zumindest einer Telemetriefunktionsbeschleunigerschaltungsanordnung als Reaktion darauf, dass die Instanzkritikalitätsstufe hoch ist; und Instanziieren der ersten Überwachungsfunktion in zumindest einer Plattformberechnungsschaltungsanordnung als Reaktion darauf, dass die Instanzkritikalitätsstufe weniger als hoch ist.
  24. Verfahren nach Anspruch 23, das Folgendes umfasst: Überwachen einer Nutzungsrate der Plattformberechnungsschaltungsanordnung; und als Reaktion darauf, dass die Nutzungsrate unter einem maximalen Schwellenwert liegt, Bewirken, dass zumindest ein Teil der Plattformberechnungsschaltungsanordnung die erste Überwachungsfunktion ausführt.
  25. Einrichtung, die Mittel zum Durchführen eines Verfahrens nach einem der Ansprüche 20-24 umfasst.
DE102022128300.3A 2021-12-22 2022-10-26 Verfahren und einrichtungen zum implementieren einer edge-skalierbaren adaptiv granulierten überwachung und telemetrieverarbeitung für multi-qos-dienste Pending DE102022128300A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/645,734 2021-12-22
US17/645,734 US20220116286A1 (en) 2021-12-22 2021-12-22 Methods and apparatus to implement edge scalable adaptive-grained monitoring and telemetry processing for multi-qos services

Publications (1)

Publication Number Publication Date
DE102022128300A1 true DE102022128300A1 (de) 2023-06-22

Family

ID=81078259

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022128300.3A Pending DE102022128300A1 (de) 2021-12-22 2022-10-26 Verfahren und einrichtungen zum implementieren einer edge-skalierbaren adaptiv granulierten überwachung und telemetrieverarbeitung für multi-qos-dienste

Country Status (3)

Country Link
US (1) US20220116286A1 (de)
DE (1) DE102022128300A1 (de)
NL (1) NL2033544B1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021155924A1 (en) * 2020-02-05 2021-08-12 Telefonaktiebolaget Lm Ericsson (Publ) Identifying an instance of a virtual network function
US11539673B2 (en) * 2021-05-05 2022-12-27 Cisco Technology, Inc. Predictive secure access service edge

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3051421B1 (de) * 2015-02-02 2020-07-01 New Relic, Inc. Anwendungsleistungsanalysegerät und entsprechendes Verfahren
WO2020092852A1 (en) * 2018-10-31 2020-05-07 Virtual Instruments Corporation Methods and system for throttling analytics processing

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
C, C++, Java, C#, Perl, Python, JavaScript, HyperText Markup Language (HTML), Structured Query Language (SQL), Swift
CDs, Blu-Ray-Disk-
RAID: Redundant Array of Independent Disk

Also Published As

Publication number Publication date
NL2033544B1 (en) 2024-01-08
US20220116286A1 (en) 2022-04-14
NL2033544A (en) 2023-06-29

Similar Documents

Publication Publication Date Title
DE102021209145A1 (de) Verfahren und vorrichtung zum koordinieren von edge-plattformen
EP3974980A1 (de) Verfahren, vorrichtung und herstellungsartikel für arbeitslastplatzierung in einer randumgebung
US20210011765A1 (en) Adaptive limited-duration edge resource management
DE102022212157A1 (de) Absichtsbasierte clusterverwaltung
DE102022203247A1 (de) Disintermedierte Attestierung in einem MEC-Service-MESH-Framework
DE102021207160A1 (de) Verfahren und einrichtung zur verwaltung der dienstgüte in bezug auf service-level-agreements in einer rechenvorrichtung
DE112020003742T5 (de) Verfahren, systeme, erzeugnisse und vorrichtungen zur verbesserung von jobplanungseffizienz
DE102021209282A1 (de) Verfahren, einrichtungen und systeme zur gemeinsamen nutzung von rechenressourcen zwischen edge-rechenknoten unter verwendung eines overlay-managers
EP4203417A1 (de) Systeme, verfahren, herstellungsartikel und vorrichtung zur end-to-end-hardwareverfolgung in einem edge-netzwerk
EP4109257A1 (de) Verfahren und vorrichtung zur erleichterung des dienst-proxyings
DE102021210882A1 (de) Erweitertes peer-to-peer (p2p) mit edge-vernetzung
DE102021209019A1 (de) Kontinuierliches testen, integrieren und einsatzverwaltung für edge-computing
DE102022121192A1 (de) Systeme und verfahren für die prüfung vernetzter geräte
DE102022128300A1 (de) Verfahren und einrichtungen zum implementieren einer edge-skalierbaren adaptiv granulierten überwachung und telemetrieverarbeitung für multi-qos-dienste
DE112020007229T5 (de) Föderiertes mec-framework für kraftfahrzeugdienste
EP4178176A1 (de) Verfahren und vorrichtung zur bereitstellung eines geschichteten elastischen cloud-speichers zur erhöhung der datenresilienz
DE102021117809A1 (de) Einrichtungen, Systeme, Fabrikate und Verfahren zur Datenlebenszyklusverwaltung in einer Edge-Umgebung
DE102022203266A1 (de) Verfahren und einrichtungen zum automatischen aktualisieren von künstliche-intelligenz-modellen für autonome fabriken
DE102022203249A1 (de) Mehrfachzugriff-edge-computing- (mec-) fahrzeug-zu-alles-(v2x-) interoperabilitätsunterstützung für mehrere v2x-nachrichtenbroker
US20220116289A1 (en) Adaptive cloud autoscaling
DE102022203111A1 (de) Auf netzwerkfluss basierende hardwarezuweisung
DE102022208684A1 (de) Verfahren und einrichtung für resilienz mithilfe digitaler zwillinge
US20230119552A1 (en) Resource management mechanisms for stateful serverless clusters in edge computing
DE102022121227A1 (de) Dynamische slice-rekonfiguration während fafo(fault-attack-failure-outage)-ereignissen
DE102021209043A1 (de) Methods and apparatus to select a location of execution of a computation