DE102019105193A1 - Technologien zum beschleunigen von edge-vorrichtungsarbeitslasten - Google Patents

Technologien zum beschleunigen von edge-vorrichtungsarbeitslasten Download PDF

Info

Publication number
DE102019105193A1
DE102019105193A1 DE102019105193.2A DE102019105193A DE102019105193A1 DE 102019105193 A1 DE102019105193 A1 DE 102019105193A1 DE 102019105193 A DE102019105193 A DE 102019105193A DE 102019105193 A1 DE102019105193 A1 DE 102019105193A1
Authority
DE
Germany
Prior art keywords
received request
identified
afaas
accelerated
faas
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
DE102019105193.2A
Other languages
English (en)
Inventor
Francesc Guim Bernat
Mohan Kumar
Karthik Kumar
Suraj Prabhakaran
Anil Rao
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 DE102019105193A1 publication Critical patent/DE102019105193A1/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/33Flow control; Congestion control using forward notification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • 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

Landscapes

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

Abstract

Technologien zum Beschleunigen von Edge-Vorrichtungsarbeitslasten in einem Vorrichtungs-Edge-Netzwerk umfassen eine Netzwerk-Datenverarbeitungsvorrichtung, die eine Prozessorplattform, die mindestens einen Prozessor umfasst, der mehrere nicht beschleunigte Funktion-als-Dienst- bzw. FaaS-Operationen unterstützt, und eine beschleunigte Plattform, die mindestens einen Beschleuniger umfasst, der mehrere beschleunigte FaaS- bzw. AFaaS-Operationen unterstützt, umfasst. Die Netzwerk-Datenverarbeitungsvorrichtung ist ausgelegt zum Empfangen einer Anforderung, eine FaaS-Operation auszuführen, Bestimmen, ob die empfangene Anforderung angibt, dass eine AFaaS-Operation an der empfangenen Anforderung auszuführen ist, und Identifizieren von Rechenanforderungen für die auszuführende AFaaS-Operation. Die Netzwerk-Datenverarbeitungsvorrichtung ist ferner ausgelegt zum Auswählen einer Beschleunigerplattform zum Ausführen der identifizierten AFaaS-Operation und Weiterleiten der empfangenen Anforderung zu der ausgewählten Beschleunigerplattform, um die identifizierte AFaaS-Operation auszuführen. Es werden andere Ausführungsformen beschrieben und beansprucht.

