DE102021209146A1 - Adaptive edge-ressourcenverwaltung mit begrenzter dauer - Google Patents

Adaptive edge-ressourcenverwaltung mit begrenzter dauer Download PDF

Info

Publication number
DE102021209146A1
DE102021209146A1 DE102021209146.6A DE102021209146A DE102021209146A1 DE 102021209146 A1 DE102021209146 A1 DE 102021209146A1 DE 102021209146 A DE102021209146 A DE 102021209146A DE 102021209146 A1 DE102021209146 A1 DE 102021209146A1
Authority
DE
Germany
Prior art keywords
resources
resource
node
workload
edge
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
DE102021209146.6A
Other languages
English (en)
Inventor
Kshitij Arun Doshi
Francesc Guim Bernat
Christian Maciocco
Ned M. Smith
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 DE102021209146A1 publication Critical patent/DE102021209146A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Systeme und Techniken zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer sind hier beschrieben. Eine verfügbare Kapazität kann für eine Ressource für einen Knoten des Edge-Rechennetzwerks basierend auf Arbeitslasten, die auf dem Knoten ausgeführt werden, berechnet werden. Verfügbare Rückstellungsressourcen können basierend auf der verfügbaren Kapazität bestimmt werden. Eine Dienstanforderung kann von einer Anwendung empfangen werden, die auf dem Edge-Rechenknoten ausgeführt wird. Für die Dienstanforderung kann eine Prioritätskategorie bestimmt werden. Rückstellungsressourcen aus den verfügbaren Rückstellungsressourcen können einer Arbeitslast, die der Dienstanforderung zugeordnet ist, basierend auf der Prioritätskategorie zugewiesen werden.