Description

  • STAND DER TECHNIK
  • Mobile Datenverarbeitungsvorrichtungen, Fahrzeuge, Geräte, industrielle Ausrüstung und andere Arten von internetbefähigten Vorrichtungen werden anscheinend allgegenwärtig. Solche Vorrichtungen laden typischerweise rechnerische Arbeitslast ab, um so Energie- und/oder Rechenressourcen zu sparen, typischerweise auch in Abhängigkeit von drahtloser Kommunikation, die latenzempfindlich ist, um gesammelte Informationen zu den Vorrichtungen zu transferieren und rechnerische Ergebnisinformationen von ihnen zu empfangen. Obwohl moderne Datenverarbeitungssysteme weiter in Richtung von Servern auf Cloud-Basis, die die notwendigen Berechnungen/Speicherung durchführen, und zu einer drahtlosen Netzwerkinfrastruktur zur Ermöglichung des Transfers von Daten tendieren, können einem solchen Ansatz unerwünschte Latenzen zugeordnet sein. Dementsprechend haben sich mehr Berechnungsunterstützungsvorrichtungen aus der Cloud heraus und von dieser weg und näher hin zu den primären Vorrichtungen selbst bewegt.
  • Solche Edge-Architekturen nutzen wirksam Server, Anwendungen und kleine Clouds (z. B. Cloudlets) am Rand des traditionellen Netzwerks, um Datenverarbeitung näher bei der Quelle der Daten durchzuführen. Zum Beispiel ist Mehrfachzugriff-Edge-Datenverarbeitung (MEC) eine solche Edge-Netzwerkarchitektur, die Cloud-Datenverarbeitungsfähigkeiten am Rand eines Mobilfunknetzes ermöglicht, wodurch eine hochverteilte Datenverarbeitungsumgebung bereitgestellt wird, die für den Einsatz von Anwendungen und Diensten sowie zum Speichern und Verarbeiten von Inhalt in dichter Nähe zu mobilen Benutzern verwendet werden kann. Physische Platzbeschränkungen können jedoch oft die Menge an Rechnung und Speicherung begrenzen, die in der Edge-Vorrichtung zur Verfügung gestellt werden kann, wodurch potentiell das Ausmaß behindert wird.
  • Figurenliste
  • Die hier beschriebenen Konzepte werden in den beigefügten Figuren beispielhaft und nicht zur Beschränkung dargestellt. Der Einfachheit und Klarheit der Darstellung halber sind in den Figuren dargestellte Elemente nicht unbedingt maßstabsgetreu gezeichnet. Wenn es als angemessen betrachtet wird, wurden Bezugskennzeichnungen in den Figuren wiederholt, um entsprechende oder analoge Elemente anzugeben.
    • 1 ist eine vereinfachte Blockdarstellung mindestens einer Ausführungsform eines Systems zur Beschleunigung von Edge-Vorrichtungsarbeitslasten;
    • 2 ist eine vereinfachte Blockdarstellung mindestens einer Ausführungsform der Endpunkt-Datenverarbeitungsvorrichtung des Systems von 1;
    • 3 ist eine vereinfachte Blockdarstellung mindestens einer Ausführungsform der Vorrichtungs-Edge-Datenverarbeitungsvorrichtung des Systems von 1;
    • 4 ist eine vereinfachte Blockdarstellung mindestens einer Ausführungsform einer Umgebung, die durch die Vorrichtungs-Edge-Datenverarbeitungsvorrichtung von 1 und 3 hergestellt werden kann; und
    • 5A und 5B sind ein vereinfachtes Flussdiagramm mindestens einer Ausführungsform eines Verfahrens zum Beschleunigen von Edge-Vorrichtungsarbeitslasten, das durch die Vorrichtungs-Edge-Datenverarbeitungsvorrichtung von 1, 3 und 4 ausgeführt werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN
  • Während die Konzepte der vorliegenden Offenbarung für verschiedene Modifikationen und alternative Formen offen sind, wurden hier beispielhaft spezifische Ausführungsformen davon in den Zeichnungen gezeigt, die hier ausführlich beschrieben werden. Es versteht sich jedoch, dass keine Absicht besteht, die Konzepte der vorliegenden Offenbarung auf die konkreten offenbarten Formen zu beschränken, sondern dass im Gegenteil die Erfindung alle Modifikationen, Äquivalente und Alternativen abdecken soll, die mit der vorliegenden Offenbarung und den angefügten Ansprüchen vereinbar sind.
  • Erwähnungen von „einer Ausführungsform“, „eine Ausführungsform“, „eine beispielhafte Ausführungsform“ usw. in der Beschreibung geben an, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Charakteristikum umfassen kann, aber nicht unbedingt jede Ausführungsform dieses konkrete Merkmal, diese konkrete Struktur oder dieses konkrete Charakteristikum umfasst. Außerdem beziehen sich solche Ausdrücke nicht unbedingt auf dieselbe Ausführungsform. Wenn ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Charakteristikum in Verbindung mit einer Ausführungsform beschrieben wird, versteht sich ferner, dass es innerhalb der Fähigkeiten von Fachleuten liegt, ein solches Merkmal, eine solche Struktur oder ein solches Charakteristikum in Verbindung mit anderen Ausführungsformen zu bewirken, gleichgültig, ob es ausdrücklich beschrieben wird oder nicht. Zusätzlich versteht sich, dass in einer Liste der Form „mindestens eines von A, B und C“ enthaltene Posten (A); (B) ; (C) ; (A und B); (A und C); (B und C); oder (A, B und C) bedeuten können. Ähnlich können Posten, die in der Form „mindestens eines von A, B oder C“ aufgelistet sind, (A) ; (B) ; (C) ; (A und B); (A und C) ; (B und C); oder (A, B und C) bedeuten.
  • Die offenbarten Ausführungsformen können in einigen Fällen in Hardware, Firmware, Software oder einer beliebigen Kombination davon implementiert werden. Außerdem können die offenbarten Ausführungsformen als Anweisungen implementiert werden, die auf einem transitorischen oder nichttransitorischen maschinenlesbaren (z. B. computerlesbaren) Speicherungsmedium gespeichert sind, das durch einen oder mehrere Prozessoren gelesen und ausgeführt werden kann. Ein maschinenlesbares Speicherungsmedium kann als eine beliebige Speicherungsvorrichtung, ein beliebiger Mechanismus oder eine beliebige andere physische Struktur zum Speichern oder Übertragen von Informationen in einer durch eine Maschine lesbaren Form (z. B. ein flüchtiger oder nichtflüchtiger Speicher, ein Medien-Datenträger oder eine andere Medienvorrichtung) realisiert werden.
  • In den Zeichnungen können einige strukturelle oder Verfahrensmerkmale in spezifischen Anordnungen und/oder Reihenfolgen gezeigt sein. Es versteht sich jedoch, dass solche spezifischen Anordnungen und/oder Reihenfolgen nicht erforderlich sein müssen. Stattdessen können bei einigen Ausführungsformen solche Merkmale auf eine andere Weise und/oder in einer anderen Reihenfolge als in den beispielhaften Figuren gezeigt angeordnet sein. Außerdem ist aus der Aufnahme eines strukturellen oder Verfahrensmerkmals in eine bestimmte Figur nicht zu folgern, dass ein solches Merkmal bei allen Ausführungsformen erforderlich ist, und bei einigen Ausführungsformen kann es nicht enthalten oder mit anderen Merkmalen kombiniert sein.
  • Nunmehr mit Bezug auf 1 umfasst bei einer beispielhaften Ausführungsform ein System 100 zum Beschleunigen von Edge-Vorrichtungsarbeitslasten eine Endpunkt-Datenverarbeitungsvorrichtung 102, die kommunikativ mit einer Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 gekoppelt ist, wodurch ein Vorrichtungs-Edge-Netzwerk 108 gebildet wird. Obwohl es beispielhaft mit einer einzigen Endpunkt-Datenverarbeitungsvorrichtung 102 gezeigt ist, die kommunikativ mit der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 gekoppelt ist, versteht sich, dass das System 100 bei anderen Ausführungsformen mehrere Endpunkt-Datenverarbeitungsvorrichtungen 102 umfassen kann. Ähnlich versteht sich, dass bei anderen Ausführungsformen das System 100 in anderen Ausführungsformen mehrere Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtungen 104 umfassen kann, die jeweils mehrere Endpunkt-Datenverarbeitungsvorrichtungen 102 aufweisen können, die kommunikativ damit verbunden sind.
  • Im Gebrauch weist eine auf einer Endpunkt-Datenverarbeitungsvorrichtung 102 laufende Softwareanwendung Daten auf, die gesammelt, erzeugt oder anderweitig erhalten wurden, an denen eine bestimmte Rechenfunktionalität auszuführen ist. Wie nachfolgend ausführlicher beschrieben werden wird, kann die Endpunkt-Datenverarbeitungsvorrichtung 102 jedoch nicht die optimale Vorrichtung zum Ausführen der notwendigen Rechenoperation(en) sein. Man kann dies zum Beispiel zurückführen auf einen Mangel an ausreichender Rechenleistung, Batterieleistung und/oder einen Mangel an ausreichendem Speicherungsplatz, die auf der Endpunkt-Datenverarbeitungsvorrichtung 102 verfügbar sind, eine Notwendigkeit, zusätzliche/extern beschaffte Informationen wirksam zu nutzen und/oder einfach darauf, dass die Rechenoperation(en) durch die Plattform (d. h. die Hardware-/Softwareressourcen) der Endpunkt-Datenverarbeitungsvorrichtung 102 nicht unterstützt werden.
  • Bei einer beispielhaften Ausführungsform, bei der die Endpunkt-Datenverarbeitungsvorrichtung 102 als eine Vorrichtung des Internet of Things (IoT) mit einem Bildsensor realisiert ist, kann es notwendig sein, eine Bildanalyse an einem oder mehreren durch die Endpunkt-Datenverarbeitungsvorrichtung 102 aufgenommenen Bildern auszuführen. Unter weiterer Bezugnahme auf die beispielhafte Ausführungsform kann der Endpunkt-Datenverarbeitungsvorrichtung 102 jedoch ausreichende Quellenleistung und/oder Rechenkapazität fehlen, sie kann keine optimale Benutzung der verfügbaren Ressource sein und/oder kann nicht dafür ausgelegt (d. h. programmiert, um den notwendigen Code zu enthalten) sein, die Bildanalyse durchzuführen. Anders ausgedrückt ist aus einer beliebigen Anzahl von Gründen die Endpunkt-Datenverarbeitungsvorrichtung 102 dafür ausgelegt, mindestens einen Teil der Daten auf die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 abzuladen, so dass Rechenoperation(en) extern ausgeführt und ein Ergebnis der Rechenoperation(en) an die Endpunkt-Datenverarbeitungsvorrichtung 102 zurückgegeben werden kann.
  • Folglich ist im Gebrauch, wie nachfolgend ausführlicher beschrieben wird, die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 dementsprechend dafür ausgelegt, Funktion als Dienst mit niedriger Latenz (FaaS) und beschleunigte FaaS (AFaaS) zu exponieren, um die Anwendungen/Arbeitslasten, die auf der Endpunkt-Datenverarbeitungsvorrichtung 102 laufen, zu beschleunigen. Hierzu umfasst die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 integrierte Beschleuniger (z. B. FPGA (Field Programmable Gate Arrays)) und Rechenprozessoren (z. B. Intel®-Xeon-Prozessoren). Außerdem exponiert die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 eine definierte Menge von Erweiterungen und Protokollen, um direkten Zugriff auf die Endpunkt-Datenverarbeitungsvorrichtung 102 ohne jegliche System-Softwareintervention zu gewährleisten. Anders ausgedrückt exponiert die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 Schnittstellen zu der Endpunkt-Datenverarbeitungsvorrichtung 102, die benutzbar sind, um die FaaS/AFaaS direkt auf der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 zu entdecken und auszuführen. Ferner ist die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 für Gateway-, Client-Schnittstellen- und Switch-Funktionalität ausgelegt, die dafür ausgelegt ist, die hier beschriebenen Funktionen auszuführen, darunter das Durchführen von automatischem Lastausgleich (z. B. über die Gateway-Funktionalität) für von der Endpunkt-Datenverarbeitungsvorrichtung 102 empfangene Anforderungen. Außerdem umfasst die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 verschiedene Plattformen und Beschleuniger, die über AIL (Acceleration Interface Logic) eine Direktverbindung zum Gateway aufweisen, so dass das Gateway der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 Zeiger in lokalen Speicher zu den Beschleunigern/dem Slave zum Speichern der Anforderungen, die verarbeitet werden müssen, senden kann, und umgekehrt mit Ergebnissen.
  • Es versteht sich, dass bei einigen Ausführungsformen mindestens ein Teil der zu der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 gesendeten Daten und/oder mindestens ein Teil des Ergebnisses der abgeladenen Rechenoperation(en) zu anderen Rechen- und/oder Speicherungsvorrichtungen weitergeleitet werden kann, für die zusätzliche Rechenoperation(en) darauf ausgeführt werden können und/oder Speicherung davon verwaltet werden kann. Wie auch beispielhaft gezeigt ist, umfasst dementsprechend das System 100 zusätzlich eine Datenzentrale 114 und einen Cloud-Anbieter 112, die über das Netzwerk 110 kommunikativ mit der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 gekoppelt sind. Das Netzwerk 110 kann ein Backhaul- und/oder Kernnetzwerk umfassen, das Zugang zum Internet erlaubt. Dementsprechend kann das Netzwerk 110 als eine beliebige Anzahl verschiedener verdrahteter und/oder drahtloser Netzwerke realisiert sein. Zum Beispiel kann das Netzwerk 110 als ein WLAN (Wireless Local Area Network), ein WPAN (Wireless Personal Area Network), ein Mobilfunknetz, z. B. GSM (Global System for Mobile Communications), LTE (Long-Term Evolution usw.), ein Fernsprechnetz, ein digitales Teilnehmeranschluss- bzw. DSL-Netzwerk, ein Kabelnetzwerk, ein LAN (Local Area Network), ein WAN (Wide Area Network), ein globales Netzwerk (z. B. das Internet) oder eine beliebige Kombination davon realisiert sein oder diese anderweitig umfassen. Dementsprechend kann das Netzwerk 110 eine beliebige Anzahl zusätzlicher Vorrichtungen umfassen, wie etwa zusätzliche Computer, Router und Switches, um Kommunikation zwischen den Vorrichtungen des Systems 100 zu ermöglichen.
  • Abhängig von der Ausführungsform kann die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 kommunikativ mit der Datenzentrale 114, dem Cloud-Anbieter 112 und/oder einem anderen Anbieter, wie etwa einem Mobilnetzbetreiber (d. h. Anbieter/Träger drahtloser Dienste) gekoppelt sein. Abhängig von der Ausführungsform kann dementsprechend die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 in einer Basisstation (z. B. der beispielhaften Basisstation 106), einer Kleinzelle usw. untergebracht sein, die dem Mobilnetzbetreiber gehören und/oder von diesem betrieben werden kann. Ferner können die Datenzentrale 114 und/oder der Cloud-Anbieter 112 Backend-Rechen-/Speicherungsdienste als Funktion der durch den Mobilnetzbetreiber bereitgestellten Konnektivität durchführen. Es versteht sich, dass
  • Die Endpunkt-Datenverarbeitungsvorrichtung 102 kann als eine beliebige Art von verbundener Vorrichtung mit begrenzten Datenverarbeitungsressourcen und /oder begrenzter verfügbarer Leistung realisiert sein. Zum Beispiel kann die Endpunkt-Datenverarbeitungsvorrichtung 102, aber ohne Beschränkung, als mobile Datenverarbeitungsvorrichtung (z. B. ein Smartphone, ein Tablet-Computer, ein Laptop-Computer, ein Notebook-Computer, eine Wearable-Vorrichtung), ein IoT-Gateway, eine eingebettete Vorrichtung oder eine beliebige andere Art von Vorrichtung realisiert sein, die sich darauf verlässt, dass Operationen mit niedriger Latenz in dem Vorrichtungs-Edge-Netzwerk 108 ausgeführt werden. Nunmehr mit Bezug auf 2 umfasst die beispielhafte Endpunkt-Datenverarbeitungsvorrichtung 102 eine Rechenengine 200, ein E/A-Subsystem 206, eine oder mehrere Datenspeicherungsvorrichtungen 208, Kommunikationsschaltkreise 210 und bei einigen Ausführungsformen eine oder mehrere Peripherievorrichtungen 212. Es versteht sich, dass die Endpunkt-Datenverarbeitungsvorrichtung 102 bei anderen Ausführungsformen andere oder zusätzliche Komponenten umfassen kann, wie etwa die gewöhnlich in einer typischen Datenverarbeitungsvorrichtung anzutreffenden (z. B. verschiedene Eingabe-/Ausgabevorrichtungen und/oder andere Komponenten). Außerdem können bei einigen Ausführungsformen eine oder mehrere der beispielhaften Komponenten in eine andere Komponente integriert sein oder anderweitig einen Teil dieser bilden.
  • Die Rechenengine 200 kann als eine beliebige Art von Vorrichtung oder Ansammlung von Vorrichtungen mit der Fähigkeit zum Ausführen der verschiedenen hier beschriebenen Rechenfunktionen realisiert sein. Bei einigen Ausführungsformen kann die Rechenengine 200 als eine einzige Vorrichtung realisiert sein, wie etwa eine integrierte Schaltung, ein eingebettetes System, ein FPGA (Field-Programmable Gate Array), ein SOC (System auf einem Chip), ein ASIC (anwendungsspezifische integrierte Schaltung), umkonfigurierbare Hardware oder Hardwareschaltkreise oder andere spezialisierte Hardware zur Ermöglichung des Ausführens der hier beschriebenen Funktionen. Außerdem kann die Rechenengine 200 bei einigen Ausführungsformen einen oder mehrere Prozessoren 202 (d. h. eine oder mehrere Zentralverarbeitungseinheiten (CPU)) und Speicher 204 umfassen oder als diese realisiert sein.
  • Der Prozessor bzw. die Prozessoren 202 können als eine beliebige Art von Prozessor mit der Fähigkeit zum Ausführen der hier beschriebenen Funktionen realisiert sein. Zum Beispiel kann der Prozessor bzw. können die Prozessoren 202 als ein oder mehrere Einzelkernprozessoren, ein oder mehrere Mehrkernprozessoren, ein Digitalsignalprozessor, ein Mikrocontroller oder ein anderer Prozessor oder eine andere Verarbeitungs-/Steuerungsschaltung bzw. andere Verarbeitungs-/Steuerungsschaltungen realisiert sein. Bei einigen Ausführungsformen kann der Prozessor bzw. können die Prozessoren 202 als ein FPGA (Field Programmable Gate Array) ein ASIC (anwendungsspezifische integrierte Schaltung), umkonfigurierbare Hardware oder Hardwareschaltkreise oder andere spezialisierte Hardware zur Ermöglichung des Ausführens der hier beschriebenen Funktionen realisiert sein, diese umfassen oder anderweitig mit ihnen gekoppelt sein.
  • Der Speicher 204 kann als eine beliebige Art von flüchtigem (z. B. dynamischem Direktzugriffsspeicher (DRAM)) oder nichtflüchtigem Speicher oder Datenspeicherung mit der Fähigkeit zum Ausführung der hier beschriebenen Funktionen realisiert sein. Es versteht sich, dass der Speicher 204 Hauptspeicher (d. h. einen Primärspeicher) und/oder Cache-Speicher (d. h. Speicher, auf den schneller als auf den Hauptspeicher zugegriffen werden kann) umfassen kann. Der flüchtige Speicher kann ein Speicherungsmedium sein, das Stromversorgung benötigt, um den Zustand von durch das Medium gespeicherten Daten aufrechtzuerhalten. Nicht einschränkende Beispiele für flüchtigen Speicher wären verschiedene Arten von Direktzugriffsspeicher (RAM), wie etwa dynamischer Direktzugriffsspeicher (DRAM) oder statischer Direktzugriffsspeicher (SRAM).
  • Die Rechenengine 200 ist über das E/A-Subsystem 206, das als Schaltkreise und/oder Komponenten zur Ermöglichung von Eingabe-/Ausgabeoperationen mit dem Prozessor 202, dem Speicher 204 und anderen Komponenten der Endpunkt-Datenverarbeitungsvorrichtung 102 realisiert sein kann, kommunikativ mit anderen Komponenten der Endpunkt-Datenverarbeitungsvorrichtung 102 gekoppelt. Zum Beispiel kann das E/A-Subsystem 206 als Speichercontrollerhubs, Eingabe-/Ausgabesteuerhubs, integrierte Sensorhubs, Firmware-Vorrichtungen, Kommunikationsverbindungen (z. B. Punkt-zu-Punkt-Verbindungen, Busverbindungen, Drähte, Kabel, Lichtleiter, Leiterplattenbahnen usw.) und/oder andere Komponenten und Subsysteme zur Ermöglichung der Eingabe-/Ausgabeoperationen realisiert sein oder diese anderweitig umfassen. Bei einigen Ausführungsformen kann das E/A-Subsystem 206 einen Teil eines SOC (System auf einem Chip) bilden und kann zusammen mit einem oder mehreren des Prozessors 202, des Speichers 204 und anderen Komponenten der Endpunkt-Datenverarbeitungsvorrichtung 102 auf einem einzigen integrierten Schaltungschip integriert sein.
  • Die eine oder mehreren Speicherungsvorrichtungen 208 können als eine beliebige Art von Speicherungsvorrichtung(en) realisiert sein, die für kurzfristige oder langfristige Speicherung von Daten ausgelegt sind, wie zum Beispiel Speichervorrichtungen und -schaltungen, Speicherkarten, Festplatten, Halbleiterlaufwerke oder andere Datenspeicherungsvorrichtungen. Jede Datenspeicherungsvorrichtung 208 kann eine Systempartition umfassen, die Daten und Firmwarecode für die Datenspeicherungsvorrichtung 208 speichert. Jede Datenspeicherungsvorrichtung 208 kann auch eine Betriebssystempartition umfassen, die Daten-Dateien und ausführbare Dateien für ein Betriebssystem speichert.
  • Die Kommunikationsschaltkreise 210 können als eine beliebige Kommunikationsschaltung, Vorrichtung oder Ansammlung davon mit der Fähigkeit zur Ermöglichung von Kommunikation zwischen der Endpunkt-Datenverarbeitungsvorrichtung 102 und anderen Datenverarbeitungsvorrichtungen realisiert sein, sowie als beliebige Netzwerkkommunikation ermöglichende Vorrichtungen, wie etwa ein Zugangspunkt, ein Netzwerkswitch/-router usw., um Kommunikation über das Netzwerk 110 zu erlauben. Dementsprechend können die Kommunikationsschaltkreise 210 dafür ausgelegt sein, eine beliebige oder mehrere Kommunikationstechnologien (z. B. drahtlose oder verdrahtete Kommunikationstechnologien) und zugeordnete Protokolle (z. B. Ethernet, Bluetooth®, Wi-Fi®, WiMAX, LTE, 5G usw.) zu verwenden, um solche Kommunikation zu bewirken.
  • Es versteht sich, dass bei einigen Ausführungsformen die Kommunikationsschaltkreise 210 spezialisierte Schaltkreise, Hardware oder eine Kombination davon umfassen können, um Pipeline-Logik (z. B. Hardwarealgorithmen) zum Ausführen der hier beschriebenen Funktionen auszuführen, darunter Anwendung der Hash-Funktionen, Verarbeitung von Netzwerkpaketen (z. B. Parsen empfangener Netzwerkpakete, Bestimmen von Ziel-Datenverarbeitungsvorrichtungen für jedes empfangene Netzwerkpaket, Weiterleiten der Netzwerkpakete zu einer bestimmten Pufferwarteschlange eines jeweiligen Hostpuffers der Endpunkt-Datenverarbeitungsvorrichtung 102 usw.), Ausführen von rechnerischen Funktionen usw.
  • Bei einigen Ausführungsformen kann das Ausführen einer oder mehrerer der Funktionen der Kommunikationsschaltkreise 210 wie hier beschrieben durch spezialisierte Schaltkreise, Hardware oder eine Kombination davon der Kommunikationsschaltkreise 210 ausgeführt werden, die als SOC (System auf einem Chip) realisiert werden können oder anderweitig Teil eines SOC der Endpunkt-Datenverarbeitungsvorrichtung 102 bilden können (z. B. integriert auf einem einzigen integrierten Schaltungschip zusammen mit einem Prozessor 202, dem Speicher 204 und/oder anderen Komponenten der Endpunkt-Datenverarbeitungsvorrichtung 102). Als Alternative können bei einigen Ausführungsformen die spezialisierten Schaltkreise, Hardware oder die Kombination davon als eine oder mehrere diskrete Verarbeitungseinheiten der Endpunkt-Datenverarbeitungsvorrichtung 102 realisiert werden, die jeweils in der Lage sind, eine oder mehrere der hier beschriebenen Funktionen auszuführen.
  • Die eine oder mehreren Peripherievorrichtungen 212 können eine beliebige Art von Vorrichtung umfassen, die benutzbar ist, um Informationen in die Endpunkt-Datenverarbeitungsvorrichtung 102 einzugeben und/oder Informationen von der Endpunkt-Datenverarbeitungsvorrichtung 102 zu empfangen. Die Peripherievorrichtungen 212 können als eine beliebige Hilfsvorrichtung realisiert sein, die benutzbar ist, um Informationen in die Endpunkt-Datenverarbeitungsvorrichtung 102 einzugeben, wie etwa eine Tastatur, eine Maus, ein Mikrofon, ein Strichcodeleser, ein Bildscanner usw., oder Informationen von der Endpunkt-Datenverarbeitungsvorrichtung 102 auszugeben, wie etwa eine Anzeige, ein Lautsprecher, Grafikschaltkreise, ein Drucker, ein Projektor usw. Es versteht sich, dass bei einigen Ausführungsformen eine oder mehrere der Peripherievorrichtungen 212 sowohl als Eingabevorrichtung als auch als Ausgabevorrichtung fungieren können (z. B. eine Touchscreen-Anzeige, ein Digitalisierer über einem Anzeigebildschirm usw.). Ferner versteht sich, dass die Arten von Peripherievorrichtungen 212, die mit der Endpunkt-Datenverarbeitungsvorrichtung 102 verbunden sind, zum Beispiel von der Art und/oder beabsichtigten Verwendung der Endpunkt-Datenverarbeitungsvorrichtung 102 abhängen können. Zusätzlich oder als Alternative können bei einigen Ausführungsformen die Peripherievorrichtungen 212 einen oder mehrere Teile umfassen, wie etwa zum Beispiel einen USB-Port, um externe Peripherievorrichtungen mit der Endpunkt-Datenverarbeitungsvorrichtung 102 zu verbinden.
  • Obwohl es nicht beispielhaft gezeigt ist, versteht sich, dass abhängig von der Ausführungsform die Endpunkt-Datenverarbeitungsvorrichtung 102 einen oder mehrere Sensoren und/oder Aktoren umfassen kann. Der Sensor bzw. die Sensoren können zum Beispiel, aber ohne Beschränkung darauf, einen Bewegungssensor, einen Bildsensor, einen Positionssensor, einen Temperatursensor, einen Feuchtigkeitssensor, einen Leistungssensor, einen Umweltsensor, einen Gebäudeverwaltungssensor, einen Gebäudeautomatisierungssensor, einen Radarsensor, einen Visionssensor oder eine beliebige andere Art von Sensor umfassen.
  • Nunmehr mit Bezug auf 3 kann die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 ohne Beschränkung als ein oder mehrere Server (darunter z. B. selbständige Server, Rack-angebrachte Server, Blade-Server usw.), ein Netzwerkgerät (z. B. ein Gerät für MEC (Mehrfachzugriffs-Edge-Datenverarbeitung)), ein verteiltes Datenverarbeitungssystem oder eine beliebige Kombination von Rechen-/Speicherungsvorrichtung(en) mit der Fähigkeit zum Ausführen der hier beschriebenen Funktionen realisiert sein. Wie beispielhaft gezeigt ist, umfasst die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 ähnliche und/oder gleiche Komponenten wie die beispielhafte Endpunkt-Datenverarbeitungsvorrichtung 102 von 2, darunter eine Rechenengine 300 mit einem oder mehreren Prozessoren 302 und Speicher 304, ein E/A-Subsystem 306, eine oder mehrere Datenspeicherungsvorrichtungen 308 und Kommunikationsschaltkreise 310. Dementsprechend werden Figuren und Beschreibungen der ähnlichen/gleichen Komponenten hier der Klarheit der Beschreibung halber nicht wiederholt, mit dem Verständnis, dass die Beschreibung der entsprechenden Komponenten, die oben hinsichtlich der Endpunkt-Datenverarbeitungsvorrichtung 102 von 2 gegeben wurde, genauso für die entsprechenden Komponenten der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 von 3 gilt. Natürlich versteht sich, dass die jeweiligen Datenverarbeitungsvorrichtungen abhängig von der Ausführungsform zusätzliche und/oder alternative Komponenten umfassen können.
  • Die beispielhafte Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 umfasst zusätzlich eine oder mehrere beschleunigte Plattformen 322 und eine oder mehrere Prozessorplattformen 312 (d. h. nicht beschleunigte Plattformen). Die beispielhafte Prozessorplattform 312 umfasst einen oder mehrere Prozessoren 314 mit der Fähigkeit zum Ausführen einer oder mehrerer FaaS-Operationen 320. Wie beispielhaft gezeigt ist, umfassen der eine oder die mehreren Prozessoren 314 einen ersten Prozessor, der als Prozessor (1) 314a bezeichnet wird, und einen zweiten Prozessor, der als Prozessor (N) 314b bezeichnet wird (wobei z. B. der Prozessor (N) 314b den „N-ten“ Prozessor 314 repräsentiert, wobei „N“ eine positive ganze Zahl ist). Jeder der Prozessoren 314 umfasst einen FaaS-Proxy 316, der mit einer Benutzeroberfläche 318 gekoppelt ist, die benutzbar ist, um die erforderliche Menge von FaaS-Operationen der unterstützten FaaS-Operationen 320 als Funktion einer empfangenen Anforderung zu exponieren. Wie beispielhaft gezeigt ist, umfasst der Prozessor (1) 314a eine Menge von unterstützten FaaS-Operationen 320a, während der Prozessor (2) 314b eine andere Menge von unterstützten FaaS-Operationen 320b umfasst. Es versteht sich, dass jede Menge von FaaS-Informationen 320 von einem Prozessor 314 zum nächsten verschieden sein kann.
  • Wie auch beispielhaft gezeigt ist, umfasst die beschleunigte Plattform 322 einen Lastausgleicher 324 (d. h. eine Lastausgleicherschnittstelle), der kommunikativ mit einem oder mehreren Beschleunigern 326 (z. B. FGPA) gekoppelt ist. Die beispielhaften Beschleuniger 326 umfassen einen ersten Beschleuniger, der als Beschleuniger (1) 326a bezeichnet wird, und einen zweiten Beschleuniger, der als Beschleuniger (N) 326b bezeichnet wird (wobei z. B. der Beschleuniger (N) 326b den „N-ten“ Beschleuniger 326 repräsentiert, wobei „N“ eine positive ganze Zahl ist). Die Beschleuniger 326 können als ein oder mehrere FPGA, Rechenprozessoren, Grafikprozessoren, ASIC, Digitalsignalprozessor, speziell ausgelegte Schaltkreise und/oder eine beliebige andere Art von Beschleunigerhardware realisiert sein, worauf Funktionen effizienter ausgeführt werden können, als auf einem vielseitigeren Prozessor möglich ist. Der beispielhafte Beschleuniger 326a umfasst eine Warteschlange anstehender Anforderungen 328, die mit einem Anforderungsscheduler 330 gekoppelt ist, um die erforderlichen AFaaS-Operationen der unterstützten AFaaS-Operationen 332 als Funktion der empfangenen Anforderungen in der Warteschlange anstehender Anforderungen 328 zu verwalten. Der beispielhafte Beschleuniger 326b umfasst einen Vorrichtungsanforderungsmanager 334, der mit einer von Funktionskennung auf Instanz und einer Menge von unterstützten AFaaS-Operationen 332 gekoppelt ist.
  • Bei einigen Ausführungsformen kann der Vorrichtungs-Anforderungsmanager 334 dafür ausgelegt sein, jede Anforderung zu verarbeiten, um eine bestimmte beschleunigte Funktion (z. B. binär und Nutzinformationen) auszuführen. Als Alternative kann bei anderen Ausführungsformen der Vorrichtungs-Anforderungsmanager 334 dafür ausgelegt sein, eine Funktionskennung zu empfangen und die der Funktionskennung zugeordnete Funktion in der lokalen Plattform zu installieren und zu instanziieren. Wie beispielhaft gezeigt ist, umfasst der Beschleuniger (1) 326a eine Menge von unterstützten AFaaS-Operationen 332a, während der Beschleuniger (2) 326b eine andere Menge von unterstützten AFaaS-Operationen 332b umfasst. Es versteht sich, dass jede Menge von AFaaS-Operationen 332 von einem Beschleuniger 326 zum nächsten verschieden sein kann. Bei einigen Ausführungsformen können die eine oder mehreren beschleunigten Plattformen 322 kopflos sein (z. B. Schnittstellen, die durch Beschleuniger exponiert werden, statt durch Prozessoren).
  • Nunmehr mit Bezug auf 4 stellt bei einer beispielhaften Ausführungsform die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 während des Betriebs eine Umgebung 400 her. Die beispielhafte Umgebung 400 umfasst einen Netzwerkverkehreingangs-/- ausgangsmanager 408, einen Authentifizierungs- und Vergebührungsmanager 410, einen Plattformressourcen-Verteilungsmanager 412, eine Funktionskonfigurationsschnittstelle 414, einen Telemetrie- und Auslastungstracker 416, ein Gateway 418, einen Lastausgleicher 420 und einen Switch 422. Die verschiedenen Komponenten der Umgebung 400 können als Hardware, Firmware, Software oder eine Kombination davon realisiert werden. Dementsprechend können bei einigen Ausführungsformen eine oder mehrere der Komponenten der Umgebung 400 als Schaltkreise oder Ansammlung von elektrischen Vorrichtungen realisiert werden (z. B. Netzwerkverkehreingangs-/-ausgangsverwaltungsschaltkreise 408, Authentifizierungs- und Vergebührungsverwaltungsschaltkreise 410, Plattformressourcen-Verteilungsverwaltungsschaltkreise 412, funktionskonfigurations-Schnittstellenschaltkreise 414, Telemetrie- und Auslastungstracking-Schaltkreise 416, Gateway-Schaltkreise 418, Lastausgleichsschaltkreise 420, Switch-Schaltkreise 422 usw.).
  • Es versteht sich, dass bei solchen Ausführungsformen einer oder mehrere der Verkehrseingangs-/-ausgangsverwaltungsschaltkreise 408, des Authentifizierungs- und Vergebührungsmanagers 410, des Plattformressourcen-Verteilungsmanagers 412, der Funktionskonfigurationsschnittstelle 414, des Telemetrie- und Auslastungstrackers 416, des Gateways 418, des Lastausgleichers 420 und des Switches 422 einen Teil einer oder mehrerer der Rechenengine 300, des E/A-Subsystems 306, der Kommunikationsschaltkreise 310 (wie beispielhaft gezeigt) und/oder anderer Komponenten der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 bilden können. Außerdem können bei einigen Ausführungsformen eine oder mehrere der beispielhaften Komponenten einen Teil einer anderen Komponente bilden und/oder eine oder mehrere der beispielhaften Komponenten können unabhängig voneinander sein. Ferner können bei einigen Ausführungsformen eine oder mehrere der Komponenten der Umgebung 400 als virtualisierte Hardwarekomponenten oder emulierte Architektur realisiert werden, die durch die Rechenengine 300 oder andere Komponenten der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung hergestellt und unterhalten werden können. Es versteht sich, dass die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 andere Komponenten, Subkomponenten, Module, Submodule, Logik, Sublogik und/oder Vorrichtungen umfassen kann, die gewöhnlich in einer Datenverarbeitungsvorrichtung anzutreffen sind, die der Klarheit der Beschreibung halber in 4 nicht dargestellt sind.
  • In der beispielhaften Umgebung 400, umfasst die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 zusätzlich Telemetriedaten 402, Authentifizierungsdaten 404 und Nutzinformationsdaten 406, auf die jeweils auf die verschiedenen Komponenten und/oder Subkomponenten der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 zugreifen können. Außerdem versteht sich, dass bei einigen Ausführungsformen die Daten, die jeweils in den Telemetriedaten 402, den Authentifizierungsdaten 404 und den Nutzinformationsdaten 406 gespeichert sind oder anderweitig durch diese repräsentiert werden, sich nicht relativ zueinander gegenseitig ausschließen müssen. Zum Beispiel können bei einigen Implementierungen in den Telemetriedaten 402 gespeicherte Daten auch als Teil der Authentifizierungsdaten 404 und/oder der Nutzinformationsdaten 406 gespeichert sein. Dementsprechend können, obwohl die verschiedenen durch die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 benutzten Daten hier als konkrete diskrete Daten beschrieben werden, solche Daten bei anderen Ausführungsformen kombiniert und/oder aggregiert werden und/oder anderweitig Teile eines einzigen oder mehrerer Datensätze bilden, einschließlich duplikativer Kopien.
  • Der Netzwerkverkehrseingangs-/-ausgangsmanager 408, der als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder einer Kombination davon wie oben besprochen realisiert werden kann, ist dafür ausgelegt, eingehenden Netzwerkverkehr zu empfangen und abgehenden Netzwerkverkehr zu routen/senden. Hierzu ist der Netzwerkverkehrseingangs-/-ausgangsmanager 408 dafür ausgelegt, eingehende/abgehende Netzwerkkommunikation (z. B. Netzwerkverkehr, Netzwerkpakete, Netzwerkflüsse usw.) zu und von der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 zu ermöglichen. Zum Beispiel ist der Netzwerkverkehrseingangs-/-ausgangsmanager 408 dafür ausgelegt, Verbindungen mit physischen und virtuellen Netzwerkports (d. h. virtuellen Netzwerkschnittstellen) der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 (z. B. über die Kommunikationsschaltkreise 310) sowie diesen zugeordnete Eingangs-/Ausgangspuffer/-warteschlangen zu verwalten (z. B. zu erzeugen, zu modifizieren, zu löschen usw.). Bei einigen Ausführungsformen können die Nutzinformationen der Netzwerkkommunikation (z. B. Operationsanforderungen, gesammelte Daten usw.) in den Nutzinformationsdaten 406 gespeichert werden.
  • Der Authentifizierungs- und Vergebührungsmanager 410, der als Hardware, Firmware, Software, virtualisierter Hardware, emulierte Architektur und/oder eine Kombination davon wie oben besprochen realisiert werden kann, ist dafür ausgelegt, Anforderungen zu authentifizieren, die von der Endpunkt-Datenverarbeitungsvorrichtung 102 in der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 empfangen werden. Bei erfolgreicher Authentifizierung ist der Authentifizierungs- und Vergebührungsmanager 410 dafür ausgelegt, Authentifizierungs- und Vergebührungsinformationen zu einer zentralen Vergebührungsstelle (z. B. einem Träger oder Anbieter) zu senden. Bei einigen Ausführungsformen kann der Authentifizierungs- und Vergebührungsmanager 410 dafür ausgelegt sein, die Authentifizierungs- und Vergebührungsinformationen über ein Außerbandkabel (d. h. einen Außerband-Verwaltungskommunikationskanal) zu senden. Außerdem kann der Authentifizierungs- und Vergebührungsmanager 410 bei einigen Ausführungsformen dafür ausgelegt sein, die Authentifizierung und/oder Vergebührung betreffenden Daten in den Authentifizierungsdaten 404 zu speichern.
  • Der Plattformressourcen-Verteilungsmanager 412, der als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination davon wie oben besprochen realisiert werden kann, ist dafür ausgelegt, die Verteilung der verschiedenen Ressourcen der Plattformen (z. B. der nicht beschleunigten Prozessorplattformen 312 und der beschleunigten Plattformen 322 von 3) der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 zu verwalten. Zum Beispiel kann der Plattformressourcen-Verteilungsmanager 412 dafür ausgelegt sein, Schnittstellen (z. B. Open Stack- bzw. OOO-Projektschnittstellen) zum Systemsoftwarestapel (z. B. Orchestrierer) zu exponieren, die verwendbar sind, um die FaaS und AFaaS-Operationen relativ zu einem bestimmten Beschleuniger (z. B. einem der Beschleuniger 326) oder Prozessor (z. B. einem der Prozessoren 314) zu konfigurieren und zu verwalten.
  • Wie zuvor beschrieben, kann der Beschleuniger als ein FPGA, ein Rechenprozessor, ein Grafikprozessor (z. B. eine Vielzweck-Grafikverarbeitungseinheit (GPU)), ein ASIC, ein Digitalsignalprozessor, eine speziell ausgelegte Schaltung und/oder eine beliebige andere Art von spezialisierter Hardware realisiert werden, worauf Funktionen effizienter ausgeführt werden können, als auf vielseitigeren Prozessoren (d. h. den Prozessoren 314) möglich ist. Um die Verteilung der verschiedenen Ressourcen der Plattformen der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 zu verwalten, kann der Plattformressourcen-Verteilungsmanager 412 als Funktion der Verarbeitungsanforderungen und Dienstgüte- bzw. QoS-Anforderungen, sowie sie in einer entsprechenden Dienstniveauvereinbarung (SLA) vorgegeben werden können, bestimmen, welche Schnittstellen auf welcher Plattform (d. h. welcher Beschleuniger 326 oder Prozessor 314 der jeweiligen Plattform 322, 312) zu exponieren sind. Außerdem kann der Ressourcenverteilungsmanager 412 ferner auf der Basis von Telemetrie- und Auslastungsinformationen, die benutzbar sind, um verfügbare Ressourcen der jeweiligen Plattform zu identifizieren, sowie sie in den Telemetriedaten 412 durch den Telemetrie- und Auslastungstracker 416 gespeichert werden können, welche Schnittstellen zu exponieren sind.
  • Die Funktionskonfigurationsschnittstelle 414, die als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination davon wie oben besprochen realisiert werden kann, ist dafür ausgelegt, eine Schnittstelle zwischen den FaaS/AFaaS-Operationen (d. h. den unterstützten FaaS-Operationen 320 und den unterstützten AFaaS-Operationen 332 von 3) und den empfangenen Anforderungen bereitzustellen, um die zugeordneten FaaS/AFaaS-Operationen auszuführen. Dementsprechend kann die Funktionskonfigurationsschnittstelle 414 Anforderungen auf der Basis verschiedener Informationen, die durch die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 gesammelt werden, sowie sie etwa durch den Telemetrie- und Auslastungstracker 416 gesammelt werden können, anzunehmen/zurückzuweisen. Zum Beispiel kann auf der Basis von Telemetriedaten in Bezug auf die unterstützten FaaS-Operationen und AFaaS-Operationen sowie von Auslastungsinformationen in Bezug auf die Plattformressourcen der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 eine Anforderung an eine bestimmte Art von Funktion, die durch einen oder mehrere Prozessoren und/oder Beschleuniger der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 exponiert (d. h. unterstützt) wird, zurückgewiesen werden, weil diese potentiellen Prozessoren und Beschleuniger derzeit eine hohe Last verarbeiten.
  • Der Telemetrie- und Auslastungstracker 416, der als Hardware, Firmware, Software, virtualisierter Hardware, emulierte Architektur und/oder eine Kombination davon wie oben besprochen realisiert werden kann, ist dafür ausgelegt, die Ausführung der FaaS- und AFaaS-Operationen zu verfolgen und auch das Niveau der Auslastung jedes Prozessors (z. B. des Prozessors 314 von 3) und des Beschleunigers (z. B. des Beschleunigers 326) der jeweiligen Plattformen zu verfolgen. Die Auslastungsniveaus können zum Beispiel beliebige Daten umfassen, die benutzbar sind, um einen benutzten und/oder verfügbaren Teil der jeweiligen Komponente zu identifizieren, wie etwa ein Warteschlangen-Belegungsniveau, ein Beschleuniger-Rechenauslastungs-/-Verfügbarkeitsniveau, ein Prozessor-Rechenauslastungs-Verfügbarkeitsniveau usw. Der Telemetrie- und Auslastungstracker 416 kann abhängig von der Ausführungsform dafür ausgelegt sein, Telemetrie- und Auslastungsinformationen in den Telemetriedaten 402 zu speichern. Dementsprechend können die Telemetrie- und Auslastungsinformationen dem Systemsoftwarestapel exponiert werden, sowie zusätzlicher Verarbeitung, um potentielle Probleme zu identifizieren und vorherzusagen, wie etwa Verschlechterung eines bestimmten Dienstes aufgrund einer Menge von Anforderungen, die von den verschiedenen Endpunkt-Datenverarbeitungsvorrichtungen 102 empfangen werden. Außerdem kann der Telemetrie- und Auslastungstracker 416 dafür ausgelegt sein, der Funktionskonfigurationsschnittstelle 414 Lastbedingungen zu melden, die dazu führen können, dass eingehende Anforderungen zurückgewiesen werden.
  • Das Gateway 418, das als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination davon wie oben besprochen realisiert werden kann, ist dafür ausgelegt, empfangene Anforderungen (d. h. Netzwerkpaket-Nutzinformationen, Beschreibungen, Statusse, Headerinformationen usw.) in Speicher zu speichern, auf den Prozessoren und Beschleuniger über AIL zugreifen können, um die Nutzinformationen, Beschreibungen usw. der empfangenen Anforderungen bei Ausführung der entsprechenden FaaS/AFaaS-Operation(en) abzurufen. Der Lastausgleicher 420, der als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination davon wie oben besprochen realisiert werden kann, ist dafür ausgelegt, authentifizierte Anforderungen anzunehmen und zu bestimmen, welcher Prozessor (z. B. der Prozessor 314 von 3) oder Beschleuniger (z. B. der Beschleuniger 326) die angeforderten FaaS/AFaaS-Operationen ausführen wird. Hierzu kann der Lastausgleicher 420 die Rechenressource auf der Basis von Telemetrie- und/oder Auslastungsinformationen der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 bestimmen, die durch den Telemetrie- und Auslastungstracker 416 gesammelt werden können.
  • Der Switch 422, der als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder eine Kombination davon wie oben besprochen realisiert werden kann, ist dafür ausgelegt, die empfangenen Anforderungen zu dem bestimmten Prozessor (z. B. dem Prozessor 314 von 3) oder Beschleuniger (z. B. dem Beschleuniger 326) zu senden, sowie es durch den Lastausgleicher 420 bestimmt werden kann. Es versteht sich, dass bei einigen Ausführungsformen eine oder mehrere der hier als durch ein bestimmtes Element ausgeführt beschriebenen Funktionen in ein anderes Element integriert sein können. Zum Beispiel können die hier als durch den Authentifizierungs- und Vergebührungsmanager 410 ausgeführt beschriebenen Authentifizierungs- und Vergebührungsverwaltungsfunktionen bei anderen Ausführungsformen durch das Gateway 418 ausgeführt werden.
  • Nunmehr mit Bezug auf 5A und 5B ist ein Verfahren 500 zum Beschleunigen von Edge-Vorrichtungsarbeitslasten gezeigt, das durch eine Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung (z. B. die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104) oder insbesondere durch Kommunikationsschaltkreise (z. B. die Kommunikationsschaltkreise 310) und eine oder mehrere Rechenplattformen (z. B. eine oder mehrere der beschleunigten Plattformen 322 oder eine oder mehrere der Prozessorplattformen 312) der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung ausgeführt werden kann. Wie zuvor beschrieben befindet sich die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 am Vorrichtungsrand eines Netzwerks (z. B. zwischen dem Netzwerk 110 und der Endpunkt-Datenverarbeitungsvorrichtung 102 von 1), das hier als das Vorrichtungs-Edge-Netzwerk 108 bezeichnet wird. Wie auch zuvor beschrieben wurde, kann sich die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 in einer Basisstation (z. B. der beispielhaften Basisstation 106 von 1), einer Kleinzelle, einer Datenstation oder einer anderen Träger-/Anbietervorrichtung befinden, die als Gateway zwischen dem Netzwerk 110 und der Endpunkt-Datenverarbeitungsvorrichtung 102 von 1 dient. Das Verfahren 500 beginnt mit Block 502, in dem die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 oder insbesondere ein Gateway (z. B. das Gateway 418) der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104, bestimmt, ob eine Anforderung, eine oder mehrere Rechenoperationen auszuführen, von einer Endpunkt-Datenverarbeitungsvorrichtung (z. B. der Endpunkt-Datenverarbeitungsvorrichtung 102) empfangen wurde.
  • Wenn dem so ist, schreitet das Verfahren zu Block 504, in dem das Gateway die empfangene Anforderung (z. B. über ein den Anforderer identifizierendes Authentifizierungszertifikat, das benutzbar ist, um Privilegien zum Zugriff auf eine bestimmte Funktion zu validieren) authentifiziert. Es versteht sich, dass die empfangene Anforderung Nutzinformationen, eine oder mehrere Funktionskennungen entsprechender FaaS/AFaaS-Operation(en), die an mindestens einem Teil der empfangenen Anforderung (z. B. den Nutzinformationen) auszuführen sind, einen oder mehrere Parameter (z. B. Arten von erforderlichen Ressourcen, Mengen erforderlicher Ressourcen usw.), eine oder mehrere QoS-Anforderungen (z. B. Zeitdauer, in der Berechnung auszuführen ist, Ressourcenanforderung usw.) und Authentifizierungsinformationen umfasst. In Block 506 bestimmt das Gateway, ob die empfangene Anforderung authentifiziert worden ist. Wenn nicht, verzweigt sich das Verfahren 500 zu Block 508, in dem die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 die Endpunkt-Datenverarbeitungsvorrichtung 102 benachrichtigt, dass die Anforderung nicht authentifiziert werden konnte, bevor das Verfahren 500 zu Block 502 zurückkehrt, um zu bestimmen, ob eine weitere Anforderung empfangen wurde. Wenn andernfalls das Gateway bestimmt, dass die empfangene Anforderung authentifiziert worden ist, schreitet das Verfahren 500 zu Block 510.
  • In Block 510 sendet die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 Authentifizierungs- und Vergebührungsinformationen zu einer zentralen Vergebührungsstelle (z. B. einem Träger, Anbieter usw.). Bei einigen Ausführungsformen kann in Block 512 die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 die Authentifizierungs- und Vergebührungsinformationen über ein Außerbandfabric (d. h. einen Außerband-Kommunikationskanal) senden. In Block 514 speichert das Gateway die empfangene Anforderung in einem Bereich des Hauptspeichers der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 (z. B. der Datenspeicherungsvorrichtung 308 von 3). Wie bereits beschrieben, umfasst die empfangene Anforderung Nutzinformationen, eine Kennung einer Funktion (d. h. einer FaaS/AFaaS-Operation), die auszuführen ist, einen oder mehrere Parameter, eine oder mehrere QoS-Anforderungen und Authentifizierungsinformationen, die jeweils in der Speicherstelle gespeichert werden können.
  • In Block 516 erzeugt die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 (z. B. ihr Gateway) einen neuen Eintrag in einer Trackingtabelle, der Identifizierungsinformationen der empfangenen Anforderung umfasst. Außerdem nimmt in Block 518 die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 einen Status (z. B. laufend, fehlgeschlagen, auf Ausführung wartend usw.) der empfangenen Anforderung in den Trackingtabelleneintrag auf. In Block 520 identifiziert die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 eine oder mehrere FaaS- oder AFaaS-Operationen, die auszuführen sind, auf der Basis der einen oder mehreren Funktionskennungen der auszuführenden FaaS/AFaaS-Operation(en). Wie bereits erwähnt, wurden die eine oder mehreren Funktionskennungen der auszuführenden FaaS/AFaaS-Operation(en) mit der Anforderung empfangen und in Block 514 in Speicher gespeichert. Dementsprechend kann in Block 520 die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 zusätzlich dafür ausgelegt sein, eine Abrufoperation auszuführen, um die Funktionskennung(en) abzurufen. Es versteht sich, dass bei einigen Ausführungsformen die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 dafür ausgelegt sein kann, die an der Anforderung auszuführende FaaS/AFaaS-Operation bzw. die an der Anforderung auszuführenden FaaS/AFaaS-Operationen zu identifizieren. Bei solchen Ausführungsformen kann die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 die eine oder mehreren FaaS- oder AFaaS-Operationen als Funktion zusätzlicher und/oder alternativer Informationen, wie etwa eines Arbeitslasttyps der empfangenen Anforderung, identifizieren.
  • In Block 522 identifiziert die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 die zum Ausführen der identifizierten FaaS/AFaaS-Operation(en) notwendigen Rechenanforderungen. Hierzu identifiziert in Block 524 die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 etwaige der empfangenen Anforderung zugeordnete QoS-Anforderungen und identifiziert die Rechenanforderungen als Funktion der identifizierten QoS-Anforderungen. Außerdem identifiziert in Block 526 die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104, ob die identifizierte AFaaS/FaaS-Operation bzw. die identifizierten AFaaS/FaaS-Operationen unter Verwendung eines Prozessors (z. B. des Prozessors 314 von 3) oder eines Beschleunigers (z. B. des Beschleunigers 326) auszuführen ist bzw. sind. Wie zuvor beschrieben kann der Beschleuniger als ein FPGA, ein Rechenprozessor, ein Grafikprozessor (z. B. eine Vielzweck-GPU), ein ASIC, ein Digitalsignalprozessor, eine speziell ausgelegte Schaltung und/oder eine beliebige andere Art von spezialisierter Hardware realisiert werden, worauf Funktionen (d. h. die beschleunigten Funktionen) effizienter ausgeführt werden können, als auf vielseitigeren Prozessoren (d. h. den Prozessoren 314) möglich ist. In Block 528 meldet wie in 5B gezeigt die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 oder insbesondere das Gateway der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104, einem Lastausgleicher (z. B. dem Lastausgleicher 420 von 4) die empfangene Anforderung. Zusätzlich stellt in Block 530 das Gateway die identifizierten Rechenanforderungen bereit.
  • In Block 532 bestimmt die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 oder insbesondere der Lastausgleicher der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104, welche Plattform(en) (d. h. eine oder mehrere der beschleunigten Plattformen 322 oder der Prozessorplattformen 312) die identifizierten Rechenanforderungen erfüllt bzw. erfüllen. In einem Anschauungsbeispiel kann der Lastausgleicher bestimmen, dass die identifizierten Rechenanforderungen angeben, dass die Operation eine beschleunigte Operation sein soll, die einer AFaaS-Operation entspricht, die nur auf einem Beschleuniger von zwei beschleunigten Plattformen unterstützt wird (z. B. eine der AFaaS-Operationen 322, die auf zwei der beschleunigten Plattformen 322 unterstützt wird). In Block 534 wählt der Lastausgleicher der Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 eine der in Block 532 bestimmten Plattformen zum Ausführen der identifizierten AFaaS/FaaS-Operation(en) aus. Hierzu wählt in Block 536 der Lastausgleicher die Plattform auf der Basis von gesammelten Telemetriedaten und/oder Auslastungsdaten und/oder QoS-Anforderungen. Dementsprechend versteht sich, dass der Lastausgleicher unter bestimmten Bedingungen eine Prozessorplattform auswählen kann, die die angeforderte Operation unterstützt, obwohl eine Beschleunigerplattform verfügbar ist, sowie es notwendig sein kann, um sicherzustellen, dass QoS-Anforderungen erfüllt werden.
  • In Block 538 vergibt die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 Plattformressourcen (z. B. als Funktion der identifizierten Rechenanforderungen). In Block 540 leitet der Lastausgleicher die Anforderung zu der ausgewählten Rechenplattform weiter (z. B. über den Switch 422 von 4). Außerdem sendet in Block 542 der Lastausgleicher eine Kennung der empfangenen Anforderung mit der weitergeleiteten Anforderung. Ferner sendet in Block 544 der Lastausgleicher einen Zeiger auf eine Stelle in Speicher der gespeicherten Beschreibung der empfangenen Anforderung mit der weitergeleiteten Anforderung. In Block 546 bestimmt die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104, ob ein Antwortrückruf von der Rechenplattform empfangen wurde, die angibt, dass die AFaaS/FaaS-Operation(en) abgeschlossen wurden. Wenn dem so ist, schreitet das Verfahren 500 zu Block 548.
  • In Block 548 sendet die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 eine Antwort zu der anfordernden Endpunkt-Datenverarbeitungsvorrichtung 102, von der die Anforderung empfangen wurde. Außerdem schließt in Block 550 die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 ein Ergebnis der durch die ausgewählte Plattform auszuführenden AFaaS/FaaS-Operation(en) ein. In Block 552 sendet die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 eine Nachricht zu der zentralen Vergebührungsstelle, die benutzbar ist, um die durch die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 auszuführenden AFaaS/FaaS-Operation(en) und andere damit assoziierte Informationen (z. B. Dauer der Verarbeitungszeit, Recheninformationen usw.) zu identifizieren, mit denen ein für das Ausführen der AFaaS/FaaS-Operation(en) in Rechnung zu stellender Betrag bestimmt werden kann. In Block 554 gibt die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 die vergebenen Plattformressourcen frei.
  • Es versteht sich, dass bei einigen Ausführungsformen mindestens ein Teil der Anforderung und/oder ein Ergebnis der durch die Vorrichtungs-Edge-Netzwerk-Datenverarbeitungsvorrichtung 104 auszuführenden AFaaS/FaaS-Operation(en) für weitere Berechnung und/oder Speicherung ferner zu einer Datenzentrale, einer Cloud oder einem anderen entfernten Rechen-/Speicherungsanbieter gesendet werden können.
  • BEISPIELE
  • Im Folgenden werden Anschauungsbeispiele für die hier offenbarten Technologien angegeben. Eine Ausführungsform der Technologien kann ein beliebiges oder mehrere und eine beliebige Kombination der nachfolgend beschriebenen Beispiele umfassen.
  • Beispiel 1 umfasst eine Netzwerk-Datenverarbeitungsvorrichtung zum Beschleunigen von Edge-Vorrichtungsarbeitslasten, wobei die Netzwerk-Datenverarbeitungsvorrichtung Folgendes umfasst: eine Rechenengine; eine oder mehrere beschleunigte Plattformen, die mindestens einen Beschleuniger umfassen, der mehrere beschleunigte FaaS bzw. AFaaS-Operationen unterstützt; eine oder mehrere Prozessorplattformen, die mindestens einen Prozessor umfassen, der mehrere nicht beschleunigte Funktion-als-Dienst- bzw. FaaS-Operationen unterstützt; und Kommunikationsschaltkreise zum Empfangen einer Anforderung von einer Endpunkt-Datenverarbeitungsvorrichtung, eine Funktion-als-Dienst-FaaS-Operation in der Netzwerk-Datenverarbeitungsvorrichtung auszuführen, durch ein Gateway der Kommunikationsschaltkreise in einem Vorrichtungs-Edge-Netzwerk; Bestimmen durch das Gateway, ob die empfangene Anforderung angibt, dass eine der mehreren AFaaS-Operationen an mindestens einem Teil der empfangenen Anforderung auszuführen ist; Identifizieren durch das Gateway und als Reaktion auf eine Bestimmung, dass die empfangene Anforderung angibt, dass eine AFaaS-Operation der mehreren AFaaS-Operationen auszuführen ist, von Rechenanforderungen für die identifizierte AFaaS-Operation; Auswählen einer Beschleunigerplattform einer oder mehrerer beschleunigter Plattformen durch das Gateway, um die identifizierte AFaaS-Operation auszuführen; Weiterleiten der empfangenen Anforderung zu der ausgewählten Beschleunigerplattform durch einen Switch der Kommunikationsschaltkreise; und Senden einer Antwort zu der Endpunkt-Datenverarbeitungsvorrichtung, die ein Ergebnis der identifizierten AFaaS-Operation umfasst, durch das Gateway als Reaktion auf den Empfang einer Angabe, dass die identifizierte AFaaS-Operation abgeschlossen wurde.
  • Beispiel 2 umfasst den Gegenstand von Beispiel 1, und wobei Auswählen der Beschleunigerplattform zum Ausführen der identifizierten AFaaS-Operation Folgendes umfasst: Senden einer Meldung durch das Gateway zu einem Lastausgleicher der Kommunikationsschaltkreise, dass die empfangene Anforderung bereit ist, verarbeitet zu werden, wobei die Meldung die identifizierten Rechenanforderungen und eine Kennung der identifizierten AFaaS-Operation umfasst; Bestimmen einer oder mehrerer der einen oder mehreren beschleunigten Plattformen durch den Lastausgleicher, um die identifizierte AFaaS-Operation auszuführen, als Funktion der identifizierten Rechenanforderungen; und Auswählen der Beschleunigerplattform der einen oder mehreren beschleunigten Plattformen durch den Lastausgleicher, um die identifizierte AFaaS-Operation auszuführen.
  • Beispiel 3 umfasst den Gegenstand irgendeines der Beispiele 1 und 2, und wobei die Kommunikationsschaltkreise ferner zu Folgendem dienen: Bestimmen durch das Gateway, ob die empfangene Anforderung angibt, dass eine der nicht beschleunigten FaaS-Operationen an mindestens einem Teil der empfangenen Anforderung auszuführen ist; Identifizieren durch das Gateway und als Reaktion auf eine Bestimmung, dass die empfangene Anforderung angibt, dass eine nicht beschleunigte FaaS-Operation der mehreren nicht beschleunigten FaaS-Operationen auszuführen ist, von Rechenanforderungen für die nicht beschleunigte FaaS-Operation; Auswählen einer Prozessorplattform der einen oder mehreren Prozessorplattformen durch das Gateway, um die identifizierte nicht beschleunigte FaaS-Operation auszuführen; Weiterleiten der empfangenen Anforderung zu der ausgewählten nicht beschleunigten Plattform durch den Switch; und Senden einer Antwort zu der Endpunkt-Datenverarbeitungsvorrichtung, die ein Ergebnis der identifizierten nicht beschleunigten Operation umfasst, durch das Gateway als Reaktion auf Empfang einer Angabe, dass die identifizierte nicht beschleunigte Operation abgeschlossen wurde.
  • Beispiel 4 umfasst den Gegenstand irgendeines der Beispiele 1-3, und wobei Auswählen der Prozessorplattform der einen oder mehreren Prozessorplattformen zum Ausführen der identifizierten nicht beschleunigten FaaS-Operation Folgendes umfasst: Senden einer Meldung durch das Gateway zu einem Lastausgleicher der Kommunikationsschaltkreise, dass die empfangene Anforderung bereit ist, verarbeitet zu werden, wobei die Meldung die identifizierten Rechenanforderungen umfasst; Bestimmen einer oder mehrerer der einen oder mehreren Prozessorplattformen durch den Lastausgleicher als Funktion der identifizierten Rechenanforderung; und Auswählen der Prozessorplattform der einen oder mehreren Prozessorplattformen durch den Lastausgleicher, um die identifizierte nicht beschleunigte FaaS-Operation auszuführen.
  • Beispiel 5 umfasst den Gegenstand irgendeines der Beispiele 1-4, und wobei Identifizieren der Rechenanforderungen für die nicht beschleunigte FaaS-Operation Identifizieren der Rechenanforderungen als Funktion einer oder mehrerer Dienstgüte- bzw. QoS-Anforderungen umfasst.
  • Beispiel 6 umfasst den Gegenstand irgendeines der Beispiele 1-5, und wobei die Kommunikationsschaltkreise ferner zu Folgendem dienen: Authentifizieren der empfangenen Anforderung durch das Gateway; und Senden von Authentifizierungs- und Vergebührungsinformationen zu einer zentralen Vergebührungsstelle als Reaktion auf eine Bestimmung, dass die empfangene Anforderung erfolgreich authentifiziert wurde.
  • Beispiel 7 umfasst den Gegenstand irgendeines der Beispiele 1-6, und wobei Bestimmen, ob die empfangene Anforderung angibt, dass eine der mehreren AFaaS-Operationen auszuführen ist, Bestimmen auf der Basis einer mit der empfangenen Anforderung enthaltenen Funktionskennung umfasst.
  • Beispiel 8 umfasst den Gegenstand irgendeines der Beispiele 1-7, und wobei die Kommunikationsschaltkreise ferner zum Erzeugen eines Eintrags in einer Tracking-Tabelle dienen, wobei der Eintrag der empfangenen Nachricht entspricht und wobei der Eintrag Identifizierungsinformationen der empfangenen Anforderung und einen Status der empfangenen Anforderung umfasst.
  • Beispiel 9 umfasst den Gegenstand irgendeines der Beispiele 1-8, und wobei Identifizieren der Rechenanforderungen für die identifizierte AFaaS-Operation Identifizieren der Rechenanforderungen als Funktion einer oder mehrerer Dienstgüte- bzw. QoS-Anforderungen umfasst.
  • Beispiel 10 umfasst den Gegenstand irgendeines der Beispiele 1-9, und wobei die Kommunikationsschaltkreise ferner zum Speichern mindestens eines Teils der empfangenen Anforderung in einem Hauptspeicher der Netzwerk-Datenverarbeitungsvorrichtung dienen und wobei Weiterleiten der empfangenen Anforderung zu der ausgewählten beschleunigten Plattform Weiterleiten der empfangenen Anforderung mit einem Zeiger auf eine Stelle in dem Hauptspeicher, an der der mindestens eine Teil der empfangenen Anforderung gespeichert wurde, umfasst.
  • Beispiel 11 umfasst ein oder mehrere maschinenlesbare Speicherungsmedien, auf denen mehrere Anweisungen gespeichert sind, die, wenn sie ausgeführt werden, bewirken, dass eine Netzwerk-Datenverarbeitungsvorrichtung Folgendes durchführt: Empfangen einer Anforderung durch ein Gateway der Netzwerk-Datenverarbeitungsvorrichtung in einem Vorrichtungs-Edge-Netzwerk von einer Endpunkt-Datenverarbeitungsvorrichtung, eine Funktion-als-Dienst- bzw. FaaS-Operation in der Netzwerk-Datenverarbeitungsvorrichtung auszuführen, wobei die FaaS-Operation (i) eine von mehreren nicht beschleunigten FaaS-Operationen, die durch mindestens einen Prozessor einer prozessorgestützten Plattform unterstützt werden, oder (ii) eine von mehreren beschleunigten FaaS- bzw. AFaaS-Operationen, die durch mindestens einen Beschleuniger einer beschleunigergestützten Plattform unterstützt werden, umfasst; Bestimmen durch das Gateway, ob die empfangene Anforderung angibt, dass eine der mehreren AFaaS-Operationen an mindestens einem Teil der empfangenen Anforderung auszuführen ist; Identifizieren durch das Gateway und als Reaktion auf eine Bestimmung, dass die empfangene Anforderung angibt, dass eine AFaaS-Operation der mehreren AFaaS-Operationen auszuführen ist, von Rechenanforderungen für die identifizierte AFaaS-Operation; Auswählen einer Beschleunigerplattform einer oder mehrerer beschleunigter Plattformen durch das Gateway, um die identifizierte AFaaS-Operation auszuführen; Weiterleiten der empfangenen Anforderung zu der ausgewählten Beschleunigerplattform durch einen Switch der Kommunikationsschaltkreise; und Senden einer Antwort zu der Endpunkt-Datenverarbeitungsvorrichtung, die ein Ergebnis der identifizierten AFaaS-Operation umfasst, durch das Gateway als Reaktion auf den Empfang einer Angabe, dass die identifizierte AFaaS-Operation abgeschlossen wurde.
  • Beispiel 12 umfasst den Gegenstand von Beispiel 11, und wobei Auswählen der Beschleunigerplattform zum Ausführen der identifizierten AFaaS-Operation Folgendes umfasst: Senden einer Meldung durch das Gateway zu einem Lastausgleicher der Kommunikationsschaltkreise, dass die empfangene Anforderung bereit ist, verarbeitet zu werden, wobei die Meldung die identifizierten Rechenanforderungen und eine Kennung der identifizierten AFaaS-Operation umfasst; Bestimmen einer oder mehrerer der einen oder mehreren beschleunigten Plattformen durch den Lastausgleicher, um die identifizierte AFaaS-Operation auszuführen, als Funktion der identifizierten Rechenanforderungen; und Auswählen der Beschleunigerplattform der einen oder mehreren beschleunigten Plattformen durch den Lastausgleicher, um die identifizierte AFaaS-Operation auszuführen.
  • Beispiel 13 umfasst den Gegenstand irgendeines der Beispiele 11 und 12, und wobei die mehreren Anweisungen die Netzwerk-Datenverarbeitungsvorrichtung ferner zu Folgendem veranlassen: Bestimmen durch das Gateway, ob die empfangene Anforderung angibt, dass eine der nicht beschleunigten FaaS-Operationen an mindestens einem Teil der empfangenen Anforderung auszuführen ist; Identifizieren durch das Gateway und als Reaktion auf eine Bestimmung, dass die empfangene Anforderung angibt, dass eine nicht beschleunigte FaaS-Operation der mehreren nicht beschleunigten FaaS-Operationen auszuführen ist, von Rechenanforderungen für die nicht beschleunigte FaaS-Operation; Auswählen einer Prozessorplattform der einen oder mehreren Prozessorplattformen durch das Gateway, um die identifizierte nicht beschleunigte FaaS-Operation auszuführen; Weiterleiten der empfangenen Anforderung zu der ausgewählten nicht beschleunigten Plattform durch den Switch; und Senden einer Antwort zu der Endpunkt-Datenverarbeitungsvorrichtung, die ein Ergebnis der identifizierten nicht beschleunigten Operation umfasst, durch das Gateway als Reaktion auf Empfang einer Angabe, dass die identifizierte nicht beschleunigte Operation abgeschlossen wurde.
  • Beispiel 14 umfasst den Gegenstand irgendeines der Beispiele 11-13, und wobei Auswählen der Prozessorplattform der einen oder mehreren Prozessorplattformen zum Ausführen der identifizierten nicht beschleunigten FaaS-Operation Folgendes umfasst: Senden einer Meldung durch das Gateway zu einem Lastausgleicher der Kommunikationsschaltkreise, dass die empfangene Anforderung bereit ist, verarbeitet zu werden, wobei die Meldung die identifizierten Rechenanforderungen umfasst; Bestimmen einer oder mehrerer der einen oder mehreren Prozessorplattformen durch den Lastausgleicher als Funktion der identifizierten Rechenanforderung; und Auswählen der Prozessorplattform der einen oder mehreren Prozessorplattformen durch den Lastausgleicher, um die identifizierte nicht beschleunigte FaaS-Operation auszuführen.
  • Beispiel 15 umfasst den Gegenstand irgendeines der Beispiele 11-14, und wobei Identifizieren der Rechenanforderungen für die nicht beschleunigte FaaS-Operation Identifizieren der Rechenanforderungen als Funktion einer oder mehrerer Dienstgüte- bzw. QoS-Anforderungen umfasst.
  • Beispiel 16 umfasst den Gegenstand irgendeines der Beispiele 11-15, und wobei die mehreren Anweisungen die Netzwerk-Datenverarbeitungsvorrichtung ferner zu Folgendem veranlassen: Authentifizieren der empfangenen Anforderung durch das Gateway; und Senden von Authentifizierungs- und Vergebührungsinformationen zu einer zentralen Vergebührungsstelle als Reaktion auf eine Bestimmung, dass die empfangene Anforderung erfolgreich authentifiziert wurde.
  • Beispiel 17 umfasst den Gegenstand irgendeines der Beispiele 11-16, und wobei Bestimmen, ob die empfangene Anforderung angibt, dass eine der mehreren AFaaS-Operationen auszuführen ist, Bestimmen auf der Basis einer mit der empfangenen Anforderung enthaltenen Funktionskennung umfasst.
  • Beispiel 18 umfasst den Gegenstand irgendeines der Beispiele 11-17, und wobei die mehreren Anweisungen die Netzwerk-Datenverarbeitungsvorrichtung ferner zum Erzeugen eines Eintrags in einer Tracking-Tabelle veranlassen und wobei der Eintrag Identifizierungsinformationen der empfangenen Anforderung und einen Status der empfangenen Anforderung umfasst.
  • Beispiel 19 umfasst den Gegenstand irgendeines der Beispiele 11-18, und wobei Identifizieren der Rechenanforderungen für die identifizierte AFaaS-Operation Identifizieren der Rechenanforderungen als Funktion einer oder mehrerer Dienstgüte- bzw. QoS-Anforderungen umfasst.
  • Beispiel 20 umfasst den Gegenstand irgendeines der Beispiele 11-19, und wobei die mehreren Anweisungen die Netzwerk-Datenverarbeitungsvorrichtung ferner zu Folgendem veranlassen: Speichern mindestens eines Teils der empfangenen Anforderung in einem Hauptspeicher der Netzwerk-Datenverarbeitungsvorrichtung und wobei Weiterleiten der empfangenen Anforderung zu der ausgewählten beschleunigten Plattform Weiterleiten der empfangenen Anforderung mit einem Zeiger auf eine Stelle in dem Hauptspeicher, an der der mindestens eine Teil der empfangenen Anforderung gespeichert wurde, umfasst.
  • Beispiel 21 umfasst eine Netzwerk-Datenverarbeitungsvorrichtung zum Beschleunigen von Edge-Vorrichtungsarbeitslasten, wobei die Netzwerk-Datenverarbeitungsvorrichtung Folgendes umfasst: Schaltkreise zum Empfangen einer Anforderung von einer Endpunkt-Datenverarbeitungsvorrichtung, eine Funktion-als-Dienst- bzw. FaaS-Operation in der Netzwerk-Datenverarbeitungsvorrichtung auszuführen, in einem Vorrichtungs-Edge-Netzwerk, wobei die FaaS-Operation (i) eine von mehreren nicht beschleunigten FaaS-Operationen, die durch mindestens einen Prozessor einer prozessorgestützten Plattform unterstützt werden, oder (ii) eine von mehreren beschleunigten FaaS- bzw. AFaaS-Operationen, die durch mindestens einen Beschleuniger einer beschleunigergestützten Plattform unterstützt werden, umfasst; Mittel zum Bestimmen, ob die empfangene Anforderung angibt, dass eine der mehreren AFaaS-Operationen an mindestens einem Teil der empfangenen Anforderung auszuführen ist; Mittel zum Identifizieren als Reaktion auf eine Bestimmung, dass die empfangene Anforderung angibt, dass eine AFaaS-Operation der mehreren AFaaS-Operationen auszuführen ist, von Rechenanforderungen für die identifizierte AFaaS-Operation; Mittel zum Auswählen einer Beschleunigerplattform einer oder mehrerer beschleunigter Plattformen, um die identifizierte AFaaS-Operation auszuführen; Mittel zum Weiterleiten der empfangenen Anforderung zu der ausgewählten Beschleunigerplattform; und Schaltkreise zum Senden einer Antwort zu der Endpunkt-Datenverarbeitungsvorrichtung, die ein Ergebnis der identifizierten AFaaS-Operation umfasst, als Reaktion auf den Empfang einer Angabe, dass die identifizierte AFaaS-Operation abgeschlossen wurde.
  • Beispiel 22 umfasst den Gegenstand von Beispiel 21, und umfasst ferner: Mittel zum Bestimmen, ob die empfangene Anforderung angibt, dass eine der mehreren icht beschleunigten FaaS-Operationen an mindestens einem Teil der empfangenen Anforderung auszuführen ist; Mittel zum Identifizieren als Reaktion auf eine Bestimmung, dass die empfangene Anforderung angibt, dass eine nicht beschleunigte FaaS-Operation der mehreren nicht beschleunigten FaaS-Operationen auszuführen ist, von Rechenanforderungen für die nicht beschleunigte AFaaS-Operation; Mittel zum Auswählen einer Prozessorplattform der einen oder mehreren Prozessorplattformen, um die identifizierte nicht beschleunigte FaaS-Operation auszuführen; Mittel zum Weiterleiten der empfangenen Anforderung zu der ausgewählten nicht beschleunigten Plattform; und Schaltungen zum Senden einer Antwort zu der Endpunkt-Datenverarbeitungsvorrichtung, die ein Ergebnis der identifizierten nicht beschleunigten FaaS-Operation umfasst, als Reaktion auf den Empfang einer Angabe, dass die identifizierte nicht beschleunigte Operation abgeschlossen wurde.
  • Beispiel 23 umfasst den Gegenstand irgendeines der Beispiele 21 und 22, und wobei die Mittel zum Identifizieren der Rechenanforderungen für die nicht beschleunigte FaaS-Operation Mittel zum Identifizieren der Rechenanforderungen als Funktion einer oder mehrerer Dienstgüte- bzw. QoS-Anforderungen umfassen.
  • Beispiel 24 umfasst den Gegenstand irgendeines der Beispiele 21-23, und umfasst ferner Mittel zum Authentifizieren der empfangenen Anforderung; und Schaltkreise zum Senden von Authentifizierungs- und Vergebührungsinformationen zu einer zentralen Vergebührungsstelle als Reaktion auf eine Bestimmung, dass die empfangene Anforderung erfolgreich authentifiziert wurde.
  • Beispiel 25 umfasst den Gegenstand irgendeines der Beispiele 21-24, und umfasst ferner Mittel zum Speichern mindestens eines Teils der empfangenen Anforderung in einem Hauptspeicher der Netzwerk-Datenverarbeitungsvorrichtung und wobei die Mittel zum Weiterleiten der empfangenen Anforderung zu der ausgewählten beschleunigten Plattform Mittel zum Weiterleiten der empfangenen Anforderung mit einem Zeiger auf eine Stelle in dem Hauptspeicher, an der der mindestens eine Teil der empfangenen Anforderung gespeichert wurde, umfassen.

Claims (22)

  1. Netzwerk-Datenverarbeitungsvorrichtung zum Beschleunigen von Edge-Vorrichtungsarbeitslasten, wobei die Netzwerk-Datenverarbeitungsvorrichtung Folgendes umfasst: eine Rechenengine; eine oder mehrere Prozessorplattformen, die mindestens einen Prozessor umfassen, der mehrere nicht beschleunigte Funktion-als-Dienst- bzw. FaaS-Operationen unterstützt; eine oder mehrere beschleunigte Plattformen, die mindestens einen Beschleuniger umfassen, der mehrere beschleunigte bzw. AFaaS-Operationen unterstützt; und Kommunikationsschaltkreise zum Empfangen einer Anforderung von einer Endpunkt-Datenverarbeitungsvorrichtung, eine Funktion-als-Dienst-FaaS-Operation in der Netzwerk-Datenverarbeitungsvorrichtung auszuführen, durch ein Gateway der Kommunikationsschaltkreise in einem Vorrichtungs-Edge-Netzwerk; Bestimmen durch das Gateway, ob die empfangene Anforderung angibt, dass eine der mehreren AFaaS-Operationen an mindestens einem Teil der empfangenen Anforderung auszuführen ist; Identifizieren durch das Gateway und als Reaktion auf eine Bestimmung, dass die empfangene Anforderung angibt, dass eine AFaaS-Operation der mehreren AFaaS-Operationen auszuführen ist, von Rechenanforderungen für die identifizierte AFaaS-Operation; Auswählen einer Beschleunigerplattform einer oder mehrerer beschleunigter Plattformen durch das Gateway, um die identifizierte AFaaS-Operation auszuführen; Weiterleiten der empfangenen Anforderung zu der ausgewählten Beschleunigerplattform durch einen Switch der Kommunikationsschaltkreise; und Senden einer Antwort zu der Endpunkt-Datenverarbeitungsvorrichtung, die ein Ergebnis der identifizierten AFaaS-Operation umfasst, durch das Gateway als Reaktion auf den Empfang einer Angabe, dass die identifizierte AFaaS-Operation abgeschlossen wurde.
  2. Netzwerk-Datenverarbeitungsvorrichtung nach Anspruch 1, wobei Auswählen der Beschleunigerplattform zum Ausführen der identifizierten AFaaS-Operation Folgendes umfasst: Senden einer Meldung durch das Gateway zu einem Lastausgleicher der Kommunikationsschaltkreise, dass die empfangene Anforderung bereit ist, verarbeitet zu werden, wobei die Meldung die identifizierten Rechenanforderungen und eine Kennung der identifizierten AFaaS-Operation umfasst; Bestimmen einer oder mehrerer der einen oder mehreren beschleunigten Plattformen durch den Lastausgleicher, um die identifizierte AFaaS-Operation auszuführen, als Funktion der identifizierten Rechenanforderungen; und Auswählen der Beschleunigerplattform der einen oder mehreren beschleunigten Plattformen durch den Lastausgleicher, um die identifizierte AFaaS-Operation auszuführen.
  3. Netzwerk-Datenverarbeitungsvorrichtung nach Anspruch 1, wobei die Kommunikationsschaltkreise ferner zu Folgendem dienen: Bestimmen durch das Gateway, ob die empfangene Anforderung angibt, dass eine der nicht beschleunigten FaaS-Operationen an mindestens einem Teil der empfangenen Anforderung auszuführen ist; Identifizieren durch das Gateway und als Reaktion auf eine Bestimmung, dass die empfangene Anforderung angibt, dass eine nicht beschleunigte FaaS-Operation der mehreren nicht beschleunigten FaaS-Operationen auszuführen ist, von Rechenanforderungen für die nicht beschleunigte FaaS-Operation; Auswählen einer Prozessorplattform der einen oder mehreren Prozessorplattformen durch das Gateway, um die identifizierte nicht beschleunigte FaaS-Operation auszuführen; Weiterleiten der empfangenen Anforderung zu der ausgewählten nicht beschleunigten Plattform durch den Switch; und Senden einer Antwort zu der Endpunkt-Datenverarbeitungsvorrichtung, die ein Ergebnis der identifizierten nicht beschleunigten Operation umfasst, durch das Gateway als Reaktion auf Empfang einer Angabe, dass die identifizierte nicht beschleunigte Operation abgeschlossen wurde.
  4. Netzwerk-Datenverarbeitungsvorrichtung nach Anspruch 3, wobei Auswählen der Prozessorplattform der einen oder mehreren Prozessorplattformen zum Ausführen der identifizierten nicht beschleunigten FaaS-Operation Folgendes umfasst: Senden einer Meldung durch das Gateway zu einem Lastausgleicher der Kommunikationsschaltkreise, dass die empfangene Anforderung bereit ist, verarbeitet zu werden, wobei die Meldung die identifizierten Rechenanforderungen umfasst; Bestimmen einer oder mehrerer der einen oder mehreren Prozessorplattformen durch den Lastausgleicher als Funktion der identifizierten Rechenanforderung; und Auswählen der Prozessorplattform der einen oder mehreren Prozessorplattformen durch den Lastausgleicher, um die identifizierte nicht beschleunigte FaaS-Operation auszuführen.
  5. Netzwerk-Datenverarbeitungsvorrichtung nach Anspruch 3, wobei Identifizieren der Rechenanforderungen für die nicht beschleunigte FaaS-Operation Identifizieren der Rechenanforderungen als Funktion einer oder mehrerer Dienstgüte- bzw. QoS-Anforderungen umfasst.
  6. Netzwerk-Datenverarbeitungsvorrichtung nach Anspruch 1, wobei die Kommunikationsschaltkreise ferner zu Folgendem dienen: Authentifizieren der empfangenen Anforderung durch das Gateway; und Senden von Authentifizierungs- und Vergebührungsinformationen zu einer zentralen Vergebührungsstelle als Reaktion auf eine Bestimmung, dass die empfangene Anforderung erfolgreich authentifiziert wurde.
  7. Netzwerk-Datenverarbeitungsvorrichtung nach Anspruch 1, wobei Bestimmen, ob die empfangene Anforderung angibt, dass eine der mehreren AFaaS-Operationen auszuführen ist, Bestimmen auf der Basis einer mit der empfangenen Anforderung enthaltenen Funktionskennung umfasst.
  8. Netzwerk-Datenverarbeitungsvorrichtung nach Anspruch 1, wobei die Kommunikationsschaltkreise ferner zum Erzeugen eines Eintrags in einer Tracking-Tabelle dienen, wobei der Eintrag der empfangenen Nachricht entspricht und wobei der Eintrag Identifizierungsinformationen der empfangenen Anforderung und einen Status der empfangenen Anforderung umfasst.
  9. Netzwerk-Datenverarbeitungsvorrichtung nach Anspruch 1, wobei Identifizieren der Rechenanforderungen für die identifizierte AFaaS-Operation Identifizieren der Rechenanforderungen als Funktion einer oder mehrerer Dienstgüte- bzw. QoS-Anforderungen umfasst.
  10. Netzwerk-Datenverarbeitungsvorrichtung nach Anspruch 1, wobei die Kommunikationsschaltkreise ferner zum Speichern mindestens eines Teils der empfangenen Anforderung in einem Hauptspeicher der Netzwerk-Datenverarbeitungsvorrichtung dienen und wobei Weiterleiten der empfangenen Anforderung zu der ausgewählten beschleunigten Plattform Weiterleiten der empfangenen Anforderung mit einem Zeiger auf eine Stelle in dem Hauptspeicher, an der der mindestens eine Teil der empfangenen Anforderung gespeichert wurde, umfasst.
  11. Verfahren zum Beschleunigen von Edge-Vorrichtungsarbeitslasten, wobei das Verfahren Folgendes umfasst: Empfangen einer Anforderung durch ein Gateway der Netzwerk-Datenverarbeitungsvorrichtung in einem Vorrichtungs-Edge-Netzwerk von einer Endpunkt-Datenverarbeitungsvorrichtung, eine Funktion-als-Dienst- bzw. FaaS-Operation in der Netzwerk-Datenverarbeitungsvorrichtung auszuführen, wobei die FaaS-Operation (i) eine von mehreren nicht beschleunigten FaaS-Operationen, die durch mindestens einen Prozessor einer prozessorgestützten Plattform unterstützt werden, oder (ii) eine von mehreren beschleunigten FaaS- bzw. AFaaS-Operationen, die durch mindestens einen Beschleuniger einer beschleunigergestützten Plattform unterstützt werden, umfasst; Bestimmen durch das Gateway, ob die empfangene Anforderung angibt, dass eine der mehreren AFaaS-Operationen an mindestens einem Teil der empfangenen Anforderung auszuführen ist; Identifizieren durch das Gateway und als Reaktion auf eine Bestimmung, dass die empfangene Anforderung angibt, dass eine AFaaS-Operation der mehreren AFaaS-Operationen auszuführen ist, von Rechenanforderungen für die identifizierte AFaaS-Operation; Auswählen einer Beschleunigerplattform einer oder mehrerer beschleunigter Plattformen durch das Gateway, um die identifizierte AFaaS-Operation auszuführen; Weiterleiten der empfangenen Anforderung zu der ausgewählten Beschleunigerplattform durch einen Switch der Kommunikationsschaltkreise; und Senden einer Antwort zu der Endpunkt-Datenverarbeitungsvorrichtung, die ein Ergebnis der identifizierten AFaaS-Operation umfasst, durch das Gateway als Reaktion auf den Empfang einer Angabe, dass die identifizierte AFaaS-Operation abgeschlossen wurde.
  12. Verfahren nach Anspruch 11, wobei Auswählen der Beschleunigerplattform zum Ausführen der identifizierten AFaaS-Operation Folgendes umfasst: Senden einer Meldung durch das Gateway zu einem Lastausgleicher der Kommunikationsschaltkreise, dass die empfangene Anforderung bereit ist, verarbeitet zu werden, wobei die Meldung die identifizierten Rechenanforderungen und eine Kennung der identifizierten AFaaS-Operation umfasst; Bestimmen einer oder mehrerer der einen oder mehreren beschleunigten Plattformen durch den Lastausgleicher, um die identifizierte AFaaS-Operation auszuführen, als Funktion der identifizierten Rechenanforderungen; und Auswählen der Beschleunigerplattform der einen oder mehreren beschleunigten Plattformen durch den Lastausgleicher, um die identifizierte AFaaS-Operation auszuführen.
  13. Verfahren nach Anspruch 11, ferner umfassend: Bestimmen durch das Gateway, ob die empfangene Anforderung angibt, dass eine der nicht beschleunigten FaaS-Operationen an mindestens einen Teil der empfangenen Anforderung auszuführen ist; Identifizieren durch das Gateway und als Reaktion auf eine Bestimmung, dass die empfangene Anforderung angibt, dass eine nicht beschleunigte FaaS-Operation der mehreren nicht beschleunigten FaaS-Operationen auszuführen ist, von Rechenanforderungen für die nicht beschleunigte FaaS-Operation; Auswählen einer Prozessorplattform der einen oder mehreren Prozessorplattformen durch das Gateway, um die identifizierte nicht beschleunigte FaaS-Operation auszuführen; Weiterleiten der empfangenen Anforderung zu der ausgewählten nicht beschleunigten Plattform durch den Switch; und Senden einer Antwort zu der Endpunkt-Datenverarbeitungsvorrichtung, die ein Ergebnis der identifizierten nicht beschleunigten Operation umfasst, durch das Gateway als Reaktion auf Empfang einer Angabe, dass die identifizierte nicht beschleunigte Operation abgeschlossen wurde.
  14. Verfahren nach Anspruch 13, wobei Auswählen der Prozessorplattform der einen oder mehreren Prozessorplattformen zum Ausführen der identifizierten nicht beschleunigten FaaS-Operation Folgendes umfasst: Senden einer Meldung durch das Gateway zu einem Lastausgleicher der Kommunikationsschaltkreise, dass die empfangene Anforderung bereit ist, verarbeitet zu werden, wobei die Meldung die identifizierten Rechenanforderungen umfasst; Bestimmen einer oder mehrerer der einen oder mehreren Prozessorplattformen durch den Lastausgleicher als Funktion der identifizierten Rechenanforderung; und Auswählen der Prozessorplattform der einen oder mehreren Prozessorplattformen durch den Lastausgleicher, um die identifizierte nicht beschleunigte FaaS-Operation auszuführen.
  15. Verfahren nach Anspruch 13, wobei Identifizieren der Rechenanforderungen für die nicht beschleunigte FaaS-Operation Identifizieren der Rechenanforderungen als Funktion einer oder mehrerer Dienstgüte- bzw. QoS-Anforderungen umfasst.
  16. Verfahren nach Anspruch 11, ferner umfassend: Authentifizieren der empfangenen Anforderung durch das Gateway; und Senden von Authentifizierungs- und Vergebührungsinformationen zu einer zentralen Vergebührungsstelle als Reaktion auf eine Bestimmung, dass die empfangene Anforderung erfolgreich authentifiziert wurde.
  17. Verfahren nach Anspruch 11, wobei Bestimmen, ob die empfangene Anforderung angibt, dass eine der mehreren AFaaS-Operationen auszuführen ist, Bestimmen auf der Basis einer mit der empfangenen Anforderung enthaltenen Funktionskennung umfasst.
  18. Verfahren nach Anspruch 11, das ferner Erzeugen eines Eintrags in einer Tracking-Tabelle umfasst und wobei der Eintrag Identifizierungsinformationen der empfangenen Anforderung und einen Status der empfangenen Anforderung umfasst.
  19. Verfahren nach Anspruch 11, wobei Identifizieren der Rechenanforderungen für die identifizierte AFaaS-Operation Identifizieren der Rechenanforderungen als Funktion einer oder mehrerer Dienstgüte- bzw. QoS-Anforderungen umfasst.
  20. Verfahren nach Anspruch 11, das ferner Speichern mindestens eines Teils der empfangenen Anforderung in einem Hauptspeicher der Netzwerk-Datenverarbeitungsvorrichtung umfasst und wobei Weiterleiten der empfangenen Anforderung zu der ausgewählten beschleunigten Plattform Weiterleiten der empfangenen Anforderung mit einem Zeiger auf eine Stelle in dem Hauptspeicher, an der der mindestens eine Teil der empfangenen Anforderung gespeichert wurde, umfasst.
  21. Ein oder mehrere maschinenlesbare Speicherungsmedien, auf denen mehrere Anweisungen gespeichert sind, die, wenn sie ausgeführt werden, bewirken, dass eine Netzwerk-Datenverarbeitungsvorrichtung das Verfahren nach einem der Ansprüche 11-20 ausführt.
  22. Netzwerk-Datenverarbeitungsvorrichtung zum Beschleunigen von Edge-Vorrichtungsarbeitslasten, wobei die Netzwerk-Datenverarbeitungsvorrichtung Mittel zum Ausführen des Verfahrens nach einem der Ansprüche 11-20 umfasst.