Description

  • TECHNISCHES GEBIET
  • Hier beschriebene Ausführungsformen betreffen allgemein eine Rechenressourcenverwaltung und, in manchen Ausführungsformen, eine adaptivere Ressourcenverwaltung mit begrenzter Dauer für Edge-Rechenvorrichtungen und - Betriebsszenarien.
  • HINTERGRUND
  • Edge-Computing bezieht sich auf einer allgemeinen Ebene auf die Implementierung, Koordination und Verwendung von Computing und Ressourcen an Orten näher am Rand („Edge“) oder eine Sammlung von Rändern („Edges“) des Netzwerks. Zweck dieser Anordnung ist es, die Gesamtkosten der Eigentümerschaft zu verbessern, Anwendung und Netzwerklatenz zu reduzieren, Netzwerk-Backhaul-Verkehr und den zugehörigen Energieverbrauch zu reduzieren, Dienstfähigkeiten zu verbessern und die Einhaltung von Sicherheits- oder Datenschutzanforderungen (insbesondere im Vergleich zu herkömmlichem Cloud-Computing) zu verbessern. Komponenten, die Edge-Rechenoperationen ( „Edge-Knoten“) durchführen können, können sich an einem beliebigen Ort befinden, der von der Systemarchitektur oder dem Ad-hoc-Dienst benötigt wird (z. B. in einem Hochleistungsrechenzentrum oder einer Cloud-Installation; einem designierten Edge-Knoten-Server, einem Unternehmens server, einem Straßenrand-Server, einer Fernmeldezentrale, einem Fahrzeug, wie einem Auto/Bus/Zug/usw., einer lokalen oder Peer-at-the-Edge-Vorrichtung, die bedient wird und Edge-Dienste verbraucht).
  • Anwendungen, die für Edge-Computing angepasst wurden, beinhalten unter anderem die Virtualisierung herkömmlicher Netzwerkfunktionen (z. B. um Telekommunikations- oder Internetdienste zu betreiben) und die Einführung von Merkmalen und Diensten der nächsten Generation (z. B. um 5G-Netzwerkdienste zu unterstützen). Zu Anwendungsbeispielen, die projiziert werden, um Edge-Computing umfangreich zu nutzen, gehören verbundene selbstfahrende Autos, Überwachung, Internet-der-Dinge (IoT: Internet of Things) -Vorrichtungsdatenanalytik, Videocodierung und -analytik, ortsabhängige Dienste, Maschinenlern-/Künstliche-Intelligenz-Dienste, Vorrichtungserfassung in Smart-Cities, unter vielen anderen Netzwerk- und rechenintensiven Diensten.
  • Edge-Computing kann in einigen Szenarien einen cloud-ähnlichen distribuierten Dienst anbieten oder hosten, um die Orchestrierung und Verwaltung für Anwendungen und koordinierte Dienstinstanzen unter vielen Arten von Speicherungs- und Rechenressourcen anzubieten. Erwartungsgemäß soll Edge-Computing auch eng mit existierenden Anwendungsbeispielen und Technologie integriert werden, die für IoT- und Fog-/distribuierte Netzwerkkonfigurationen entwickelt wurden, da Endpunktvorrichtungen, Clients und Gateways versuchen, auf Netzwerkressourcen und Netzwerkfunktionsdienste, zum Beispiel Sicherheitsdienste, und Anwendungen an Orten näher am Rand des Netzwerks zuzugreifen.
  • Die Ressourcenverwaltung in mehradrigen Edge-Netzwerken stellt ressourcenverbrauchende Arbeitslasten mit benötigten Ressourcen zum Erreichen einer gewünschten Erfahrungsqualität (z. B. Dienstqualität) bereit. Falls eine Arbeitslast oder ein Teil der Arbeitslast, die an einem Knoten in einem Edge-Netzwerk geplant ist, unzureichende Ressourcen an diesem Knoten empfängt, ist die Arbeitslast möglicherweise nicht in der Lage, Anforderungen nach einem Dienst rechtzeitig abzuschließen. Zum Beispiel kann es für einen Client, der Anforderungen übermittelt, erscheinen, dass der Dienst, der vom Edge-Netzwerk an den Client geliefert wird, langsamer, nicht verfügbar oder unzuverlässig ist. Ferner kann das Edge-Netzwerk beispielsweise dem Client als unvorhersehbar erscheinen, wobei der Client zu unterschiedlichen Zeiten finden kann, dass manche Anforderungen ohne ersichtlichen Grund nicht dazu in der Lage sind, eine Antwort zu generieren. Somit verwalten Knoten in einem Edge-Rechennetzwerk die Ressourcen, die verschiedenen Mandantenarbeitslasten bereitgestellt werden, um die gewünschten Erfahrungsqualitäten zu verbessern.
  • Figurenliste
  • In den Zeichnungen, die nicht unbedingt maßstabsgetreu gezeichnet sind, können gleiche Bezugszeichen ähnliche Komponenten in verschiedenen Ansichten beschreiben. Gleiche Ziffern mit verschiedenen angehängten Buchstaben können verschiedene Instanzen ähnlicher Komponenten repräsentieren. Die Zeichnungen veranschaulichen verschiedene Ausführungsformen, die im vorliegenden Dokument erörtert werden, allgemein und auf beispielhafte Weise, aber ohne Einschränkung.
    • 1 veranschaulicht einen Überblick über eine Edge-Cloud-Konfiguration zur für Edge-Computing.
    • 2 veranschaulicht Betriebsschichten zwischen Endpunkten, einer Edge-Cloud und Cloud-Rechenumgebungen.
    • 3 veranschaulicht einen beispielhaften Ansatz für Vernetzung und Dienste in einem Edge-Rechensystem.
    • 4 veranschaulicht die Bereitstellung einer virtuellen Edge-Konfiguration in einem Edge-Rechensystem, das zwischen mehreren Edge-Knoten und mehreren Mandanten betrieben wird.
    • 5 veranschaulicht verschiedene Rechenanordnungen, die Container in einem Edge-Rechensystem einsetzen.
    • 6 veranschaulicht ein Rechen- und Kommunikationsanwendungsbeispiel, das mobilen Zugriff auf Anwendungen in einem Edge-Rechensystem involviert.
    • 7A stellt einen Überblick über Beispielkomponenten zur Berechnung bereit, die an einem Rechenknoten in einem Edge-Rechensystem eingesetzt werden.
    • 7B stellt einen weiteren Überblick über Beispielkomponenten innerhalb einer Rechenvorrichtung in einem Edge-Rechensystem bereit.
    • 8 ist ein Blockdiagramm eines Beispiels für eine Edge-Rechenumgebung gemäß einer Ausführungsform.
    • 9 veranschaulicht ein Blockdiagramm eines Beispiels eines Datensatzes zum Berechnen und Durchsetzen von weichen Ressourcenrückstellungen zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform.
    • 10 veranschaulicht ein Blockdiagramm eines Beispiels einer Ausführungsplanung und Optimierung, die von einem distribuierten Ausführungsplan (DEP) angesteuert werden, und der Abschlussvorhersage für die adaptive Edge-Ressourcenverwaltung mit begrenzter Dauer, gemäß einer Ausführungsform.
    • 11 veranschaulicht ein Beispiel für DEP-Basisplanung und -ausführung und Ressourcenverfügbarkeitserhaltung zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform.
    • 12 veranschaulicht ein Beispiel eines Prozesses zum Verwalten von weichen Rückstellungen („soft set-asides“) und Planen von Ressourcenverbrauchern zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer, gemäß einer Ausführungsform.
    • 13 veranschaulicht ein Beispiel für Aufgabengruppen zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform.
    • 14 veranschaulicht ein Beispiel für Aufgabengruppen und begrenzte Freigabegarantien zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform.
    • 15 veranschaulicht ein Beispiel einer Systemarchitektur zum Spezifizieren, Verwalten und Qualifizieren von Arbeitslasten zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform.
    • 16 veranschaulicht ein Beispiel für einen Prozess zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform.
    • 17 veranschaulicht ein Beispiel für ein System zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform.
    • 18 veranschaulicht ein Flussdiagramm eines beispielhaften Verfahrens zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die Berechnung in Edge-Clouds ist stark dezentral. Es ergibt sich als spezielle Kategorie von Operationen, bei denen Ereignisse und Anforderungen und Datenströme in einer Weise verarbeitet werden, die zu geringeren und deterministischen Latenzantworten führen sollen. Ein Edge-Netzwerk kann ein Konzept einer dreistufigen Berechnung und Datenverarbeitung mit Edge als eine mittlere Ebene beinhalten. Auf dieser Ebene werden viele verschiedene Edge-Rechen-, Kommunikations- und Speicherressourcen flexibel und dynamisch aggregiert. Die Ressourcen können in hierarchischen oder Peer-to-Peer Beziehungen angeordnet sein, um kritische Bedürfnisse der Reaktionszeit und Kommunikationsbandbreite lokal zu erfüllen und die tieferen und reicheren Ressourcennetzwerke in herkömmlichen Clouds für komplexe, rechenintensive Operationen zu mobilisieren.
  • 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 eine „Edge-Cloud“ bezeichnet wird. Wie gezeigt, befindet sich die Edge-Cloud 110 gemeinsam an einem Edge-Ort, wie 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ät 162, Geschäfts- und Industriegerät 163, Videoaufnahmevorrichtungen 164, Drohnen 165, Smart-Cities und Gebäudevorrichtungen 166, Sensoren und IoT-Vorrichtungen 167 usw.) als das Cloud-Datenzentrum 130. Rechen-, Speicher- und Speicherungsressourcen, die an den Rändern in der Edge-Cloud 110 angeboten werden, sind kritisch für das Bereitstellen von Antwortzeiten mit ultraniedriger Latenz für Dienste und Funktionen, die von den Endpunktdatenquellen 160 verwendet werden, sowie für das Reduzieren von Netzwerk-Backhaul-Verkehr von der Edge-Cloud 110 zum Cloud-Datenzentrum 130, wodurch, unter anderen Vorteilen, Energieverbrauch und Gesamtnetzwerknutzungen verbessert werden.
  • Berechnung, Speicher und Speicherung sind knappe Ressourcen und nehmen im Allgemeinen je nach dem Edge-Ort ab (z. B. sind weniger Verarbeitungsressourcen an Verbraucherendpunktvorrichtungen verfügbar als an einer Basisstation, als an einer Zentrale). Je näher sich der Edge-Ort jedoch am Endpunkt (z. B. Benutzergerät (UE: User Equipment)) befindet, desto mehr Raum und Leistung sind häufig eingeschränkt. Somit versucht das Edge-Computing die Menge an Ressourcen, die für Netzwerkdienste benötigt werden, durch die Verteilung von mehr Ressourcen, die sich sowohl geografisch als auch im Hinblick auf die 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 potentielle Einsätze abdeckt und Einschränkungen anspricht, die manche Netzwerkbetreiber oder Dienstanbieter in ihren eigenen Infrastrukturen aufweisen können. Diese beinhalten 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, Ebenen 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 Computing an oder näher am „Edge“ eines Netzwerks durchgeführt wird, typischerweise durch die Verwendung einer Rechenplattform (z. B. x86 oder ARM-Rechenhardwarearchitektur), die bei Basisstationen, Gateways, Netzwerkroutern oder anderen Vorrichtungen implementiert wird, die sich viel näher an Endpunktvorrichtungen befinden, die die Daten erzeugen und verbrauchen. Edge-Gateway-Server können zum Beispiel mit Pools von Speicher- und Speicherressourcen ausgestattet sein, um eine Berechnung in Echtzeit für Verwendungsfä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 zu der Rechenressource „verschoben“ werden. Oder als ein Beispiel können Basisstationsberechnungs-, Beschleunigungs- und Netzwerkressourcen Dienste bereitstellen, um die Arbeitslastbedürfnisse nach Bedarf durch Aktivieren inaktiver Kapazität (Subskription, Kapazität nach Bedarf) zu skalieren, um Ausnahmefälle, Notfälle zu verwalten oder Langlebigkeit für eingesetzte Ressourcen über einen wesentlich längeren implementierten Lebenszyklus bereitzustellen.
  • 2 veranschaulicht operative Schichten zwischen Endpunkten, einer Edge-Cloud und Cloud-Rechenumgebungen. Insbesondere stellt 2 Beispiele für Rechennutzungsfälle 205 dar, 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 Datenverbrauchsaktivitäten durchzuführen. Die Edge-Cloud 110 kann mehrere Netzwerkschichten überspannen, wie eine Edge-Vorrichtungsschicht 210 mit Gateways, On-Premise-Servern oder Netzwerkgeräten (Knoten 215), die sich in physisch nahen Edge-Systemen befinden, eine Netzwerkzugangsschicht 220, umfassend Basisstationen, Funkverarbeitungseinheiten, Netzwerkhubs, regionale Datenzentren (DC) 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. In 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 („near“ (nahe) an der Cloud, mit hohen Latenzwerten, wenn mit den Vorrichtungen und Endpunkten der Nutzungsfälle 205 kommuniziert wird) befindlich betrachtet werden, wohingegen ein Zugangspunkt, eine Basisstation, ein On-Premise-Server oder ein Netzwerk-Gateway als innerhalb einer „Far-Edge“-Schicht („far“ (fern) von der Cloud entfernt, mit niedrigen Latenzwerten, wenn mit den Vorrichtungen und Endpunkten der Nutzungsfälle 205 kommuniziert wird) befindlich betrachtet werden können. Es versteht sich, dass andere Kategorisierungen einer speziellen Netzwerkschicht als ein „Close“-, „Local“-, „Near“-, „Middle“- oder „Far“-Edge bildend auf Latenz, Entfernung, 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 Nutzungsfä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 Anforderungen 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 Antwortzeitanforderung 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).
  • Die Ende-zu-Ende-Dienstansicht für diese Nutzungsfälle beinhaltet das Konzept eines Dienstflusses und ist einer Transaktion zugeordnet. Die Transaktion gibt die Gesamtdienstanforderung für die Entität an, die den Dienst verbraucht, sowie die zugeordneten Dienste für die Ressourcen, Arbeitslasten, Arbeitsabläufe und Geschäftsfunktions- und Geschäftsebenenanforderungen. 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 ihre vereinbarte 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 die 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 Nutzungsfälle 205 (z. B. Objektverfolgung, Videoüberwachung, verbundene Autos usw.) in Echtzeit oder nahezu Echtzeit zu versorgen und auf diese zu reagieren und Anforderungen für ultraniedrige Latenz für diese mehreren Anwendungen zu erfüllen. Diese Vorteile ermöglichen eine ganz neue Klasse von Anwendungen (VNFs (Virtual Network Functions), FaaS (Function as a Service), 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. Die 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ähigkeits-Kompromisse in diesen gepoolten Speicherressourcen geben, da viele von ihnen wahrscheinlich neu entstehende Speichertechnologien verwenden, bei denen mehr 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 zugelassenen Zugriff benötigen können (z. B. wenn sie an einem Drittparteistandort untergebracht sind). Solche Probleme werden in der Edge-Cloud 110 in einem Multi-Mandanten-, Multi-Eigentümer- oder Multi-Zugriffs-Umfeld vergrößert, in dem Dienste und Anwendungen von vielen Benutzern angefordert werden, insbesondere da die Netzwerknutzung dynamisch schwankt und sich die Zusammensetzung der mehreren Stakeholder, Nutzungsfä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 erläuterten Schichten umfasst, die in der Edge-Cloud 110 (Netzwerkschichten 200-240) arbeiten, die eine Koordination von Client- und distribuierten Rechenvorrichtungen bereitstellen. Ein oder mehrere Edge-Gateway-Knoten, ein oder mehrere Edge-Aggregationsknoten und ein oder mehrere Kerndatenzentren können über Schichten des Netzwerks distribuiert sein, um eine Implementierung des Edge-Rechensystems durch oder im Auftrag eines Telekommunikationsdienstanbieters („telco“ oder „TSP“), Internet-der-Dinge-Dienstanbieters, Cloud-Dienstanbieters (CSP), Unternehmensentität oder einer beliebigen anderen Anzahl von Entitäten bereitzustellen. Verschiedene Implementierungen und Konfigurationen des Edge-Rechensystems können dynamisch bereitgestellt werden, wie, wenn orchestriert, um Dienstziele zu erfüllen.
  • Im Einklang mit den hierin bereitgestellten Beispielen kann ein Client-Rechenknoten als eine beliebige Art von Endpunktkomponente, -vorrichtung, -einrichtung oder anderem dazu in der Lage sein, als ein Produzent oder Verbraucher von Daten zu kommunizieren. Ferner bedeutet die Bezeichnung „Knoten“ oder „Vorrichtung“, wie in dem Edge-Rechensystem verwendet, nicht notwendigerweise, dass ein solcher Knoten oder eine solche Vorrichtung in einer Client- oder Agent-/Minion-/Folgerrolle 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.
  • Dementsprechend ist die Edge-Cloud 110 aus Netzwerkkomponenten und funktionellen Merkmalen gebildet, die durch und innerhalb von Edge-Gateway-Knoten, Edge-Aggregationsknoten oder anderen Edge-Rechenknoten unter den Netzwerkschichten 210-230 betrieben werden. Die Edge-Cloud 110 kann somit als eine beliebige Art von Netzwerk umgesetzt sein, das Edge-Computing- und/oder Speicherungsressourcen bereitstellt, die sich in der Nähe von Funkzugangsnetzwerk (RAN) -fähigen Endpunktvorrichtungen (z. B. mobilen Rechenvorrichtungen, IoT-Vorrichtungen, Smart-Vorrichtungen usw.) befinden, die hierin erläutert werden. Mit anderen Worten kann man sich die Edge-Cloud 110 als einen „Rand“ („Edge“) vorstellen, der die Endpunktvorrichtungen und herkömmliche Netzwerkzugangspunkte, die als ein Eingangspunkt in Dienstanbieter-Kernnetzwerke dienen, verbindet, einschließlich mobilen Trägernetzwerken (z. B. Global System for Mobile Communications (GSM) -Netzwerken, Long-Term Evolution (LTE) -Netzwerken, 5G/6G-Netzwerken usw.), während gleichzeitig Speicherungs- und/oder Rechenfähigkeiten bereitgestellt werden. Andere Arten und Formen von Netzwerkzugang (z. B. WiFi, Wi-Fi mit großer Reichweite, drahtgebundene Netzwerke, einschließlich optischer Netzwerke) können auch anstelle von oder in Kombination mit solchen 3GPP-Trägernetzwerken genutzt werden.
  • Die Netzwerkkomponenten der Edge-Cloud 110 können Server, mandantenfähige Server, Geräterechenvorrichtungen und/oder eine beliebige andere Art von Rechenvorrichtungen sein. Zum Beispiel kann die Edge-Cloud 110 eine Geräterechenvorrichtung sein, die ein eigenständiges Verarbeitungssystem, einschließlich eines Gehäuses, einer Hülle oder einer Schale ist. In manchen Fällen sind Edge-Vorrichtungen Vorrichtungen, die in dem Netzwerk für einen spezifischen Zweck (z. B. eine Ampel) präsentiert werden, die aber Verarbeitungs- 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 mit einem Gehäuse versehen sein, das einen Formfaktor aufweist, der für seinen primären Zweck geeignet ist; sie können dennoch für andere Rechenaufgaben verfügbar sein, die ihre primäre Aufgabe nicht stören. Edge-Vorrichtungen beinhalten Internet of Things-Vorrichtungen. Die Geräterechenvorrichtung kann Hardware- und Softwarekomponenten beinhalten, um lokale Probleme, wie Vorrichtungstemperatur, Vibration, Ressourcenausnutzung, Aktualisierungen, Leistungsprobleme, physische und Netzwerksicherheit usw., zu verwalten. Beispielhafte Hardware zum Implementieren einer Geräterechenvorrichtung ist in Verbindung mit 7B beschrieben. Die Edge-Cloud 110 kann auch einen oder mehrere Server und/oder einen oder mehrere Multi-Mandanten-Server beinhalten. Ein solcher Server kann eine virtuelle Rechenumgebung implementieren, wie einen Hypervisor zum Einsetzen virtueller Maschinen, ein Betriebssystem, das Container implementiert usw. Solche virtuellen Rechenumgebungen stellen eine Ausführungsumgebung bereit, in der eine oder mehrere Anwendungen ausgeführt werden können, während sie von einer oder mehreren anderen Anwendungen isoliert sind.
  • In 3 tauschen verschiedene Client-Endpunkte 310 (in der Form von Mobilvorrichtungen, Computern, autonomen Fahrzeugen, Geschäftsrechengeräten, industriellen Verarbeitungsgeräten) Anforderungen und Antworten aus, die für den Typ der Endpunktnetzwerkaggregation spezifisch sind. Beispielsweise können Client-Endpunkte 310 Netzwerkzugang über ein drahtgebundenes Breitbandnetzwerk erhalten, indem Anforderungen und Antworten 322 durch ein Vor-Ort-Netzwerksystem 332 ausgetauscht werden. Manche Client-Endpunkte 310, wie mobile Rechenvorrichtungen, können Netzwerkzugang über ein drahtloses Breitbandnetzwerk erhalten, indem Anforderungen und Antworten 324 durch einen Zugangspunkt (z. B. Mobilfunkturm) 334 ausgetauscht werden. Manche Client-Endpunkte 310, wie autonome Fahrzeuge, können Netzwerkzugang für Anforderungen und Antworten 326 über ein drahtloses Fahrzeugnetzwerk durch ein Straßennetzwerksystem 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 Speicherressourcen einsetzen, wie an 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, 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 die Bereitstellung und Orchestrierung für virtuelle Edge-Konfigurationen über ein Edge-Rechensystem, das zwischen mehreren Edge-Knoten und mehreren Mandanten betrieben wird. Insbesondere stellt 4 eine 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-Cities/ 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 ein Cloud/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 schließen diese virtuellen Edge-Instanzen ein: 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 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 einschließen, 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 410 Multi-Mandanten-Vorrichtungen sind, wobei Mandant 1 innerhalb eines Mandanten-1-„Slice“ fungieren kann, während ein Mandant 2 innerhalb eines Mandanten-2-„Slice“ fungieren kann (und in weiteren Beispielen können zusätzliche oder Unter-Mandanten existieren; und jeder Mandant kann sogar spezifisch berechtigt für und transaktionell an einen spezifischen Satz von Merkmalen bis hinunter 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 Sicherheitsmerkmalsdurchsetzungspunkte 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 Partitionen 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, die aus Containern, FaaS-Engines, Servlets, Servern oder einer anderen Berechnungsabstraktion bestehen, können gemäß einer DICE-Schichtbildungs- und Fan-Out-Struktur partitioniert werden, um jeweils einen RoT-Kontext zu unterstützen. Dementsprechend können die jeweiligen RoTs-Überspannvorrichtungen 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 Edge-Quellknoten einen Migrationsschlüssel von einer Edge-Zielknoten-Pod-Steuerung erhalten, wobei der Migrationsschlüssel zum Umhüllen der containerspezifischen Schlüssel verwendet wird. Wenn der Container/Pod zu dem Edge-Zielknoten migriert, wird der Entpackungsschlüssel der Pod-Steuerung exponiert, die dann die verpackten 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 getestete Edge-Knoten und Pod-Manager (wie oben beschrieben) gesteuert 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) 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 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 Zuordnung von Containern und Ressourcen. Die Pod-Steuerung empfängt Anweisungen von einem Orchestrator (z. B. Orchestrator 460), der die Steuerung anweist, wie physische Ressourcen am besten zu partitionieren sind und für welche Dauer, wie durch Empfangen von KPI- (Key Performance Indicator) -Zielen basierend auf SLA-Verträgen. Die Pod-Steuerung bestimmt, welcher Container welche Ressourcen und wie lange benötigt, um die Arbeitslast zu vollenden und die SLA zu erfüllen. Die Pod-Steuerung verwaltet auch Container-Lebenszyklusvorgänge, wie: Erzeugen des Containers, Versehen desselben mit Ressourcen und Anwendungen, Koordinieren von Zwischenergebnissen zwischen mehreren Containern, die auf einer distribuierten Anwendung zusammenarbeiten, Zerlegen von Containern, wenn die Arbeitslast abgeschlossen ist, und dergleichen. Zusätzlich dazu kann eine Pod-Steuerung eine Sicherheitsrolle spielen, die eine Zuweisung von Ressourcen verhindert, bis sich der richtige 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 immer noch existieren, jedoch im Kontext jedes Pods von Containern. Falls jeder mandantenspezifische Pod eine mandantenspezifische Pod-Steuerung aufweist, gibt es eine gemeinsam genutzte Pod-Steuerung, die Ressourcenzuweisungsanforderungen konsolidiert, um typische Ressourcenmangelsituationen zu vermeiden. Weitere Steuerungen können bereitgestellt sein, um die Attestierung und Vertrauenswürdigkeit des Pods und der Pod-Steuerung zu gewährleisten. Beispielsweise kann der Orchestrator 460 lokale Pod-Steuerungen eine Attestierungsverifizierungsrichtlinie bereitstellen, um eine Attestierungsverifizierung durchzuführen. Falls eine Attestierung eine Richtlinie für eine erste Mandanten-Pod-Steuerung, jedoch nicht für eine zweite Mandanten-Pod-Steuerung erfüllt, dann könnte der zweite Pod zu einem anderen Edge-Knoten migriert werden, der diese 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) ausgelegt ist, containerisierte Pods, Funktionen, und Functions-as-a-Service-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 einer Systemanordnung 530 (unter Verwendung von Rechenknoten 537) ausgelegt, 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 spezifisch für jeweilige Mandanten sind (abgesehen von der Ausführung virtualisierter Netzwerkfunktionen). Diese Anordnung ist ferner zur Verwendung in der Systemanordnung 540 ausgelegt, die Container 542, 543 oder die Ausführung der verschiedenen Funktionen, Anwendungen und Funktionen auf den Rechenknoten 544 bereitstellt, wie durch ein containerbasiertes Orchestrierungssystem 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 (FPGA, ASIC)-Komponenten als ein lokales Backend einschließen. Auf diese Weise können Anwendungen, koordiniert von einem Orchestrator, unter mehreren Edge-Eigentümer aufgeteilt werden.
  • Im Kontext von 5 können die Pod-Steuerung/Container-Manager, der Container-Orchestrator und die einzelnen Knoten einen Sicherheitsdurchsetzungspunkt bereitstellen. Die Mandantenisolierung kann jedoch dort orchestriert werden, wo sich die Ressourcen, die einem Mandanten zugewiesen sind, von Ressourcen unterscheiden, die einem zweiten Mandanten zugewiesen sind, aber Edge-Eigentümer kooperieren, um sicherzustellen, 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 Mandantenfähigkeit durchzusetzen. 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 kann verwendet werden, um zu gewährleisten, dass mancher Ressourcen- oder Hardware-Bestandteil einen Vertrag oder eine 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).
  • Es versteht sich, dass die hierin erläuterten Edge-Rechensysteme und - Anordnungen bei verschiedenen Lösungen, Diensten und/oder Nutzungsfällen anwendbar sein können, die Mobilität involvieren. Als ein Beispiel zeigt 6 ein vereinfachtes Fahrzeugrechen- und Kommunikationsanwendungsbeispiel, das den Mobilzugriff auf Anwendungen in einem Edge-Rechensystem 600 involviert, das eine Edge-Cloud 110 implementiert. In diesem Anwendungsbeispiel können jeweilige Client-Rechenknoten 610 als fahrzeuginterne Rechensysteme (z. B. fahrzeuginterne Navigations- und/oder Infotainmentsysteme) umgesetzt sein, die sich in entsprechenden Fahrzeugen befinden, die mit den Edge-Gateway-Knoten 620 während des Befahrens einer Straße kommunizieren. Beispielsweise können sich die Edge-Gateway-Knoten 620 in einem Straßenschrank oder einer anderen Umhüllung befinden, die in eine Struktur eingebaut ist, die einen anderen, separaten, mechanischen Nutzen aufweist, wobei diese entlang der Straße, an Kreuzungen der Straße oder anderen Orten nahe der Straße platziert sein können. Wenn jeweilige Fahrzeuge entlang der Straße fahren, kann sich die Verbindung zwischen ihrem Client-Rechenknoten 610 und einer speziellen Edge-Gateway-Vorrichtung 620 ausbreiten, um eine konsistente Verbindung und einen konsistenten Kontext für den Client-Rechenknoten 610 aufrechtzuerhalten. Gleichermaßen können mobile Edge-Knoten an den Diensten mit hoher Priorität oder gemäß den Durchsatz- oder Latenzauflösungsanforderungen für den oder die zugrundeliegenden Dienst(e) aggregieren (z. B. im Fall von Drohnen). Die jeweiligen Edge-Gateway-Vorrichtungen 620 beinhalten eine Menge an Verarbeitungs- und Speicherungsfähigkeiten und daher können eine gewisse Verarbeitung und/oder Speicherung von Daten für die Client-Rechenknoten 610 auf einer oder mehreren der Edge-Gateway-Vorrichtungen 620 durchgeführt werden.
  • Die Edge-Gateway-Vorrichtungen 620 können mit einem oder mehreren Edge-Ressourcenknoten 640 kommunizieren, die veranschaulichend als Rechenserver, -geräte oder -komponenten implementiert sind, die sich an oder in einer Kommunikationsbasisstation 642 (z. B. einer Basisstation eines zellularen Netzwerks) befinden. Wie oben erläutert, beinhalten die jeweiligen Edge-Ressourcenknoten 640 eine Menge an Verarbeitungs- und Speicherungsfähigkeiten und somit können eine gewisse Verarbeitung und/oder Speicherung von Daten für die Client-Rechenknoten 610 auf dem Edge-Ressourcenknoten 640 durchgeführt werden. Zum Beispiel kann die Verarbeitung von Daten, die weniger dringend oder wichtig sind, vom Edge-Ressourcenknoten 640 durchgeführt werden, während die Verarbeitung von Daten, die eine höhere Dringlichkeit oder Wichtigkeit aufweisen, von den EdgeGateway-Vorrichtungen 620 durchgeführt werden kann (in Abhängigkeit von zum Beispiel den Fähigkeiten jeder Komponente oder Informationen in der Anforderung, die die Dringlichkeit oder Wichtigkeit angeben). Basierend auf Datenzugriff, Datenort oder Latenz kann die Arbeit auf Edge-Ressourcenknoten fortgesetzt werden, wenn sich die Verarbeitungsprioritäten während der Verarbeitungsaktivität ändern. Gleichermaßen können konfigurierbare Systeme oder Hardwareressourcen selbst aktiviert werden (z. B. durch einen lokalen Orchestrator), um zusätzliche Ressourcen bereitzustellen, um den neuen Bedarf zu decken (z. B. Anpassen der Rechenressourcen an die Arbeitslastdaten).
  • Der bzw. die Edge-Ressourcenknoten 640 kommunizieren auch mit dem Kerndatenzentrum 650, das Rechenserver, Geräte und/oder andere Komponenten beinhalten kann, die sich an einem Zentralort (z. B. einer Zentrale eines zellularen Kommunikationsnetzwerks) befinden. Das Kerndatenzentrum 650 kann ein Gateway zu der globalen Netzwerk-Cloud 660 (z. B. Internet) für die Operationen der Edge-Cloud 110 bereitstellen, die durch den einen oder die mehreren Edge-Ressourcenknoten 640 und die Edge-Gateway-Vorrichtungen 620 gebildet werden. Zusätzlich kann das Kerndatenzentrum 650 in manchen Beispielen eine Menge an Verarbeitungs- und Speicherungsfähigkeiten beinhalten und somit kann eine gewisse Verarbeitung und/oder Speicherung von Daten für die Client-Rechenvorrichtungen auf dem Kerndatenzentrum 650 durchgeführt werden (z. B. Verarbeitung mit niedriger Dringlichkeit oder Wichtigkeit oder hoher Komplexität).
  • Die Edge-Gateway-Knoten 620 oder die Edge-Ressourcen-Knoten 640 können die Verwendung zustandsorientierter Anwendungen 632 und einer geographischen distribuierten Datenbank 634 anbieten. Wenngleich die Anwendungen 632 und die Datenbank 634 als horizontal auf einer Schicht der Edge-Cloud 110 distribuiert veranschaulicht sind, versteht es sich, dass Ressourcen, Dienste oder andere Komponenten der Anwendung vertikal über die Edge-Cloud distribuiert sein können (einschließlich eines Teils der Anwendung, die an dem Client-Rechenknoten 610 ausgeführt wird, anderer Teile an den Edge-Gateway - Knoten 620 oder den Edge-Ressourcen-Knoten 640 usw.). Zusätzlich dazu kann es, wie zuvor angegeben, Peer-Beziehungen auf einer beliebigen Ebene geben, um Dienstziele und - verpflichtungen zu erfüllen. Ferner können sich die Daten für einen speziellen Client oder eine spezielle Anwendung basierend auf sich ändernden Bedingungen von Rand zu Rand bewegen (z. B. basierend auf Beschleunigungsressourcenverfügbarkeit, der Autobewegung folgend usw.). Beispielsweise kann basierend auf der „Abklingrate“ des Zugangs eine Vorhersage getroffen werden, um den nächsten Eigentümer zu identifizieren, der weitermachen soll, oder wann die Daten oder der rechnerische Zugang nicht mehr sinnvoll sein werden. Diese und andere Dienste können genutzt werden, um die Arbeit abzuschließen, die benötigt wird, um die Transaktion konform und verlustfrei zu halten.
  • In weiteren Szenarien kann ein Container 636 (oder eine Pod von Containern) flexibel von einem Edge-Knoten 620 zu anderen Edge-Knoten (z. B. 620, 640 usw.) migriert werden, so dass der Container mit einer Anwendung und Arbeitslast nicht rekonstituiert, rekompiliert, reinterpretiert werden muss, damit die Migration funktioniert. In solchen Einstellungen kann es jedoch gewisse Abhilfe oder „Swizzling“ -Übersetzungsoperationen geben, die angewendet werden. Zum Beispiel kann sich die physische Hardware am Knoten 640 vom Edge-Gateway-Knoten 620 unterscheiden und daher wird die Hardware-Abstraktionsschicht (HAL), die den unteren Rand des Containers bildet, erneut auf die physische Schicht des Edge-Zielknotens abgebildet. Dies kann eine gewisse Form einer Technik einer späten Bindung beinhalten, wie binäre Übersetzung der HAL von dem nativen Container-Format in das physische Hardwareformat, oder kann Abbildungsschnittstellen und -operationen beinhalten. Eine Pod-Steuerung kann verwendet werden, um die Schnittstellenabbildung als Teil des Container-Lebenszyklus anzusteuern, was Migration zu/von verschiedenen Hardwareumgebungen beinhaltet.
  • Die Szenarien, die von 6 eingeschlossen werden, können verschiedene Arten von mobilen Edge-Knoten nutzen, wie einen Edge-Knoten, der in einem Fahrzeug (Auto/Lastkraftwagen/Straßenbahn/Zug) gehostet wird, oder eine andere mobile Einheit, da sich der Edge-Knoten zu anderen geografischen Orten entlang der Plattform, die ihn hostet, bewegen wird. Bei Fahrzeug-zu-Fahrzeug-Kommunikationen können einzelne Fahrzeuge sogar als Netzwerk-Edge-Knoten für andere Autos fungieren (z. B. um Caching, Berichterstellung, Datenaggregation usw. durchzuführen). Somit versteht es sich, dass die Anwendungskomponenten, die in verschiedenen Edge-Knoten bereitgestellt sind, in statischen oder mobilen Einstellungen distribuiert sein können, einschließlich Koordination zwischen einigen Funktionen oder Operationen an einzelnen Endpunktvorrichtungen oder den Edge-Gateway-Knoten 620, einigen anderen an dem Edge-Ressourcenknoten 640 und anderen in dem Kerndatenzentrum 650 oder der globalen Netzwerk-Cloud 660.
  • In weiteren Konfigurationen kann das Edge-Rechensystem FaaS-Rechenfähigkeiten durch die Verwendung jeweiliger ausführbarer Anwendungen und Funktionen implementieren. In einem Beispiel schreibt ein Entwickler Funktionscode (hier z. B. „Computercode“), der eine oder mehrere Computerfunktionen darstellt, und der Funktionscode wird auf eine FaaS-Plattform hochgeladen, die zum Beispiel durch einen Edge-Knoten oder ein Datenzentrum bereitgestellt wird. Ein Trigger, wie beispielsweise ein Dienstanwendungsbeispiel oder ein Edge-Verarbeitungsereignis, initiiert die Ausführung des Funktionscodes mit der FaaS-Plattform.
  • In einem Beispiel für FaaS wird ein Container verwendet, um eine Umgebung bereitzustellen, in der Funktionscode (z. B. eine Anwendung, die von einem Dritten bereitgestellt werden kann) ausgeführt wird. Der Container kann eine beliebige Entität mit isolierter Ausführung sein, wie ein Prozess, ein Docker- oder Kubernetes-Container, eine virtuelle Maschine usw. Innerhalb des Edge-Rechensystems werden verschiedene Rechenzenten-, Edge- und Endpunktvorrichtungen (einschließlich Mobilvorrichtungen) verwendet, um Funktionen „hochzufahren“ (z. B. Funktionsaktionen zu aktivieren und/oder zuzuweisen), die auf Anforderung skaliert werden. Der Funktionscode wird auf der physischen Infrastrukturvorrichtung (z. B. Edge-Rechenknoten) und darunterliegenden virtualisierten Containern ausgeführt. Schließlich wird Container auf der Infrastruktur als Reaktion darauf, dass die Ausführung abgeschlossen ist, „heruntergefahren“ (z. B. deaktiviert und/oder freigegeben).
  • Weitere Aspekte von FaaS können die Bereitstellung von Edge-Funktionen auf eine Dienstweise ermöglichen, einschließlich einer Unterstützung j eweiliger Funktionen, die Edge-Computing als einen Dienst unterstützen (Edge-as-a-Service oder „EaaS“). Zusätzliche Merkmale von FaaS können beinhalten: eine granuläre Abrechnungskomponente, die Kunden (z. B. Computercodeentwicklern) ermöglicht, nur zu bezahlen, wenn ihr Code ausgeführt wird; gemeinsame Datenspeicherung zum Speichern von Daten zur Wiederverwendung durch eine oder mehrere Funktionen; Orchestrierung und Verwaltung zwischen einzelnen Funktionen; Funktionsausführungsverwaltung, Parallelität und Konsolidierung; Verwaltung von Container- und Funktionsspeicherplätzen; Koordination von Beschleunigungsressourcen, die für Funktionen verfügbar sind; und Verteilung von Funktionen zwischen Containern (einschließlich „warmer“ Container, bereits bereitgestellt oder betrieben, versus „kalten“, die eine Initialisierung, Bereitstellung oder Konfiguration erfordern).
  • Das Edge-Rechensystem 600 kann einen Edge-Bereitstellungsknoten 644 beinhalten oder mit diesem in Kommunikation stehen. Der Edge-Bereitstellungsknoten 644 kann Software, wie die beispielhaften computerlesbaren Anweisungen 782 von 7B, an verschiedene Empfangstparteien zum Implementieren eines beliebigen der hierin beschriebenen Verfahren verteilen. Der beispielhafte Edge-Bereitstellungsknoten 644 kann durch einen beliebigen Computerserver, einen Heimserver, ein Inhaltslieferungsnetzwerk, einen virtuellen Server, ein Softwareverteilungssystem, eine zentrale Anlage, eine Speicherungsvorrichtung, einen Speicherungsknoten, eine Datenanlage, einen Cloud-Dienst usw. implementiert werden, der/die/das in der Lage ist, Softwareanweisungen (z. B. Code, Skripte, ausführbare Binärcodes, Container, Pakete, komprimierte Dateien und/oder Ableitungen davon) zu speichern und/oder an andere Rechenvorrichtungen zu übertragen. Eine oder mehrere Komponenten des beispielhaften Edge-Bereitstellungsknotens 644 können sich in einer Cloud, in einem lokalen Netzwerk, in einem Edge-Netzwerk, in einem Weitbereichsnetzwerk, im Internet und/oder einem beliebigen anderen Standort befinden, der kommunikativ mit der/den Empfangspartei(en) gekoppelt ist. Die Empfangsparteien können Kunden, Clients, Teilhaber, Benutzer usw. der Entität sein, die den Edge-Bereitstellungsknoten 644 besitzt und/oder betreibt. Beispielsweise kann die Entität, die den Edge-Bereitstellungsknoten 644 besitzt und/oder betreibt, ein Entwickler, ein Verkäufer und/oder ein Lizenzgeber (oder ein Kunde und/oder Verbraucher davon) von Softwareanweisungen, wie die beispielhaften computerlesbaren Anweisungen 782 von 7B, sein. Die Empfangsparteien können Verbraucher, Dienstanbieter, Benutzer, Einzelhändler, OEMs usw. sein, die die Softwareanweisungen zur Verwendung erwerben und/oder lizenzieren und/oder wiederverkaufen und/oder unterlizenzieren.
  • In einem Beispiel beinhaltet der Edge-Bereitstellungsknoten 644 einen oder mehrere Server und eine oder mehrere Speicherungsvorrichtungen. Die Speicherungsvorrichtungen hosten computerlesbare Anweisungen, wie die beispielhaften computerlesbaren Anweisungen 782 von 7B, wie unten beschrieben. Ähnlich den oben beschriebenen Edge-Gateway-Vorrichtungen 620 stehen der eine oder die mehreren Server des Edge-Bereitstellungsknotens 644 in Kommunikation mit einer Basisstation 642 oder einer anderen Netzwerkkommunikationsentität. In manchen Beispielen reagieren der eine oder die mehreren Server auf Anforderungen, die Softwareanweisungen als Teil einer kommerziellen Transaktion an eine anfordernde Partei zu übertragen. Die Zahlung für die Lieferung, den Verkauf und/oder die Lizenz der Softwareanweisungen kann von dem einen oder den mehreren Servern der Softwareverteilungsplattform und/oder über eine Drittpartei-Zahlungsentität gehandhabt werden. Die Server ermöglichen Käufern und/oder Lizenzgebern, die computerlesbaren Anweisungen 782 von dem Edge-Bereitstellungsknoten 644 herunterzuladen. Zum Beispiel können die Softwareanweisungen, die den beispielhaften computerlesbaren Anweisungen 782 von 7B entsprechen können, zu der/den beispielhaften Prozessorplattform/en heruntergeladen werden, die die computerlesbaren Anweisungen 782 ausführen sollen, um die hierin beschriebenen Verfahren zu implementieren.
  • In manchen Beispielen können sich die Prozessorplattform(en), die die computerlesbaren Anweisungen 782 ausführen, physisch an verschiedenen geografischen Standorten, gesetzlichen Juristiktionen usw. befinden. In manchen Beispielen bieten, übertragen und/oder erzwingen ein oder mehrere Server des Edge-Bereitstellungsknotens 644 periodisch Aktualisierungen für die Softwareanweisungen (z. B. die beispielhaften computerlesbaren Anweisungen 782 von 7B), um zu gewährleisten, dass Verbesserungen, Patches, Aktualisierungen usw. distribuiert und auf die Softwareanweisungen angewendet werden, die an den Endbenutzervorrichtungen implementiert sind. In manchen Beispielen können unterschiedliche Komponenten der computerlesbaren Anweisungen 782 von unterschiedlichen Quellen und/oder an unterschiedliche Prozessorplattformen distribuiert werden; zum Beispiel können unterschiedliche Bibliotheken, Plug-Ins, Komponenten und andere Typen von Rechenmodulen, ob kompiliert oder interpretiert, von unterschiedlichen Quellen und/oder an unterschiedliche Prozessorplattformen distribuiert werden. Zum Beispiel kann ein Teil der Softwareanweisungen (z. B. ein Skript, das an sich nicht ausführbar ist) von einer ersten Quelle distribuiert werden, während ein Interpreter (der in der Lage ist, das Skript auszuführen) von einer zweiten Quelle distribuiert werden kann.
  • In weiteren Beispielen können beliebige der Rechenknoten oder Vorrichtungen, die unter Bezugnahme auf die vorliegenden Edge-Rechensysteme und die vorliegende Umgebung erörtert wurden, basierend auf den Komponenten, die in den 7A und 7B dargestellt sind, erfüllt werden. Jeweilige Edge-Rechenknoten können als ein Typ von Vorrichtung, Gerät, Computer oder anderer „Sache“ umgesetzt sein, der/die/das in der Lage ist, mit anderen Edge-, Networking- oder Endpunktkomponenten zu kommunizieren. Zum Beispiel kann eine Edge-Rechenvorrichtung als ein Personal Computer, Server, 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.
  • In dem vereinfachten Beispiel, das in 7A dargestellt ist, beinhaltet ein Edge-Rechenknoten 700 eine Rechen-Engine (hier auch als „Rechenschaltlogik“ bezeichnet) 702, ein Eingabe/Ausgabe(E/A)-Subsystem 708, eine Datenspeicherung 710, ein Kommunikationsschaltlogik-Subsystem 712 und optional eine oder mehrere Peripherievorrichtungen 714. In anderen Beispielen können jeweilige Rechenvorrichtungen andere oder zusätzliche Komponenten beinhalten, wie jene, die typischerweise in einem Computer (z. B. einer Anzeige, Peripherievorrichtungen usw.) gefunden werden. Zusätzlich dazu können bei manchen Beispielen eine oder mehrere der veranschaulichenden Komponenten in einer anderen Komponente integriert sein oder anderweitig einen Teil davon bilden.
  • Der Rechenknoten 700 kann als ein beliebiger Typ von Engine, Vorrichtung, oder Sammlung von Vorrichtungen ausgeführt sein, die zum Durchführen verschiedener Rechenfunktionen in der Lage ist. In manchen Beispielen kann der Rechenknoten 700 als eine einzige Vorrichtung ausgeführt sein, wie ein integrierter Schaltkreis, ein eingebettetes System, ein vor Ort programmierbares Gatter-Array (FPGA), ein System-on-Chip (SOC) oder ein anderes integriertes System oder eine andere integrierte Vorrichtung. In dem veranschaulichenden Beispiel beinhaltet der Rechenknoten 700 einen Prozessor 704 oder einen Speicher 706 oder ist als diese ausgeführt. Der Prozessor 704 kann als ein beliebiger Typ von Prozessor umgesetzt sein, der in der Lage ist, die hierin beschriebenen Funktionen durchzuführen (z. B. eine Anwendung auszuführen). Der Prozessor 704 kann zum Beispiel als ein oder mehrere Mehrkernprozessoren, ein Mikrocontroller, eine Verarbeitungseinheit, eine Spezial- oder Spezialverarbeitungseinheit oder ein anderer Prozessor oder eine andere Verarbeitungs-/Steuerschaltung umgesetzt sein.
  • In manchen Beispielen kann der Prozessor 704 als FPGA, anwendungsspezifische integrierte Schaltung (ASIC), rekonfigurierbare Hardware oder Hardwareschaltlogik oder andere spezialisierte Hardware umgesetzt sein, diese beinhalten oder mit diesen gekoppelt sein, um eine Leistungsfähigkeit der hier beschriebenen Funktionen zu ermöglichen. In manchen Beispielen kann der Prozessor 704 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 Schaltungspaket umgesetzt sein, innerhalb eines SOC integriert sein oder mit einer Vernetzungsschaltlogik (z. B. in einem SmartNIC oder erweiterten SmartNIC), einer Beschleunigungsschaltlogik, Speicherungsvorrichtungen oder AI-Hardware (z. B. GPUs oder programmierte FPGAs) integriert sein. Eine solche xPU kann dazu ausgelegt sein, eine Programmierung zu empfangen, um einen oder mehrere Datenströme zu verarbeiten und spezifische Aufgaben und Aktionen für die Datenströme durchzuführen (wie Hosten von Mikrodiensten, Durchführen von Dienstverwaltung oder Orchestrierung, Organisieren oder Verwalten von Server- oder Datenzentrum-Hardware, Verwalten von Dienstnetzen 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 704 koordiniert miteinander arbeiten können, um viele Arten von Operationen und Anweisungen innerhalb und für den Computerknoten 700 auszuführen.
  • Der Speicher 706 kann als ein beliebiger Typ flüchtiger (z. B. dynamischer Direktzugriffsspeicher (DRAM: Dynamic Random Access Memory) usw.) oder nichtflüchtiger Speicher oder nichtflüchtiger Datenspeicher umgesetzt sein, der in der Lage ist, die hier beschriebenen Funktionen durchzuführen. Flüchtiger Speicher kann ein Speicherungsmedium sein, das Leistung zum Beibehalten des Zustands von durch das Medium gespeicherten Daten benötigt. Nicht einschränkende Beispiele für flüchtigen Speicher können verschiedene Typen von Direktzugriffsspeicher (RAM), wie DRAM oder statischen Direktzugriffsspeicher (SRAM), einschließen. Eine bestimmte Art von DRAM, die in einem Speichermodul verwendet werden kann, ist synchroner dynamischer Direktzugriffsspeicher (SDRAM: Synchronous Dynamic Random Access Memory).
  • In einem Beispiel ist die Speichervorrichtung eine blockadressierbare Speichervorrichtung, wie jene, die auf NAND- oder NOR-Technologien basieren. Eine Speichervorrichtung kann auch eine dreidimensionale Kreuzungspunktspeichervorrichtung (z. B. Intel® D Xpoint™-Speicher) oder andere byteadressierbare nichtflüchtige Speichervorrichtungen zum Schreiben an Ort und Stelle beinhalten. Die Speichervorrichtung kann sich auf den Die selbst und/oder auf ein gehäustes Speicherprodukt beziehen. In manchen Beispielen kann der 3D-Kreuzungspunktspeicher (z. B. Intel® 3D XPoint™-Speicher) eine transistorlose stapelbare Kreuzungspunktarchitektur umfassen, 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. In manchen Beispielen kann der gesamte oder ein Teil des Speichers 706 in den Prozessor 704 integriert sein. Der Speicher 706 kann verschiedene Software und Daten speichern, die während des Betriebs verwendet werden, wie eine oder mehrere Anwendungen, Daten, die durch die Anwendung(en) bearbeitet werden, Bibliotheken und Treiber.
  • Die Rechenschaltlogik 702 ist über das E/A-Untersystem 708, das als eine Schaltlogik und/oder Komponenten realisiert sein kann, kommunikativ mit anderen Komponenten des Rechenknotens 700 gekoppelt, um Eingabe-/Ausgabe-Operationen mit der Rechenschaltlogik 702 (z. B. mit dem Prozessor 704 und/oder dem Hauptspeicher 706) und anderen Komponenten der Rechenschaltlogik 702 zu ermöglichen. Das E/A-Subsystem 708 kann zum Beispiel als Speichersteuerungs-Hubs, Eingabe/Ausgabe-Steuerungs-Hubs, integrierte Sensor-Hubs, Firmwarevorrichtungen, Kommunikationsverbindungen (z. B. Punkt-zu-Punkt-Verbindungen, Busverbindungen, Drähte, Kabel, Lichtleiter, Leiterbahnen usw.) und/oder andere Komponenten und Subsysteme umgesetzt sein oder diese anderweitig beinhalten, um die Eingabe/Ausgabe-Operationen zu ermöglichen. In manchen Beispielen kann das E/A-Subsystem 708 einen Teil eines System-on-a-Chip (SoC) bilden und zusammen mit dem Prozessor 704 und/oder dem Speicher 706 und/oder anderen Komponenten der Rechenschaltlogik 702 in die Rechenschaltlogik 702 integriert sein.
  • Die eine oder die mehreren veranschaulichenden Datenspeicherungsvorrichtungen 710 können als eine beliebige Art von Vorrichtungen umgesetzt sein, die zur Kurzzeit- oder Langzeitspeicherung von Daten konfiguriert sind, wie zum Beispiel Speichervorrichtungen und Schaltungen, Speicherkarten, Festplattenlaufwerke, Festkörperlaufwerke oder andere Datenspeicherungsvorrichtungen. Individuelle Datenspeicherungsvorrichtungen 710 können eine Systempartition beinhalten, die Daten und Firmwarecode für die Datenspeicherungsvorrichtung 710 speichert. Individuelle Datenspeicherungsvorrichtungen 710 können auch eine oder mehrere Betriebssystempartitionen beinhalten, die Dateien und ausführbare Dateien für Betriebssysteme in Abhängigkeit von zum Beispiel dem Typ des Computerknotens 700 speichern.
  • Die Kommunikationsschaltlogik 712 kann als eine beliebige Kommunikationsschaltung, -vorrichtung oder -sammlung davon umgesetzt sein, die in der Lage ist, Kommunikationen über ein Netzwerk zwischen der Rechenschaltlogik 702 und einer anderen Rechenvorrichtung (z. B. einem Edge-Gateway eines implementierenden Edge-Rechensystems) zu ermöglichen. Die Kommunikationsschaltlogik 712 kann konfiguriert sein, eine oder mehrere beliebige Kommunikationstechniken (z. B. drahtgebundene oder drahtlose Kommunikationen) und zugeordnete Protokolle (z. B. ein zellulares Vernetzungsprotokoll, wie einen 3GPP 4G- oder 5G-Standard, ein drahtloses lokales Netzwerkprotokoll, wie IEEE 802.11/Wi-Fi®, ein WLAN-(Wireless Wide Area Network)-Protokoll, Ethernet, Bluetooth ®, Bluetooth Low Energy, ein IoT-Protokoll, wie 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 Kommunikationsschaltlogik 712 beinhaltet eine Netzwerkschnittstellensteuerung (NIC) 720, die auch als eine Host-Fabric-Schnittstelle (HFI: Host Fabric Interface) bezeichnet werden kann. Die NIC 720 kann als eine oder mehrere Add-In-Boards, Tochterkarten, Netzwerkschnittstellenkarten, Controllerchips, Chipsätze oder andere Vorrichtungen umgesetzt sein, die vom Rechenknoten 700 verwendet werden können, um sich mit einer anderen Rechenvorrichtung (z. B. einem Edge-Gateway-Knoten) zu verbinden. In manchen Beispielen kann die NIC 720 als Teil eines System-on-a-Chip (SoC) umgesetzt sein, das einen oder mehrere Prozessoren beinhaltet, oder auf einem Multichipgehäuse enthalten sein, das auch einen oder mehrere Prozessoren beinhaltet. In manchen Beispielen kann die NIC 720 einen lokalen Prozessor (nicht gezeigt) und/oder einen lokalen Speicher (nicht gezeigt) beinhalten, die beide lokal für die NIC 720 sind. In solchen Beispielen kann der lokale Prozessor der NIC 720 dazu in der Lage sein, eine oder mehrere der Funktionen der hier beschriebenen Rechenschaltlogik 702 durchzuführen. Zusätzlich oder alternativ dazu kann in solchen Beispielen der lokale Speicher der NIC 720 in eine oder mehrere Komponenten des Client-Rechenknotens auf Platinenebene, Sockelebene, Chip-Ebene und/oder anderen Ebenen integriert sein.
  • Zusätzlich kann in manchen Beispielen ein jeweiliger Computerknoten 700 eine oder mehrere Peripherievorrichtungen 714 beinhalten. Solche Peripherievorrichtungen 714 können in Abhängigkeit von dem speziellen Typ des Rechenknotens 700 eine beliebige Art von Peripherievorrichtung beinhalten, die in einer Rechenvorrichtung oder einem Server zu finden sind, wie Audioeingabevorrichtungen, eine Anzeige, andere Eingabe-/Ausgabevorrichtungen, Schnittstellenvorrichtungen und/oder andere Peripherievorrichtungen. In weiteren Beispielen kann der Rechenknoten 700 durch einen jeweiligen Edge-Rechenknoten (sei es ein Client, Gateway oder Aggregationsknoten) in einem Edge-Rechensystem oder ähnlichen Formen von Geräten, Computern, Subsystemen, Schaltungen oder anderen Komponenten umgesetzt sein.
  • In einem ausführlicheren Beispiel veranschaulicht 7B 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 Verfahren) vorhanden sein können. Dieser Edge-Rechenknoten 750 stellt eine nähere Ansicht der jeweiligen Komponenten des Knotens 700 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 beliebige Kombinationen der hier referenzierten Hardware oder logischen Komponenten beinhalten und er kann eine beliebige Vorrichtung beinhalten oder mit dieser koppeln, die mit einem Edge-Kommunikationsnetzwerk oder einer Kombination solcher Netzwerke verwendbar ist. Die Komponenten können als integrierte Schaltungen (ICs: Integrated Circuits), Teile davon, diskrete elektronische Vorrichtungen oder andere Module, Befehlssätze, programmierbare Logik oder Algorithmen, Hardware, Hardwarebeschleuniger, Software, Firmware oder eine Kombination davon, die in dem Edge-Rechenknoten 750 angepasst sind, oder als Komponenten, die anderweitig in einem Chassis eines größeren Systems integriert sind, implementiert sein.
  • Die Edge-Rechenvorrichtung 750 kann Verarbeitungsschaltlogik in der Form eines Prozessors 752 beinhalten, der ein Mikroprozessor, ein Mehrkernprozessor, ein Multithreadprozessor, 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 zu einer einzigen integrierten Schaltung oder einem einzigen Package gebildet sind, wie die Edison™- oder Galileo™-SoC-Platinen von Intel Corporation, Santa Clara, Kalifornien. Als ein Beispiel kann der Prozessor 752 einen auf Intel® Architecture Core™ basierenden CPU-Prozessor, wie einen Quark™-, einen Atom™-, einen i3-, einen i5-, einen i7-, einen i9- oder einen MCU-Klassenprozessor oder einen anderen solchen Prozessor, der von Intel® erhältlich ist, beinhalten. Eine beliebige Anzahl anderer Prozessoren, wie von Advanced Micro Devices, Inc. (AMD ®) aus Sunnyvale, Kalifornien, erhältlich, ein MIPS®basiertes Design der Firma MIPS Technologies, Inc. aus Sunnyvale, Kalifornien, ein ARM®basiertes Design, lizenziert von ARM Holdings, Ltd. oder eines Kunden davon, oder deren Lizenznehmern oder Anwendern kann jedoch verwendet werden. Die Prozessoren können Einheiten beinhalten, wie 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 die begleitende Schaltlogik können in einem einzigen Sockelformfaktor, mehreren Sockelformfaktoren oder einer Vielfalt anderer Formate bereitgestellt sein, einschließlich in beschränkten Hardwarekonfigurationen oder Konfigurationen, die weniger als alle in 7B gezeigten Elemente beinhalten.
  • Der Prozessor 752 kann über eine Zwischenverbindung 756 (z. B. einen Bus) mit einem Systemspeicher 754 kommunizieren. Eine beliebige Anzahl an 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 den DDR- oder mobilen DDDR-Standards (z. B. LPDDR, LPDDR2, LPDDR3 oder LPDDR4). In bestimmten Beispielen kann eine Speicherkomponente einem Standard entsprechen, der durch JEDEC veröffentlicht ist, wie ESD79F 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. In verschiedenen Implementationen können die einzelnen Speichervorrichtungen beliebige einer Reihe von unterschiedlichen Package-Typen sein, wie 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 werden, um eine Lösung mit niedrigerem Profil bereitzustellen, während die Vorrichtungen bei anderen Beispielen als ein oder mehrere Speichermodule konfiguriert sind, die wiederum durch einen gegebenen Verbinder mit der Hauptplatine gekoppelt sind. Eine beliebige Anzahl anderer Speicherimplementierungen kann verwendet werden, wie 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 Daten, Anwendungen, Betriebssystemen und so weiter, bereitzustellen, kann auch eine Speicherung 758 über die Zwischenverbindung 756 mit dem Prozessor 752 koppeln. In einem Beispiel kann der Speicher 758 über ein Solid-State-Laufwerk (SSDD) implementiert sein. Andere Vorrichtungen, die für die Speicherung 758 verwendet werden können, beinhalten Flash-Speicherkarten, wie Secure Digital (SD) -Karten, microSD-Karten, eXtreme Digital (XD) - Bildkarten und dergleichen und Universal Serial Bus (USB) -Flash-Laufwerke. In einem Beispiel kann die Speichervorrichtung Speichervorrichtungen, die Chalkogenidglas verwenden, NAND-Flash-Speicher mit mehreren Schwellenpegelns, NOR-Flash-Speicher, einstufiger oder mehrstufiger Phasenwechselspeicher (PCM), ein resistiver Speicher, Nanodrahtspeicher, ferroelektrischer Transistor-Direktzugriffsspeicher (FeTRAM), antiferroelektrischer Speicher, magnetoresistiver Direktzugriffsspeicher-(MRAM)-Speicher, der Memristor-Technologie beinhaltet, resistiver Speicher einschließlich der Metalloxidbasis, der Sauerstoffleerstellenbasis und des Direktzugriffsspeichers (CB-RAM) mit leitfähiger Brücke, oder Spin Transfer Torque (STT)-MRAM, eine spintronische magnetübergangsspeicherbasierte Vorrichtung, eine magnettunnelübergangs-(MTJ)-basierte Vorrichtung, eine DW-(Domain Wall)- und SOT-(Spin Orbit Transfer)-basierte Vorrichtung, eine thyristor-basierte Speichervorrichtung oder eine Kombination von beliebigen der Obigen oder ein anderer Speicher sein oder diese beinhalten.
  • In Niederleistungsimplementierungen kann die Speicherung 758 ein On-Die-Speicher oder Register sein, die dem Prozessor 752 zugeordnet sind. In manchen Beispielen kann die Speicherung 758 jedoch unter Verwendung eines Mikrofestplattenlaufwerks (HDD) implementiert sein. Ferner kann eine beliebige Anzahl neuer Technologien für die Speicherung 758 zusätzlich zu den, oder anstelle der, beschriebenen Technologien verwendet werden, wie unter anderem Widerstandswechselspeicher, Phasenwechselspeicher, holografische Speicher oder chemische Speicher.
  • Die Komponenten können über die Zwischenverbindung 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. Die Zwischenverbindung 756 kann ein proprietärer Bus sein, der zum Beispiel in einem SoC-basierten System verwendet wird. Andere Bussysteme können enthalten sein, wie unter anderem eine Inter-Integrated Circuit (12C) -Schnittstelle, eine Serial Peripheral Interface (SPI) -Schnittstelle, Punkt-zu-Punkt-Schnittstellen und ein Leistungsbus.
  • Die Zwischenverbindung 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 (Wireless Local Area Network) -Einheit verwendet werden, um Wi-Fi® -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 Drahtlosnetzsendeempfänger 766 (oder mehrere Sendeempfänger) kann unter Verwendung mehrerer Standards oder Funkgeräte für Kommunikationen in einer anderen Reichweite kommunizieren. Beispielsweise kann der Edge-Rechenknoten 750 mit nahen Vorrichtungen, e.g, innerhalb von etwa 10 Metern unter Verwendung eines lokalen Transceivers basierend auf Bluetooth Low Energy (BLE) oder einem anderen Niedrigleistungsfunkgerät kommunizieren, um Leistung zu sparen. Entferntere verbundene Edge-Geräte 762, e.g können innerhalb von etwa 50 Metern über ZigBee® oder andere Zwischenleistungsfunkgeräte erreicht werden. Beide Kommunikationstechniken können über einen einzigen Funk 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 Drahtlosnetzwerk-Sendeempfänger 766 (z. B. ein Funksendeempfänger) kann enthalten sein, um mit Vorrichtungen oder Diensten in der Edge-Cloud 795 über Lokal- oder Weitbereichsnetzprotokolle zu kommunizieren. Der Drahtlosnetzwerk-Sendeempfä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 hier 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, niedriger Bandbreite implementieren, wie Sigfox, und anderen Technologien. Ferner können andere Kommunikationstechniken, wie 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 Systemen verwendet werden, die für den Drahtlosnetzwerk-Sendeempfänger 766 erwähnt wurden, wie hierin beschrieben. Zum Beispiel kann der Sendeempfänger 766 einen Funksendeempfänger beinhalten, der Spreizspektrum-(SPA/SAS)-Kommunikationen zum Implementieren von Hochgeschwindigkeitskommunikationen verwendet. Ferner kann eine beliebige Anzahl anderer Protokolle verwendet werden, wie Wi-Fi®-Netzwerke für Kommunikationen mittlerer Geschwindigkeit und Bereitstellung von Netzwerkkommunikationen. Der Sendeempfänger 766 kann Funkgeräte beinhalten, die mit einer beliebigen Anzahl von 3GPP-(Third Generation Partnership Project)-Spezifikationen kompatibel sind, wie Long Term Evolution (LTE) und Kommunikationssysteme der fünften Generation (5G), die am Ende der vorliegenden Offenbarung ausführlicher erörtert werden. Eine Netzwerkschnittstellensteuerung (NIC) 768 kann enthalten sein, um eine drahtgebundene Kommunikation zu Knoten der Edge-Cloud 795 oder zu anderen Vorrichtungen, wie den verbundenen Edge-Vorrichtungen 762 (z. B. die in einem Netz arbeiten), bereitzustellen. Die drahtgebundene Kommunikation kann eine Ethernet-Verbindung bereitstellen oder kann auf anderen Arten von Netzwerken basieren, wie 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 mit einer anderen Komponente oder einem anderen Netzwerk kann eine anwendbare Kommunikationsschaltlogik, 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 Kommunikationsschaltlogik verkörpert sein.
  • Der Edge-Rechenknoten 750 kann eine Beschleunigungsschaltlogik 764 beinhalten oder mit dieser gekoppelt sein, die durch einen oder mehrere Beschleuniger für künstliche Intelligenz (AI), einen neuronalen Rechenstab, neuromorphe Hardware, ein FPGA, eine Anordnung von GPUs, eine Anordnung aus xPUs/DPUs/IPU/NPUs, einen oder mehrere SoCs, eine oder mehrere CPUs, einen oder mehrere digitale Signalprozessoren, dedizierte ASICs oder andere Formen spezialisierter Prozessoren oder Schaltungen verkörpert sein können, die zum Erfüllen einer oder mehrerer spezialisierter Aufgaben konzipiert sind. Diese Aufgaben können AI-Verarbeitung (einschließlich Maschinenlernen-, Training-, Inferenz- und Klassifizierungsoperationen), visuelle Datenverarbeitung, Netzdatenverarbeitung, Objektdetektion, Regelanalyse oder dergleichen beinhalten. Zu diesen Aufgaben können auch die an anderer Stelle in diesem Dokument erläuterten spezifischen Edge-Rechenaufgaben für Dienstverwaltungs- und Dienstoperationen gehören.
  • Die Zwischenverbindung 756 kann den Prozessor 752 mit einem Sensor-Hub oder einer externen Schnittstelle 770 koppeln, die verwendet wird, um zusätzliche Vorrichtungen oder Subsysteme zu verbinden. Die Vorrichtungen können Sensoren 772, wie Beschleunigungsmesser, Füllstandssensoren, 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 Aktuatoren 774 zu verbinden, wie Leistungsschaltern, Ventilaktoren, einem akustischen Tongenerator, einer visuellen Warnvorrichtung und dergleichen.
  • In manchen optionalen Beispielen können verschiedene Eingabe/Ausgabe-(E/A)-Vorrichtungen innerhalb des Edge-Rechenknotens 750 vorhanden sein oder mit diesem verbunden sein. Zum Beispiel kann eine Anzeige oder eine anderen Ausgabevorrichtung 784 enthalten sein, um Informationen anzuzeigen, wie Sensormesswerte oder eine Aktuatorposition. Eine Eingabevorrichtung 786, wie beispielsweise ein Touchscreen oder eine Tastenfeld, kann enthalten sein, um Eingaben anzunehmen. Eine Ausgabevorrichtung 784 kann eine beliebige Anzahl von Formen einer Audio- 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 Anzeige- oder Konsolen-Hardware 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-Rechendienstes zu identifizieren, oder eine beliebige andere Anzahl von Management- oder Verwaltungsfunktionen oder Dienstanwendungsbeispielen durchzuführen.
  • Eine Batterie 776 kann den Edge-Rechenknoten 750 mit Strom versorgen, obwohl sie in Beispielen, in denen der Edge-Rechenknoten 750 an einem festen Ort montiert ist, eine Stromversorgung aufweisen kann, die mit einem Stromnetz gekoppelt ist, oder die Batterie als Backup oder für temporäre Fähigkeiten verwendet werden kann. Die Batterie 776 kann eine Lithiumionenbatterie oder eine Metall-Luft-Batterie wie eine Zink-Luft-Batterie, eine Aluminium-Luft-Batterie, eine Lithium-Luft-Batterie und dergleichen sein.
  • Eine Batterieüberwachungsvorrichtung/Ladevorrichtung 778 kann in dem Edge-Rechenknoten 750 enthalten sein, um den Ladezustand (SoCh) der Batterie 776, falls enthalten, zu verfolgen. Das Batterieüberwachungsgerät/-ladegerät 778 kann verwendet werden, um andere Parameter der Batterie 776 zu überwachen, um Ausfallvorhersagen bereitzustellen, wie den Gesundheitszustand (SoH) und den Funktionszustand (SoF) der Batterie 776. Das Batterieüberwachungsgerät/-ladegerät 778 kann eine integrierte Batterieüberwachungsschaltung beinhalten, wie einen LTC4020 oder einen LTC2990 von Linear Technologies, einen ADT7488A von ON Semiconductor aus Phoenix, Arizona, oder einen IC der UCD90xxx-Familie von Texas Instruments aus Dallas, TX. Das Batterieüberwachungsgerät/-1 adegerät 778 kann die Informationen über die Batterie 776 über die Zwischenverbindung 756 an den Prozessor 752 kommunizieren. Das Batterieüberwachungsgerät/-ladegerät 778 kann auch einen Analog-Digital(ADC)-Wandler 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 Übertragungsfrequenz, Maschennetzwerkoperation, Erfassungsfrequenz und dergleichen.
  • Ein Leistungsblock 780 oder eine andere Leistungsversorgung, die an ein Stromnetz gekoppelt ist, kann mit dem Batterieüberwachungsgerät/-ladegerät 778 gekoppelt werden, um die Batterie 776 zu laden. In manchen Beispielen kann der Leistungsblock 780 durch einen Drahtlosleistungsempfänger ersetzt werden, um die Leistung drahtlos zu erhalten, zum Beispiel über eine Schleifenantenne im Edge-Rechenknoten 750. Ein Drahtlosbatterieladeschaltkreis, wie unter anderem ein LTC4020-Chip von Linear Technologies aus Milpitas, Kalifornien, kann in dem Batterieüberwachungsgerät/-ladegerät 778 enthalten sein. Die spezifischen Ladeschaltkreise 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 Hardware-Befehlen 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.
  • In 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 die Zwischenverbindung 756 auf das nichtflüchtige, maschinenlesbare Medium 760 zugreifen. Zum Beispiel kann das nichtflüchtige, maschinenlesbare Medium 760 durch für die Speicherung 758 beschriebene Vorrichtungen ausgeführt werden oder kann spezielle Speicherungseinheiten, wie optische Platten, Flash-Laufwerke oder eine beliebige Anzahl anderer Hardwarevorrichtungen, beinhalten. 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 Blockdiagramme von Operationen und Funktionalität, die oben dargestellt sind, beschrieben. Wie hier verwendet, sind die Begriffe „maschinenlesbares Medium“ und „computerlesbares Medium“ austauschbar.
  • 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 das T-E 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 des 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 Sicherheitshärtung, Hardware-Vertrauenswurzeln und vertrauenswürdigen oder geschützten Operationen können in der Vorrichtung 750 durch die T-E 790 und den Prozessor 752 implementiert werden.
  • In weiteren Beispielen beinhaltet ein maschinenlesbares Medium auch ein greifbares Medium, das zum Speichern, Codieren oder Führen von Befehlen zur Ausführung durch eine Maschine imstande ist und das bewirkt, dass die Maschine beliebige einer oder mehrerer der Methodologien der vorliegenden Offenbarung durchführt, oder das zum Speichern, Codieren oder Führen von Datenstrukturen imstande ist, die von solchen Anweisungen genutzt werden oder damit zugeordnet sind. Ein „maschinenlesbares Medium“ kann somit Festkörperspeicher und optische und magnetische Medien beinhalten, ist jedoch nicht darauf beschränkt. Zu speziellen Beispielen für maschinenlesbare Medien zählen nichtflüchtiger Speicher, wie zum Beispiel Halbleiterspeichervorrichtungen (z. B. elektrisch programmierbarer Nur-Lese-Speicher (Electrically Programmable Read-Only Memory, EPROM), elektrisch löschbarer programmierbarer Nur-Lese-Speicher (Electrically Erasable Programmable Read-Only Memory, EEPROM)) und Flash-Speichereinrichtungen, Magnetplatten, wie zum Beispiel interne Festplatten und Wechselplatten, magnetooptische Platten und CD-ROM- und DVD-ROM-Disks. Die Anweisungen, die durch ein maschinenlesbares Medium verkörpert sind, können ferner über ein Kommunikationsnetzwerk unter Verwendung eines Übertragungsmediums über eine Netzwerkschnittstellenvorrichtung übertragen oder empfangen werden, die ein beliebiges einer Anzahl von Übertragungsprotokollen (z. B. Hypertext Transfer Protocol (HTTP)) nutzt.
  • Ein maschinenlesbares Medium kann durch eine Speicherungsvorrichtung oder eine andere Einrichtung bereitgestellt werden, die dazu in der Lage ist, Daten in einem nichtflüchtigen Format zu hosten. In einem Beispiel können auf einem maschinenlesbaren Medium gespeicherte oder anderweitig bereitgestellte Informationen die Anweisungen repräsentieren, wie die Anweisungen selbst oder ein Format, aus dem die Anweisungen abgeleitet werden können. Dieses Format, aus dem die Anweisungen abgeleitet werden können, kann Quellcode, codierte Anweisungen (z. B. in komprimierter oder verschlüsselter Form), verpackte Anweisungen (z. B. in mehrere Pakete aufgeteilt) oder dergleichen beinhalten. Die die Anweisungen repräsentierenden Informationen im maschinenlesbaren Medium können durch eine Verarbeitungsschaltlogik in die Anweisungen zum Implementieren beliebige der hierin erläuterten Operationen verarbeitet werden. Das Ableiten der Anweisungen aus den Informationen (z. B. Verarbeitung durch die Verarbeitungsschaltlogik) kann beispielsweise beinhalten: Kompilieren (z. B. aus Quellcode, Objektcode usw.), Interpretieren, Laden, Organisieren (z. B. dynamisches oder statisches Verknüpfen), Codieren, Decodieren, Verschlüsseln, Entschlüsseln, Verpacken, Entpacken oder anderweitig Manipulieren der Informationen in die Anweisungen.
  • In einem Beispiel kann die Ableitung der Anweisungen Zusammenstellung, Kompilierung oder Interpretation der Informationen (z. B. durch die Verarbeitungsschaltlogik) beinhalten, um die Anweisungen aus einem Zwischenformat oder vorverarbeiteten Format, das durch das maschinenlesbare Medium bereitgestellt wird, zu erzeugen. Wenn die Informationen in mehreren Teilen bereitgestellt werden, können sie kombiniert, entpackt und modifiziert werden, um die Anweisungen zu erzeugen. Die Informationen können sich zum Beispiel in mehreren komprimierten Quellcodepaketen (oder Objektcode oder ausführbarer Binär-Code usw.) auf einem oder mehreren Fernservern befinden. Die Quellcodepakete können verschlüsselt sein, wenn sie über ein Netzwerk übertragen werden, und können an einer lokalen Maschine falls notwendig entschlüsselt, dekomprimiert, zusammengesetzt (z. B. verknüpft) und kompiliert oder interpretiert (z. B. in eine Bibliothek, selbständige ausführbare Datei usw.) werden und durch die lokale Maschine ausgeführt werden.
  • 8 ist ein Blockdiagramm eines Beispiels für eine Edge-Rechenumgebung 800 gemäß einer Ausführungsform. Im Allgemeinen ist die mittlere „Edge Computing“-Ebene im Hinblick auf die Ressourcen verschiedener Arten von - Prozessorkernen, Speicherkapazität, Leistung usw. - signifikant beschränkt, doch besteht ein Bedarf daran sicherzustellen, dass wichtige Aufgaben die Ressourcen empfangen, die sie benötigen, damit die Benutzererfahrung nicht durch kritische Dienste beeinflusst wird, die aufgrund unzureichender Ressourcen verlangsamt werden. Das Bereitstellen der benötigten Ressourcen in einer bestimmten Reihenfolge gewährleistetet auch eine stabile Nutzererlebnisqualität und, dass andere Nutzerbindungsbetrachtungen (z. B. stabile und vorhersagbare Antwortzeiten usw.) nicht verletzt werden.
  • Die hier erläuterten Systeme und Techniken sprechen Komplexitäten an, die beim Multiplexen von Ressourcen auf eine agile Weise unter verschiedenen Aufgaben (z. B. oder wie austauschbar verwendet, Anforderungen, Aufgaben, Operationen usw.) in der Edge-Ebene auftreten. Aufgaben benötigen Ressourcen in angemessenem Maße, damit sie innerhalb ihrer Fristen (z. B. Latenzerwartungen usw. erfüllen) oder auf der Skala abgeschlossen werden können, die sie ausführen müssen (z. B. Durchsatzziele erfüllen, Probleme auf der erforderlichen Skala bewältigen, ohne Latenzen zu sprengen usw.). Somit ist es wichtig, (1) Ressourcen in ausreichendem Maße zuzuweisen und (2) sicherzustellen, dass zugewiesene Ressourcen möglichst schnell wieder frei werden, damit sie zur Wiederverwendung zur Verfügung stehen können, um neue Anforderungen zu erfüllen.
  • Unterschiedliche Rechenressourcen werden aufgrund von Variationen hinsichtlich Anforderungsmustern, Ressourcennutzungsverhältnissen durch unterschiedliche Dienste als Antwort auf unterschiedliche Anforderungen usw. zu unterschiedlichen Zeiten kritisch. Es muss daher sichergestellt werden, dass ausreichend Rechenressourcen unterschiedlicher Menge zur Verfügung gehalten werden, damit sie Anforderungen mit hoher Priorität (z. B. kritischere, empfindlichere usw.) zugewiesen werden können, die ihre Fristen nicht verfehlen können. Dies bedeutet j edoch häufig, dass Ressourcen nach Art und Betrieb fragmentiert werden, wenn starre Reservierungs- oder Zuweisungsschemata eingesetzt werden.
  • Gleichermaßen muss sichergestellt werden, dass Ressourcen, die zu einem Zeitpunkt einer wichtigen Aufgabe zugewiesen werden, schnell wiederhergestellt werden, wenn diese Aufgabe abgeschlossen ist, so dass sie für andere Aufgaben verfügbar bleiben können, die zukünftig ankommen können. Gleichzeitig ist auch ein zu schnelles Zurücknehmen von Ressourcen - beispielsweise indem die Ressourcen aus einer Operation weggenommen werden, sobald ein bestimmtes Latenzziel erfüllt ist - nicht sinnvoll, da es bedeuten kann, dass Aufgaben, die stattdessen abgeschlossen und beendet werden könnten, zu lange verweilen und so verhindern, dass ein Teil der von ihnen gehaltenen Ressourcen freigegeben wird. Wenn zum Beispiel ein System sehr stark genutzt wird, können viele Prozesse mit niedriger Priorität ausgelagert werden oder von CPU-Zeitscheiben aufgebraucht werden. Der Laufzustand vieler Prozesse kann zeigen, dass viele der Prozesse sehr langsam fortschreiten. Die gesamte Prozessorausnutzung kann zu nicht-produktiven Aktivitäten übergehen, wie Speicherverwaltung und Speicherbereinigung aufgrund von Prozessen, die fehlerhaft sind und die wenigen Seiten verlieren, die sie erfassen. Dies kann auf eine übermäßige Speicherbereinigung zurückzuführen sein.
  • Eine verdienstvolle Aufgabe kann sich für eine signifikante Präferenz beim Erhalt der Ressourcen qualifizieren, die sie zu einem bestimmten Zeitpunkt benötigt. Falls die Aufgabe jedoch zu lange verweilt und an ihrer Ressourcenzuweisung festhält, nimmt sie einem System die Möglichkeit, Ressourcen anderen Bedürfnissen zuzuweisen. Eine herkömmliche Zutrittskontrollstrategie, die eingesetzt wird, um ein System daran zu hindern, überlastet zu werden, funktioniert in Edge-Rechenszenarien wegen der unvorhersehbaren Anforderungsankunftsrate und einer allgemeinen Erwartung, dass Edge-Rechenaktivitäten sowohl interaktiv sind als auch deterministisch durchgeführt werden müssen, nicht sehr gut. Somit ist es nicht akzeptabel, die Inhaltsqualität in einem Content Delivery Network (CDN) zu verschlechtern oder ein Sportfernseherlebnis durch Beenden von Sitzungen allein aufgrund einer transienten Spitze bei der Ressourcenausnutzung zu verschlechtern.
  • Derzeitige Lösungen, die hauptsächlich auf Datenzentrumwolken fokussiert sind oder den Durchsatz unter einer maximalen Latenzbedingung maximieren, neigen dazu, eine Mischung von Techniken einzusetzen: (a) Hardpartitionierung - wichtigen Anwendungen wird ein Teil von Ressourcen gegeben und der Rest wird mit den verbleibenden Ressourcen auf einer Best-Effort Basis unterstützt; (b) übermäßiges Bereitstellen oder übermäßiges Designen - Ermöglichen, dass Prioritätsanwendungen eine Maschine auf eine gewisse Schwellenauslastung weit unter einhundert Prozent CPU, Speicherkapazität oder Bandbreite, Speicherungs- und Netzwerkbandbreiten usw. ansteuern, und dann Zulassen, dass andere Anwendungen mit niedriger Priorität auf willkürlicher Basis die verbleibende freie (verfügbare) CPU, Speicherkapazität oder Bandbreite, Speicherungs- und Netzwerkbandbreite usw. nutzen, solange Prioritätsanwendungen ihre Latenzschwellen nicht überschreiten; und (c) statisches Planen und Lastausgleichen - basierend auf Ressourcenfingerprint von Arbeitslasten oder ähnlichen Bin-Packing-Strategien.
  • Ein übermäßiges Bereitstellen oder übermäßiges Designen erhöht Kosten und führt häufig zu einer schlechten Nutzung. Derzeitige Ansätze sind Stückgut, beschränkt auf pro Maschine und oft pro Container, pro Mikrodienst, mit geringer Fähigkeit, (a) das Planen von Ressourcen genau zu den Zeiten und Maschinen zu priorisieren, zu denen Geschwindigkeit oder Durchsatz am stärksten beeinflusst werden kann, und (b) eine effiziente Verwendung von Ressourcen zu anderen Zeiten geringen Bedarfs zu erreichen, um Arbeit mit hoher Priorität zu unterstützen - zum Beispiel durch Ausführen von mehr Arbeit, die keine hohe Priorität hat. Diese Probleme zeigen beispielhaft sowohl die Kosten, die sich aus dem übermäßigen Designen ergeben, als auch die entgangenen Geschäftsmöglichkeiten zum Liefern von mehr Arbeit, ohne die Kosten zu erhöhen. Ferner ist es selbst bei einer übermäßigen Bereitstellung weder klar, wie Lösungen sich mit Technologieänderungen bewegen, noch klar, wie neu beurteilt werden soll, welche Ressourcen zu neuen Klassen von Bedürfnissen oder neuen Geschäftsmöglichkeiten, die im Laufe der Zeit auftreten, umgeleitet werden.
  • Die hier erläuterten Systeme und Techniken verwenden einen Ressourcenaufbewahrungsansatz, der kurzfristig, dynamisch und adaptiv für eine Bestimmung ist, dass eine gegebene Ressource kritisch wird. Der Ansatz ist „weich“, was bedeutet, dass aufbewahrten Ressourcen bevorzugt wichtigeren oder dringenden Aufgaben zugewiesen werden, aber nicht vollständig daran gehindert (d. h. nicht sequestriert) werden, für andere Zwecke zugewiesen zu werden. Die Entscheidung, eine solche aufbewahrte, jedoch nicht sequestrierte kritische Ressource R Nichtprioritätszwecken zuzuweisen, wird durch mindestens zwei Überlegungen gebildet: (1) der aktuell verfügbaren Versorgung der kritischen Ressource R und (2) der projektierten zukünftigen Versorgung der kritischen Ressource R aufgrund von Abschlüssen von Aufgaben, denen R aktuell zugewiesen wurde. Eine sekundäre Überlegung besteht darin, sicherzustellen, dass, obwohl jede solche Ressource kritisch ist, sie nicht zu früh von einer Aufgabe oder einem Prozess zurückgefordert (d. h. freigegeben) wird, weil dadurch bewirkt werden kann, dass die Aufgabe oder der Prozess verlangsamt wird und daher die Freigabe anderer kritischer und unkritischer Ressourcen verzögert wird - zum Beispiel kann das Reduzieren der Anzahl von CPU-Zyklen den Abschluss oder die Deaktivierung einer Aufgabe oder eines Prozesses verzögern, der eine große Menge an Speicher- oder Prozessor-Cache belegt, und somit die Fähigkeit für andere Aufgaben oder Prozesse, die sich Cache- oder Speicherkapazitätsengpässen gegenübersehen, reduzieren, um Cache- oder Speicherkapazität zu erhalten, die sie in ausreichendem Maße benötigen, um effizient zu laufen.
  • Ressourcenrückstellungen werden verwendet, die weich sind, so dass selbst unkritische Anforderungen Ressourcen erhalten können, die basierend auf einer geschätzten Verfügbarkeit im Laufe der Zeit einschließlich der gegenwärtigen Zeit für die Aufbewahrung identifiziert werden. Die zur „weichen“ Aufbewahrung identifizierten Ressourcen variieren mit dynamischen Bedingungen und werden aufgrund dieser Bedingungen zu unterschiedlichen Zeiten in unterschiedlichen Mengen zurückgestellt.
  • Ressourcen mit weicher Rückstellung („soft set-aside“) werden unkritischen Anforderern zugeteilt und gelten als spekulativ und können jederzeit aufgehoben werden. Somit dürfen solche unkritischen Aufgaben fehlschlagen, länger dauern, um abgeschlossen zu werden, oder von einem stabilen Leistungsniveau abweichen. Dementsprechend basiert eine spekulative transaktionale Operation sowohl auf aktueller als auch zukünftiger Verfügbarkeit von Ressourcen anstelle nur der aktuellen Verfügbarkeit von Ressourcen.
  • Unabhängig davon, ob die Rückstellungen jederzeit kritischen oder unkritischen Aufgaben zugeteilt werden, wird angenommen, dass die Zuteilungsempfänger dieser Rückstellungen über eine begrenzte Dauer hinaus präemptiert werden. Somit werden Rückstellungsmengen von Ressourcen für einen längeren Zeitraum nicht illiquide und gut verhaltene Aufgaben oder Prozesse (z. B. Aufgaben oder Prozesse, die Ressourcen rechtzeitig zurückgeben usw.) werden implizit belohnt. Tatsächlich dienen die Rückstellungen dazu, Determinismus zu verbessern, indem sie als Kissen für kritische Kurzzeitbedürfnisse fungieren - so liefern sie einen Backup-„Plan B“, wobei ein standardmäßiger oder normaler „Plan A“ Ressourcen auf einer reaktiven Basis zuweisen kann.
  • In einem Beispiel kann ein Hardware-Mechanismus Hardware-Token, Kredite usw. automatisch anwenden, um sicheres und/oder auditiertes Leihen und Zurückgeben solcher Rückstellungsressourcen zu erzwingen. Obgleich die hierin erläuterten Systeme und Techniken auf Hardware und Software-Implementierungen anwendbar sind, können hardwarebasierte (einschließlich Neuanweisungen) Zuordnungsautomaten zusätzliche Vorteile bereitstellen, da hardwarebasierte Mechanismen Softwareentwicklung und Abstimmungslast, Latenz und Anfälligkeit gegenüber Softwarefehlern und -fehlern reduzieren können.
  • Ein Framework für einen distribuierten Ausführungsplan (DEP) und seine Attestierung werden verwendet, um ein Opt-In-Framework zu erzeugen, das eine adaptive gemeinsame Nutzung einer Infrastruktur durch ein kollaboratives Vorhersage- und Durchsetzungsschema über Ressourcenzuweisung und -wiederverwendung ermöglicht. Eine Ressourcenzuweisungssteuerung, die solche präskriptiven Mittel wie auf Ressourcenverwaltungskennung (RMID) basierende Zuweisungen von Cache-Kapazität, Speicherbandbreite, auf hardwareverwalteten P-Zuständen (HWP) basierende Prozessorleistungsverwaltung usw. verwendet, und/oder Softwarepriorisierungsmechanismen wie CPU-Anteile und Speicher-Pinning und Ebenenaffinisierung werden verwendet, so dass die Aufbewahrung und Wiederverwendung kritischer Ressourcen durch Richtlinien und Modelle geleitet werden können, die zur Arbeitslastorchestrierung verwendet werden.
  • Mit steigendem Bedarf an Edge-Computing ist die Vereinfachung und Automatisierung der Ressourcenzuweisung in Edge-Infrastruktur wichtig, um eine Skalierung neuer Dienste zu erreichen. Die Anpassung an die Verschiebungen in Ressourcen-Hotspots hilft, Kosteneffizienzen zu verbessern, indem sichergestellt wird, dass weniger kritische Anforderungen kritischere nicht behindern, während gleichzeitig sichergestellt wird, dass verfügbare Ressourcen an einer maximalen Nutzung nicht gehindert werden.
  • Die folgenden adaptiven Ansätze zur Edge-Ressourcenverwaltung mit niedriger Latenz stellen kritische Ressourcen und Abschlusszeiten für Prioritätsaufgaben bereit, die identifiziert werden, und die kritischen Ressourcen werden proaktiv „weich“ aufbewahrt, so dass die Wahrscheinlichkeit des pünktlichen Abschlusses wichtiger Arbeiten maximiert wird, ohne Ressourcen durch Verwendung „harter“ Quoten zu fragmentieren. Sie sorgt auch für eine softwarebasierte Führung bei der Ausführungsplanung, so dass Ressourcen rationell und rechtzeitig zugewiesen und zurückgefordert werden können.
  • Die hier erläuterten Systeme und Techniken stellen eine Reihe von Merkmalen bereit, die Folgendes beinhalten:
  • Weiche Rückstellungen: Kritische Ressourcen werden proaktiv weich aufbewahrt, indem ein virtuelles Quantum einer dynamisch als kritisch identifizierten Ressource zurückgestellt wird. Die Rückstellungen verhindern nicht, dass eine aufbewahrte Ressource zugewiesen wird. Vielmehr arbeiten die Zuweisungs- und Freisetzungsmechanismen zusammen, um ein definiertes Quantum der verfügbaren Ressource zu erreichen.
  • Niedrige Latenz: Das Entscheidungssystem entwickelt sich kontinuierlich und die Entscheidungen, die es treffen muss, bestehen aus einer geringen Anzahl von Vergleichen im Gegensatz zu reaktiven Systemen, die Ressourcenzuweisungen bei Auslösung neu beurteilen und neu vornehmen müssen.
  • Kurzzeitaufbewahrung, die adaptiv ist: Anstelle von zweckbestimmungsspezifischen Ressourcen vor der Zeit zur Zuweisung zu spezifischen Prozessen führt die Lösung eine periodische, algorithmus-/modellgesteuerte Bestimmung von Folgendem durch: (a) Welche Ressourcen kritisch sind, für jede Prioritäts-/Service-Level-Agreement (SLA) -Anwendungsklasse, (b) welche Menge einer kritischen Ressource unter Verwendung der weichen Rückstellungen aufbewahrt werden sollte, (c) welche Menge der kritischen Ressource wahrscheinlich zu einem gegebenen zukünftigen Zeitpunkt verfügbar ist oder zu welchem zukünftigen Zeitpunkt wahrscheinlich eine gegebene Menge an kritischer Ressource verfügbar ist, (d) welche Entleiher der Ressource die Ressource spekulativ erhalten können (z. B. unter der Voraussetzung, dass sie gezwungen werden können, die Ressource jederzeit freizugeben) (e) wann die Freigabe einer kritischen Ressource aus spekulativen Nutzungen ausgelöst werden soll.
  • Aufgaben/Anforderung/Operationskategorien: Aufgaben, Anforderungen usw. werden in zwei breite Kategoriesätze gruppiert: Eine erste Gruppe beinhaltet jene, denen eine Nichtstandardprioritätsstufe beim Empfangen der Ressourcen, die sie benötigen, gegeben werden kann, und einer zweiten Gruppe wird eine Nichtprioritäts- oder „Best-Effort“-Behandlung zuteil. Jede dieser Gruppen kann aus Untergruppen bestehen. Es ist erforderlich, dass Mitglieder der ersten Gruppe im Austausch zum Empfangen einer Prioritätsbehandlung eine „Anforderung des guten Benehmens“ (z. B. folgsam) erfüllen. Folgsam bedeutet, dass das Arbeitselement entweder schnell abgeschlossen ist oder die geliehenen Ressourcen innerhalb einer vorhersehbaren Zeit freigibt. Somit können folgsame Anwendungen leicht leihen, was sie benötigen, solange die benötigten Ressourcen verfügbar sind, weil die Rückgabe von Ressourcen vorhersagbar ist. Trotzdem können folgsame Anwendungen umgangen und gezwungen werden, Ressourcen freizugeben, falls sie kritische Ressourcen weit über ihre konfigurierten Wasserzeichen geliehen haben und den Überschuss nicht innerhalb eines vernünftigen Zeitraums freigegeben haben. Best-Effort-Entleiher können liberaler umgangen werden, wenn die von ihnen geliehenen Ressourcen im Hinblick auf die Verfügbarkeit unterhalb der konfigurierten Ressourcenwasserzeichen fallen.
  • Koordinierte Ausführungsplanung: Ausführungsmetaprogramme, die als distribuierte Ausführungspläne (DEPs) bezeichnet werden, werden verwendet, um Ressourcennutzungszeitlinien zu erfassen und auszudrücken. Vorhersagemodelle werden mit den DEPs verwendet, um zu bestimmen, wann Ressourcen wahrscheinlich im Laufe der Zeit freigegeben werden. Dies ermöglicht eine proaktive Planung aktueller Anforderungen, die darauf warten, Ressourcen in ausreichendem Maße zuzuweisen. Es ermöglicht auch Best-Effort-Anforderungen, Ressourcen spekulativ zu erhalten, und die Best-Effort-Anforderer werden zur Präemption identifiziert, wenn sie ihre vorhergesagten Meilensteine zum Abschluss und zur Freigabe von Ressourcen weit überschritten haben.
  • Sichere oder vertrauenswürdige Führung bei der Ausführungsplanung: Die DEPs sind Attestierungen zugeordnet, insbesondere wenn DEPs von anderer Stelle (z. B. von Anwendungsanbietern, Dienstanbietern usw.) geliefert werden.
  • 9 veranschaulicht ein Blockdiagramm eines Beispiels eines Datensatzes 900 zum Berechnen und Durchsetzen von weichen Ressourcenrückstellungen zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform. Der Datensatz 900 zeigt beispielhaft und nicht einschränkend einige der verschiedenen Überlegungen, die in solche Entscheidungen einfließen können. Es versteht sich, dass viele andere Überlegungen in Entscheidungen zu weichen Rückstellungen einbezogen werden können. Jede Spalte 910 in dem Datensatz 900 stellt einen Faktor dar, der für die Bereitstellung einer Ressource anwendbar ist, und jede Zeile 915 in dem Datensatz 900 stellt Werte für die Faktoren für eine andere Hardware- oder Softwareressource 905 dar. Zum Beispiel kann eine Ressource 905, wie Speicherbandbreite oder Prozessorleistung, durch eine Richtlinie gesteuert werden, die in der Richtlinienspalte 910 mit einer Kennung identifiziert wird. Falls keine Richtlinie für eine gegebene Ressource spezifiziert wurde, kann eine Standardrichtlinie gelten, die durch ein Betriebssystem/eine Laufzeit definiert ist.
  • Die Richtlinie, die für eine gegebene Ressource 905 funktionsfähig ist, kann durch unterschiedliche Einstellungen und dynamische Bedingungen parametrisiert werden, die sich durch Werte (z. B. Skalar, Vektor, Matrix, kategorische Werte usw.) widerspiegeln lassen, die sich in den Spalten 910 des Datensatzes 900 widerspiegeln. Diese Spalten 910 können Folgendes beinhalten: Telemetrieinformationen bezüglich der Nutzung und des Bedarfs der Ressource 905, des Datensatzes oder einer Anwendungssatzidentität, für die Prioritäts- und/oder Dienstgüte (QoS) -Einstellungen gegenüber dieser Ressource 905 spezifiziert werden können, verschiedene Software, die Hinweise oder Anweisungen bezüglich der Priorität des Datensatzes/Anwendungssatzes liefert, jegliche QoS-Einstellungen, die für diese Ressource 905 im Auftrag der Anwendung ähnlich spezifiziert sein können, usw.
  • Ein Modell oder ein Algorithmus kann eine Angabe einer weichen Rückstellung für jede Ressource erzeugen, die die verschiedenen Richtlinien-, QoS-, und Prioritätseinstellungen erfüllt, die für eine gegebene Ressource 905 beschrieben sind. Beispielsweise kann es sich dabei um eine optimierte Lösung über diverse Anforderungen handeln. In Anbetracht einer besonderen Bestimmung einer kurzfristigen weichen Rückstellung kann auch eine Schwellwertspalte konfiguriert oder dynamisch berechnet werden.
  • Wenn eine verfügbare Menge einer gegebenen Ressource 905 den Schwellenwert erreicht oder überschreitet, können sogar unkritische Aufgaben oder Anwendungen in der Lage sein, eine Ressource 905 anzufordern und zu empfangen, die einer Zuweisungsssteuerung unterliegt. Somit muss die Ressource 905 (z. B. Speicherbandbreite usw.) nicht sequestriert werden, bis ihre Verfügbarkeit unter die Schwelle gesunken ist. Ferner werden Mechanismen verwendet, um eine Freigaberate von Ressourcen zu schätzen. Daher kann die Menge einer gegebenen Ressource 905, die in einem Vorwärtszeitintervall verfügbar sein wird, projiziert werden. Wenn die projizierte verfügbare Menge einen Schwellenwert überschreitet, dann kann es einem unkritischen Anforderer erlaubt sein, eine definierte Menge D der Ressource R zuzuweisen, selbst wenn die aktuell verfügbare Menge A von R nicht ausreicht, um die weiche kurzfristige Rückstellung S nach dem Bereitstellen der definierten Menge abzudecken, das heißt, wenn eine projizierte zukünftig verfügbare Menge über einer Schwelle liegt, kann es dem unkritischen Anforderer ermöglicht werden, die Menge D von R zuzuweisen, falls D nicht größer als A ist (was verfügbar ist), selbst wenn das, was unmittelbar verbleiben würde, d. h. (A-D) unter der Menge S liegt, die weich aufbewahrt werden soll.
  • Ein distribuierter Ausführungsplan (DEP) stellt ein Mittel zum Schätzen der Abschlusszeiten verschiedener laufender Anforderungen oder Operationen bereit. Periodisch werden die Informationen in dem Datensatz 900 mit Telemetrie 925, Abschlusszeitvorhersagen 930 aus dem DEP (der auch Vorhersagen über im Laufe der Zeit freizugebende Ressourcen hervorbringt) und jeglichen Aktualisierungen von Prioritäten und/oder Dienstqualitätseinstellungen 935 für verschiedene Anwendungen, Dienste oder Aufgaben aktualisiert 920.
  • 10 veranschaulicht ein Blockdiagramm eines Beispiels für einen Ausführungsplanungs- und Optimierungsprozess 1000, der durch einen distribuierten Ausführungsplan (DEP) 1005 angesteuert wird, und eine Abschlussvorhersage für eine adaptive Edge-Ressourcenverwaltung mit begrenzter Dauer durch ein Vorhersagemodul 1020 gemäß einer Ausführungsform. Thrashing zwischen Ressourcenzuweisung und Ressourcenräumung kann passieren, wenn nicht klar ist, wie lange aktuell zugewiesene Ressourcen verwendet werden könnten. In einem Beispiel kann der DEP von einem Orchestrator oder Metaorchestrator in dem Edge-Rechensystem konzipiert, implementiert oder koordiniert werden.
  • Um Trashing zu vermeiden, wird eine Vorhersage berechnet, wie viel Zeit benötigt wird, um entweder laufende oder neu eintreffende Aufgaben abzuschließen. Der DEP 1005 dient zur Erleichterung der Vorhersage 1020. Der DEP kann in einer Metasprache 1015 oder einer interpretierten Sprache ausgedrückt werden und kann eine Zerlegung einer Arbeitslast in verschiedene Teilaufgaben und ihre Ausführungsreihenfolgen und Ressourcenanforderungen ausdrücken. Die Hauptbeitragenden, die Latenzen beeinflussen, werden in der Metasprache 1015 des DEP 1005 erfasst und ausgedrückt, und ein DEP 1005 kann mit verfügbaren Telemetrieinformationen ausgewertet werden, um eine Schätzung für die Zeit vorherzusagen oder zu berechnen, die zum Abschluss einer Aufgabe benötigt würde oder zum Erreichen eines Punktes benötigt würde, an dem sie deaktiviert werden kann, um die Ressourcen freizugeben, die der Aufgabe zugewiesen sind. Zum Beispiel würde ein Planungselement (z. B. Task_X@FaaS_Y-with-Rsrc_Z) einen Latenz-Untertyp für jedes Expressionselement unterstützen (z. B. Typ: Task = Name : string, Format : COFF, Größe: Bytes, Latenz: Ticks usw.).
  • Ein Latenz-Untertyp, der in der Metasprache 1015 ausgedrückt ist, erfasst die Zeit, die zum Ausführen einer Aufgabe benötigt wird. Gleichermaßen könnte eine Netzwerkkontextstruktur einen Latenzuntertyp für Netzwerkantwortzeitlatenz usw. aufweisen. Der DEP 1005 nimmt die verschiedenen erwarteten Latenzen in die Planungsschätzung ein und kann iterieren, um 1010 verschiedene Kompromisse zu optimieren. Dementsprechend erzeugt der DEP 1005 die Erwartung, dass Ressourcen auf eine vorhersagbare Weise verwendet werden, selbst wenn sie zu der Zeit, zu der eine Funktion oder eine Aufgabe geplant ist, nicht statisch zugewiesen werden.
  • Aufgaben, die dringend oder zukünftig geplant werden müssen, und die Ressourcen, die wahrscheinlich kritisch benötigt werden, können aus dem DEP 1005 identifiziert werden. Dementsprechend kann der DEP 1005 die Nachfrage nach Ressourcen einbeziehen, die für Aufgaben kritisch sind. In einem Beispiel kann der DEP 1005 einen auf Token/Krediten basierenden Operationsfluss verwenden, um eine Systemoszillation zu hemmen (z. B. durch Verhindern, dass Ressourcen als nicht kritisch behandelt werden, dass sie als kritisch behandelt werden und fast sofort wieder als unkritisch behandelt werden). Eine Oszillation kann ansonsten durch einen externen Angreifer erzeugt werden, der Anforderungen (z. B. als Stimuluseingaben) an das System liefert. Somit kann der DEP an eine attestierungsbasierte Tokenflussverwaltung gebunden sein, um zu verhindern, dass ein Angreifer eine Systemoszillation auslöst.
  • 11 veranschaulicht ein Beispiel für eine DEP-basierte Planung und Ausführung 1000 und Ressourcenverfügbarkeitserhaltung 1100 zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform. 11 stellt einen Aspekt der Planung und Erhaltung von Ressourcenverfügbarkeitsfunktionen im Laufe der Zeit dar. Unter Verwendung der DEPs können Planungssysteme Anforderungsbearbeitungsaufgaben planen und ausführen, die bewirken, dass Ressourcen zugewiesen und verbraucht werden, wie in Block 1000 gezeigt. Block 1105 beinhaltet das Erzeugen von Telemetrie aus Überwachung bei Block 1110 kombiniert mit modellgesteuerten Vorhersagen von Ressourcenverfügbarkeiten im Laufe der Zeit, die bei Block 1115 aus den DEPs bestimmt werden. Da Ressourcenverfügbarkeiten, die von Block 1105 vorhergesagt werden, unter konfigurierte Schwellenwerte fallen, wird die Spekulationssteuerung in Block 1115 ausgelöst, was bewirkt, dass Aufgaben mit Nichtpriorität oder Best Effort, die kritische Ressourcen empfangen haben, in Block 1120 präemptiert werden. In die Ressourcenverfügbarkeitssteuerung ist eine Präemption gut verhaltener Dienste oder Aufgaben einbezogen, die kein folgsames Verhalten zeigen (z. B. Dienste, die als gut verhaltend erklärt oder spezifiziert werden, sich j edoch dennoch nicht gut verhalten - typischerweise aufgrund einer Ausreißerbedingung, und muss daher präemptiert, abgebrochen, neu gestartet werden usw.), dies ist j edoch nicht explizit in 1105 dargestellt, da dies ein Ausnahmefall und daher nicht typisch ist.
  • 12 veranschaulicht ein Beispiel eines Prozesses 1200 zum Verwalten von weichen Rückstellungen („soft set-asides“) und Planen von Ressourcenverbrauchern zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform. Der Prozess 1200 stellt den Fluss von 11 dar, ergänzt um Zwischenmechanismen, die eine Rückkopplung zur Planung und Ausführung erzeugen. Ressourcenverfügbarkeitszeitlinien, die in Block 1110 geschätzt werden, aktivieren eine konfigurierte Logik oder Richtlinien zum Beibehalten von Latenzschwellen (z. B. zum Sicherstellen, dass kritische Aufgaben ihren Ressourcenbedarf nicht verfehlen und dass sie rechtzeitig eingeplant werden), wie in Block 1205 gezeigt. Basierend auf der Ausführung der Logik in Block 1205 berechnet Block 1210 die kurzfristigen kritischen Ressourcenrückstellungen, die für jede Verbraucheraufgabe oder jeden Dienst benötigt werden, der in die erste Prioritätsgruppe fällt, und/oder zum Auslösen von Zuteilungen der Aufgaben, die in der ersten Prioritätsgruppe sind, in Block 1000, oder um zu bewirken, dass die Spekulationssteuerung in Block 1115 aktiviert wird, so dass kritische Ressourcen aufgefüllt werden können, indem manche Aufgaben in der zweiten Gruppe beschränkt werden, und durch Präemptieren anderer Aufgaben ohne Priorität in Block 1120 erhöht werden können.
  • Die Latenzverwaltungsrichtlinien oder -logik in Block 1205 kann kurzfristige Prioritäts- oder QoS-Erwartungen für Aufgaben in der ersten Gruppe erhöhen. Mit Annäherung an Fristen wird ihre Eignung zum Empfangen der Ressourcen (die Aufgaben in der ersten Gruppe) erhöht. Neben der Erhöhung der Eignung für kritische Ressourcen werden auch die kurzzeitigen weichen Rückstellungen für die kritischen Ressourcen erhöht. Diese Aktualisierungen an Aufgabenprioritäten und weichen Ressourcenrückstellungen können bandintern in einer Schedulerschleife berechnet werden, die sich über alle Aufgaben iteriert, oder können bandextern durch Timer oder durch andere administrative Dienstprogramme aktualisiert werden, die eine Überwachung und Durchsetzung von Dienstqualitätsmetriken durchführen. Es ist auch möglich, dass, anstatt dass diese Aufgabenprioritäten und weichen Ressourcenrückstellungen explizit berechnet werden (bandintern oder bandextern), sie aus gleitenden Mittelwerten über Proxy-Indikatoren geschätzt werden können, die aus der Diensttelemetrie gezogen werden. Proxy-Indikatoren können zum Beispiel Metriken sein, wie zurückgesetzte Anweisungen, gesendete Nachrichten, durchgeführte Speicherungs-IOs, fallengelassene Pakete, mittlere Anweisungen-pro-Zyklus-Verhältnisse usw.
  • 13 veranschaulicht ein Beispiel für Aufgabengruppen 1305 zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform. In 13 sind zwei Aufgabengruppen veranschaulicht. Eine erste Gruppe 1330 beinhaltet Aufgaben 1310 mit hoher Priorität, Aufgaben 1315 mit mittlerer Priorität und Aufgaben 1320 mit niedriger Priorität. Eine zweite Gruppe 1335 beinhaltet Best-Effort- oder Standard-Prioritätsaufgaben 1325. Im Allgemeinen kann es eine beliebige Anzahl von Prioritätsklassen für die erste Gruppe 1330 geben.
  • 14 veranschaulicht ein Beispiel für Aufgabengruppen und begrenzte Freigabegarantien 1405 zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform. 14 veranschaulicht eine erste Gruppe, die eine hohe Prioritätsklasse 1410 und eine mittlere Prioritätsklasse 1415 beinhaltet. Aufträge, die nicht in die hohe Prioritätsklasse 1410 oder die mittlere Prioritätsklasse 1415 passen, werden in eine Best-Effort-Klasse 1420 einer zweiten Gruppe zusammengeklappt. In einer beispielhaften Gruppierung können administrative Dienstprogramme verwendet werden, um zu attestieren, dass sich eine Aufgabe, die nicht mit einer bestimmten Prioritätsklasse spezifiziert ist, gut verhält (z. B. Ressourcen reserviert und rechtzeitig freigibt, usw.), kann dementsprechend begrenzten Freigabegarantien 1425 zugeordnet werden und einer variablen Priorität zur Laufzeit basierend auf anderen Aufgaben zugewiesen werden, die von ihrem rechtzeitigen Abschluss und der Freigabe von Ressourcen abhängen können.
  • 14 veranschaulicht, dass die hohe Prioritätsklasse 1410 und die mittlere Prioritätsklasse 1415 verschiedene begrenzte Freigabegarantien 1425 für Ressourcen erfüllen, die den Klassen zugewiesen sind. Zusätzlich dazu können auch andere Aufgaben 1320 mit niedriger Priorität, jedoch keine Best-Effort-Aufgaben, durch administrative Dienstprogramme als die verschiedenen begrenzten Freigabegarantien 1425 erfüllend identifiziert werden. Die begrenzten Freigabegarantien 1425 sind als Tabelle mit Spalten für jede Ressource und unterschiedlichen Zeitdauern dargestellt, ab denen eine Anwendung Ressourcen freigeben kann. Eine begrenzte Freigabegarantierungsanwendung kann fehlerfrei weiterarbeiten, wenn sie einem minimalen Volumen ihrer kritischen Ressourcen zugewiesen wird, wobei das begrenzte Volumen niedriger als ein optimales Volumen der kritischen Ressourcen ist. Die Anwendung kann jedoch bei einem niedrigeren Leistungsfähigkeitspegel (z. B. höhere Latenz usw.) arbeiten, wenn sie nur mit dem minimalen Volumen an kritischen Ressourcen versorgt wird, die für einen fehlerfreien Betrieb benötigt werden.
  • 15 veranschaulicht ein Beispiel einer Systemarchitektur 1500 zum Spezifizieren, Verwalten und Qualifizieren von Arbeitslasten zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform. Ein Dienststeuerungs-Framework 1505 verwendet Konfigurationsdienstprogramme 1510, um Anwendungen als gut verhaltend oder standardmäßig zu erklären. Für die gut verhaltenen Arbeitslasten sind deren begrenzte Freigabegarantie 1425 durch die Konfigurationsdienstprogramme 1510 spezifiziert. Ein Satz von Belastungstests 1515 kann verwendet werden, um die Hardware- und Plattformsoftwareinfrastruktur unter einer Vielzahl unterschiedlicher Konfigurationen auszuüben, um zu bestätigen, dass die Anwendungen die begrenzten Freigabeverpflichtungen erfüllen.
  • Ferner kann die Kategorisierung dynamisch und automatisiert sein. Zum Beispiel kann ein Verbraucher eines gegebenen Dienstes eine Kategoriepriorisierung durch Einstellen verschiedener Präferenzen erhöhen oder senken (z. B. Vereinbaren, mehr für eine höhere Kategorie zu bezahlen, absichtliches Entpriorisieren, um Geld zu sparen usw.). Die Kategorisierung kann auch dynamisch durch einen Abhängigkeitsgraphen geformt werden. Wenn zum Beispiel die Ausführung einer Aufgabe oder eines Dienstes mit hoher Priorität von einem anderen Dienst abhängt, dessen Priorität nicht bestimmt ist, kann dem anderen Dienst eine hohe Priorität per Richtlinie zugewiesen werden.
  • 16 veranschaulicht ein Beispiel für einen Prozess 1600 zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform.
  • Entlang der Pfade A-C-D und A-B-J-D ist eine Aufgabe, die Ressourcen benötigt, entweder eine Prioritätsaufgabe oder eine folgsame Aufgabe (z. B. eine gut verhaltene Aufgabe), und es stehen ausreichend Ressourcen zur Verfügung. Somit wird die Aufgabe versendet.
  • Beim Versenden der Aufgabe werden Ressourcenverfügbarkeitsprojektionen aktualisiert. Entlang des Pfades E-F-G wird bestimmt, dass die Ressourcenverfügbarkeitsprojektionen keine negative Auswirkung auf kritische Ressourcensätze anzeigen und der Prozess 1600 endet.
  • Entlang des Pfades E-F-H wird bestimmt, dass die Ressourcenverfügbarkeitsprojektionen eine negative Auswirkung auf die kritischen Ressourcensätze anzeigen. Ein Präemptionsverzögerungsparameter (der spezifiziert oder mit dem berechnet werden kann, für welche Zeitdauer eine Aufgabe ausgeführt werden darf, bevor sie präemptiert wird) wird derart angepasst, dass laufende Best-Effort-Aufgaben früher präemptiert werden können, um Freigaben der ihnen zugewiesenen Ressourcen zu sichern. Der Prozess 1600 endet dann.
  • Entlang der Pfade A-B-J-O-P-Q-R-S-I und A-C-O-P-Q-R-S-I fordert eine Prioritätsaufgabe oder eine verfolgbare (d. h. gut verhaltene) Aufgabe Ressourcen an, und es bestimmt wird, dass eine adäquate Ressourcenversorgung zur Verfügung steht. Es wird jedoch bestimmt, dass das Bearbeiten der Anforderung die Versorgung mit weichen Rückstellungen unter eine gewünschte Schwelle reduzieren wird. Hat die Aufgabe eine ausreichend hohe Priorität, so ist sie berechtigt, die zurückgestellten Ressourcen zu empfangen und die Aufgabe wird versandt.
  • Nach dem Versenden der Aufgabe und Anpassen der Ressourcenversorgung verursacht das Versenden der Aufgabe bekanntermaßen eine negative Auswirkung auf das Halten der weichen Rückstellungen auf dem gewünschten Schwellenpegel. Ein Präemptionsverzögerungsparameter (der spezifiziert oder mit dem berechnet werden kann, für welche Zeitdauer eine Aufgabe ausgeführt werden darf, bevor sie präemptiert wird) wird derart angepasst, dass laufende Best-Effort-Aufgaben früher präemptiert werden können, um Freigaben der ihnen zugewiesenen Ressourcen zu sichern. Der Prozess 1600 endet dann.
  • Entlang der Pfade A-J-O-P-T und A-B-C-O-P-T fordert eine Prioritätsaufgabe oder eine folgsame Aufgabe Ressourcen an, und es wird bestimmt, dass es eine Ressourcenversorgung verfügbar ist. Die Aufgabe hat jedoch keine ausreichende Priorität, um automatisch zu einem zurückgestellten Betrag berechtigt zu sein. Daher wird die Aufgabe entlang des Pfades T-V-W-Q-P verzögert, bis sie gemäß den konfigurierten Richtlinien 1205 eine Prioritätsförderung empfängt (zum Beispiel damit sie eine Frist erfüllen kann). Gleichzeitig wird entlang der Pfade A-J-O-P-U-I und A-B-C-O-P-U-I ein Präemptionsverzögerungsparameter (der spezifiziert oder mit dem berechnet werden kann, für welche Zeitdauer eine Aufgabe ausgeführt werden darf, bevor sie präemptiert wird) derart angepasst, dass laufende Best-Effort-Aufgaben früher präemptiert werden können, um Freigaben der ihnen zugewiesenen Ressourcen zu sichern. Der Prozess 1600 endet dann.
  • Entlang der Pfade A-B-J-O-X-Y und A-C-Q-X-Y fordert eine Prioritätsaufgabe oder eine folgsame Aufgabe Ressourcen an, und es wird bestimmt, dass keine ausreichende Versorgung von Ressourcen verfügbar ist, um der Aufgabe zu ermöglichen, fortzufahren. Daher wird eine sofortige Rückforderung (z. B. eine Präemption ohne Verzögerung) von Best-Effort-Aufgaben vorgenommen, bis ausreichend Ressourcen zur Verfügung stehen.
  • Entlang des Pfades A-B-K-[L]*-M-N-O fordert eine Best-Effort-Aufgabe mit niedriger Priorität, oder die anderweitig nicht folgsam ist (d. h, bei der nicht garantiert ist, dass sie sich gut verhält), Ressourcen an, und die Best-Effort-Aufgabe kann basierend auf einer Bewertung, ob ausreichend Ressourcen über eine Zeitdauer vor dem Starten der Aufgabe verfügbar sein werden, fortfahren, so dass die Aufgabe abgeschlossen werden kann, ohne präemptiert zu werden. Falls zum aktuellen Zeitpunkt entweder eine ausreichende Versorgung vorliegt oder geschätzt wird, dass eine ausreichende Ressourcenfreigabe kurzfristig auftritt, dann darf die Best-Effort-Aufgabe Aufwand fortfahren. Andernfalls kann die Aufgabe verzögert werden (z. B. entlang einer Verzögerungsschleife [1]*), bis Ressourcen oder projizierte Ressourcen verfügbar sind. Wenn bestimmt wurde, dass die Best-Effort-Aufgabe fortfahren kann, wird sie versendet. Ressourcenverfügbarkeitsstatistiken werden angepasst und der Prozess 1600 endet. Nachdem die Aufgabe versendet wurde, ist es möglich, dass sie basierend auf sich entwickelnden Ressourcenverfügbarkeitsbedingungen präemptiert werden kann.
  • In einem Beispiel können automatisierte (z. B. formelbasierte usw.) Prioritätsinkremente eine Funktion von (w/r, q) sein, wobei q ein Prioritätserhöhungspgel ist, der benötigt wird, um für den Versand qualifiziert zu werden, w eine Zeitdauer ist, während der die Aufgabe aufgrund unzureichender Priorität zum Zuweisen von den weichen Rückstellungen stoppt, und r eine gewünschte Reaktionszeit ist. Je länger somit eine Aufgabe in Bezug auf ihre Ansprechzeitschwelle wartet, desto schneller bewegt sie sich zum Schließen der Lücke zwischen ihrer aktuellen Priorität und dem Prioritätspegel, auf dem sie sein muss, um Ressourcen aus einer aufbewahrten Ressourcenquote zugewiesen zu werden. Eine Automatisierung stellt Selbstförderung für gut verhaltene Aufgaben bereit und reduziert die Latenz der Aufgabe.
  • In einem Beispiel können verschachtelte Service-Level-Agreements (SLAs) oder solche auf mehreren Ebenen implementiert werden, um Ressourcenzuweisung zu verwalten, wenn die gesamte Kurzzeitnachfrage nach Ressourcen von Prioritätsaufgaben oder gut verhaltenen Aufgaben auf unterschiedliche Nutzungsschwellen ansteigt. Unter einer SLA auf mehreren Ebenen bewirkt eine erste SLA, die verletzt wird, dass eine zweite SLA, die weniger streng als die erste SLA ist, aktiviert wird, mit einer ersten Obergrenze für die Gesamtanzahl von Verletzungen der ersten SLA. Gleichermaßen können eine erste SLA und eine zweite SLA, die verletzt werden, bewirken, dass eine dritte SLA, die weniger streng als die zweite SLA ist, mit einer zweiten Obergrenze der Gesamtanzahl an Verletzungen der ersten SLA und der zweiten SLA aktiviert wird. Dies verhindert keine Verletzungen einer ersten (z. B. Haupt- usw.) SLA, sondern steuert die Schwere der Verletzungen, wie in eine sekundäre SLA codiert, und so weiter.
  • In einem Beispiel können Aufgaben mit hoher Priorität erlaubt sein, um eine kleine Menge an weichen Rückstellungen für eine gegebene Ressource, die sie durch Konfigurationsdienstprogramme identifizieren können, vorzureservieren. Die Aufgabe mit hoher Priorität kann die weiche Rückstellungen nur beanspruchen, wenn die Ressourcenverfügbarkeit für einen definierten Zeitraum unter einen Schwellenwert fällt. Bis Ressourcen ein kritisches Low-Level erreichen, kann daher die weiche Rückstellung Aufgaben mit niedrigerer Priorität bereitgestellt werden. Nachdem diese Schwelle ausgelöst wurde, wird die Zuweisung zu Aufgaben mit hoher Priorität beeinflusst.
  • 17 veranschaulicht ein Beispiel für ein System 1700 zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform. Das System 1700 kann Merkmale, wie in 1-16 beschrieben, bereitstellen.
  • Das System 1700 kann einen Edge-Ressourcenknoten 1705 (z. B. Edge-Ressourcenknoten 640, wie in 6 beschrieben, Rechenknoten 700, wie in 7A beschrieben, Edge-Rechenknoten 750, wie in 7B beschrieben usw.) beinhalten, der ein Mitglied eines Edge-Rechennetzwerks 110 ist. Der Edge-Ressourcenknoten 1705 kann eine adaptive Ressourcenverwaltung-Engine 1710 mit begrenzter Dauer zum Verwalten einer Ressourcenzuweisung zu einer Ressourcenanforderungsarbeitslast 1745 beinhalten. Die Ressourcenanforderungsarbeitslast 1745 kann eine Arbeitslast für eine Anwendung/einen Dienst sein, die/der auf dem Edge-Ressourcenknoten 1705 ausgeführt wird.
  • Die adaptive Ressourcenverwaltung-Engine 1710 mit begrenzter Dauer kann eine Vielfalt von Komponenten einschließlich eines Ressourcenberechners 1715, eines Weiche-Rückstellungen-Managers, eines Ressourcenzuweisers 1725, eines Ressourcenregisters 1730, eines Rückstellungsregisters 1735 und eines distribuierten Ausführungsplanmanagers 1740 beinhalten. Es kann einen Attestierungs-/Vertrauensmanager in der adaptiven Ressourcenverwaltung-Engine 1710 mit begrenzter Dauer geben, der das Sicherheitsrisiko oder Geschäftsrisiko evaluiert, das über eine Attestierung von Eingabedaten ausgewertet wird. Der Ressourcenrechner 1715 kann zum Beispiel an Telemetriedaten arbeiten, die in den Ressourcenrechner 1715 eingegeben werden. Ein Vertrauensfaktor (Wahrscheinlichkeit) kann jeder Eingabe zugeordnet werden, seien es Telemetrie, QoS, Software, Hardware oder andere „Daten“. Der Risikofaktor kann vom Ressourcenzuweiser 1725 angewendet werden, um eine Wahrscheinlichkeit zu bewerten, dass eine Ressourcenzuweisungsentscheidung getroffen (abgeschlossen) werden sollte. Falls es zum Beispiel eine hohe Wahrscheinlichkeit gibt, dass Telemetrieeingabedaten verfälscht sind, kann der Ressourcenzuweiser 1725 bestimmen, dass eine hochwertige Ressource nicht zugewiesen wird, es sei denn, es gibt auch eine hohe Wahrscheinlichkeit, dass die Entscheidungen des Ressourcenberechners 1715 (und anderer Manager) eine hohe Integrität aufweisen.
  • Der Ressourcenberechner 1715 kann Telemetriedaten, Dienstqualitätsdaten, Software-Daten, Hardware-Daten, Arbeitslastdaten usw. auswerten, um eine verfügbare Kapazität für eine Ressource für den Edge-Ressourcenknoten 1705 zu berechnen. Telemetriedaten zum gegenwärtig ausgeführten und vorhergesagten Arbeitslasten können zum Beispiel ausgewertet werden, um die verfügbare Kapazität für einen Zeitraum zu berechnen. In einem anderen Beispiel können Arbeitstelemetriedaten unter Verwendung eines Maschinenlernmodells oder -algorithmus ausgewertet werden, um Ressourcen zu berechnen, die für den Zeitraum verfügbar sind. In einem Beispiel kann ein Maschinenlernmodell einen Vertrauensfaktor in sein Training einbeziehen, so dass eine hohe Qualität und ein hohes Vertrauen relevante Entscheidungskriterien sind (oder nicht sind).
  • Der Weiche-Rückstellungen-Manager 1720 kann verfügbare Rückstellungsressourcen basierend auf der verfügbaren Kapazität bestimmen. In einem Beispiel bezeichnen die verfügbaren Rückstellungsressourcen Ressourcen des Knotens, die einer Arbeitslast für eine begrenzte Zeitdauer zugewiesen werden sollen. Zum Beispiel kann ein Teil der verfügbaren Ressourcen zur Verwendung durch kritische und unkritische Arbeitslast und zugeordnete Aufgaben, die als folgsam bestimmt werden, zurückgestellt werden. In einem Beispiel können Telemetriedaten von dem Knoten gesammelt werden. Die Telemetriedaten können ausgewertet werden, um die Ressourcennutzung von Arbeitslasten, die auf dem Knoten ausgeführt werden, zu schätzen, und die verfügbaren Rückstellungsressourcen können teilweise unter Verwendung der geschätzten Ressourcennutzung bestimmt werden. In einem anderen Beispiel können Dienstqualitätsmetriken für die Ressource identifiziert werden und die verfügbaren Rückstellungsressourcen können teilweise unter Verwendung der Dienstqualitätsmetriken bestimmt werden.
  • In einem Beispiel kann ein zukünftiger Ressourcenverfügbarkeitswert für den Knoten für einen zukünftigen Zeitraum vorhergesagt werden und die Rückstellungsressourcen können teilweise basierend auf dem zukünftigen Ressourcenverfügbarkeitswert bestimmt werden. Die Arbeitslast und die zugeordneten Aufgaben können basierend auf einer Attestierung ihrer folgsamen Natur basierend auf einer Auswertung der Arbeitslast und der zugeordneten Aufgaben unter Verwendung von Maschinenlernmodellen oder Algorithmen zum Vorhersagen ihrer Folgsamkeit als folgsam identifiziert werden.
  • Der Manager 1740 für distribuierte Ausführungspläne kann distribuierte Ausführungspläne für den Edge-Ressourcenknoten 1705 erzeugen. In einem Beispiel können Ausführungsparameter von Arbeitslastaufgaben, die auf dem Knoten ausgeführt werden, identifiziert werden. Ein distribuierter Ausführungsplan kann für den Knoten unter Verwendung der Ausführungsparameter generiert werden und die zukünftige Ressourcenverfügbarkeit kann unter Verwendung des distribuierten Ausführungsplans vorhergesagt werden. In einem Beispiel kann der distribuierte Ausführungsplan in Metasprache oder einer interpretierten Sprache ausgedrückt werden. In einem Beispiel kann der distribuierte Ausführungsplan den Aufgaben Token oder Kredite zuweisen, um Prioritätskategorievariation (z. B. Oszillation usw.) zu verhindern. Ergänzende Details des DEP sind in 10 erläutert.
  • Eine Dienstanforderung kann von einer Anwendung/einem Dienst empfangen werden, die/der auf dem Edge-Ressourcenknoten 1705 ausgeführt wird. Zum Beispiel kann eine Client-Vorrichtung, ein Peer, ein Dienst usw. eine Aktion mit der Anwendung initiieren und im Gegenzug kann die Anwendung eine Dienstanforderung initiieren, um Ressourcen von dem Edge-Ressourcenknoten 1705 zu erhalten. Die Dienstanforderung kann die Ressourcenanforderungsarbeitslast 1745 beinhalten. Der Dienst/die Anwendung kann die Arbeitslast 1745 anfordernde Ressource initiieren. Der Ressourcenzuweiser 1725 kann die Ressourcenanforderung von der Ressourcenanforderungsarbeitslast 1745 empfangen. Zum Beispiel kann eine Anwendung, die auf einer Smartwatch ausgeführt wird, zusammengesetzte Daten von einem Dienst anfordern, und eine Datenserveranwendung auf dem Edge-Ressourcenknoten 1705 kann ausgeführt werden und die Dienstanforderungsarbeitslast 1745 an dem Edge-Ressourcenknoten 1705 initiieren. Die Dienstanforderung kann Daten beinhalten, die verwendet werden können, um Ressourcen zu identifizieren, die benötigt werden, um die Arbeitslast auszuführen, um die zusammengesetzten Daten zurückzugeben. Der Ressourcenzuweiser 1725 kann eine Prioritätskategorie für die Dienstanforderung bestimmen. Die Anforderung kann zum Beispiel eine hohe Priorität, eine mittlere Priorität, eine Best-Effort-Priorität usw. sein.
  • Der Ressourcenzuweiser 1725 kann eine Arbeitslast, die der Dienstanforderung zugeordnet ist, basierend auf der Prioritätskategorie aus den verfügbaren Nebenressourcen für eine begrenzte Zeitdauer Nebenressourcen zuweisen. Zum Beispiel können der Anforderung für zusammengesetzte Daten Ressourcen auf einer Best-Effort-Basis zugewiesen werden, was sich auf Schwellen zum Zurückfordern von Ressourcen auswirken kann. In einem Beispiel kann bestimmt werden, dass Ressourcen des Knotens außerhalb einer Ressourcenkapazitätsschwelle liegen, und die beieinander gesetzten Ressourcen können von der Arbeitslast zurückgewonnen werden. In einem anderen Beispiel kann bestimmt werden, dass die Arbeitslast begrenzte Freigabekriterien nicht erfüllt. Eine Ressourcenfreigabezeit kann für die Arbeitslast festgelegt werden und die abgesetzten Ressourcen können nach Ablauf der Ressourcenfreigabezeit zurückgefordert werden.
  • In einem Beispiel kann eine Präemptionsverzögerung den beieinander gesetzten Ressourcen zugewiesen werden, die der Arbeitslast zugewiesen sind. Eine zweite Dienstanforderung kann mit einer höheren Prioritätskategorie empfangen werden. Während zum Beispiel die Arbeitslast zusammengesetzter Daten ausgeführt wird, kann eine Anforderung für eine Arbeitslast medizinischer Notdienste empfangen werden, die eine hohe Priorität aufweist. Die Rückstellungsressourcen können von der Arbeitslast zurückgewonnen werden und die Rückstellungsressourcen können einer zweiten Arbeitslast zugewiesen werden, die der zweiten Dienstanforderung zugeordnet ist.
  • In einem Beispiel kann ein Ressourcenpräemptionsplan für die Rückstellungsressourcen, die der Arbeitslast zugewiesen sind, basierend auf der Prioritätskategorie festgelegt werden. Es kann bestimmt werden, dass sich die Prioritätskategorie der Arbeitslast geändert hat, und der Ressourcenpräemptionsplan kann angepasst werden. Das Rückstellungsregister 1735 verfolgt eine Rückstellungsnutzung, so dass der Ressourcenzuweiser 1725 schnell Rückstellungsressourcen bestimmen kann, die zur Zuweisung verfügbar sind. In einem Beispiel kann das Rückstellungressourcen-Verfügbarkeitsregister 1735 für die Rückstellungressourcen beibehalten werden und das Rückstellungressourcen-Verfügbarkeitsregister 1735 kann basierend auf den Rückstellungressourcen, die der Arbeitslast zugewiesen sind, angepasst werden.
  • Das Ressourcenregister 1730 kann Ressourcen verfolgen, die an dem Edge-Ressourcenknoten 1705 verfügbar sind. Der Ressourcenzuweiser 1725 kann das Ressourcenregister 1730 periodisch referenzieren, um eine Ressourcenkapazität des Edge-Ressourcenknotens. 1705 zu bestimmen, so dass weiche Rückstellungen freigegeben werden können. In einem Beispiel kann bestimmt werden, dass ausreichend Ressourcen an dem Knoten verfügbar sind. Ressourcen können der Arbeitslast von verfügbaren Ressourcen des Knotens zugewiesen werden. Die Rückstellungressourcen, die der Arbeitslast zugewiesen sind, können zurückgefordert werden und das Rückstellungressourcenregister 1735 kann basierend auf den Rückstellungressourcen, die von der Arbeitslast zurückgefordert werden, angepasst werden.
  • Der vorliegende Gegenstand kann in verschiedenen Konfigurationen implementiert werden. Beispielsweise können der Ressourcenberechner 1715, der Weiche-Rückstellungs-Manager, der Ressourcenzuweiser 1725, das Ressourcenregister 1730, das Rückstellungsregister 1735 und der distribuierte Ausführungsplanmanager 1740 in unterschiedlichen (oder denselben) Rechensystemen (z. B. einem einzigen Server, einer Sammlung von Servern, einer cloud-basierten Rechenplattform usw.) implementiert sein. Ein Rechensystem kann einen oder mehrere Prozessoren umfassen, die Softwareanweisungen ausführen, wie jene, die zum Definieren einer Software oder eines Computerprogramms verwendet werden, die in einem computerlesbaren Speichermedium, wie einer Speichervorrichtung, gespeichert sind. Alternativ oder zusätzlich kann das Rechensystem dedizierte Hardware umfassen, wie eine oder mehrere integrierte Schaltungen, eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs), einen oder mehrere anwendungsspezifische Spezialprozessoren (ASSPs), ein oder mehrere feldprogrammierbare Gate-Arrays (FPGAs) oder eine beliebige Kombination der vorhergehenden Beispiele dedizierter Hardware zum Durchführen der in dieser Offenbarung beschriebenen Techniken.
  • 18 veranschaulicht ein Flussdiagramm eines beispielhaften Verfahrens 1800 zur adaptiven Edge-Ressourcenverwaltung mit begrenzter Dauer gemäß einer Ausführungsform. Das Verfahren 1800 kann Merkmale, wie in 1-16 beschrieben, bereitstellen.
  • In Operation 1805 kann eine verfügbare Kapazität für eine Ressource für einen Knoten des Edge-Rechennetzwerks basierend auf Arbeitslasten, die auf dem Knoten ausgeführt werden, berechnet werden. In Operation 1810 können verfügbare Rückstellungsressourcen basierend auf der verfügbaren Kapazität bestimmt werden. In einem Beispiel können Telemetriedaten von dem Knoten gesammelt werden. Die Telemetriedaten können ausgewertet werden, um die Ressourcennutzung von Arbeitslasten, die auf dem Knoten ausgeführt werden, zu schätzen, und die verfügbaren Rückstellungsressourcen können teilweise unter Verwendung der geschätzten Ressourcennutzung bestimmt werden. In einem anderen Beispiel können Dienstqualitätsmetriken für die Ressource identifiziert werden und die verfügbaren Rückstellungsressourcen können teilweise unter Verwendung der Dienstqualitätsmetriken bestimmt werden.
  • In einem Beispiel kann ein zukünftiger Ressourcenverfügbarkeitswert für den Knoten für einen zukünftigen Zeitraum vorhergesagt werden und die Rückstellungsressourcen können teilweise basierend auf dem zukünftigen Ressourcenverfügbarkeitswert bestimmt werden. In einem Beispiel können Ausführungsparameter von Arbeitslastaufgaben, die auf dem Knoten ausgeführt werden, identifiziert werden. Ein distribuierter Ausführungsplan kann für mehrere Arbeitslastaufgaben generiert werden, die an dem Knoten unter Verwendung der Ausführungsparameter ausgeführt oder durchgeführt werden, und die zukünftige Ressourcenverfügbarkeit kann unter Verwendung des distribuierten Ausführungsplans vorhergesagt werden. In einem Beispiel kann der distribuierte Ausführungsplan in Metasprache oder einer interpretierten Sprache ausgedrückt werden. In einem Beispiel kann der distribuierte Ausführungsplan den Aufgaben Token oder Kredite zuweisen, um eine Prioritätskategorievariation zu verhindern.
  • In Operation 1815 kann eine Anwendungsdienstanforderung von einer Anwendung empfangen werden, die auf dem Edge-Rechenknoten ausgeführt wird. In Operation 1820 kann eine Prioritätskategorie für die empfangene Anwendungsdienstanforderung bestimmt werden, die mindestens teilweise auf einer Priorität bestimmt wird, die mit dem Sender der Anwendungsdienstanforderung zugeordnet ist. In Operation 1825 können Rückstellungsressourcen von den verfügbaren Rückstellungsressourcen einer Arbeitslast, die der Anwendungsdienstanforderung zugeordnet ist, für eine begrenzte Zeitdauer basierend auf der Prioritätskategorie zugewiesen werden. In einem Beispiel kann bestimmt werden, dass gleichzeitig verfügbare Ressourcen des Knotens unter einer Ressourcenkapazitätsschwelle liegen und die Rückstellungsressourcen von der Arbeitslast zurückgefordert werden können. In einem anderen Beispiel kann bestimmt werden, dass die Arbeitslast begrenzte Freigabekriterien nicht erfüllt. Eine Ressourcenfreigabezeit kann von einem zuvor eingestellten Wert für die Arbeitslast eingestellt oder angepasst werden und die identifizierte Menge von Rückstellungsressourcen kann nach Ablauf der Ressourcenfreigabezeit von der Arbeitslast zurückgefordert werden.
  • In einem Beispiel kann eine Präemptionsverzögerung den Rückstellungsressourcen zugewiesen werden, die der Arbeitslast zugewiesen sind. Eine zweite Dienstanforderung kann mit einer höheren Prioritätskategorie empfangen werden. Die Rückstellungsressourcen können von der Arbeitslast zurückgefordert werden und die Rückstellungsressourcen können einer zweiten Arbeitslast zugewiesen werden, die der zweiten Dienstanforderung zugeordnet ist.
  • In einem Beispiel kann ein Ressourcenpräemptionsplan für die Rückstellungsressourcen, die der Arbeitslast zugewiesen sind, basierend auf der Prioritätskategorie festgelegt werden. Es kann bestimmt werden, dass sich die Prioritätskategorie der Arbeitslast geändert hat, und der Ressourcenpräemptionsplan kann angepasst werden. In einem Beispiel kann ein Reserve-Ressourcen-Verfügbarkeitsregister für die Rückstellungsressourcen beibehalten werden und das Rückstellungsressourcen-Verfügbarkeitsregister kann basierend auf den Rückstellungsressourcen, die der Arbeitslast zugewiesen sind, angepasst werden. In einem Beispiel kann bestimmt werden, dass ausreichend Ressourcen an dem Knoten verfügbar sind. Ressourcen können der Arbeitslast von verfügbaren Ressourcen des Knotens zugewiesen werden. Die der Arbeitslast zugewiesenen Nebenressourcen können wiedergewonnen werden und das Rückstellungsressourcen-Verfügbarkeitsregister kann basierend auf den Rückstellungsressourcen, die von der Arbeitslast wiedergewonnen werden, angepasst werden.
  • Es versteht sich, dass die in dieser Schrift beschriebenen funktionalen Einheiten oder Fähigkeiten als Komponenten oder Module bezeichnet oder beschriftet worden sein können, um insbesondere ihre Implementierungsunabhängigkeit hervorzuheben. Solche Komponenten können durch eine beliebige Anzahl von Software- oder Hardwareformen verkörpert werden. Beispielsweise kann eine Komponente oder ein Modul als Hardware-Schaltung implementiert werden, der angepasste Very-Large-Scale-Integration-(VLSI)-Schaltungen oder Gate-Arrays, handelsübliche Halbleiter, wie Logikchips, Transistoren oder andere diskrete Komponenten, umfasst. Eine Komponente oder ein Modul kann auch in programmierbaren Hardwarevorrichtungen implementiert werden, wie beispielsweise feldprogrammierbare Gate-Arrays, programmierbare Arraylogik, programmierbare Logikvorrichtungen oder dergleichen. Komponenten oder Module können auch in Software zur Ausführung durch verschiedene Arten von Prozessoren implementiert werden. Eine identifizierte Komponente oder ein identifiziertes Modul aus ausführbarem Code kann beispielsweise einen oder mehrere physische oder logische Blöcke von Computeranweisungen umfassen, die beispielsweise als ein Objekt, eine Prozedur oder eine Funktion organisiert sein können. Nichtsdestotrotz müssen die ausführbaren Elemente einer identifizierten Komponente oder eines identifizierten Moduls nicht physisch zusammen lokalisiert sein, sondern können ungleiche Anweisungen umfassen, die an verschiedenen Orten gespeichert sind, die, wenn sie logisch miteinander verbunden sind, die Komponente oder das Modul umfassen und den angegebenen Zweck für die Komponente oder das Modul erfüllen.
  • Tatsächlich kann eine Komponente oder ein Modul eines ausführbaren Codes eine einzige Anweisung oder viele Anweisungen sein und sogar kann über mehrere verschiedene Codesegmente, unter verschiedenen Programmen und über einige Speichervorrichtungen oder Verarbeitungssysteme hinweg distribuiert sein. Insbesondere können manche Aspekte des beschriebenen Prozesses (wie Codeumschreiben und Codeanalyse) auf einem anderen Verarbeitungssystem (z. B. in einem Computer in einem Datenzentrum) als jenem stattfinden, in dem der Code eingesetzt wird (z. B. in einem Computer, der in einen Sensor oder Roboter eingebettet ist). Auf ähnliche Weise können Betriebsdaten hierin innerhalb von Komponenten oder Modulen identifiziert und dargestellt werden und können in einer beliebigen geeigneten Form ausgeführt und in einer beliebigen geeigneten Art von Datenstruktur organisiert sein. Die Betriebsdaten können als einziger Datensatz gesammelt werden oder können über verschiedene Orte, einschließlich über verschiedene Speicherungsvorrichtungen, distribuiert werden und können zumindest teilweise lediglich als elektronische Signale in einem System oder Netz existieren. Die Komponenten oder Module können passiv oder aktiv sein, einschließlich Agenten, die dazu betreibbar sind, gewünschte Funktionen auszuführen.
  • Zusätzliche Beispiele der vorliegend beschriebenen Verfahrens-, System- und Vorrichtungsausführungsformen beinhalten die folgenden, nicht beschränkenden Implementierungen. Jedes der folgenden nicht einschränkenden Beispiele kann für sich allein stehen oder kann in einer beliebigen Permutation oder Kombination mit einem oder mehreren der anderen Beispiele, die unten oder in der gesamten vorliegenden Offenbarung bereitgestellt werden, kombiniert werden.
  • Zusätzliche Anmerkungen & Beispiele
  • Beispiel 1 ist ein System zur Ressourcenzuweisung mit begrenzter Dauer in einem Edge-Rechennetzwerk, das Folgendes umfasst: mindestens einen Prozessor; und Speicher, der Anweisungen beinhaltet, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, bewirken, dass der mindestens eine Prozessor Operationen durchführt zum: Berechnen verfügbarer Kapazität für Ressourcen eines Knotens des Edge-Rechennetzwerks basierend auf Arbeitslasten, die auf dem Knoten ausgeführt werden; Bestimmen verfügbarer Rückstellungsressourcen des Knotens basierend auf der verfügbaren Kapazität, wobei die verfügbaren Rückstellungsressourcen Ressourcen des Knotens bezeichnen, die einer Arbeitslast für eine begrenzte Zeitdauer zugewiesen werden sollen; Empfangen einer Dienstanforderung von einer Anwendung, die auf dem Edge-Rechenknoten ausgeführt wird; Bestimmen einer Prioritätskategorie für die Dienstanforderung; und Zuweisen, für eine begrenzte Zeitdauer, einer Rückstellungsressource von den verfügbaren Rückstellungsressourcen des Knotens zu einer Arbeitslast, die der Dienstanforderung zugeordnet ist, basierend auf der Prioritätskategorie.
  • In Beispiel 2 beinhaltet der Gegenstand von Beispiel 1, dass der Speicher ferner Anweisungen umfasst, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Bestimmen, dass genutzte Ressourcen des Knotens außerhalb einer Ressourcenkapazitätsschwelle liegen; und Zurückfordern der Rückstellungsressourcen von der Arbeitslast.
  • In Beispiel 3 beinhaltet der Gegenstand von Beispiel 1-2, dass die Prioritätskategorie Best Effort ist und der Speicher ferner Anweisungen umfasst, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Zuweisen einer Präemptionsverzögerung zu den Rückstellungsressourcen, die der Arbeitslast zugewiesen sind; Empfangen einer zweiten Dienstanforderung mit einer höheren Prioritätskategorie; Zurückfordern der Rückstellungsressourcen von der Arbeitslast; und Neuzuweisen der Rückstellungsressourcen zu einer zweiten Arbeitslast, die der zweiten Dienstanforderung zugeordnet ist.
  • In Beispiel 4 beinhaltet der Gegenstand von Beispiel 1-3, dass der Speicher ferner Anweisungen umfasst, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Bestimmen, dass die Arbeitslast begrenzte Freigabekriterien nicht erfüllt; Einstellen einer Ressourcenfreigabezeit für die Arbeitslast; und Zurückfordern der Rückstellungsressourcen nach Ablauf der Ressourcenfreigabezeit.
  • In Beispiel 5 beinhaltet der Gegenstand von Beispiel 1-4, dass der Speicher ferner Anweisungen umfasst, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Einstellen eines Ressourcenpräemptionsplans für die Rückstellungsressourcen, die der Arbeitslast zugewiesen sind, basierend auf der Prioritätskategorie; Bestimmen, dass sich die Prioritätskategorie der Arbeitslast geändert hat; und Anpassen des Ressourcenpräemptionsplans.
  • In Beispiel 6 beinhaltet der Gegenstand von Beispiel 1-5, dass der Speicher ferner Anweisungen umfasst,die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Vorhersagen eines zukünftigen Ressourcenverfügbarkeitswerts für den Knoten für einen zukünftigen Zeitraum; und Bestimmen der Rückstellungsressourcen teilweise basierend auf dem zukünftigen Ressourcenverfügbarkeitswert.
  • In Beispiel 7 beinhaltet der Gegenstand des Beispiels 6, dass der Speicher ferner Anweisungen umfasst, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Identifizieren von Ausführungsparametern von Arbeitslastaufgaben, die auf dem Knoten ausgeführt werden; Generieren eines distribuierten Ausführungsplans für den Knoten unter Verwendung der Ausführungsparameter; und Vorhersagen der zukünftigen Ressourcenverfügbarkeit unter Verwendung des distribuierten Ausführungsplans.
  • In Beispiel 8 beinhaltet der Gegenstand von Beispiel 7, dass der distribuierte Ausführungsplan in Metasprache oder einer interpretierten Sprache ausgedrückt wird.
  • In Beispiel 9 beinhaltet der Gegenstand von Beispiel 7-8, dass der distribuierte Ausführungsplan den Aufgaben Token oder Kredite zuweist, um eine Prioritätskategorievariation zu begrenzen.
  • In Beispiel 10 beinhaltet der Gegenstand von Beispiel 1-9 Speicher, ferner umfassend Anweisungen, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Beibehalten eines Rückstellungsressourcen-Verfügbarkeitsregisters für die Rückstellungsressourcen; und Aktualisieren des Rückstellungsressourcen-Verfügbarkeitsregisters basierend auf den Rückstellungsressourcen, die der Arbeitslast zugewiesen sind.
  • In Beispiel 11 beinhaltet der Gegenstand von Beispiel 10, dass der Speicher ferner Anweisungen umfasst, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: zu Bestimmen, dass ausreichend Ressourcen an dem Knoten verfügbar sind; Zuweisen von Ressourcen zu der Arbeitslast von verfügbaren Ressourcen des Knotens; Zurückfordern der Rückstellungsressourcen, die der Arbeitslast zugewiesen sind; und Anpassen des Rückstellungsressourcen-Verfügbarkeitsregisters basierend auf den Rückstellungsressourcen, die von der Arbeitslast zurückgefordert werden.
  • In Beispiel 12 beinhaltet der Gegenstand von Beispiel 1-11, dass der Speicher ferner Anweisungen umfasst, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Sammeln von Telemetriedaten von dem Knoten; und Auswerten der Telemetriedaten, um die Ressourcennutzung von Arbeitslasten, die auf dem Knoten ausgeführt werden, zu schätzen, wobei die verfügbaren Rückstellungsressourcen teilweise unter Verwendung der geschätzten Ressourcennutzung bestimmt werden.
  • In Beispiel 13 beinhaltet der Gegenstand von Beispiel 1-12, dass der Speicher ferner Anweisungen umfasst, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Identifizieren von Dienstqualitätsmetriken für die Ressource, wobei die verfügbaren Rückstellungsressourcen teilweise unter Verwendung der Dienstqualitätsmetriken bestimmt werden.
  • Beispiel 14 ist mindestens ein maschinenlesbares Medium, das Anweisungen für eine Ressourcenzuweisung mit begrenzter Dauer in einem Edge-Rechennetzwerk beinhaltet, die, wenn sie von mindestens einem Prozessor ausgeführt werden, den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Berechnen verfügbarer Kapazität für Ressourcen eines Knotens des Edge-Rechennetzwerks basierend auf Arbeitslasten, die auf dem Knoten ausgeführt werden; Bestimmen verfügbarer Rückstellungsressourcen des Knotens basierend auf der verfügbaren Kapazität, wobei die verfügbaren Rückstellungsressourcen Ressourcen des Knotens bezeichnen, die einer Arbeitslast für eine begrenzte Zeitdauer zugewiesen werden sollen; Empfangen einer Dienstanforderung von einer Anwendung, die auf dem Edge-Rechenknoten ausgeführt wird; Bestimmen einer Prioritätskategorie für die Dienstanforderung; und Zuweisen, für eine begrenzte Zeitdauer, einer Rückstellungsressource von den verfügbaren Rückstellungsressourcen des Knotens zu einer Arbeitslast, die der Dienstanforderung zugeordnet ist, basierend auf der Prioritätskategorie.
  • In Beispiel 15 beinhaltet der Gegenstand von Beispiel 14 Anweisungen, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Bestimmen, dass genutzte Ressourcen des Knotens außerhalb eines Ressourcenkapazitätsschwellenwerts liegen; und Zurückfordern der Rückstellungsressourcen von der Arbeitslast.
  • In Beispiel 16 beinhaltet der Gegenstand von Beispiel 14-15, dass die Prioritätskategorie Best Effort ist und ferner Anweisungen umfasst, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Zuweisen einer Präemptionsverzögerung zu den Rückstellungsressourcen, die der Arbeitslast zugewiesen sind; Empfangen einer zweiten Dienstanforderung mit einer höheren Prioritätskategorie; Zurückfordern der Rückstellungsressourcen von der Arbeitslast; und Neuzuweisen der Rückstellungsressourcen zu einer zweiten Arbeitslast, die der zweiten Dienstanforderung zugeordnet ist.
  • In Beispiel 17 beinhaltet der Gegenstand von Beispiel 14-16, dass der Speicher ferner Anweisungen umfasst, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Bestimmen, dass die Arbeitslast begrenzte Freigabekriterien nicht erfüllt; Einstellen einer Ressourcenfreigabezeit für die Arbeitslast; und Zurückfordern der Rückstellungsressourcen nach Ablauf der Ressourcenfreigabezeit.
  • In Beispiel 18 beinhaltet der Gegenstand von Beispiel 14-17 Anweisungen, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Einstellen eines Ressourcenpräemptionsplans für die Rückstellungsressourcen, die der Arbeitslast zugewiesen sind, basierend auf der Prioritätskategorie; Bestimmen, dass sich die Prioritätskategorie der Arbeitslast geändert hat; und Anpassen des Ressourcenpräemptionsplans.
  • In Beispiel 19 beinhaltet der Gegenstand von Beispiel 14-18 Anweisungen, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Vorhersagen eines zukünftigen Ressourcenverfügbarkeitswerts für den Knoten für einen zukünftigen Zeitraum; und Bestimmen der Rückstellungsressourcen teilweise basierend auf dem zukünftigen Ressourcenverfügbarkeitswert.
  • In Beispiel 20 beinhaltet der Gegenstand von Beispiel 19 Anweisungen, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Identifizieren von Ausführungsparametern von Arbeitslastaufgaben, die auf dem Knoten ausgeführt werden; Generieren eines distribuierten Ausführungsplans für den Knoten unter Verwendung der Ausführungsparameter; und Vorhersagen der zukünftigen Ressourcenverfügbarkeit unter Verwendung des distribuierten Ausführungsplans.
  • In Beispiel 21 beinhaltet der Gegenstand von Beispiel 20, dass der distribuierte Ausführungsplan in Metasprache oder einer interpretierten Sprache ausgedrückt wird.
  • In Beispiel 22 beinhaltet der Gegenstand von Beispiel 20-21, dass der distribuierte Ausführungsplan den Aufgaben Token oder Kredite zuweist, um eine Prioritätskategorievariation zu begrenzen.
  • In Beispiel 23 beinhaltet der Gegenstand von Beispiel 14-22 Anweisungen, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Beibehalten eines Rückstellungsressourcen-Verfügbarkeitsregisters für die Rückstellungsressourcen; und Aktualisieren des Rückstellungsressourcen-Verfügbarkeitsregisters basierend auf den Rückstellungsressourcen, die der Arbeitslast zugewiesen sind.
  • In Beispiel 24 beinhaltet der Gegenstand des Beispiels 23 Anweisungen, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Bestimmen, dass ausreichend Ressourcen an dem Knoten verfügbar sind; Zuweisen von Ressourcen zu der Arbeitslast von verfügbaren Ressourcen des Knotens; Zurückfordern der Rückstellungsressourcen, die der Arbeitslast zugewiesen sind; und Anpassen des Rückstellungsressourcen-Verfügbarkeitsregisters basierend auf den Rückstellungsressourcen, die von der Arbeitslast zurückgefordert werden.
  • In Beispiel 25 beinhaltet der Gegenstand von Beispiel 14-24 Anweisungen, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Sammeln von Telemetriedaten von dem Knoten; und Auswerten der Telemetriedaten, um die Ressourcennutzung von Arbeitslasten, die auf dem Knoten ausgeführt werden, zu schätzen, wobei die verfügbaren Rückstellungsressourcen teilweise unter Verwendung der geschätzten Ressourcennutzung bestimmt werden.
  • In Beispiel 26 beinhaltet der Gegenstand von Beispiel 14-25 Anweisungen, die den mindestens einen Prozessor veranlassen, Operationen durchzuführen zum: Identifizieren von Dienstqualitätsmetriken für die Ressource, wobei die verfügbaren Rückstellungsressourcen teilweise unter Verwendung der Dienstqualitätsmetriken bestimmt werden.
  • Beispiel 27 ist ein Verfahren zur Ressourcenzuweisung mit begrenzter Dauer in einem Edge-Rechennetzwerk, das Folgendes umfasst: Berechnen verfügbarer Kapazität für Ressourcen eines Knotens des Edge-Rechennetzwerks basierend auf Arbeitslasten, die auf dem Knoten ausgeführt werden; Bestimmen verfügbarer Rückstellungsressourcen des Knotens basierend auf der verfügbaren Kapazität, wobei die verfügbaren Rückstellungsressourcen Ressourcen des Knotens bezeichnen, die einer Arbeitslast für eine begrenzte Zeitdauer zugewiesen werden sollen; Empfangen einer Dienstanforderung von einer Anwendung, die auf dem Edge-Rechenknoten ausgeführt wird; Bestimmen einer Prioritätskategorie für die Dienstanforderung; und Zuweisen, für eine begrenzte Zeitdauer, einer Rückstellungsressource von den verfügbaren Rückstellungsressourcen des Knotens zu einer Arbeitslast, die der Dienstanforderung zugeordnet ist, basierend auf der Prioritätskategorie.
  • In Beispiel 28 beinhaltet der Gegenstand von Beispiel 27 das Bestimmen, dass genutzte Ressourcen des Knotens außerhalb eines Ressourcenkapazitätsschwellenwerts liegen; und das Zurückfordern der Rückstellungsressourcen von der Arbeitslast.
  • In Beispiel 29 beinhaltet der Gegenstand von Beispiel 27-28, dass die Prioritätskategorie Best Effort ist, und ferner umfassend: Zuweisen einer Präemptionsverzögerung zu den Rückstellungsressourcen, die der Arbeitslast zugewiesen sind; Empfangen einer zweiten Dienstanforderung mit einer höheren Prioritätskategorie; Zurückfordern der Rückstellungsressourcen von der Arbeitslast; und Neuzuweisen der Rückstellungsressourcen zu einer zweiten Arbeitslast, die der zweiten Dienstanforderung zugeordnet ist.
  • In Beispiel 30 beinhaltet der Gegenstand von Beispiel 27-29 das Bestimmen, dass die Arbeitslast begrenzte Freigabekriterien nicht erfüllt; Einstellen einer Ressourcenfreigabezeit für die Arbeitslast; und Zurückfordern der Rückstellungsressourcen nach Ablauf der Ressourcenfreigabezeit.
  • In Beispiel 31 beinhaltet der Gegenstand von Beispiel 27-30 das Einstellen eines Ressourcenpräemptionsplans für die Rückstellungsressourcen, die der Arbeitslast zugewiesen sind, basierend auf der Prioritätskategorie; Bestimmen, dass sich die Prioritätskategorie der Arbeitslast geändert hat; und Anpassen des Ressourcenpräemptionsplans.
  • In Beispiel 32 beinhaltet der Gegenstand von Beispiel 27-31 das Vorhersagen eines zukünftigen Ressourcenverfügbarkeitswerts für den Knoten für einen zukünftigen Zeitraum; und das Bestimmen der Rückstellungsressourcen teilweise basierend auf dem zukünftigen Ressourcenverfügbarkeitswert.
  • In Beispiel 33 beinhaltet der Gegenstand von Beispiel 32 Identifizieren von Ausführungsparametern von Arbeitslastaufgaben, die auf dem Knoten ausgeführt werden; Generieren eines distribuierten Ausführungsplans für den Knoten unter Verwendung der Ausführungsparameter; und Vorhersagen der zukünftigen Ressourcenverfügbarkeit unter Verwendung des distribuierten Ausführungsplans.
  • In Beispiel 34 beinhaltet der Gegenstand von Beispiel 33, dass der distribuierte Ausführungsplan in Metasprache oder einer interpretierten Sprache ausgedrückt wird.
  • In Beispiel 35 beinhaltet der Gegenstand von Beispiel 33-34, dass der distribuierte Ausführungsplan den Aufgaben Token oder Kredite zuweist, um eine Prioritätskategorievariation zu begrenzen.
  • In Beispiel 36 beinhaltet der Gegenstand von Beispiel 27-35 das Beibehalten eines Rückstellungsressourcen-Verfügbarkeitsregisters für die Rückstellungsressourcen; und Aktualisieren des Rückstellungsressourcen-Verfügbarkeitsregisters basierend auf den Rückstellungsressourcen, die der Arbeitslast zugewiesen sind.
  • In Beispiel 37 beinhaltet der Gegenstand von Beispiel 36 das Bestimmen, dass ausreichend Ressourcen an dem Knoten verfügbar sind; Zuweisen von Ressourcen zu der Arbeitslast von verfügbaren Ressourcen des Knotens; Zurückfordern der Rückstellungsressourcen, die der Arbeitslast zugewiesen sind; und Anpassen des Rückstellungsressourcen-Verfügbarkeitsregisters basierend auf den Rückstellungsressourcen, die von der Arbeitslast zurückgefordert werden.
  • In Beispiel 38 beinhaltet der Gegenstand von Beispiel 27-37 das Sammeln von Telemetriedaten von dem Knoten; und Auswerten der Telemetriedaten, um die Ressourcennutzung von Arbeitslasten, die auf dem Knoten ausgeführt werden, zu schätzen, wobei die verfügbaren Rückstellungsressourcen teilweise unter Verwendung der geschätzten Ressourcennutzung bestimmt werden.
  • In Beispiel 39 beinhaltet der Gegenstand von Beispiel 27-38 Identifizieren von Dienstqualitätsmetriken für die Ressource, wobei die verfügbaren Rückstellungsressourcen teilweise unter Verwendung der Dienstqualitätsmetriken bestimmt werden.
  • Beispiel 40 ist mindestens ein maschinenlesbares Medium, das Anweisungen beinhaltet, die, wenn sie von einer Maschine ausgeführt werden, veranlassen, dass die Maschine ein beliebiges Verfahren von Beispiel 1-16 durchführt.
  • Beispiel 41 ist ein System, das Mittel zum Durchführen eines beliebigen Verfahrens von Beispiel 1-16 umfasst.
  • Beispiel 42 ist ein System zur Ressourcenzuweisung mit begrenzter Dauer in einem Edge-Rechennetzwerk, das Folgendes umfasst: Mittel zum Berechnen verfügbarer Kapazität für Ressourcen eines Knotens des Edge-Rechennetzwerks basierend auf Arbeitslasten, die auf dem Knoten ausgeführt werden; Mittel zum Bestimmen verfügbarer Rückstellungsressourcen des Knotens basierend auf der verfügbaren Kapazität, wobei die verfügbaren Rückstellungsressourcen Ressourcen des Knotens bezeichnen, die einer Arbeitslast für eine begrenzte Zeitdauer zugewiesen werden sollen; Mittel zum Empfangen einer Dienstanforderung von einer Anwendung, die auf dem Edge-Rechenknoten ausgeführt wird; Mittel zum Bestimmen einer Prioritätskategorie für die Dienstanforderung; und Mittel zum Zuweisen, für eine begrenzte Zeitdauer, einer Rückstellungsressource von den verfügbaren Rückstellungsressourcen des Knotens zu einer Arbeitslast, die der Dienstanforderung zugeordnet ist, basierend auf der Prioritätskategorie.
  • In Beispiel 43 beinhaltet der Gegenstand von Beispiel 42 Mittel zum Bestimmen, dass genutzte Ressourcen des Knotens außerhalb eines Ressourcenkapazitätsschwellenwerts liegen; und Mittel zum Zurückfordern der Rückstellungsressourcen von der Arbeitslast.
  • In Beispiel 44 beinhaltet der Gegenstand von Beispiel 42-43, dass die Prioritätskategorie Best Effort ist, und ferner umfassend: Mittel zum Zuweisen einer Präemptionsverzögerung zu den Rückstellungsressourcen, die der Arbeitslast zugewiesen sind; Mittel zum Empfangen einer zweiten Dienstanforderung mit einer höheren Prioritätskategorie; Mittel zum Zurückfordern der Rückstellungsressourcen von der Arbeitslast; und Neuzuweisen der Rückstellungsressourcen zu einer zweiten Arbeitslast, die der zweiten Dienstanforderung zugeordnet ist.
  • In Beispiel 45 beinhaltet der Gegenstand von Beispiel 42-44 Mittel zum Bestimmen, dass die Arbeitslast begrenzte Freigabekriterien nicht erfüllt; Mittel zum Einstellen einer Ressourcenfreigabezeit für die Arbeitslast; und Mittel zum Zurückfordern der Rückstellungsressourcen nach Ablauf der Ressourcenfreigabezeit.
  • In Beispiel 46 beinhaltet der Gegenstand von Beispiel 42-45 Mittel zum Einstellen eines Ressourcenpräemptionsplans für die Rückstellungsressourcen, die der Arbeitslast zugewiesen sind, basierend auf der Prioritätskategorie; Mittel zum Bestimmen, dass sich die Prioritätskategorie der Arbeitslast geändert hat; und Mittel zum Anpassen des Ressourcenpräemptionsplans.
  • In Beispiel 47 beinhaltet der Gegenstand von Beispiel 42-46 Mittel zum Vorhersagen eines zukünftigen Ressourcenverfügbarkeitswerts für den Knoten für einen zukünftigen Zeitraum; und Mittel zum Bestimmen der Rückstellungsressourcen teilweise basierend auf dem zukünftigen Ressourcenverfügbarkeitswert.
  • In Beispiel 48 beinhaltet der Gegenstand von Beispiel 47 Mittel zum Identifizieren von Ausführungsparametern von Arbeitslastaufgaben, die auf dem Knoten ausgeführt werden; Mittel zum Generieren eines distribuierten Ausführungsplans für den Knoten unter Verwendung der Ausführungsparameter; und Mittel zum Vorhersagen der zukünftigen Ressourcenverfügbarkeit unter Verwendung des distribuierten Ausführungsplans.
  • In Beispiel 49 beinhaltet der Gegenstand von Beispiel 48, dass der distribuierte Ausführungsplan in Metasprache oder einer interpretierten Sprache ausgedrückt wird.
  • In Beispiel 50 beinhaltet der Gegenstand von Beispiel 48-49, dass der distribuierte Ausführungsplan den Aufgaben Token oder Kredite zuweist, um eine Prioritätskategorievariation zu begrenzen.
  • In Beispiel 51 beinhaltet der Gegenstand von Beispiel 42-50 Mittel zum Beibehalten eines Rückstellungsressourcen-Verfügbarkeitsregisters für die Rückstellungsressourcen; und Mittel zum Aktualisieren des Rückstellungsressourcen-Verfügbarkeitsregisters basierend auf den Rückstellungsressourcen, die der Arbeitslast zugewiesen sind.
  • In Beispiel 52 beinhaltet der Gegenstand von Beispiel 51 Mittel zum Bestimmen, dass ausreichend Ressourcen an dem Knoten verfügbar sind; Mittel zum Zuweisen von Ressourcen zu der Arbeitslast von verfügbaren Ressourcen des Knotens; Mittel zum Zurückfordern der Rückstellungsressourcen, die der Arbeitslast zugewiesen sind; und Mittel zum Anpassen des Rückstellungsressourcen-Verfügbarkeitsregisters basierend auf den Rückstellungsressourcen, die von der Arbeitslast zurückgefordert werden.
  • In Beispiel 53 beinhaltet der Gegenstand von Beispiel 42-52 Mittel zum Sammeln von Telemetriedaten von dem Knoten; und Mittel zum Auswerten der Telemetriedaten, um die Ressourcennutzung von Arbeitslasten, die auf dem Knoten ausgeführt werden, zu schätzen, wobei die verfügbaren Rückstellungsressourcen teilweise unter Verwendung der geschätzten Ressourcennutzung bestimmt werden.
  • In Beispiel 54 beinhaltet der Gegenstand von Beispiel 42-53 Mittel zum Identifizieren von Dienstqualitätsmetriken für die Ressource, wobei die verfügbaren Rückstellungsressourcen teilweise unter Verwendung der Dienstqualitätsmetriken bestimmt werden.
  • Beispiel 55 ist mindestens ein maschinenlesbares Medium, das Anweisungen beinhaltet, die bei Ausführung durch eine Verarbeitungsschaltlogik veranlassen, dass die Verarbeitungsschaltlogik Operationen zum Implementieren eines der Beispiele 1-54 durchführt.
  • Beispiel 56 ist eine Einrichtung, die Mittel zum Implementieren eines der Beispiele 1-54 umfasst.
  • Beispiel 57 ist ein System zum Implementieren eines beliebigen der Beispiele 1-54.
  • Beispiel 58 ist ein Verfahren zum Implementieren eines der Beispiele 1-54.
  • Beispiel 59 ist eine Einrichtung eines Edge-Rechensystems, das Folgendes umfasst: einen oder mehrere Prozessoren und ein oder mehrere computerlesbare Medien, die Anweisungen umfassen, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, bewirken, dass der eine oder die mehreren Prozessoren eines der Verfahren von Beispiel 1 bis 54 durchführen.
  • Beispiel 60 ist ein oder mehrere computerlesbare Speicherungsmedien, die Anweisungen umfassen, um zu bewirken, dass eine elektronische Vorrichtung eines Edge-Rechensystems bei Ausführung der Anweisungen durch einen oder mehrere Prozessoren der elektronischen Vorrichtung eines der Verfahren zur Ressourcenzuweisung mit begrenzter Dauer der Beispiele 1 bis 54 durchführt.
  • Beispiel 61 ist ein Computerprogramm, das in einem Edge-Rechensystem verwendet wird, wobei das Computerprogramm Anweisungen umfasst, wobei die Ausführung des Programms durch ein Verarbeitungselement in dem Edge-Rechensystem bewirken soll, dass das Verarbeitungselement eines der Verfahren zur Ressourcenzuweisung mit begrenzter Dauer der Beispiele 1 bis 54 durchführt.
  • Beispiel 62 ist eine Edge-Rechengerätevorrichtung, die als ein eigenständiges Verarbeitungssystem arbeitet, das ein Gehäuse, eine Hülle oder eine Schale, eine Netzwerkkommunikationsschaltlogik, eine Speicherungsspeicherschaltlogik und eine Prozessorschaltlogik umfasst, die ausgelegt sind, eines der Verfahren zur Ressourcenzuweisung mit begrenzter Dauer von Beispiel 1 bis 54 durchzuführen.
  • Beispiel 63 ist eine Vorrichtung eines Edge-Rechensystems, das Mittel zum Durchführen eines beliebigen der Verfahren zur Ressourcenzuweisung mit begrenzter Dauer von Beispiel 1 bis 54 umfasst.
  • Beispiel 64 ist eine Einrichtung eines Edge-Rechensystems, das Logik, Module oder Schaltlogik umfasst, um eines der Verfahren zur Ressourcenzuweisung mit begrenzter Dauer von Beispiel 1 bis 54 durchzuführen.
  • Obwohl diese Implementierungen unter Bezugnahme auf spezifische beispielhafte Aspekte beschrieben wurden, versteht es sich, dass verschiedene Modifikationen und Änderungen an diesen Aspekten vorgenommen werden können, ohne von dem breiteren Schutzumfang der vorliegenden Offenbarung abzuweichen. Viele der hierin beschriebenen Anordnungen und Prozesse können in Kombination oder in parallelen Implementierungen verwendet werden, um eine größere Bandbreite/einen größeren Durchsatz bereitzustellen und Edge-Dienstauswahlen zu unterstützen, die den zu bedienenden Edge-Systemen zur Verfügung gestellt werden können. Entsprechend sind die Beschreibung und die Zeichnungen in einem veranschaulichenden und nicht in einem einschränkenden Sinne aufzufassen. Die begleitenden Zeichnungen, die einen Teil hiervon bilden, zeigen spezielle Aspekte, in denen der Gegenstand ausgeführt werden kann, als Veranschaulichung und nicht als Beschränkung. Die veranschaulichten Aspekte sind hinreichend detailliert beschrieben, um einen Fachmann zu befähigen, die hier offenbarten Lehren auszuüben. Andere Aspekte können genutzt und aus diesen abgeleitet werden, so dass strukturelle und logische Substitutionen und Änderungen vorgenommen werden können, ohne den Schutzumfang dieser Offenbarung zu verlassen. Diese ausführliche Beschreibung ist daher nicht in einem beschränkenden Sinn aufzufassen und der Schutzumfang verschiedener Aspekte ist nur durch die angehängten Ansprüche, zusammen mit dem vollen Umfang von Äquivalenten, zu denen solche Ansprüche berechtigt sind, definiert.
  • Auf solche Aspekte des erfinderischen Gegenstands kann hierin einzeln und/oder gemeinsam lediglich der Einfachheit halber und ohne die Absicht, den Schutzumfang dieser Anmeldung willkürlich auf einen beliebigen einzelnen Aspekt oder einen beliebigen einzelnen Erfindungsgedanken zu beschränken, falls tatsächlich mehr als einer offenbart ist, verwiesen werden. Obwohl spezielle Aspekte hierin veranschaulicht und beschrieben wurden, sollte man daher verstehen, dass eine beliebige Einrichtung, die berechnet ist, um denselben Zweck zu erfüllen, die gezeigten speziellen Ausführungsformen ersetzen kann. Diese Offenbarung soll beliebige und alle Anpassungen oder Variationen verschiedener Aspekte abdecken. Kombinationen der obigen Aspekte und andere Aspekte, die hierin nicht speziell beschrieben sind, ergeben sich für Fachleute bei der Durchsicht der oben stehenden Beschreibung.