DE102019105193.2A 2018-03-30 2019-02-28 Technologien zum beschleunigen von edge-vorrichtungsarbeitslasten Pending DE102019105193A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/941,943 US10541942B2 (en) 2018-03-30 2018-03-30 Technologies for accelerating edge device workloads
US15/941,943 2018-03-30

Publications (1)

Publication Number Publication Date
DE102019105193A1 true DE102019105193A1 (de) 2019-10-02

Family

ID=65231855

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019105193.2A Pending DE102019105193A1 (de) 2018-03-30 2019-02-28 Technologien zum beschleunigen von edge-vorrichtungsarbeitslasten

Country Status (3)

Country Link
US (3) US10541942B2 (de)
CN (1) CN110324396A (de)
DE (1) DE102019105193A1 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10541942B2 (en) 2018-03-30 2020-01-21 Intel Corporation Technologies for accelerating edge device workloads
US11960940B2 (en) * 2018-05-29 2024-04-16 Telefonaktiebolaget Lm Ericsson (Publ) Performance of function as a service
WO2020123394A1 (en) * 2018-12-09 2020-06-18 Spot AI, Inc. Systems and methods for distributed image processing
US11169853B2 (en) 2018-12-28 2021-11-09 Intel Corporation Technologies for providing dynamic selection of edge and local accelerator resources
US11042405B2 (en) * 2019-01-10 2021-06-22 Vmware, Inc. Scheduling and executing functions across different functions-as-a-service (FAAS) infrastructures
US11210126B2 (en) 2019-02-15 2021-12-28 Cisco Technology, Inc. Virtual infrastructure manager enhancements for remote edge cloud deployments
US11240155B2 (en) * 2019-03-29 2022-02-01 Intel Corporation Technologies for network device load balancers for accelerated functions as a service
US11196837B2 (en) 2019-03-29 2021-12-07 Intel Corporation Technologies for multi-tier prefetching in a context-aware edge gateway
US10542586B2 (en) * 2019-03-29 2020-01-21 Intel Corporation Technologies for providing hardware resources as a service with direct resource addressability
US11334382B2 (en) 2019-04-30 2022-05-17 Intel Corporation Technologies for batching requests in an edge infrastructure
US11388054B2 (en) 2019-04-30 2022-07-12 Intel Corporation Modular I/O configurations for edge computing using disaggregated chiplets
US11093287B2 (en) 2019-05-24 2021-08-17 Intel Corporation Data management for edge architectures
US11139991B2 (en) 2019-09-28 2021-10-05 Intel Corporation Decentralized edge computing transactions with fine-grained time coordination
US11349777B2 (en) * 2019-11-15 2022-05-31 Charter Communications Operating, Llc Network quality of service controller
US11044173B1 (en) * 2020-01-13 2021-06-22 Cisco Technology, Inc. Management of serverless function deployments in computing networks
US11429456B2 (en) * 2020-05-01 2022-08-30 Dell Products L.P. System for migrating tasks between edge devices of an IoT system
US11348167B2 (en) 2020-05-28 2022-05-31 EMC IP Holding Company LLC Method and storage medium for private edge-station auction house
US11323509B2 (en) * 2020-05-28 2022-05-03 EMC IP Holding Company LLC Union formation of edge cloud-native clusters
EP4202672A4 (de) * 2020-09-23 2024-06-12 Siemens Aktiengesellschaft Edge-computing-verfahren und -system, edge-vorrichtung und steuerungsserver
US11948010B2 (en) * 2020-10-12 2024-04-02 International Business Machines Corporation Tag-driven scheduling of computing resources for function execution
CN114143836B (zh) * 2021-12-07 2024-04-23 国网河北省电力有限公司电力科学研究院 基于边缘计算网关的负荷均衡方法、装置及终端
CN115080063A (zh) * 2022-06-17 2022-09-20 阿里巴巴(中国)有限公司 基于边缘计算的业务处理方法、边缘设备及可读存储介质
US20240111599A1 (en) * 2022-09-30 2024-04-04 Amazon Technologies, Inc. Code execution on a distributed unit

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2565656B (en) 2016-02-25 2020-04-15 Intel Corp Platform for computing at the mobile edge
US10701160B2 (en) * 2016-07-28 2020-06-30 Polybit Inc. System and method for a unified interface to networked webservices
US10244071B2 (en) 2016-11-21 2019-03-26 Intel Corporation Data management in an edge network
US10440096B2 (en) 2016-12-28 2019-10-08 Intel IP Corporation Application computation offloading for mobile edge computing
US11075982B2 (en) * 2017-07-10 2021-07-27 Nokia Solutions And Networks Oy Scaling hosts in distributed event handling systems
US11385944B2 (en) * 2017-07-10 2022-07-12 Nokia Solutions And Networks Oy Event handling in distributed event handling systems
US10742750B2 (en) * 2017-07-20 2020-08-11 Cisco Technology, Inc. Managing a distributed network of function execution environments
US11405464B2 (en) * 2017-09-29 2022-08-02 Intel Corporation Policy controlled semi-autonomous infrastructure management
US10896181B2 (en) * 2017-10-05 2021-01-19 International Business Machines Corporation Serverless composition of functions into applications
US10110495B1 (en) 2017-11-22 2018-10-23 Intel Corporation Multi-access edge computing (MEC) service provision based on local cost measurements
US10439673B2 (en) * 2017-12-11 2019-10-08 Mitel Cloud Services, Inc. Cloud-based acoustic echo canceller
US11250336B2 (en) * 2017-12-28 2022-02-15 Intel Corporation Distributed and contextualized artificial intelligence inference service
US10541942B2 (en) 2018-03-30 2020-01-21 Intel Corporation Technologies for accelerating edge device workloads

Also Published As

Publication number Publication date
US11706158B2 (en) 2023-07-18
US10541942B2 (en) 2020-01-21
US20190044886A1 (en) 2019-02-07
CN110324396A (zh) 2019-10-11
US11159454B2 (en) 2021-10-26
US20200396177A1 (en) 2020-12-17
US20220224657A1 (en) 2022-07-14

Similar Documents

Publication Publication Date Title
DE102019105193A1 (de) Technologien zum beschleunigen von edge-vorrichtungsarbeitslasten
US20210099516A1 (en) Technologies for transparent function as a service arbitration for edge systems
US9992273B2 (en) Intelligent load balancer selection in a multi-load balancer environment
Bourguiba et al. Improving network I/O virtualization for cloud computing
DE112017003279T5 (de) Grafikverarbeitungseinheit (gpu) für pakettransfer
DE102018214776A1 (de) Technologien für die Verwaltung von Netz-Statistik-Zählern
DE112017001762T5 (de) Technologien für den einsatz dynamischer underlay-netzwerke in cloud-computing-infrastrukturen
DE112016005477T5 (de) System zum parallelen puffern und vorverarbeiten von datenströmen auf grundlage eines kontextes auf mehreren ebenen in fahrzeugdomänen
DE102019130686A1 (de) Technologien zur bereitstellung dynamischer auswahl von edge- und lokalen beschleunigerressourcen
DE102015119890A1 (de) Paralleles Verarbeiten von Service-Funktionen in Service-Funktionsketten
DE102016103492A1 (de) Technologien für überwachung und analyse von gpu-unterstütztem netzwerkverkehr
DE102020201834A1 (de) Technologien für netzvorrichtungslastausgleichseinrichtungen für beschleunigte funktionen-als-dienst
DE102022104207A1 (de) Pooling von Netzwerkverarbeitungsressourcen
CN112613024A (zh) 一种数据交互方法、装置、系统及存储介质
DE112013006417T5 (de) Verlustfreie Schalterstruktur mit niedriger Latenzzeit zum Gebrauch in einem Rechenzentrum
DE102018004111A1 (de) Datencenter-Leistungsmanagement
DE102020201347A1 (de) Technologien zum abgleichen von sicherheitsanforderungen von funktion-als-dienst in edge-clouds
DE112021004177T5 (de) Detektion von einem Leistungsrückgang eines Webservice basierend auf Metriken von Gruppen von Benutzerinteraktionen
CN110661644A (zh) 利用网络功能虚拟化设备热交换传统设备的技术
DE102019103932A1 (de) Technologien für optimierte Dienstgütebeschleunigung
DE112016007292T5 (de) Technologien für paravirtualisierte netzwerkvorrichtungswarteschlangen und speicherverwaltung
CN114301980A (zh) 容器集群的调度方法、装置、系统及计算机可读介质
DE102018206835A1 (de) Flussbasierte Ratengrenze
DE112016004290T5 (de) Technologien zur aggregationsbasierten nachrichtensynchronisation
DE102019105065A1 (de) Technologien zur gezielten flusssteuerungswiederherstellung

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029080000

Ipc: H04L0065000000