Claims (25)

  1. System zur Ressourcenzuweisung mit begrenzter Dauer in einem Edge-Rechennetzwerk, umfassend: mindestens einen Prozessor; und Speicher, der Anweisungen beinhaltet, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, bewirken, dass der mindestens eine Prozessor Operationen durchführt zum: Berechnen einer verfügbaren Kapazität für Ressourcen eines Knotens des Edge-Rechennetzwerks basierend auf Arbeitslasten, die auf dem Knoten ausgeführt werden; Bestimmen verfügbarer Rückstellungsressourcen des Knotens basierend auf der verfügbaren Kapazität, wobei die verfügbaren Rückstellungsressourcen Ressourcen des Knotens bezeichnen, die einer Arbeitslast für eine begrenzte Zeitdauer zugewiesen werden sollen; Empfangen einer Dienstanforderung von einer Anwendung, die auf dem Edge-Rechenknoten ausgeführt wird; Bestimmen einer Prioritätskategorie für die Dienstanforderung; und Zuweisen, für eine begrenzte Zeitdauer, einer Arbeitslast, die der Dienstanforderung zugeordnet ist, einer Rückstellungsressource aus den verfügbaren Rückstellungsressourcen des Knotens basierend auf der Prioritätskategorie.
  2. System nach Anspruch 1, wobei der Speicher ferner Anweisungen umfasst, die bewirken, dass der mindestens eine Prozessor Operationen durchführt zum: Bestimmen, dass genutzte Ressourcen des Knotens außerhalb einer Ressourcenkapazitätsschwelle liegen; und Zurückfordern der Rückstellungsressourcen von der Arbeitslast.
  3. System nach Anspruch 1, wobei die Prioritätskategorie Best Effort ist und der Speicher ferner Anweisungen umfasst, die bewirken, dass der mindestens eine Prozessor Operationen durchführt zum: Zuweisen einer Präemptionsverzögerung den Rückstellungsressourcen, die der Arbeitslast zugewiesen sind; Empfangen einer zweiten Dienstanforderung mit einer höheren Prioritätskategorie; Zurückfordern der Rückstellungsressourcen von der Arbeitslast; und Neuzuweisen der Rückstellungsressourcen einer zweiten Arbeitslast, die der zweiten Dienstanforderung zugeordnet ist.
  4. System nach Anspruch 1, wobei der Speicher ferner Anweisungen umfasst, die bewirken, dass der mindestens eine Prozessor Operationen durchführt zum: Bestimmen, dass die Arbeitslast begrenzte Freigabekriterien nicht erfüllt; Einstellen einer Ressourcenfreigabezeit für die Arbeitslast; und Zurückfordern der Rückstellungsressourcen nach Ablauf der Ressourcenfreigabezeit.
  5. System nach Anspruch 1, wobei der Speicher ferner Anweisungen umfasst, die bewirken, dass der mindestens eine Prozessor Operationen durchführt zum: Einstellen eines Ressourcenpräemptionsplans für die Rückstellungsressourcen, die der Arbeitslast zugewiesen sind, basierend auf der Prioritätskategorie; Bestimmen, dass sich die Prioritätskategorie der Arbeitslast geändert hat; und Anpassen des Ressourcenpräemptionsplans.
  6. System nach Anspruch 1, wobei der Speicher ferner Anweisungen umfasst, die bewirken, dass der mindestens eine Prozessor Operationen durchführt zum: Vorhersagen eines zukünftigen Ressourcenverfügbarkeitswerts für den Knoten für einen zukünftigen Zeitraum; und Bestimmen der Rückstellungsressourcen teilweise basierend auf dem zukünftigen Ressourcenverfügbarkeitswert.
  7. System nach Anspruch 6, wobei der Speicher ferner Anweisungen umfasst, die bewirken, dass der mindestens eine Prozessor Operationen durchführt zum: Identifizieren von Ausführungsparametern von Arbeitslastaufgaben, die auf dem Knoten ausgeführt werden; Generieren eines distribuierten Ausführungsplans für den Knoten unter Verwendung der Ausführungsparameter; und Vorhersagen der zukünftigen Ressourcenverfügbarkeit unter Verwendung des distribuierten Ausführungsplans.
  8. System nach Anspruch 1, wobei der Speicher ferner Anweisungen umfasst, die bewirken, dass der mindestens eine Prozessor Operationen durchführt zum: Aufrechterhalten eines Rückstellungsressourcen-Verfügbarkeitsregisters für die Rückstellungsressourcen; und Aktualisieren des Rückstellungsressourcen-Verfügbarkeitsregisters basierend auf den Rückstellungsressourcen, die der Arbeitslast zugewiesen sind.
  9. System nach Anspruch 8, wobei der Speicher ferner Anweisungen umfasst, die bewirken, dass der mindestens eine Prozessor Operationen durchführt zum: Bestimmen, dass ausreichend Ressourcen an dem Knoten verfügbar sind; Zuweisen von Ressourcen zu der Arbeitslast von verfügbaren Ressourcen des Knotens; Zurückfordern der Rückstellungsressourcen, die der Arbeitslast zugewiesen sind; und Anpassen des Rückstellungsressourcen-Verfügbarkeitsregisters basierend auf den Rückstellungsressourcen, die von der Arbeitslast zurückgefordert werden.
  10. System nach Anspruch 1, wobei der Speicher ferner Anweisungen umfasst, die bewirken, dass der mindestens eine Prozessor Operationen durchführt zum: Sammeln von Telemetriedaten von dem Knoten; und Auswerten der Telemetriedaten, um die Ressourcennutzung von Arbeitslasten, die auf dem Knoten ausgeführt werden, zu schätzen, wobei die verfügbaren Rückstellungsressourcen teilweise unter Verwendung der geschätzten Ressourcennutzung bestimmt werden.
  11. System nach Anspruch 1, wobei der Speicher ferner Anweisungen umfasst, die bewirken, dass der mindestens eine Prozessor Operationen durchführt zum: Identifizieren von Dienstqualitätsmetriken für die Ressource, wobei die verfügbaren Rückstellungsressourcen teilweise unter Verwendung der Dienstqualitätsmetriken bestimmt werden.
  12. Verfahren zur Ressourcenzuweisung mit begrenzter Dauer in einem Edge-Rechennetzwerk, umfassend: Berechnen einer verfügbaren Kapazität für Ressourcen eines Knotens des Edge-Rechennetzwerks basierend auf Arbeitslasten, die auf dem Knoten ausgeführt werden; Bestimmen verfügbarer Rückstellungsressourcen des Knotens basierend auf der verfügbaren Kapazität, wobei die verfügbaren Rückstellungsressourcen Ressourcen des Knotens bezeichnen, die einer Arbeitslast für eine begrenzte Zeitdauer zugewiesen werden sollen; Empfangen einer Dienstanforderung von einer Anwendung, die auf dem Edge-Rechenknoten ausgeführt wird; Bestimmen einer Prioritätskategorie für die Dienstanforderung; und Zuweisen, für eine begrenzte Zeitdauer, einer Arbeitslast, die der Dienstanforderung zugeordnet ist, einer Rückstellungsressource aus den verfügbaren Rückstellungsressourcen des Knotens basierend auf der Prioritätskategorie.
  13. Verfahren nach Anspruch 12, ferner umfassend: Bestimmen, dass genutzte Ressourcen des Knotens außerhalb eines Ressourcenkapazitätsschwellenwerts liegen; und Zurückfordern der Rückstellungsressourcen von der Arbeitslast.
  14. Verfahren nach Anspruch 12, wobei die Prioritätskategorie Best Effort ist und ferner Folgendes umfasst: Zuweisen einer Präemptionsverzögerung den Rückstellungsressourcen, die der Arbeitslast zugewiesen sind; Empfangen einer zweiten Dienstanforderung mit einer höheren Prioritätskategorie; Zurückfordern der Rückstellungsressourcen von der Arbeitslast; und Neuzuweisen der Rückstellungsressourcen einer zweiten Arbeitslast, die der zweiten Dienstanforderung zugeordnet ist.
  15. Verfahren nach Anspruch 12, ferner umfassend: Bestimmen, dass die Arbeitslast begrenzte Freigabekriterien nicht erfüllt; Einstellen einer Ressourcenfreigabezeit für die Arbeitslast; und Zurückfordern der Rückstellungsressourcen nach Ablauf der Ressourcenfreigabezeit.
  16. Verfahren nach Anspruch 12, ferner umfassend: Einstellen eines Ressourcenpräemptionsplans für die Rückstellungsressourcen, die der Arbeitslast zugewiesen sind, basierend auf der Prioritätskategorie; Bestimmen, dass sich die Prioritätskategorie der Arbeitslast geändert hat; und Anpassen des Ressourcenpräemptionsplans.
  17. Verfahren nach Anspruch 12, ferner umfassend: Vorhersagen eines zukünftigen Ressourcenverfügbarkeitswerts für den Knoten für einen zukünftigen Zeitraum; und Bestimmen der Rückstellungsressourcen teilweise basierend auf dem zukünftigen Ressourcenverfügbarkeitswert.
  18. Verfahren nach Anspruch 17, ferner umfassend: Identifizieren von Ausführungsparametern von Arbeitslastaufgaben, die auf dem Knoten ausgeführt werden; Generieren eines distribuierten Ausführungsplans für den Knoten unter Verwendung der Ausführungsparameter; und Vorhersagen der zukünftigen Ressourcenverfügbarkeit unter Verwendung des distribuierten Ausführungsplans.
  19. Verfahren nach Anspruch 18, wobei der distribuierte Ausführungsplan in Metasprache oder einer interpretierten Sprache ausgedrückt wird.
  20. Verfahren nach Anspruch 18, wobei der distribuierte Ausführungsplan den Aufgaben Token oder Kredite zuweist, um eine Prioritätskategorievariation zu begrenzen.
  21. Verfahren nach Anspruch 12, ferner umfassend: Aufrechterhalten eines Rückstellungsressourcen-Verfügbarkeitsregisters für die Rückstellungsressourcen; und Aktualisieren des Rückstellungsressourcen-Verfügbarkeitsregisters basierend auf den Rückstellungsressourcen, die der Arbeitslast zugewiesen sind.
  22. Verfahren nach Anspruch 21, ferner umfassend: Bestimmen, dass ausreichend Ressourcen an dem Knoten verfügbar sind; Zuweisen von Ressourcen zu der Arbeitslast von verfügbaren Ressourcen des Knotens; Zurückfordern der Rückstellungsressourcen, die der Arbeitslast zugewiesen sind; und Anpassen des Rückstellungsressourcen-Verfügbarkeitsregisters basierend auf den Rückstellungsressourcen, die von der Arbeitslast zurückgefordert werden.
  23. Verfahren nach Anspruch 12, ferner umfassend: Sammeln von Telemetriedaten von dem Knoten; und Auswerten der Telemetriedaten, um die Ressourcennutzung von Arbeitslasten, die auf dem Knoten ausgeführt werden, zu schätzen, wobei die verfügbaren Rückstellungsressourcen teilweise unter Verwendung der geschätzten Ressourcennutzung bestimmt werden.
  24. Verfahren nach Anspruch 12, ferner umfassend: Identifizieren von Dienstqualitätsmetriken für die Ressource, wobei die verfügbaren Rückstellungsressourcen teilweise unter Verwendung der Dienstqualitätsmetriken bestimmt werden.
  25. Maschinenlesbares Medium, das Anweisungen beinhaltet, die, wenn sie von einer Maschine ausgeführt werden, bewirken, dass die Maschine ein beliebiges Verfahren nach Anspruch 12 bis 24 durchführt.
DE102021209146.6A 2020-09-22 2021-08-19 Adaptive edge-ressourcenverwaltung mit begrenzter dauer Pending DE102021209146A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/028,809 2020-09-22
US17/028,809 US11630706B2 (en) 2020-09-22 2020-09-22 Adaptive limited-duration edge resource management

Publications (1)

Publication Number Publication Date
DE102021209146A1 true DE102021209146A1 (de) 2022-03-24

Family

ID=74102295

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021209146.6A Pending DE102021209146A1 (de) 2020-09-22 2021-08-19 Adaptive edge-ressourcenverwaltung mit begrenzter dauer

Country Status (3)

Country Link
US (1) US11630706B2 (de)
CN (1) CN114257599A (de)
DE (1) DE102021209146A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11630706B2 (en) 2020-09-22 2023-04-18 Intel Corporation Adaptive limited-duration edge resource management

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073542B (zh) * 2020-11-12 2021-02-05 腾讯科技(深圳)有限公司 雾节点调度方法、装置、计算机设备和存储介质
US20210117307A1 (en) * 2020-12-26 2021-04-22 Chris M. MacNamara Automated verification of platform configuration for workload deployment
US20220222122A1 (en) * 2021-01-08 2022-07-14 Dell Products L.P. Model-based resource allocation for an information handling system
US20220269656A1 (en) * 2021-02-25 2022-08-25 HCL America Inc. Resource unit management database and system for storing and managing information about information technology resources
CN112948114B (zh) * 2021-03-01 2023-11-10 中国联合网络通信集团有限公司 边缘计算方法和边缘计算平台
WO2022221389A1 (en) * 2021-04-14 2022-10-20 The Curators Of The University Of Missouri Method and system for intelligent and scalable misbehavior detection of heterogeneous iot devices at network edge
DE102021111950A1 (de) 2021-05-07 2022-11-10 Technische Universität Braunschweig, Körperschaft des öffentlichen Rechts Verfahren zur Koordination des Zugriffs auf Ressourcen eines verteilten Computersystems, Computersystem und Computerprogramm
US20220413925A1 (en) * 2021-06-25 2022-12-29 International Business Machines Corporation Dynamic clustering of edge cluster resources
US20230029380A1 (en) * 2021-07-06 2023-01-26 Unifabrix Ltd System and method of multilateral computer resource reallocation and asset transaction migration and management
CN113608871A (zh) * 2021-08-02 2021-11-05 腾讯科技(深圳)有限公司 业务处理方法及装置
CN113608875B (zh) * 2021-08-10 2023-09-12 天津大学 一种高吞吐云计算资源回收系统
WO2023048747A1 (en) * 2021-09-24 2023-03-30 Intel Corporation Systems, apparatus, articles of manufacture, and methods for cross training and collaborative artificial intelligence for proactive data management and analytics
CN114035935A (zh) * 2021-10-13 2022-02-11 上海交通大学 面向多阶段ai云服务的高吞吐异构资源管理方法及器件
US11755375B2 (en) * 2021-11-29 2023-09-12 Red Hat, Inc. Aggregating host machines into a single cloud node for workloads requiring excessive resources
DE102022200831A1 (de) * 2022-01-26 2023-07-27 Robert Bosch Gesellschaft mit beschränkter Haftung Überwachungsvorrichtung und Verfahren zur bildbasierten Überwachung eines Überwachungsbereichs, Computerprogramm und Speichermedium
DE102022200906A1 (de) * 2022-01-27 2023-07-27 Robert Bosch Gesellschaft mit beschränkter Haftung Überwachungsvorrichtung, Verfahren, Computerprogramm und Speichermedium
US11953972B2 (en) * 2022-04-06 2024-04-09 International Business Machines Corporation Selective privileged container augmentation
US11824794B1 (en) * 2022-05-20 2023-11-21 Kyndryl, Inc. Dynamic network management based on predicted usage
US20240089218A1 (en) * 2022-09-14 2024-03-14 At&T Intellectual Property I, L.P. System and method of software defined network enabled slicing as a service utilizing artificial intelligence
CN115883486B (zh) * 2022-11-25 2024-05-03 天津大学 边缘云混部场景下的服务动态纵向扩缩与保障方法及系统
CN117519950B (zh) * 2024-01-02 2024-04-05 河北红星汽车制造有限公司 一种cae任务管理方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443373B2 (en) * 2010-01-26 2013-05-14 Microsoft Corporation Efficient utilization of idle resources in a resource manager
US8589936B2 (en) * 2010-03-16 2013-11-19 Alcatel Lucent Method and apparatus for managing reallocation of system resources
US10310911B2 (en) * 2014-03-14 2019-06-04 Google Llc Solver for cluster management system
US10025684B2 (en) * 2014-09-24 2018-07-17 Microsoft Technology Licensing, Llc Lending target device resources to host device computing environment
US10223147B2 (en) * 2016-08-19 2019-03-05 International Business Machines Corporation Resource allocation in high availability (HA) systems
US11216306B2 (en) * 2017-06-29 2022-01-04 Intel Corporation Technologies for dynamically sharing remote resources across remote computing nodes
CN110022337A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 资源调度方法、装置、设备和系统
US10579423B2 (en) * 2018-04-02 2020-03-03 Microsoft Technology Licensing, Llc Resource scheduling using machine learning
US10831539B2 (en) * 2019-03-18 2020-11-10 International Business Machines Corporation Hardware thread switching for scheduling policy in a processor
US11630706B2 (en) 2020-09-22 2023-04-18 Intel Corporation Adaptive limited-duration edge resource management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11630706B2 (en) 2020-09-22 2023-04-18 Intel Corporation Adaptive limited-duration edge resource management

Also Published As

Publication number Publication date
CN114257599A (zh) 2022-03-29
US20210011765A1 (en) 2021-01-14
US11630706B2 (en) 2023-04-18

Similar Documents

Publication Publication Date Title
DE102021209146A1 (de) Adaptive edge-ressourcenverwaltung mit begrenzter dauer
DE102022212115A1 (de) Systeme und verfahren zur reaktiven, absichtsgesteuerten end-to-end-orchestrierung
DE102021209145A1 (de) Verfahren und vorrichtung zum koordinieren von edge-plattformen
US20210014114A1 (en) Methods, apparatus, and articles of manufacture for workload placement in an edge environment
DE102020125219A1 (de) End-to-end -dienstqualität in edge-computing -umgebungen
US20200228602A1 (en) Computer-readable storage medium, an apparatus and a method to select access layer devices to deliver services to clients in an edge computing system
EP3972295A1 (de) Geofence-basierte kantendienststeuerung und authentifizierung
EP4180953A1 (de) Orchestrator-ausführungsplanung unter verwendung eines verteilten ledgers
DE112020003742T5 (de) Verfahren, systeme, erzeugnisse und vorrichtungen zur verbesserung von jobplanungseffizienz
US20210004265A1 (en) Elastic power scaling
DE102020128209A1 (de) Automatische Plattformressourcenverwaltung in Edge-Computing-Umgebungen
DE102022203247A1 (de) Disintermedierte Attestierung in einem MEC-Service-MESH-Framework
DE102021210705A1 (de) Intelligente datenweiterleitung in edge-netzen
DE102021207160A1 (de) Verfahren und einrichtung zur verwaltung der dienstgüte in bezug auf service-level-agreements in einer rechenvorrichtung
CN114666876A (zh) 边缘设备的自适应功率管理
DE102021117809A1 (de) Einrichtungen, Systeme, Fabrikate und Verfahren zur Datenlebenszyklusverwaltung in einer Edge-Umgebung
DE102022121192A1 (de) Systeme und verfahren für die prüfung vernetzter geräte
DE102021209043A1 (de) Methods and apparatus to select a location of execution of a computation
US20220116289A1 (en) Adaptive cloud autoscaling
DE102021121267A1 (de) Verfahren, Systeme, Vorrichtungen und Erzeugnisse zur Verwaltung des Zugriffs auf dezentrale Data Lakes
DE102021211772A1 (de) Verfahren und einrichtung zur ermöglichung von sicherem multikohärentem poolspeicher in einem edge-netzwerk
DE112021003825T5 (de) Föderiertes lernen für mehrfachzugang-funkressourcenverwaltungsoptimierungen
DE102021212974A1 (de) Automatische eskalation von vertrauensnachweisen
DE102022208681A1 (de) Schichtübergreifende automatisierte fehlernachverfolgung und anomaliedetektion
DE112021003656T5 (de) Rollendelegierung bei attestierungsverifizierern

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)