DE102023207119A1 - Verahren, systeme und computerprogrammprodukte für dynamischen lastausgleich - Google Patents

Verahren, systeme und computerprogrammprodukte für dynamischen lastausgleich Download PDF

Info

Publication number
DE102023207119A1
DE102023207119A1 DE102023207119.3A DE102023207119A DE102023207119A1 DE 102023207119 A1 DE102023207119 A1 DE 102023207119A1 DE 102023207119 A DE102023207119 A DE 102023207119A DE 102023207119 A1 DE102023207119 A1 DE 102023207119A1
Authority
DE
Germany
Prior art keywords
packet processing
processing cores
packet
processing core
state
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
DE102023207119.3A
Other languages
English (en)
Inventor
Michael Weiner
Avi Urman
Gary Mataev
Idan Burstein
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.)
Mellanox Technologies Ltd
Original Assignee
Mellanox Technologies Ltd
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 Mellanox Technologies Ltd filed Critical Mellanox Technologies Ltd
Publication of DE102023207119A1 publication Critical patent/DE102023207119A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution

Landscapes

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

Abstract

Es werden Verfahren, Systeme und Computerprogrammprodukte zur Auswahl von Paketverarbeitungskernen bereitgestellt. Ein Beispielsystem umfasst eine Mehrzahl von Paketverarbeitungskernen und eine Lastausgleichseinheit, die kommunikativ mit der Mehrzahl von Paketverarbeitungskernen verbunden ist. Die Lastausgleichseinheit ist zum Empfangen eines Workflow-Pakets, das Paketbeschreibungsdaten enthält, die zumindest eine Paketstruktur und eine Paketpriorität angeben, und zum Empfangen, von der Mehrzahl von Paketverarbeitungskernen, von Zustandsdaten konfiguriert, die zumindest einen Auslastungszustand und einen Betriebszustand jedes der jeweiligen Paketverarbeitungskerne angeben. Die Lastausgleichseinheit bestimmt einen ausgewählten Paketverarbeitungskern aus der Mehrzahl der Paketverarbeitungskernen auf der Basis der Zustandsdaten des Paketverarbeitungskerns und der Paketbeschreibungsdaten des Workflow-Pakets und überträgt das Workflow-Paket zu dem ausgewählten Paketverarbeitungskern.

Description

  • TECHNISCHES GEBIET
  • Ausführungsformen der vorliegenden Offenbarung beziehen sich allgemein auf Netzwerksysteme und insbesondere auf die dynamische Verteilung von Systemoperationen in verteilten Netzwerkumgebungen.
  • HINTERGRUND
  • Computersysteme werden häufig in Netzwerkumgebungen eingesetzt, um Netzwerkverkehr zu verwalten. Netzverkehr kann jedoch hinsichtlich des Typs der übertragenen Daten, der Häufigkeit der übertragenen Pakete, des Protokolls oder der Codierung eines Pakets und/oder dergleichen sehr unterschiedlich sein. Darüber hinaus verwenden viele zur Verwaltung von Netzwerkverkehr eingesetzte Computersysteme eine Mehrzahl von Verarbeitungskernen, von denen jeder über unterschiedliche Betriebsfähigkeiten verfügt, oder greifen darauf zu. Durch angewandte Anstrengung, Einfallsreichtum und Innovation wurden viele der mit konventionellen Netzwerksystemen assoziierten Probleme durch Entwickeln von Lösungen gelöst, die in Ausführungsformen der vorliegenden Offenlegung enthalten sind, von denen viele Beispiele hier im Detail beschrieben sind.
  • KURZE ZUSAMMENFASSUNG
  • Die Erfindung wird durch die Ansprüche definiert. Zur Veranschaulichung der Erfindung werden hier Aspekte und Ausführungsformen beschrieben, die in den Rahmen der Ansprüche fallen können oder auch nicht.
  • Ausführungsformen der vorliegenden Offenbarung stellen Verfahren, Systeme, Vorrichtungen und Computerprogrammprodukte für die dynamische Verteilung von Systemoperationen in verteilten Netzwerkumgebungen bereit. Ein beispielhaftes computerimplementiertes Verfahren kann das Empfangen eines Workflow-Pakets beinhalten, das Paketbeschreibungsdaten enthalten kann, die zumindest eine Paketstruktur und eine Paketpriorität angeben. Das Verfahren kann ferner das Empfangen von Zustandsdaten von einer Mehrzahl von Paketverarbeitungskernen beinhalten, die zumindest einen Auslastungszustand und einen Betriebszustand jedes der jeweiligen Paketverarbeitungskerne aus der Mehrzahl von Paketverarbeitungskernen angeben. Das Verfahren kann ferner das Bestimmen eines ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen auf der Basis der Zustandsdaten des Paketverarbeitungskerns und der Paketbeschreibungsdaten des Workflow-Pakets und das Übertragen des Workflow-Pakets zu dem ausgewählten Paketverarbeitungskern beinhalten.
  • In einigen Ausführungsformen können die den Auslastungszustand angebenden Zustandsdaten einen Prozessorauslastungswert für jeden auf der Mehrzahl von Paketverarbeitungskernen definieren. In einer solchen Ausführungsform kann das Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen ferner das Vergleichen der Prozessorauslastungswerte der Mehrzahl von Paketverarbeitungskernen und das Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Prozessorauslastungswerte beinhalten.
  • In einigen weiteren Ausführungsformen können die den Auslastungszustand angebenden Zustandsdaten ferner einen Arbeitsspeicherauslastungswert für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren. In einer solchen Ausführungsform kann das Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen ferner das Vergleichen der Arbeitsspeicherauslastungswerte der Mehrzahl von Paketverarbeitungskernen und das Aktualisieren des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Arbeitsspeicherauslastungswerte beinhalten.
  • In einigen Ausführungsformen können die den Auslastungszustand angebenden Zustandsdaten eine Mehrzahl von Leistungszuständen für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren, einschließlich mindestens eines ersten Leistungszustands, der mit einer ersten Betriebsfrequenz assoziiert ist, und eines zweiten Leistungszustands, der mit einer zweiten Betriebsfrequenz assoziiert ist. In einer solchen Ausführungsform kann das Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen ferner das Vergleichen der Leistungszustände der Mehrzahl von Paketverarbeitungskernen und das Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Leistungszustände beinhalten.
  • In einigen weiteren Ausführungsformen können die den Betriebszustand angebenden Zustandsdaten einen physischen Abstand zwischen dem jeweiligen Paketverarbeitungskern und einer Lastausgleichseinheit für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren. In einer solchen Ausführungsform kann das Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen ferner das Vergleichen des physischen Abstands von der Lastausgleichseinheit der Mehrzahl von Paketverarbeitungskernen und das Aktualisieren des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs des physischen Abstands beinhalten.
  • In einigen Ausführungsformen können die Paketpriorität angebenden Paketbeschreibungsdaten eine Mehrzahl von Prioritätskategorien einschließlich mindestens einer ersten Prioritätskategorie und einer zweiten Prioritätskategorie definieren. In einer solchen Ausführungsform kann das Bestimmen des ausgewählten Paketverarbeitungskerns ferner das Vergleichen der Zustandsdaten der Mehrzahl von Paketverarbeitungskernen und das Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis der Prioritätskategorie des Workflow-Pakets und des Vergleichs der Zustandsdaten der Mehrzahl von Paketverarbeitungskernen beinhalten.
  • In einigen Ausführungsformen können die Paketpriorität angebenden Paketbeschreibungsdaten eine Paketquelle definieren. In einer solchen Ausführungsform kann das Bestimmen des ausgewählten Paketverarbeitungskerns ferner das Vergleichen der Zustandsdaten der Mehrzahl von Paketverarbeitungskernen und das Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis der Paketquelle des Workflow-Pakets und des Vergleichs der Zustandsdaten der Mehrzahl von Paketverarbeitungskernen beinhalten.
  • In jeder Ausführungsform kann das computerimplementierte Verfahren ferner das iterative Bestimmen des ausgewählten Paketverarbeitungskerns mit Hilfe eines Verstärkungslernalgorithmus beinhalten.
  • Ein Beispielsystem kann Folgendes umfassen: eine Mehrzahl von Paketverarbeitungskernen; und eine Lastausgleichseinheit, die kommunikativ mit der Mehrzahl von Paketverarbeitungskernen verbunden ist, wobei die Lastausgleichseinheit konfiguriert ist zum: Empfangen eines Workflow-Pakets, das Paketbeschreibungsdaten umfasst, die zumindest eine Paketstruktur und eine Paketpriorität angeben; Empfangen von Zustandsdaten von der Mehrzahl von Paketverarbeitungskernen, die zumindest einen Auslastungszustand und einen Betriebszustand jedes der jeweiligen Paketverarbeitungskerne aus der Mehrzahl von Paketverarbeitungskernen angeben; Bestimmen eines ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen auf der Basis der Zustandsdaten des Paketverarbeitungskerns und der Paketbeschreibungsdaten des Workflow-Pakets; und Übertragen des Workflow-Pakets zu dem ausgewählten Paketverarbeitungskern.
  • In einigen Ausführungsformen definieren die den Auslastungszustand angebenden Zustandsdaten einen Prozessorauslastungswert für jeden aus der Mehrzahl von Paketverarbeitungskernen, und wobei die Lastausgleichseinheit ferner konfiguriert ist zum Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen durch: Vergleichen der Prozessorauslastungswerte der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Prozessorauslastungswerte.
  • In einigen weiteren Ausführungsformen definieren die den Auslastungszustand angebenden Zustandsdaten ferner einen Arbeitsspeicherauslastungswert für jeden aus der Mehrzahl von Paketverarbeitungskernen, und wobei die Lastausgleichseinheit ferner konfiguriert ist zum Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen durch: Vergleichen der Arbeitsspeicherauslastungswerte der Mehrzahl von Paketverarbeitungskernen; und Aktualisieren des ausgewählten Paketverarbeitungskern auf der Basis des Vergleichs der Arbeitsspeicherauslastungswerte.
  • In einigen Ausführungsformen definieren die den Auslastungszustand angebenden Zustandsdaten eine Mehrzahl von Leistungszuständen für jeden aus der Mehrzahl von Paketverarbeitungskernen, die mindestens einen mit einer ersten Betriebsfrequenz assoziierten ersten Leistungszustand und einen mit einer zweiten Betriebsfrequenz assoziierten zweiten Leistungszustand umfassen, und wobei die Lastausgleichseinheit ferner konfiguriert ist zum Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen durch: Vergleichen der Leistungszustände der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Leistungszustände.
  • In einigen noch weiteren Ausführungsformen definieren die den Betriebszustand angebenden Zustandsdaten einen physischen Abstand zwischen dem jeweiligen Paketverarbeitungskern und der Lastausgleichseinheit für jeden aus der Mehrzahl von Paketverarbeitungskernen, und wobei die Lastausgleichseinheit ferner konfiguriert ist zum Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen durch: Vergleichen des physischen Abstands von der Lastausgleichseinheit der Mehrzahl von Paketverarbeitungskernen; und Aktualisieren des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs des physischen Abstands.
  • In einigen Ausführungsformen definieren die Paketpriorität angebenden Paketbeschreibungsdaten eine Mehrzahl von Prioritätskategorien, die mindestens eine erste Prioritätskategorie und eine zweite Prioritätskategorie umfassen, und wobei die Lastausgleichseinheit ferner konfiguriert ist zum Bestimmen des ausgewählten Paketverarbeitungskerns durch: Vergleichen der Zustandsdaten der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis der Prioritätskategorie des Workflow-Pakets und des Vergleichs der Zustandsdaten der Mehrzahl von Paketverarbeitungskernen.
  • In einigen Ausführungsformen definieren die Paketpriorität angebenden Paketbeschreibungsdaten eine Paketquelle, und wobei die Lastausgleichseinheit ferner konfiguriert ist zum Bestimmen des ausgewählten Paketverarbeitungskerns durch: Vergleichen der Zustandsdaten der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis der Paketquelle des Workflow-Pakets und des Vergleichs der Zustandsdaten der Mehrzahl von Paketverarbeitungskernen.
  • In jeder Ausführungsform ist die Lastausgleichseinheit ferner zum iterativen Bestimmen des ausgewählten Paketverarbeitungskerns mit Hilfe eines Verstärkungslernalgorithmus konfiguriert.
  • Ein Beispiel für ein Computerprogrammprodukt umfasst mindestens ein nichtflüchtiges computerlesbares Speichermedium mit Computerprogrammcode darauf, der bei Ausführung mit mindestens einem Prozessor das Computerprogrammprodukt konfiguriert zum: Empfangen eines Workflow-Pakets, wobei das Workflow-Paket Paketbeschreibungsdaten umfasst, die mindestens eine Paketstruktur und eine Paketpriorität angeben; Empfangen, von einer Mehrzahl von Paketverarbeitungskernen, von Zustandsdaten, die mindestens einen Auslastungszustand und einen Betriebszustand jedes der jeweiligen Paketverarbeitungskerne aus der Mehrzahl von Paketverarbeitungskernen angeben; Bestimmen eines ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen auf der Basis der Zustandsdaten des Paketverarbeitungskerns und der Paketbeschreibungsdaten des Workflow-Pakets; und Übertragen des Workflow-Pakets zu dem ausgewählten Paketverarbeitungskern.
  • In einigen Ausführungsformen definieren die den Auslastungszustand angebenden Zustandsdaten einen Prozessorauslastungswert für jeden aus der Mehrzahl von Paketverarbeitungskernen, wobei das Computerprogrammprodukt ferner konfiguriert ist zum: Vergleichen der Prozessorauslastungswerte der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Prozessorauslastungswerte.
  • In einigen weiteren Ausführungsformen, in denen die den Auslastungszustand angebenden Zustandsdaten ferner einen Arbeitsspeicherauslastungswert für jeden der mehreren Paketverarbeitungskerne definieren, ist das Computerprogrammprodukt ferner konfiguriert zum: Vergleichen der Arbeitsspeicherauslastungswerte der Mehrzahl von Paketverarbeitungskernen; und Aktualisieren des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Arbeitsspeicherauslastungswerte.
  • In einigen Ausführungsformen definieren die den Auslastungszustand angebenden Zustandsdaten eine Mehrzahl von Leistungszuständen für jeden aus der Mehrzahl von Paketverarbeitungskernen, die mindestens einen mit einer ersten Betriebsfrequenz assoziierten ersten Leistungszustand und einen mit einer zweiten Betriebsfrequenz assoziierten zweiten Leistungszustand umfassen, wobei das Computerprogrammprodukt ferner konfiguriert ist zum: Vergleichen der Leistungszustände der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Leistungszustände.
  • Es werden Verfahren, Systeme und Computerprogrammprodukte zum Auswählen von Paketverarbeitungskernen bereitgestellt. Ein Beispielsystem umfasst eine Mehrzahl von Paketverarbeitungskernen und eine Lastausgleichseinheit, die kommunikativ mit der Mehrzahl von Paketverarbeitungskernen verbunden ist. Die Lastausgleichseinheit ist zum Empfangen eines Workflow-Pakets, das Paketbeschreibungsdaten enthält, die zumindest eine Paketstruktur und eine Paketpriorität angeben, und zum Empfangen, von der Mehrzahl von Paketverarbeitungskernen, von Zustandsdaten konfiguriert, die zumindest einen Auslastungszustand und einen Betriebszustand jedes der jeweiligen Paketverarbeitungskerne angeben. Die Lastausgleichseinheit bestimmt einen ausgewählten Paketverarbeitungskern aus der Mehrzahl der Paketverarbeitungskernen auf der Basis der Zustandsdaten des Paketverarbeitungskerns und den Paketbeschreibungsdaten des Workflow-Pakets und überträgt das Workflow-Paket zu dem ausgewählten Paketverarbeitungskern.
  • Jedes Merkmal eines Aspekts oder einer Ausführungsform kann auf andere Aspekte oder Ausführungsformen in jeder geeigneten Kombination angewendet werden. Insbesondere kann jedes Merkmal eines/r Verfahrensaspekts oder -ausführungsform auf eine(n) Geräteaspekt oder -ausführungsform angewandt werden und umgekehrt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Nach dieser allgemeinen Beschreibung bestimmter beispielhafter Ausführungsformen der vorliegenden Offenbarung wird nun auf die beigefügten Zeichnungen Bezug genommen. Die in den Figuren dargestellten Komponenten können in bestimmten hier beschriebenen Ausführungsformen vorhanden sein oder auch nicht. Einige Ausführungsformen können weniger (oder mehr) Komponenten als die in den Figuren gezeigten enthalten.
    • 1 illustriert ein Beispielsystem zur Verteilung von Systemoperationen gemäß einer oder mehreren Ausführungsformen der vorliegenden Offenbarung.
    • 2 zeigt ein Blockdiagramm eines Geräts, das speziell gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung konfiguriert werden kann.
    • 3 ist ein Datendiagramm eines Beispielprozesses zum Erzeugen einer Workflow-Paketverteilungsrichtlinie gemäß einigen hierin erörterten Ausführungsformen.
    • 4 ist ein Datendiagramm eines beispielhaften Workflow-Pakets gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
    • 5 ist ein Datendiagramm eines beispielhaften Zustandsinformationspakets gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
    • 6 illustriert ein Flussdiagramm für die Auswahl eines Paketverarbeitungskerns zur Verarbeitung eines Workflow-Pakets gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
    • 7 illustriert ein Flussdiagramm zur Auswahl eines Paketverarbeitungskerns zur Verarbeitung eines Workflow-Pakets auf der Basis von Prozessor- und Arbeitsspeicherauslastung gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
    • 8 illustriert ein Flussdiagramm zur Auswahl eines Paketverarbeitungskerns zur Verarbeitung eines Workflow-Pakets auf der Basis von Leistungszustand und physischem Abstand gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
    • 9 illustriert ein Flussdiagramm zur Auswahl eines Paketverarbeitungskerns zur Verarbeitung eines Workflow-Pakets auf der Basis von Paketprioritätskategorie gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
    • 10 illustriert ein Flussdiagramm zur Auswahl eines Paketverarbeitungskerns zur Verarbeitung eines Workflow-Pakets auf der Basis von Paketquelle gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Überblick
  • Verschiedene Ausführungsformen der vorliegenden Offenbarung werden im Folgenden mit Bezug auf die beigefügten Zeichnungen, in denen einige, aber nicht alle Ausführungsformen dargestellt sind, ausführlicher beschrieben. In der Tat kann die vorliegende Offenbarung in vielen verschiedenen Formen ausgestaltet werden und ist nicht als auf die hier dargelegten Ausführungsformen beschränkt auszulegen; vielmehr werden diese Ausführungsformen gegeben, damit die vorliegende Offenbarung die geltenden rechtlichen Anforderungen erfüllt. Gleiche Referenznummern beziehen sich durchgehend auf gleiche Elemente.
  • Die Verfahren, Geräte und Computerprogrammprodukte, die gemäß den beispielhaften Ausführungen der vorliegenden Offenbarung für die Verwaltung der Verteilung von Computertransaktionen auf eine Mehrzahl von Verarbeitungsknoten bereitgestellt werden, um die Systemleistung zu verbessern. [sic] Im Allgemeinen muss ein Computersystem bei der Verwaltung eines Flusses von Computertransaktionen und einer Mehrzahl von Verarbeitungskernen möglicherweise bestimmen, zu welchem Kern eine bestimmte Computertransaktion geleitet werden kann. Ein unsachgemäßes Leiten kann zu Engpässen im Verarbeitungsfluss und einer schlechten Leistung des Computersystems führen. Ein unsachgemäßes Leiten kann auch zu einer übermäßigen Auslastung eines bestimmten Prozessorkerns führen, so dass der Kern in einen erhöhten Leistungszustand übergeht und mehr Leistung aufnimmt. Daher ist es wünschenswert, Computertransaktionen so zu verteilen, dass unnötiger Stromverbrauch vermieden wird, während eine ausreichende Leistung erhalten bleibt.
  • Die derzeitigen Verfahren und Systeme zur Verteilung von Computertransaktionen weisen eine Reihe von Unzulänglichkeiten und Problemen auf. Zum Beispiel können aktuelle Lösungen Transaktionen nur gleichmäßig auf die Kerne verteilen, wie z.B. auf eine „Round-Robin“-Weise. Da nicht alle Netzwerktransaktionen die gleiche Verarbeitungszeit benötigen und nicht alle Prozessorkerne gleich leistungsfähig sind, führt dieser Ansatz häufig zu einer Unterauslastung einiger Prozessorkerne, während andere Kerne übermäßig ausgelastet sind. Eine schlechte Verteilung von Computertransaktionen führt außerdem zu einer erhöhten Leistungsaufnahme für übermäßig ausgelastete Kerne, die in einen leistungsfähigeren Zustand wechseln müssen, und kann auch zu einer erhöhten Latenzzeit führen, da einige Verarbeitungskerne unterausgelastet sind. Computersysteme, die solche Algorithmen zur Verteilung von Computertransaktionen verwenden, können unter einer ineffizienten Leistungsnutzung und/oder unzureichenden Leistung leiden.
  • Dementsprechend stellen die hier beschriebenen Ausführungsformen Verfahren, Systeme und Computerprogrammprodukte bereit, in denen eine Lastausgleichseinheit Computeroperationen empfangen und die richtige Verteilung bestimmen kann, um die Leistung des Computersystems zu verbessern. Anhand von in den Computertransaktionspaketen enthaltenen Informationen und Feedback von den Verarbeitungskernen kann eine Lastausgleichseinheit den Ziel-Paketverarbeitungskern (PPC) bestimmen, um die Systemleistung zu verbessern. In einigen Ausführungsformen kann die Lastausgleichseinheit einen ML-(Machine Learning)-Algorithmus verwenden, wie z.B. einen Verstärktes-Lernen-Algorithmus, ein neuronales Netzwerk, überwachtes oder unüberwachtes Lernen und/oder Ähnliches, um die Verteilung eines gegebenen Satzes von Computertransaktionen in Echtzeit oder im Wesentlichen in Echtzeit dynamisch zu bestimmen.
  • Wie hierin verwendet, können die Begriffe „Daten“, „Inhalt“, „Information“ und ähnliche Begriffe austauschbar in Bezug auf Daten verwendet werden, die gemäß Ausführungsformen der vorliegenden Offenbarung übertragen, empfangen und/oder gespeichert werden können. Daher sollte die Verwendung solcher Begriffe nicht als Einschränkung von Wesen und Umfang von Ausführungsformen der vorliegenden Offenbarung verstanden werden. Dazu kommt, wenn hierin beschrieben wird, dass eine Rechenvorrichtung Daten von einer anderen Rechenvorrichtung empfängt, können die Daten direkt von einer anderen Rechenvorrichtung oder indirekt über eine oder mehrere zwischengeschaltete Rechenvorrichtungen, wie z.B. einen oder mehrere Server, Relais, Router, Netzwerkzugangspunkte, Basisstationen, Hosts und/oder dergleichen empfangen werden, die hier zuweilen als „Netzwerk“ bezeichnet werden. Ebenso gilt, wenn hier beschrieben wird, dass eine Rechenvorrichtung Daten zu einer anderen Rechenvorrichtung sendet, wird man verstehen, dass die Daten direkt zu einer anderen Rechenvorrichtung oder indirekt über eine oder mehrere zwischengeschaltete Rechenvorrichtungen, wie z.B. einen oder mehrere Server, Relais, Router, Netzwerkzugangspunkte, Basisstationen, Hosts und/oder Ähnliches, gesendet werden können.
  • Ausführungsformen der vorliegenden Offenbarung werden im Folgenden mit Bezug auf Blockdiagramme und Flussdiagrammillustrationen beschrieben. Es sollte daher verstanden werden, dass jeder Block der Blockdiagramme und Flussdiagrammillustrationen in Form eines Computerprogrammprodukts, einer vollständigen Hardware-Ausführung, einer vollständigen Firmware-Ausführung, einer Kombination aus Hardware, Computerprogrammprodukten und/oder Firmware und/oder Geräten, Systemen, Rechenvorrichtungen, Recheneinheiten und/oder dergleichen implementiert werden kann, die Befehle, Operationen, Schritte und ähnliche, austauschbar verwendete Wörter (z.B. die ausführbaren Befehle, Befehle zur Ausführung, Programmcode und/oder dergleichen) auf einem computerlesbaren Speichermedium zur Ausführung ausführen. Das Abrufen, Laden und Ausführen von Code kann beispielsweise sequentiell erfolgen, so dass jeweils ein Befehl abgerufen, geladen und ausgeführt wird. In einigen beispielhaften Ausführungsformen kann das Abrufen, Laden und/oder Ausführen parallel erfolgen, so dass mehrere Befehle gemeinsam abgerufen, geladen und/oder ausgeführt werdenD. So können solche Ausführungsformen speziell konfigurierte Maschinen hervorbringen, die die in den Blockdiagrammen und Flussdiagrammillustrationen angegebenen Schritte oder Operationen ausführen. Dementsprechend unterstützen die Blockdiagramme und Flussdiagrammillustrationen verschiedene Kombinationen von Ausführungsformen zur Durchführung der angegebenen Befehle, Operationen oder Schritte.
  • Die hierin verwendeten Begriffe „illustrativ“, „exemplarisch“ und „Beispiel“ sollen keine qualitative Bewertung vermitteln, sondern lediglich eine Illustration eines Beispiels geben. Daher sollte die Verwendung solcher Begriffe nicht als Einschränkung von Wesen und Umfang der Ausführungsformen der vorliegenden Offenbarung verstanden werden. Die Ausdrücke „in einer Ausführungsform“, „gemäß einer Ausführungsform“ und/oder dergleichen bedeuten im Allgemeinen, dass das/die auf den Ausdruck folgende bestimmte Merkmal, Struktur oder Eigenschaft in mindestens einer Ausführungsform der vorliegenden Offenbarung enthalten sein kann und in mehr als einer Ausführungsform der vorliegenden Offenbarung enthalten sein kann (wichtig ist, dass sich solche Ausdrücke nicht unbedingt auf dieselbe Ausführungsform beziehen).
  • Dynamisches Lastausgleichssystem
  • 1 zeigt ein dynamisches Lastausgleichssystem 100 als Beispielsystem für die Verwaltung der Verteilung von Workflow-Paketen 114 in einem Rechensystem. Es wird deutlich, dass das dynamische Lastausgleichssystem 100 als Beispiel für eine oder mehrere Ausführungsformen bereitgestellt wird und nicht als Umfang oder Wesen der Offenbarung einschränkend auszulegen ist. Das in 1 dargestellte dynamische Lastausgleichssystem 100 kann eine Lastausgleichseinheit 104 umfassen, die Workflow-Pakete 114 von kommunikativ verbundenen Quellen empfangen kann. Die Lastausgleichseinheit 104 kann ferner über ein Kommunikationsnetzwerk 106 mit zwei oder mehr Paketverarbeitungskernen 102a-n (z.B. einer Mehrzahl von Verarbeitungskernen 102a-102n) kommunikativ verbunden sein. Das Kommunikationsnetz 106 kann auch die Übertragung von Zustandsinformationspaketen 112 unterstützen. Die Lastausgleichseinheit 104 kann in einigen Ausführungsformen kommunikativ mit einem prädiktiven Datenanalysesystem 110 verbunden sein.
  • Wie hierin beschrieben, kann die Lastausgleichseinheit 104 zum Empfangen von Workflow-Paketen 114 von einer Transaktionsquelle 108 und zum Einplanen der Transaktionsquelle 108 zur Verarbeitung mit einem Verarbeitungskern 102 konfiguriert sein. Die Lastausgleichseinheit 104 kann in einer reinen Hardware-Ausführungsform, einer reinen Computerprogrammprodukt-Ausführungsform, einer reinen Firmware-Ausführungsform (z.B. anwendungsspezifische integrierte Schaltung, feldprogrammierbares Gate-Array usw.) und/oder einer Ausführungsform ausgestaltet sein, die eine Kombination aus Computerprogrammprodukten, Hardware und Firmware umfasst.
  • Das dynamische Lastausgleichssystem 100 umfasst ferner die Mehrzahl von Paketverarbeitungskernen 102a-n wie oben beschrieben. Jeder Paketverarbeitungskern 102 kann kommunikativ mit der Lastausgleichseinheit 104 über ein Kommunikationsnetzwerk 106 verbunden und zum Empfangen von Workflow-Paketen 114 von der Lastausgleichseinheit 104 und anderen Transaktionsquellen 108 konfiguriert sein. Jeder Paketverarbeitungskern 102 kann zum Decodieren, Verarbeiten und Ausführen aller auf das empfangene Workflow-Paket 114 bezogenen Aktionen konfiguriert sein. Ein Paketverarbeitungskern 102 kann in der Lage sein, Statusinformationen in Bezug auf die Auslastung und den Betrieb des Paketverarbeitungskerns 102 zu überwachen und zu übermitteln. Beispielsweise kann ein Paketverarbeitungskern 102 in der Lage sein, die Prozessorauslastung, den physische Abstand zwischen der Lastausgleichseinheit 104 und dem Paketverarbeitungskern 102, die Anzahl von Netzwerkknoten zwischen der Lastausgleichseinheit 104 und dem Paketverarbeitungskern 102, die gesamte und verfügbare Arbeitsspeicherkapazität oder Arbeitsspeicherauslastung, die Betriebstemperatur, den Sicherheitszustand, den Leistungszustand und/oder andere Parameter in Bezug auf den Betrieb des Paketverarbeitungskerns 102 zu bestimmen. In einigen Ausführungsformen können ein oder mehrere der Parameter durch einen Benutzer oder eine externe Quelle konfiguriert werden. Zudem kann ein Paketverarbeitungskern 102 in der Lage sein, die gesammelten Zustandsinformationen über das Kommunikationsnetzwerk 106 zur Lastausgleichseinheit 104 zu übertragen.
  • Jeder Paketverarbeitungskern 102 kann in einer reinen Hardware-Ausführungsform, einer reinen Computerprogrammprodukt-Ausführungsform, einer reinen Firmware-Ausführungsform (z.B. anwendungsspezifische integrierte Schaltung, feldprogrammierbares Gate-Array usw.) und/oder einer Ausführungsform ausgestaltet sein, die eine Kombination aus Computerprogrammprodukten, Hardware und Firmware umfasst. In einigen Ausführungsformen können ein oder mehrere der Paketverarbeitungskerne 102 auf derselben physischen Vorrichtung wie die Lastausgleichseinheit 104 ausgestaltet sein. In einigen Ausführungsformen können ein oder mehrere Paketverarbeitungskerne 102 von dem dynamischen Lastausgleichssystem 100 entfernt sein. In einigen Ausführungsformen können sich ein oder mehrere Paketverarbeitungskerne 102 auf derselben physischen Vorrichtung wie das dynamische Lastausgleichssystem 100 befinden, und ein oder mehrere Paketverarbeitungskerne 102 können von dem dynamischen Lastausgleichssystem 100 entfernt und über ein Kommunikationsnetzwerk 106 verbunden sein.
  • 1 veranschaulicht ferner ein Workflow-Paket 114. Das Workflow-Paket 114 (z.B. eine Mehrzahl von vom System 100 empfangenen Workflow-Paketen 114) kann eine beliebige Computeroperation oder -transaktion sein, die eine Verarbeitung durch einen Paketverarbeitungskern 102 erfordert. Das Workflow-Paket 114 kann Daten enthalten, die beispielsweise Systemtransaktionen/-operationen, Netzwerk-Put/Post-Befehle, Netzwerk-Lese-/Schreibbefehle, Netzwerk-Atombefehle, DMA-(Direct Memory Access)-Befehle, RDMA-(Remote Direct Memory Access)-Lese-/Schreibbefehle, Komprimierung, Verschlüsselung und/oder ähnliche Netzwerk- oder Systemoperationen angeben. Das Workflow-Paket 114 kann eine Mehrzahl von Datenpaketen enthalten, die separat gesendet und empfangen werden. Ein Workflow-Paket 114 kann Informationen enthalten, die die Datenpaketcharakteristiken identifizieren, die sich unter anderem auf die Paketstruktur des Workflow-Pakets 114 und die Paketpriorität beziehen, wie hier definiert. Beispielsweise kann ein Workflow-Paket 114 Daten enthalten, die die Anzahl der mit dem Workflow assoziierten Pakete, den Typ der in den Datenpaketen enthaltenen Daten, die Quelle des Workflow-Pakets 114, die Größe des Datenpakets, die Häufigkeit der Pakete, das mit dem Workflow-Paket 114 assoziierte Protokoll, die Codierung des Workflow-Pakets 114, die Paketdatenkategorie und assoziierte Priorität und/oder andere identifizierende Informationen des Pakets, des Workflows oder der Datenstruktur angeben. In einigen Ausführungsformen können die identifizierenden Paketinformationen im Header oder Footer des übertragenen Workflow-Pakets 114 enthalten sein. In einigen Ausführungsformen können die identifizierenden Paketinformationen aus den im Header enthaltenen Informationen abgeleitet werden. In einigen Ausführungsformen können die identifizierenden Paketinformationen auch durch maschinelles Lernen und/oder künstliche Intelligenz bestimmt werden.
  • Das Kommunikationsnetzwerk 106 kann ein beliebiges Mittel sein, das Hardware, Software, Vorrichtungen oder Schaltungen umfasst, die zum Unterstützen der Übertragung von Computernachrichten zwischen Systemknoten konfiguriert sind. Beispielsweise kann das Kommunikationsnetzwerk 106 aus Komponenten bestehen, die drahtgebundene Übertragungsprotokolle unterstützen, wie z.B. DSL (Digital Subscriber Line), Ethernet, FDDI (Fiber Distributed Data Interface) oder jedes andere drahtgebundene Übertragungsprotokoll, das für die durchschnittliche Fachperson offensichtlich ist. Das Kommunikationsnetzwerk 106 kann auch aus Komponenten bestehen, die drahtlose Übertragungsprotokolle unterstützen, wie z.B. Bluetooth, IEEE 802.11 (Wi-Fi) oder andere für die durchschnittliche Fachperson offensichtliche drahtlose Protokolle. Darüber hinaus kann das Kommunikationsnetzwerk 106 aus Komponenten bestehen, die einen Standard-Kommunikationsbus unterstützen, z.B. einen Peripheral Component Interconnect (PCI), PCI Express (PCIe oder PCI-e), PCI eXtended (PCI-X), Accelerated Graphics Port (AGP) oder eine ähnliche schnelle Kommunikationsverbindung. Darüber hinaus kann das Kommunikationsnetzwerk 106 aus einer beliebigen Kombination der oben genannten Protokolle bestehen. In einigen Ausführungsformen, z.B. wenn die Paketverarbeitungskerne 102a-n und die Lastausgleichseinheit 104 als Teil derselben physischen Vorrichtung ausgebildet sind, kann das Kommunikationsnetzwerk 106 die bordseitige Verdrahtung umfassen, die die physische Verbindung zwischen den Komponentenvorrichtungen herstellt.
  • Die Transaktionsquelle 108 kann jede Vorrichtung sein, die Systemoperationen, wie die im Workflow-Paket 114 enthaltenen, zu einer Netzwerkvorrichtung übermitteln kann. Die Transaktionsquelle 108 kann beispielsweise als Server, Zentraleinheit, Peripherievorrichtung, Sensor, Netzwerkkarte, Netzwerk-Client, Hub, Switch, Router oder jede andere Vorrichtung ausgebildet sein, die Computeroperationen erzeugen oder weiterleiten kann. In einigen Ausführungsformen kann eine Mehrzahl von Transaktionsquellen 108 mit dem Kommunikationsnetzwerk 106 verbunden sein, die alle Workflow-Pakete 114 übertragen können, die von dem dynamischen Lastausgleichssystem 100 verarbeitet werden müssen.
  • In einigen Ausführungsformen kann das System 100 ferner ein prädiktives Datenanalysesystem 110 umfassen. Das prädiktive Datenanalysesystem 110 kann ein beliebiges ML-(Machine Learning)-Modul, ein neuronales Netzwerk, ein auf künstlicher Intelligenz basierendes System und/oder Ähnliches sein, das Eingaben empfangen und eine Systemaktion auf der Basis dieser Eingaben erzeugen kann. In einigen Ausführungsformen kann das prädiktive Datenanalysesystem 110 einen überwachten oder einen unüberwachten ML-Algorithmus enthalten, beispielsweise einen RL-(Reinforcement Learning)-Algorithmus. Der beispielhafte RL-Algorithmus kann als Eingaben von den Zustandsinformationspaketen 112 und Workflow-Paketen 114 gesammelte Informationen erhalten, wie z.B. die Anzahl der mit dem Workflow-Paket 114 assoziierten Pakete, der Typ der in den Datenpaketen enthaltenen Daten, die Quelle des Workflow-Pakets 114, die Größe des Datenpakets, die Häufigkeit der Pakete, das mit dem Workflow-Paket 114 assoziierte Protokoll, die Codierung des Workflow-Pakets 114, die Paketdatenkategorie und assoziierte Priorität; die Prozessorauslastung, die Arbeitsspeicherauslastung und den Leistungszustand jedes der Paketverarbeitungskerne 102a-n; der physische Abstand zwischen dem Paketverarbeitungskern 102 und der Lastausgleichseinheit 104; die Temperatur von beliebigen der hier beschriebenen Komponenten, der Sicherheitszustand und/oder Ähnliches. Diese empfangenen Eingaben geben Merkmale des Workflow-Pakets 114 an und stellen den Zustand der Umgebung dar. Auf der Basis der Informationen des Workflow-Pakets 114 und des Zustands der Umgebung kann eine Richtlinie erstellt werden. In einigen Ausführungsformen kann die Richtlinie eine Bestimmung des Netzwerkknotens sein, der für die Verarbeitung eines Workflow-Pakets 114 bevorzugt wird. Darüber hinaus kann das prädiktive Datenanalysesystem 110 Leistungsdaten von den Paketverarbeitungskernen 102a-n empfangen, wie z.B. Leistungsaufnahme und Latenz. Diese Leistungsdaten können die Belohnungsfunktion des Verstärkungslernalgorithmus darstellen. Mittels Verstärkungslerntechniken, einschließlich Erkundungs- und Ausnutzungsrichtlinien, kann das prädiktive Datenanalysesystem 110 eine Richtlinie initialisieren und aktualisieren, die die Planung von Workflow-Paketen 114 auf der Basis der aus dem Workflow-Paket 114 bestimmten Daten und ferner auf der Basis der Zustandsinformationspakete 112 vorgibt.
  • Obwohl das prädiktive Datenanalysesystem 110 in erster Linie im Kontext eines RL-Algorithmus beschrieben wird, ist zu verstehen, dass eine Reihe verschiedener Künstliche-Intelligenz-Techniken und/oder Lernmechanismen verwendet werden kann, einschließlich Model Predictive Control, genetische Algorithmen, Particle Swarm Optimization, Simulated Annealing, Gittersuche und/oder eine Vielfalt von anderen Techniken und Methoden des überwachten oder unüberwachten Lernens, um eine gewünschte Workflow-Planungsrichtlinie wie hier beschrieben zu erreichen. Darüber hinaus können die hier beschriebenen Ausführungsformen ein oder mehrere künstliche neuronale Netze, konvolutionäre neuronale Netze, generative adversarische Netze, rekurrente neuronale Netze usw. nutzen, je nach der beabsichtigten Anwendung des prädiktiven Datenanalysesystems 110.
  • Das Zustandsinformationspaket 112 kann eine beliebige formatierte Dateneinheit sein, die auf dem Kommunikationsnetz 106 übertragen kann und Zustandsinformationen des assoziierten Paketverarbeitungskerns 102 enthält. In einigen Ausführungsformen kann das Zustandsinformationspaket 112 Daten enthalten, die sich auf den Betriebszustand und den Auslastungszustand eines bestimmten Paketverarbeitungskerns 102 beziehen. In einigen Ausführungsformen kann das Zustandsinformationspaket 112 die Prozessorauslastung, den physischen Abstand zwischen der Lastausgleichseinheit 104 und dem Paketverarbeitungskern 102, die Anzahl von Netzwerkknoten zwischen der Lastausgleichseinheit 104 und dem Paketverarbeitungskern 102, die gesamte und verfügbare Arbeitsspeicherkapazität oder Arbeitsspeicherauslastung, die Betriebstemperatur, den Sicherheitszustand, den Leistungszustand und/oder andere Parameter in Bezug auf den Betrieb des Paketverarbeitungskerns 102 enthalten.
  • 2 veranschaulicht ein Beispiel für eine Lastausgleichseinheit 104, die so konfiguriert werden kann, dass sie in einem dynamischen Lastausgleichssystem 100 funktioniert. Wie in 2 gezeigt, kann die Lastausgleichseinheit 104 einen Prozessor 202, einen Arbeitsspeicher 206 und eine Kommunikationsschnittstelle 204 umfassen, damit assoziiert oder in Kommunikation sein. Der Prozessor 202 kann über einen Bus mit dem Arbeitsspeicher 206 kommunizieren, um Informationen zwischen Komponenten der Lastausgleichseinheit 104 des Geräts zu übertragen. Der Arbeitsspeicher 206 kann nichtflüchtig sein und kann beispielsweise einen oder mehrere flüchtige und/oder nichtflüchtige Arbeitsspeicher enthalten. Mit anderen Worten, kann der Arbeitsspeicher 206 beispielsweise eine elektronische Speichervorrichtung (z.B. ein computerlesbares Speichermedium) sein, die Gatter umfasst, die zum Speichern von Daten (z.B. Bits) konfiguriert sind, die von einer Maschine (z.B. einer Rechenvorrichtung wie der Verarbeitungsschaltung) abgerufen werden können. Der Arbeitsspeicher 206 kann zum Speichern von Informationen, Daten, Inhalt, Anwendungen, Befehlen oder Ähnliches konfiguriert sein, damit das Gerät verschiedene Funktionen gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung ausführen kann. Beispielsweise könnte der Arbeitsspeicher 206 zum Puffern von Eingabedaten für die Verarbeitung durch den Prozessor 202 konfiguriert sein. Zusätzlich oder alternativ könnte der Arbeitsspeicher 206 zum Speichern von Befehlen zur Ausführung durch den Prozessor 202 konfiguriert sein.
  • Die Lastausgleichseinheit 104 des Geräts kann in einigen Ausführungsformen in verschiedenen Rechenvorrichtungen, wie oben beschrieben, ausgestaltet sein. In einigen Ausführungsformen kann das Gerät jedoch auch als Chip oder Chipsatz ausgeführt sein. Mit anderen Worten, das Gerät kann ein oder mehrere physische Pakete (z.B. Chips) mit Materialien, Komponenten und/oder Drähten auf einer strukturellen Baugruppe (z.B. einer Grundplatte) umfassen. Die strukturelle Baugruppe kann physische Festigkeit, Größenerhaltung und/oder Begrenzung der elektrischen Wechselwirkung für darauf befindliche Komponentenschaltungen bieten. Das Gerät kann daher in einigen Fällen zum Implementieren einer Ausführungsform der vorliegenden Offenbarung auf einem einzigen Chip oder als ein einziges „System auf einem Chip“ konfiguriert sein. Als solches kann in einigen Fällen ein Chip oder Chipsatz ein Mittel zur Durchführung einer oder mehrerer Operationen zum Bereitstellen der hierin beschriebenen Funktionen darstellen.
  • Der Prozessor 202 kann auf verschiedene Weise ausgestaltet werden. Beispielsweise kann der Prozessor 202 als eine oder mehrere verschiedene Hardware-Verarbeitungsmittel wie ein Coprozessor, ein Mikroprozessor, ein Controller, ein Digitalsignalprozessor (DSP), ein Verarbeitungselement mit oder ohne begleitenden DSP oder verschiedene andere Schaltungen einschließlich integrierter Schaltungen wie beispielsweise ein ASIC (anwendungsspezifische integrierte Schaltung), ein FPGA (Field Programmable Gate Array), eine Mikrocontroller-Einheit (MCU), ein Hardware-Beschleuniger, ein spezieller Computerchip oder ähnliches ausgestaltet sein. In einigen Ausführungsformen kann die Verarbeitungsschaltung einen oder mehrere Verarbeitungskerne enthalten, die so konfiguriert sind, dass sie unabhängig voneinander arbeiten. Eine Verarbeitungsschaltung mit mehreren Kernen kann Multiprocessing in einem einzigen physischen Gehäuse ermöglichen. Zusätzlich oder alternativ kann die Verarbeitungsschaltung einen oder mehrere Prozessoren umfassen, die über den Bus im Tandem konfiguriert sind, um eine unabhängige Ausführung von Befehlen, Pipelining und/oder Multithreading zu ermöglichen.
  • In einer beispielhaften Ausführungsbeispiel kann der Prozessor 202 zum Ausführen von Befehlen konfiguriert sein, die im Arbeitsspeicher 206 gespeichert sind oder auf die der Prozessor 202 anderweitig zugreifen kann. Alternativ oder zusätzlich können die Verarbeitungsschaltungen so konfiguriert sein, dass sie fest codierte Funktionen ausführen. Unabhängig davon, ob sie durch Hardware- oder Softwareverfahren oder eine Kombination davon konfiguriert werden, kann die Verarbeitungsschaltung eine Entität darstellen (z.B. physisch in einer Schaltung ausgestaltet), die Operationen gemäß einer Ausführungsform der vorliegenden Offenbarung durchführen kann, wenn sie entsprechend konfiguriert ist. Wenn die Verarbeitungsschaltung beispielsweise als ASIC, FPGA oder ähnliches ausgestaltet ist, kann die Verarbeitungsschaltung eine speziell konfigurierte Hardware zum Durchführen der hier beschriebenen Operationen sein. Alternativ, als weiteres Beispiel, kann der Prozessor 202, wenn er als Ausführer von Befehlen ausgestaltet ist, durch die Befehle speziell so konfiguriert werden, dass er die hier beschriebenen Algorithmen und/oder Operationen durchführt, wenn die Befehle ausgeführt werden. In einigen Fällen kann der Prozessor 202 jedoch ein Prozessor einer spezifischen Vorrichtung sein, die zum Einsetzen einer Ausführungsform der vorliegenden Offenbarung durch weitere Konfiguration der Verarbeitungsschaltung durch Befehle zur Ausführung der hierin beschriebenen Algorithmen und/oder Operationen konfiguriert ist. Der Prozessor 202 kann unter anderem einen Taktgeber, eine arithmetische Logikeinheit (ALU) und Logikgatter enthalten, die zum Unterstützen des Betriebs der Verarbeitungsschaltungen konfiguriert sind.
  • Die Kommunikationsschnittstelle 204 kann ein beliebiges Mittel sein, wie z.B. eine in Hardware oder in einer Kombination aus Hardware und Software ausgestaltete Vorrichtung oder Schaltung, die zum Empfangen und/oder Übertragen von Daten konfiguriert ist, einschließlich Medieninhalt in Form von Video- oder Bilddateien, eine oder mehrere Audio-Tracks oder Ähnliches. In dieser Hinsicht kann die Kommunikationsschnittstelle 204 beispielsweise eine oder mehrere Antennen und unterstützende Hardware und/oder Software enthalten, um Kommunikationen mit einem drahtlosen Kommunikationsnetz zu ermöglichen. Zusätzlich oder alternativ kann die Kommunikationsschnittstelle die Schaltung zur Interaktion mit der/den Antenne(n) enthalten, um die Übertragung von Signalen über die Antenne(n) zu bewirken oder den Empfang von über die Antenne(n) empfangenen Signalen zu verarbeiten. In manchen Umgebungen kann die Kommunikationsschnittstelle alternativ oder zusätzlich drahtgebundene Kommunikation unterstützen. So kann die Kommunikationsschnittstelle z.B. ein Kommunikationsmodem und/oder andere Hardware/Software zur Unterstützung der Kommunikation über Kabel, Digital Subscriber Line (DSL), Universal Serial Bus (USB) oder andere Mechanismen enthalten.
  • 3 zeigt ein Beispiel für ein prädiktives Datenanalysesystem 110 als Beispielsystem zum Erzeugen einer Workflow-Planungsrichtlinie 308 auf der Basis von Systemeingaben. Es wird deutlich, dass das prädiktive Datenanalysesystem 110 als ein Beispiel für eine oder mehrere Ausführungsformen dargestellt wird und nicht als den Umfang oder das Wesen der Offenbarung in irgendeiner Weise einschränkend auszulegen ist. Das dargestellte prädiktive Datenanalysesystem 110 von 3 kann ein Merkmalzusammenführung-ML-Modell 302 enthalten, das Workflow-Pakete 114 und Zustandsinformationspakete 112 empfangen kann. Das Merkmalzusammenführung-ML-Modell 302 kann ferner mit einem Systemvorhersage-ML-Modell 306 kommunikativ verbunden sein. Zusätzlich kann 3 ein Kosten-/Belohnungs-ML-Modell 304 enthalten, das als Eingabe Zustandsinformationspakete 112 annimmt, um das Systemvorhersage-MI,-Modell 306 mit einem Ausgabekosten-Belohnungswert zu versorgen. Das Systemvorhersage-ML-Modell 306 kann eine Workflow-Planungsrichtlinie 308 als Beispielausgabe bereitstellen.
  • Das Merkmalzusammenführung-ML-Modell 302 kann ein beliebiges Mittel sein, das Hardware, Software, Vorrichtungen oder Schaltungen umfasst, die zum Empfangen von mit einem Workflow-Paket 114 und Zustandsinformationspaketen 112 assoziierten Daten und zum Erzeugen eines Merkmalmodells konfiguriert sind, das in ein Systemvorhersage-ML-Modell 306 aufgenommen werden kann. In einigen Ausführungsformen kann das Merkmalzusammenführung-ML-Modell 302 als Eingabe Folgendes empfangen: die Anzahl der mit dem Workflow-Paket 114 assoziierten Pakete, den Typ der in den Datenpaketen enthaltenen Daten, die Quelle des Workflow-Pakets 114, die Größe des Datenpakets; die Häufigkeit der Pakete, das mit dem Workflow-Paket 114 assoziierte Protokoll, die Codierung des Workflow-Pakets 114, die Paketdatenkategorie 404 und die assoziierte Priorität des Workflow-Pakets 114; und/oder andere explizite oder implizite aus dem Workflow-Paket 114 extrahierte Daten. Ferner kann das Merkmalzusammenführung-ML-Modell 302 in einigen Ausführungsformen als Eingabe Folgendes empfangen: die Prozessorauslastung, die Arbeitsspeicherauslastung und den Leistungszustand eines Paketverarbeitungskerns 102; den physischen Abstand zwischen dem Paketverarbeitungskern 102 und der Lastausgleichseinheit 104; die Temperatur des Paketverarbeitungskerns 102; den Sicherheitszustand des Paketverarbeitungskerns 102; und/oder andere aus den Zustandsinformationspaketen 112 extrahierte explizite oder implizite Daten. Das Merkmalzusammenführung-ML-Modell 302 kann in einigen Ausführungsformen die empfangenen Datenelemente kombinieren (z.B. verketten, zusammenführen, mitteln, summieren und/oder dergleichen), um ein Merkmalmodell zu erzeugen, das in das Systemvorhersage-ML-Modell 306 aufgenommen werden kann.
  • Das Kosten-/Belohnungs-ML-Modell 304 kann ein beliebiges Mittel sein, das Hardware, Software, Vorrichtungen oder Schaltungen umfasst, die zum Empfangen von Zustandsinformationspaketen 112 und zusätzlichem Feedback des dynamischen Lastausgleichssystems 100, das sich auf die Paketverarbeitungskerne 102a-n, die Lastausgleichseinheit 104, das Kommunikationsnetzwerk 106 und andere Systemkomponenten bezieht, und zum Bestimmen eines Kosten- oder Belohnungswerts konfiguriert sind, der den Gesamtbetrieb des Systems 100 angebt. Dies kann, ohne darauf beschränkt zu sein, die Leistungsaufnahme des Systems, die Prozessorauslastung, die durchschnittliche Latenzzeit von Operationen und/oder Ähnliches umfassen. In einigen Ausführungsformen kann der Kosten-/Belohnungswert eindimensional sein und beispielsweise nur die Leistungsaufnahme des Systems, die durchschnittliche Ausführungszeit eines Arbeitsablaufs, die Dienstgüte oder andere ähnliche Charakteristiken berücksichtigen. In einigen Ausführungsformen kann der erzeugte Kosten-Belohnungswert ein mehrdimensionaler Wert sein, der ein Gleichgewicht der Systemeigenschaften berücksichtigt, wie z.B. Leistungsaufnahme, durchschnittliche Workflow-Ausführungszeit, die Ausführungszeit eines einzelnen Workflows, die Priorisierung kritischer Workflows und/oder anderes ähnliches Feedback des dynamischen Lastausgleichssystems 100. In einigen Ausführungsformen kann der Kosten-/Belohnungswert oder eine Reihe von Werten, die durch das Kosten-Belohnungs-MI,-Modell 304 erzeugt wurden, zum Systemvorhersage-ML-Modell 306 übertragen werden, um die Workflow-Planungsrichtlinie 308 zu bestimmen.
  • Das Systemvorhersage-MI,-Modell 306 kann ein beliebiges Mittel sein, das Hardware, Software, Vorrichtungen oder Schaltungen umfasst, die so konfiguriert sind, dass sie ein System- und/oder Umgebungsdaten umfassendes Merkmalsmodell sowie einen Kosten-/Belohnungswert oder eine Reihe von Werten empfangen und eine Workflow-Planungsrichtlinie 308 oder eine Richtlinienaktualisierung auf der Basis von maschinellen Lernverfahren ausgeben. In einigen Ausführungsformen kann ein Systemvorhersage-MI,-Modell 306 als Verstärkungslern-(RL)-Algorithmus implementiert werden. Ein RL-Algorithmus kann als Eingabe einen vom Merkmalszusammenführung-ML-Modell 302 erzeugten Merkmalsvektor erhalten. Der Merkmalsvektor kann den Zustand der Umgebung darstellen, der das empfangene Workflow-Paket 114, die Lastausgleichseinheit 104, das Kommunikationsnetzwerk 106 und die Paketverarbeitungskerne 102a-n umfasst. Auf der Basis des Zustands der Umgebung kann eine Workflow-Planungsrichtlinie 308 erzeugt werden. In einigen Ausführungsformen kann die Workflow-Planungsrichtlinie 308 eine Bestimmung des Netzwerkknotens sein, der für die Verarbeitung eines Workflow-Pakets 114 bevorzugt wird. In einigen Ausführungsformen kann das Systemvorhersage-ML-Modell 306 eine Workflow-Planungsrichtlinie 308 erzeugen, um einen bestimmten Parameter, z.B. Leistungsaufnahme, oder einen bestimmten Satz von Parametern, z.B. Leistungsaufnahme und durchschnittliche Workflow-Ausführungszeit oder - Latenz, zu optimieren. Wieder andere Ausführungsformen können versuchen, die Leistungsaufnahme des dynamischen Lastausgleichssystems 100, die Gesamtausführungszeit, die durchschnittliche Ausführungszeit, Sicherheit, Betriebstemperatur und/oder eine beliebige Kombination davon zu optimieren. Das Systemvorhersage-MI,-Modell 306 kann die Auswirkung einer Workflow-Planungsrichtlinie 308 oder einer Richtlinienaktualisierung auf die Umgebung des dynamischen Lastausgleichssystems 100 durch den vom Kosten-/Belohnungs-MI,-Modell 304 erzeugten Kosten-Belohnungswert messen. Mit Hilfe der Verstärkungslerntechniken, einschließlich Erkundungs- und Auslastungsrichtlinien, kann das Systemvorhersage-ML-Modell 306 eine anfängliche Workflow-Planungsrichtlinie 308 für empfangene Workflow-Pakete 114 erzeugen. Das Systemvorhersage-MI,-Modell 306 kann dann die Workflow-Planungsrichtlinie 308 auf der Basis des vom Kosten-/Belohnungs-ML-Modell 304 gelieferten Feedbacks anpassen oder aktualisieren. In einigen Ausführungsformen kann das Systemvorhersage-MI,-Modell 306 Richtlinienaktualisierungen beibehalten, die den Kosten-/Belohnungswert (Nutzung) verbessern. In anderen Ausführungsformen kann das Systemvorhersage-MI,-Modell 306 in zufällig bestimmten Intervallen Richtlinienaktualisierungen beibehalten, die zu einem schlechteren Kosten-/Belohnungswert führen (Erkundung). Durch den Einsatz von Erkundungs-/Nutzungstechniken kann der RL-Algorithmus daran arbeiten, den Kosten-Belohnungswert für einen gegebenen Satz von Eingaben iterativ zu verbessern.
  • Obwohl das Systemvorhersage-MI,-Modell 306 in erster Linie im Kontext eines RL-Algorithmus beschrieben wird, ist zu verstehen, das beliebige aus einer Reihe verschiedener Künstliche-Intelligenz-Lernmechanismen verwendet werden können, einschließlich Model Predictive Control, genetische Algorithmen, Particle Swarm Optimization, Simulated Annealing, Gittersuche und/oder eine Reihe verschiedener anderer Techniken und Methoden für überwachtes oder unüberwachtes Lernen, um eine gewünschte Workflow-Planungsrichtlinie 308 zu erreichen.
  • 4 veranschaulicht ein Datendiagramm von beispielhaften Paketbeschreibungsdaten für ein Workflow-Paket 114, das eine Paketgröße 402, eine Paketdatenkategorie 404, eine Paketquelle 406, eine Anzahl von mit dem Workflow 408 assoziierten Paketen, eine Häufigkeit von Workflow-Paketen 410, ein Paketprotokoll 412 und eine Paketcodierung 414 umfasst. Es wird deutlich, dass das dargestellte Workflow-Paket 114 als Beispiel für (eine) Ausführungsform(en) bereitgestellt wird und nicht als den Umfang oder das Wesen der Offenbarung in irgendeiner Weise eingeschränkend auszulegen ist, da ein Workflow-Paket 114 eine beliebige Anzahl von Datenelementen umfassen kann, die für den Inhalt und/oder die Zusammensetzung des Workflow-Pakets 114 charakteristisch sind.
  • Wie in 4 dargestellt, kann das Workflow-Paket 114 einen Parameter Paketgröße 402 enthalten. Die Paketgröße 402 kann ein beliebiger Indikator für die Größe des Workflow-Pakets 114 sein, z.B. die Größe in Bits, Bytes, Wörtern und/oder irgendein anderer Größenindikator. In einigen Ausführungsformen kann die Paketgröße 402 zusätzlich zur Nutzlast den Header und den Trailer enthalten. In anderen Ausführungsformen kann sich die Paketgröße 402 nur auf die Nutzlast beziehen. Das Workflow-Paket 114 kann auch einen Parameter Paketdatenkategorie 404 enthalten. Die Paketdatenkategorie 404 kann ein beliebiger Indikator für die mit dem Workflow-Paket 114 assoziierte Datenkategorie sein. Zum Beispiel kann die Paketdatenkategorie 404 ein Workflow-Paket 114 angeben, das Videodaten, Audiodaten, Dateidaten, Positionsdaten oder jede andere einer durchschnittlichen Fachperson bekannte Datenkategorie enthält.
  • Das Workflow-Paket 114 kann auch einen Parameter Paketquelle 406 enthalten. Die Paketquelle 406 kann ein beliebiger Indikator für die Quelle des Workflow-Pakets 114 sein. Zum Beispiel kann die Paketquelle 406 eine IP-(Internet Protocol)-Adresse, eine MAC-Adresse, eine Webadresse, einen Namen oder einen ähnlichen der durchschnittlichen Fachperson bekannten Indikator angeben. Das Workflow-Paket 114 kann ferner eine Anzahl von Paketen enthalten, die mit dem Parameter Workflow 408 assoziiert sind. Die Anzahl der mit dem Parameter Workflow 408 assoziierten Pakete kann ein beliebiger Indikator sein, der die Anzahl der mit dem eingehenden Workflow assoziierten Pakete angibt. In einigen Ausführungsformen kann das Workflow-Paket 114 das einzige Paket im Workflow sein, während in anderen Ausführungsformen das Workflow-Paket 114 ein einzelnes Paket in einer Mehrzahl von mit einem einzelnen Workflow assoziierten Paketen sein kann. Die Anzahl der mit dem Workflow 408 assoziierten Pakete kann die Anzahl der im Workflow enthaltenen Pakete angeben.
  • Das Workflow-Paket 114 kann auch einen Parameter Häufigkeit von Workflow-Paketen 410 enthalten. Der Parameter Häufigkeit der Workflow-Pakete 410 kann ein beliebiger Indikator sein, der die Rate angibt, mit der mit einem einzelnen Workflow assoziierten Pakete übertragen werden. In einigen Ausführungsformen kann der Workflow Workflow-Pakete 114 in einem gleichbleibenden Intervall senden, zum Beispiel dreißig (3) Workflow-Pakete 114 pro Sekunde. Der Parameter Häufigkeit der Workflow-Pakete 410 kann diese Häufigkeit angeben und kann eine beliebige Häufigkeit auf der Basis der beabsichtigten Anwendung des Systems 100 sein.
  • Das Workflow-Paket 114 kann auch einen Parameter Paketprotokoll 412 enthalten. Das Paketprotokoll 412 kann ein beliebiger Indikator für das Protokoll des Workflow-Pakets 114 sein. So kann das Workflow-Paket 114 beispielsweise IP-Rohdaten, ICMP (Internet Control Message Protocol), UDP (User Datagram Protocol), TCP (Transmission Control Protocol), IGMP (Internet Group Management Protocol), das PCI-(Peripheral Component Interconnect)-Protokoll, das AGP-(Accelerated Graphics Port)-Protokoll oder ein anderes, der durchschnittlichen Fachperson allgemein bekanntes ähnliches Netzwerk- oder Systemprotokoll enthalten. In einigen Ausführungsformen kann das Paketprotokoll 412 vom dynamischen Lastausgleichssystem 100 zum Bestimmen des Typs und/oder der Priorität der enthaltenen Daten verwendet werden. Das Workflow-Paket 114 kann ferner einen Parameter Paketcodierung 414 enthalten. Der Parameter Paketcodierung 414 kann ein beliebiger Indikator sein, der die Codierung der begleitenden Daten darstellt. In einigen Ausführungsformen kann die Codierung ein High-Level-Indikator für den Typ der Daten und der Kompression sein, z.B. Audio, Text, Video, verlustfrei, verlustbehaftet, unkomprimiert und so weiter. In einigen Ausführungsformen kann der Parameter Paketcodierung 414 den spezifischen Codierungstyp angeben, z.B. FFmpeg, MPEG-1, MPEG-2, JPEG oder eine andere ähnliche der durchschnittlichen Fachperson bekannte Codierung.
  • 5 veranschaulicht ein Datendiagramm für ein beispielhaftes Zustandsinformationspaket 112, das einen Parameter Prozessorauslastung 502, einen Parameter PPC-Abstand 504, einen Parameter Leistungszustand 506, einen Parameter Betriebstemperatur 508, einen Parameter Sicherheitszustand 510 und einen Parameter Arbeitsspeicherauslastung 512 enthält. Es wird deutlich, dass das dargestellte Zustandsinformationspaket 112 als Beispiel für eine oder mehrere Ausführungsformen bereitgestellt wird und nicht als den Umfang oder das Wesen der Offenbarung in irgendeiner Weise einschränkend auszulegen ist, da ein Zustandsinformationspaket 112 eine beliebige Anzahl von PPC-Zustandsmerkmalen in Bezug auf den Betrieb des PPC oder den Datenfluss enthalten kann.
  • Das Zustandsinformationspaket 112 kann eine Prozessorauslastung 502 enthalten, die ein beliebiger Indikator für die Nutzung der verfügbaren Ressourcen des Prozessors für einen bestimmten Paketverarbeitungskern 102 sein kann. In einigen Ausführungsformen kann die Prozessorauslastung 502 die Menge an Zeit und/oder Taktzyklen darstellen, die der Prozessor mit der Ausführung von Befehlen im Verhältnis zur insgesamt verfügbaren Zeit beschäftigt ist. Beispielsweise kann der Parameter Prozessorauslastung 502 die Auslastung des Paketverarbeitungskerns 102 in Befehlen pro Zyklus angeben. In einigen Ausführungsformen kann das Systemvorhersage-ML-Modell 306 den Parameter Prozessorauslastung 502 von jedem der Paketverarbeitungskerne 102a-n zum Bestimmen der Workflow-Planungsrichtlinie 308 verwenden.
  • Das Zustandsinformationspaket 112 kann auch einen Parameter PPC-Abstand 504 enthalten. Der Parameter PPC-Abstand 504 kann ein beliebiger Indikator für den Abstand zwischen dem spezifischen Paketverarbeitungskern 102 und der Lastausgleichseinheit 104 sein. In einigen Ausführungsformen kann der Parameter PPC-Abstand 504 den physischen Abstand in Form der Länge der Verbindung darstellen, unabhängig davon, ob diese verdrahtet oder drahtlos ist. In anderen Ausführungsformen kann der Parameter PPC-Abstand 504 die Anzahl von Netzknoten oder anderen Komponenten darstellen, die sich zwischen der Lastausgleichseinheit 104 und dem Paketverarbeitungskern 102 befinden. Der Parameter PPC-Abstand 504 kann auch durch die durchschnittliche Zeit dargestellt werden, die während der Übertragung eines Signals von der Lastausgleichseinheit 104 zum Paketverarbeitungskern 102 vergeht. In einigen Ausführungsformen kann der Parameter PPC-Abstand 504 während des Betriebs automatisch bestimmt werden. In anderen Ausführungsformen kann der Parameter PPC-Abstand 504 von einem Benutzer vor oder während des Betriebs manuell in den Paketverarbeitungskern 102 eingegeben werden. In einigen Ausführungsformen kann das Systemvorhersage-ML-Modell 306 den Parameter PPC-Abstand 504 von jedem der Paketverarbeitungskerne 102a-n verwenden, um die Workflow-Planungsrichtlinie 308 zu bestimmen.
  • Unter fortgesetzter Bezugnahme auf 5 kann das Zustandsinformationspaket 112 einen Parameter Leistungszustand 506 enthalten. Der Parameter Leistungszustand 506 kann ein beliebiger Indikator für den Leistungszustand und/oder die Leistungsauslastung des Paketverarbeitungskerns 102 sein. In einigen Ausführungsformen kann ein Paketverarbeitungskern 102 mehrere Leistungszustände aufweisen. Jeder Zustand kann mit einer anderen Betriebsfrequenz assoziiert sein. Im Allgemeinen sind höhere Betriebsfrequenzen und/oder -spannungen mit einer schnelleren Verarbeitung und einer höheren Leistungsaufnahme assoziiert. In einigen Ausführungsformen kann der Parameter Leistungszustand 506 den Leistungszustand durch einen aufgezählten repräsentativen alphanumerischen Code angeben, wie z.B. Leistungszustand P0, P1, C0, C1, 2, 3 usw. In einigen Ausführungsformen kann der Leistungszustand durch die Betriebsfrequenz dargestellt werden, z.B. 2,1 GHz, 3,0 GHz, 3,3 GHz, usw. In einigen Ausführungsformen kann der Parameter Leistungszustand 506 die Leistungsauslastung des Paketverarbeitungskerns 102 darstellen. Beispielsweise kann der Leistungszustand 506 die vom Paketverarbeitungskern 102 verbrauchte Wattzahl angeben. In einigen Ausführungsformen kann das Systemvorhersage-ML-Modell 306 den Parameter Leistungszustand 506 von jedem der Paketverarbeitungskerne 102a-n verwenden, um die Workflow-Planungsrichtlinie 308 zu bestimmen.
  • Das Zustandsinformationspaket 112 kann auch einen Parameter Betriebstemperatur 508 enthalten. Der Parameter Betriebstemperatur 508 kann ein beliebiger Indikator für die Temperatur des Paketverarbeitungskerns 102 während des Betriebs sein, gemessen an einer beliebigen Stelle auf dem Paketverarbeitungskern 102, oder kann eine Kombination oder ein Durchschnitt einer Anzahl von Temperaturmesswerten sein, um eine räumliche und/oder zeitliche Darstellung der Temperatur des Paketverarbeitungskerns 102 bereitzustellen. In einigen Ausführungsformen kann das Systemvorhersage-ML-Modell 306 den Parameter Betriebstemperatur 508 von jedem der Paketverarbeitungskerne 102a-n zum Bestimmen der Workflow-Planungsrichtlinie 308 verwenden.
  • Das Zustandsinformationspaket 112 kann auch einen Parameter Sicherheitszustand 510 enthalten. Der Parameter Sicherheitszustand 510 kann ein beliebiger Indikator für die Sicherheit eines bestimmten Paketverarbeitungskerns 102 sein. Zum Beispiel kann der Sicherheitszustand 510 ein Systemsicherheitsniveau auf der Basis einer internen oder externen Bestimmung darstellen, wie hoch, mittel, niedrig, Verletzung und/oder dergleichen. In einigen Ausführungsformen kann der Parameter Sicherheitszustand 510 eine binäre Sicherheitsstufe darstellen, z.B. sicher oder unsicher. In einigen Ausführungsformen kann das Systemvorhersage-ML-Modell 306 den Parameter Sicherheitszustand 510 von jedem der Paketverarbeitungskerne 102a-n zum Bestimmen der Workflow-Planungsrichtlinie 308 verwenden.
  • Das Zustandsinformationspaket 112 kann ferner einen Parameter Arbeitsspeicherauslastung 512 enthalten. Der Parameter Arbeitsspeicherauslastung 512 kann ein beliebiger Indikator für die Auslastung der verfügbaren Arbeitsspeicherressourcen durch den Paketverarbeitungskern 102 sein. In einigen Ausführungsformen kann der Parameter Arbeitsspeicherauslastung 512 die Menge an Arbeitsspeicher des Paketverarbeitungskerns 102 darstellen, die zu einem bestimmten Zeitpunkt verwendet wird. In einigen Ausführungsformen kann die Arbeitsspeicherauslastung 512 die Auslastung des flüchtigen Arbeitsspeichers, des nichtflüchtigen Arbeitsspeichers oder sowohl des flüchtigen als auch des nichtflüchtigen Arbeitsspeichers darstellen. In einigen Ausführungsformen kann das Systemvorhersage-ML-Modell 306 den Parameter Sicherheitszustand 510 von jedem der Paketverarbeitungskerne 102an zum Bestimmen der Workflow-Planungsrichtlinie 308 verwenden.
  • 6 stellt ein Flussdiagramm dar, das einen Prozess 600 zur Bestimmung eines Paketverarbeitungskerns 102 zur Verarbeitung gemäß einer oder mehreren Ausführungsformen der vorliegenden Offenbarung illustriert. In Block 602 kann die Lastausgleichseinheit 104 ein Workflow-Paket 114 empfangen, wobei das Workflow-Paket 114 Paketbeschreibungsdaten enthält, die zumindest eine Paketstruktur und eine Paketpriorität angeben. In einigen Ausführungsformen können die Paketbeschreibungsdaten im Workflow-Paket 114 enthaltene Daten umfassen, wie oben mit Bezug auf 4 beschrieben. Viele im Workflow-Paket 114 enthaltene Datenparameter können auf die Struktur des Pakets hinweisen. In einigen Ausführungsformen können die Struktur des Pakets angebende Parameter, ohne darauf beschränkt zu sein, die Paketgröße 402, die Anzahl der mit dem Workflow 408 assoziierten Pakete 408, die Häufigkeit der Workflow-Pakete 410 und andere ähnliche Parameter umfassen. In ähnlicher Weise können viele im Workflow-Paket 114 enthaltene Datenparameter auf die Priorität eines Pakets hinweisen, einschließlich, aber nicht beschränkt auf, die Paketdatenkategorie 404, die Paketquelle 406, das Paketprotokoll 412 und/oder die Paketcodierung 414.
  • In Block 604 kann die Lastausgleichseinheit 104 von der Mehrzahl von Paketverarbeitungskernen 102a-n Zustandsdaten empfangen, die zumindest einen Auslastungszustand und einen Betriebszustand jedes der jeweiligen Paketverarbeitungskerne (z.B. 102a, 102b, 102c, ... 102n) aus der Mehrzahl von Paketverarbeitungskernen 102a-n angeben. In einigen Ausführungsformen können die Zustandsdaten in den Zustandsinformationspaketen 112 enthaltene Daten enthalten, wie in 5 beschrieben. In einigen Ausführungsformen können viele in den Zustandsinformationspaketen 112 enthaltene Datenparameter den Auslastungszustand des Paketverarbeitungskerns 102 angeben, einschließlich, aber nicht beschränkt auf, die Prozessorauslastung 502, den Leistungszustand 506 und/oder die Arbeitsspeicherauslastung 512.
  • In Block 606 kann die Lastausgleichseinheit 104 einen ausgewählten Paketverarbeitungskern 102 aus der Mehrzahl der Paketverarbeitungskerne 102a-n auf der Basis der Zustandsdaten des Paketverarbeitungskerns 102 und der Paketbeschreibungsdaten des Workflow-Pakets 114 bestimmen. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 ein prädiktives Datenanalysesystem 110 wie in 3 beschrieben zum Bestimmen der Workflow-Planungsrichtlinie 308 verwenden, einschließlich des ausgewählten Paketverarbeitungskerns 102 für das Workflow-Paket 114. In anderen Ausführungsformen kann die Lastausgleichseinheit 104 den ausgewählten Paketverarbeitungskern 102 auf der Basis eines Vergleichs von Zustandsdaten und/oder Paketbeschreibungsdaten bestimmen.
  • In Block 608 kann die Lastausgleichseinheit 104 das Workflow-Paket 114 zu dem ausgewählten Paketverarbeitungskern 102 übertragen. Nach Bestimmung des ausgewählten Paketverarbeitungskerns 102 kann die Lastausgleichseinheit 104 das Workflow-Paket 114 über das Kommunikationsnetzwerk 106 zu dem ausgewählten Paketverarbeitungskern 102 zum Ausführen der enthaltenen Befehle übertragen. Nach Abschluss kann der ausgewählte Paketverarbeitungskern 102 in einigen Ausführungsformen Zustandsinformationen durch ein Zustandsinformationspaket 112 übermitteln und kann ferner mit den verarbeiteten Transaktionen assoziierte Verarbeitungs- und Verzögerungszeiten zur Verwendung durch das prädiktive Datenanalysesystem 110 und/oder die Lastausgleichseinheit 104 bei der weiteren Anpassung der Planungsrichtlinie enthalten. Wie in Anbetracht der hier beschriebenen Vorgänge offensichtlich ist, kann die Bestimmung des ausgewählten Paketverarbeitungskerns in 6 iterativ durchgeführt werden, um diese Bestimmung iterativ zu verbessern. Beispielsweise kann 6 als Teil einer Feedback-Schleife erfolgen, bei der Workflow-Pakete 114 iterativ an bestimmte Paketverarbeitungskerne 102 geliefert werden und nachfolgende Bestimmungen des ausgewählten Paketverarbeitungskerns auf der Basis der Art und Weise verbessert werden können, in der das Workflow-Paket 114 von diesen Kernen 102 ausgeführt wird.
  • 7 stellt ein Flussdiagramm dar, das einen Prozess 700 zur Bestimmung eines Paketverarbeitungskerns 102 auf der Basis der Prozessorauslastung 502 und ferner auf der Basis der Arbeitsspeicherauslastung 512 gemäß einer oder mehrerer Ausführungsformen der vorliegenden Offenbarung illustriert. In Block 702 kann die Lastausgleichseinheit 104 ein Workflow-Paket 114 empfangen, wobei das Workflow-Paket 114 Paketbeschreibungsdaten enthält, die zumindest eine Paketstruktur und eine Paketpriorität angeben. In einigen Ausführungsformen können die Paketbeschreibungsdaten Daten enthalten, die in dem Workflow-Paket 114 enthalten sind, wie in 4 beschrieben. Wie mit Bezug auf 6 erörtert, können Parameter, die die Struktur des Pakets angeben, die Paketgröße 402, die Anzahl der mit dem Workflow assoziierten Pakete 408, die Häufigkeit der Workflow-Pakete 410 und/oder Ähnliches umfassen. Parameter, die die Priorität des Pakets angeben, können die Paketdatenkategorie 404, die Paketquelle 406, das Paketprotokoll 412 und/oder die Paketcodierung 414, wie oben beschrieben, umfassen.
  • In Block 704 kann die Lastausgleichseinheit 104 von der Mehrzahl der Paketverarbeitungskerne 102a-n Zustandsdaten empfangen, die zumindest einen Auslastungszustand und einen Betriebszustand jedes der jeweiligen Paketverarbeitungskerne (102a, 102b, 102c, ... 102n) aus der Mehrzahl von Paketverarbeitungskernen 102a-n angeben. In einigen Ausführungsformen können die Zustandsdaten in den Zustandsinformationspaketen 112 enthaltene Daten enthalten, wie mit Bezug auf 5 beschrieben. In einigen Ausführungsformen können mehrere in den Zustandsinformationspaketen 112 enthaltene Datenparameter den Auslastungszustand des Paketverarbeitungskerns 102 angeben, einschließlich, aber nicht beschränkt auf, die Prozessorauslastung 502, den Leistungszustand 506 und/oder die Arbeitsspeicherauslastung 512.
  • In Block 706 kann die Lastausgleichseinheit 104 die Werte der Prozessorauslastung 502 der Mehrzahl von Paketverarbeitungskerne 102a-n vergleichen. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 das prädiktive Datenanalysesystem 110 zum Vergleichen der Werte der Prozessorauslastung 502 verwenden. In einer solchen Ausführungsform können die Werte der Prozessorauslastung 502 als Eingabe für das Merkmalzusammenführung-ML-Modell 302 verwendet werden. In anderen Ausführungsformen kann die Lastausgleichseinheit 104 die Werte der Prozessorauslastung 502 von der Mehrzahl der Paketverarbeitungskerne 102a-n vergleichen.
  • In Block 708 kann die Lastausgleichseinheit 104 den ausgewählten Paketverarbeitungskern 102 auf der Basis des Vergleichs der Werte der Arbeitsspeicherauslastung 512 bestimmen. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 das prädiktive Datenanalysesystem 110 wie in 3 beschrieben zum Bestimmen der Workflow-Planungsrichtlinie 308 verwenden, die zur Auswahl eines Paketverarbeitungskerns 102 verwendet werden kann. In anderen Ausführungsformen kann die Lastausgleichseinheit 104 den Paketverarbeitungskern 102 auf der Basis eines Vergleichs der Prozessorauslastung 502 von jedem aus der Mehrzahl von Paketverarbeitungskernen 102a-n bestimmen. In solchen Ausführungsformen kann die Lastausgleichseinheit 104 zum Beispiel den Paketverarbeitungskern 102 mit der niedrigsten Prozessorauslastung 502 auswählen.
  • In Block 710 kann die Lastausgleichseinheit 104 die Werte der Arbeitsspeicherauslastung 512 der mehreren Paketverarbeitungskerne 102a-n vergleichen. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 das prädiktive Datenanalysesystem 110 zum Vergleichen der Werte der Arbeitsspeicherauslastung 512 verwenden. In einer solchen Ausführungsform können die Werte der Arbeitsspeicherauslastung 512 als Eingabe für das Merkmalzusammenführung-ML-Modell 302 verwendet werden. In anderen Ausführungsformen kann die Lastausgleichseinheit 104 die Werte der Arbeitsspeicherauslastung 512 von der Mehrzahl der Paketverarbeitungskerne 102a-n vergleichen.
  • In Block 712 kann die Lastausgleichseinheit 104 den ausgewählten Paketverarbeitungskern 102 auf der Basis des Vergleichs der Werte der Arbeitsspeicherauslastung 512 aktualisieren. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 das prädiktive Datenanalysesystem 110 wie in 3 beschrieben verwenden, um die Werte der Arbeitsspeicherauslastung 512 in Kombination mit den Werten der Prozessorauslastung 502 für jeden der Paketverarbeitungskerne 102a-n zu analysieren und eine Aktualisierung des ausgewählten Paketverarbeitungskerns 102 auf der Basis der Workflow-Planungsrichtlinie 308 zu bestimmen. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 den Paketverarbeitungskern 102 auf der Basis eines Vergleichs der Arbeitsspeicherauslastung 512 von jedem aus der Mehrzahl von Paketverarbeitungskernen 102an bestimmen. In solchen Ausführungsformen kann die Lastausgleichseinheit 104 beispielsweise den Paketverarbeitungskern 102 mit der niedrigsten Arbeitsspeicherauslastung 512 auswählen. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 beispielsweise den Paketverarbeitungskern 102 auswählen, der die Prozessorauslastung 502 und die Arbeitsspeicherauslastung 512 im Vergleich zu den Paketverarbeitungskernen 102a-n optimiert.
  • In Block 714 kann die Lastausgleichseinheit 104 das Workflow-Paket 114 zu dem ausgewählten Paketverarbeitungskern 102 übertragen. Nach Bestimmung des ausgewählten Paketverarbeitungskerns 102 kann die Lastausgleichseinheit 104 das Workflow-Paket 114 über das Kommunikationsnetzwerk 106 zu dem ausgewählten Paketverarbeitungskern 102 übertragen, um die enthaltenen Befehle auszuführen. Nach Abschluss kann der ausgewählte Paketverarbeitungskern 102 in einigen Ausführungsformen Zustandsinformationen durch Zustandsinformationspakete 112 übermitteln und kann ferner mit den verarbeiteten Transaktionen assoziierte Verarbeitungs- und Verzögerungszeiten zur Verwendung durch das prädiktive Datenanalysesystem 110 und/oder die Lastausgleichseinheit 104 bei der weiteren Anpassung der Planungsrichtlinie enthalten.
  • 8 stellt ein Flussdiagramm dar, das einen Prozess 800 zum Bestimmen eines Paketverarbeitungskerns 102 auf der Basis eines Parameters Leistungszustand 506 und ferner auf der Basis eines PPC-Abstands 504 gemäß einer oder mehreren Ausführungsformen der vorliegenden Offenbarung illustriert. In Block 802 kann die Lastausgleichseinheit 104 ein Workflow-Paket 114 empfangen, das Paketbeschreibungsdaten enthält, die zumindest eine Paketstruktur und eine Paketpriorität angeben. In einigen Ausführungsformen können die Paketbeschreibungsdaten im Workflow-Paket 114 enthaltene Daten umfassen, wie in 4 beschrieben.
  • In Block 804 kann die Lastausgleichseinheit 104 von einer Mehrzahl von Paketverarbeitungskernen 102a-n Zustandsdaten empfangen, die zumindest einen Auslastungszustand und einen Betriebszustand jedes der jeweiligen Paketverarbeitungskerne (102a, 102b, 102c, ... 102n) aus der Mehrzahl von Paketverarbeitungskernen 102a-n angeben. In einigen Ausführungsformen können die Zustandsdaten in den Zustandsinformationspaketen 112 enthaltene Daten enthalten, wie in 5 beschrieben. In einigen Ausführungsformen können mehrere in den Zustandsinformationspaketen 112 enthaltene Datenparameter den Auslastungszustand des Paketverarbeitungskerns 102 angeben, einschließlich, aber nicht beschränkt auf, die Prozessorauslastung 502, den Leistungszustand 506 und/oder die Arbeitsspeicherauslastung 512.
  • In Block 806 kann die Lastausgleichseinheit 104 die Werte des Leistungszustands 506 der Mehrzahl von Paketverarbeitungskernen 102a-n vergleichen. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 das prädiktive Datenanalysesystem 110 zum Vergleichen der Werte des Leistungszustands 506 verwenden. In einer solchen Ausführungsform können die Werte des Leistungszustands 506 als Eingabe für das Merkmalzusammenführung-ML-Modell 302 verwendet werden. In anderen Ausführungsformen kann die Lastausgleichseinheit 104 die Werte des Leistungszustands 506 von der Mehrzahl der Paketverarbeitungskernen 102a-n vergleichen.
  • In Block 808 kann die Lastausgleichseinheit 104 den ausgewählten Paketverarbeitungskern 102 auf der Basis des Vergleichs der Werte des Leistungszustands 506 bestimmen. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 das prädiktive Datenanalysesystem 110 wie in 3 beschrieben zum Bestimmen der Workflow-Planungsrichtlinie 308 verwenden, die zur Auswahl eines Paketverarbeitungskerns 102 verwendet werden kann. In anderen Ausführungsformen kann die Lastausgleichseinheit 104 den Paketverarbeitungskern 102 auf der Basis eines Vergleichs des Leistungszustands 506 von jedem aus der Mehrzahl von Paketverarbeitungskernen 102a-n bestimmen. In solchen Ausführungsformen kann die Lastausgleichseinheit 104 zum Beispiel den Paketverarbeitungskern 102 im niedrigsten Leistungszustand 506 auswählen, vielleicht exemplifiziert durch die niedrigste Betriebsfrequenz.
  • In Block 810 kann die Lastausgleichseinheit 104 die Werte des PPC-Abstands 504 der Mehrzahl von Paketverarbeitungskernen 102a-n vergleichen. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 das prädiktive Datenanalysesystem 110 zum Vergleichen der Werte des PPC-Abstands 504 verwenden. In einer solchen Ausführungsform können die Werte des PPC-Abstands 504 als Eingabe für das Merkmalzusammenführung-ML-Modell 302 verwendet werden. In anderen Ausführungsformen kann die Lastausgleichseinheit 104 Werte des PPC-Abstands 504 aus der Mehrzahl von Paketverarbeitungskernen 102a-n vergleichen.
  • In Block 812 kann die Lastausgleichseinheit 104 den ausgewählten Paketverarbeitungskern 102 auf der Basis des Vergleichs der Werte des PPC-Abstands 504 aktualisieren. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 das prädiktive Datenanalysesystem 110 wie in 3 beschrieben verwenden, um die Werte des PPC-Abstands 504 in Kombination mit den Werten des Leistungszustands 506 für jeden der Paketverarbeitungskerne 102a-n zu analysieren und eine Aktualisierung des ausgewählten Paketverarbeitungskerns 102 auf der Basis der Workflow-Planungsrichtlinie 308 zu bestimmen. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 den Paketverarbeitungskern 102 auf der Basis eines Vergleichs der Werte des PPC-Abstands 504 von jedem aus der Mehrzahl von Paketverarbeitungskernen 102a-n bestimmen. In solchen Ausführungsformen kann eine Lastausgleichseinheit 104 zum Beispiel den Paketverarbeitungskern 102 mit dem kürzesten PPC-Abstand 504 oder dem PPC-Abstand 504 auswählen, der den Durchgang des Workflow-Pakets 114 durch die geringste Anzahl von Netzwerkknoten darstellt. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 beispielsweise den Paketverarbeitungskern 102 auswählen, der den Leistungszustand 506 und den PPC-Abstand 504 im Vergleich über die Paketverarbeitungskerne 102a-n optimiert, um eine Lösung zu finden, die die Leistungaufnahme mit der Systemleistung optimiert.
  • In Block 814 kann die Lastausgleichseinheit 104 das Workflow-Paket 114 zu dem ausgewählten Paketverarbeitungskern 102 übertragen. Nach Bestimmung des ausgewählten Paketverarbeitungskerns 102 kann die Lastausgleichseinheit 104 das Workflow-Paket 114 über das Kommunikationsnetzwerk 106 zu dem ausgewählten Paketverarbeitungskern 102 übertragen, um die enthaltenen Befehle auszuführen. Nach Abschluss kann der ausgewählte Paketverarbeitungskern 102 in einigen Ausführungsformen Zustandsinformationen durch Zustandsinformationspakete 112 übermitteln und kann ferner mit den verarbeiteten Transaktionen assoziierte Verarbeitungs- und Verzögerungszeiten zur Verwendung durch das prädiktive Datenanalysesystem 110 und/oder die Lastausgleichseinheit 104 bei der weiteren Anpassung der Planungsrichtlinie enthalten.
  • 9 stellt ein Flussdiagramm dar, das einen Prozess 900 zur Bestimmung eines Paketverarbeitungskerns 102 auf der Basis einer Prioritätskategorie gemäß einer oder mehrerer Ausführungsformen der vorliegenden Offenbarung illustriert. In Block 902 kann die Lastausgleichseinheit 104 das Workflow-Paket 114 empfangen, das Paketbeschreibungsdaten enthält, die zumindest eine Paketstruktur und eine Paketpriorität angeben. In einigen Ausführungsformen können die Paketbeschreibungsdaten im Workflow-Paket 114 enthaltene Daten enthalten, wie in 4 beschrieben.
  • In Block 904 kann die Lastausgleichseinheit 104 von der Mehrzahl von Paketverarbeitungskernen 102a-n Zustandsdaten empfangen, die zumindest einen Auslastungszustand und einen Betriebszustand jedes der jeweiligen Paketverarbeitungskerne (102a, 102b, 102c, ... 102n) aus der Mehrzahl der Paketverarbeitungskerne 102a-n angeben. In einigen Ausführungsformen können die Zustandsdaten in den Zustandsinformationspaketen 112 enthaltene Daten enthalten, wie in 5 beschrieben. In einigen Ausführungsformen können viele in den Zustandsinformationspaketen 112 enthaltene Datenparameter den Auslastungszustand des Paketverarbeitungskerns 102 angeben, einschließlich, aber nicht beschränkt auf, die Prozessorauslastung 502, den Leistungszustand 506 und/oder die Arbeitsspeicherauslastung 512.
  • In Block 906 kann die Lastausgleichseinheit 104 die Zustandsdaten der Mehrzahl von Paketverarbeitungskernen 102a-n vergleichen. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 das prädiktive Datenanalysesystem 110 zum Vergleichen der in den Zustandsinformationspaketen 112 enthaltenen Zustandsdaten verwenden. In einer solchen Ausführungsform können die Zustandsdatenwerte als Eingabe für das Merkmalzusammenführung-ML-Modell 302 verwendet werden. In anderen Ausführungsformen kann die Lastausgleichseinheit 104 die in den Zustandsinformationspaketen 112 enthaltenen Zustandsdaten aus der Mehrzahl der Paketverarbeitungskerne 102a-n vergleichen.
  • In Block 908 kann die Lastausgleichseinheit 104 den ausgewählten Paketverarbeitungskern 102 auf der Basis der Prioritätskategorie des Workflow-Pakets 114 und des Vergleichs von Zustandsdaten der Mehrzahl von Paketverarbeitungskernen 102a-n bestimmen. In einigen Ausführungsformen kann die Paketpriorität durch das Workflow-Paket 114 definiert werden. Beispielsweise kann das Workflow-Paket 114 einen Indikator enthalten, der die Prioritätsstufe des Workflow-Pakets 114 angibt, z.B. hoch, mittel oder niedrig. In einigen Ausführungsformen kann die Prioritätskategorie durch die Paketdatenkategorie 404 definiert werden, z.B. kann Videodaten eine höhere Priorität als Audiodaten und Audiodaten eine höhere Priorität als Dateidaten zugewiesen werden. In einigen Ausführungsformen kann die Prioritätskategorie durch die Paketquelle 406 definiert werden, z.B. kann einem Workflow-Paket 114 von einer bestimmten IP- oder Web-Quelle eine höhere Priorität zugewiesen werden. In einigen Ausführungsformen kann die Prioritätskategorie auch durch das Paketprotokoll 412 definiert werden, z.B. kann TCP-Paketen eine höhere Priorität als UDP-Paketen zugewiesen werden. In einigen Ausführungsformen kann die Prioritätskategorie durch Paketcodierung 414 definiert sein, z.B. kann einem mit FFmpeg codierten Workflow-Paket 114 eine höhere Priorität zugewiesen werden als einem mit MPEG-1 codierten Workflow-Paket 114. In anderen Ausführungsformen kann eine Prioritätskategorie anhand einer beliebigen Kombination von Daten definiert werden, die im Workflow-Paket 114 enthalten sind und zum Definieren einer Prioritätseinstufung verwendet werden können, z.B. der Eingangsport und/oder der Zielport. Nach dem Identifizieren einer Prioritätskategorie des Workflow-Pakets 114 kann die Lastausgleichseinheit 104 in einigen Ausführungsformen das prädiktive Datenanalysesystem 110, wie in 3 beschrieben, zum Bestimmen der Workflow-Planungsrichtlinie 308 verwenden, die zur Auswahl des Paketverarbeitungskerns 102 verwendet werden kann. In anderen Ausführungsformen kann die Lastausgleichseinheit 104 den Paketverarbeitungskern 102 auf der Basis einer Prioritätskategorie bestimmen, z.B. durch Auswahl des Paketverarbeitungskerns 102 mit der kürzesten Warteschlange zur Verarbeitung eines Workflow-Pakets 114 mit höherer Priorität.
  • In Block 910 kann die Lastausgleichseinheit 104 das Workflow-Paket 114 zu dem ausgewählten Paketverarbeitungskern 102 übertragen. Nach Bestimmung des ausgewählten Paketverarbeitungskerns 102 kann die Lastausgleichseinheit 104 das Workflow-Paket 114 über das Kommunikationsnetzwerk 106 zu dem ausgewählten Paketverarbeitungskern 102 übertragen, um die enthaltenen Befehle auszuführen. Nach Abschluss kann der ausgewählte Paketverarbeitungskern 102 in einigen Ausführungsformen Zustandsinformationen durch Zustandsinformationspakete 112 übermitteln und kann ferner mit den verarbeiteten Transaktionen assoziierte Verarbeitungs- und Verzögerungszeiten zur Verwendung durch das prädiktive Datenanalysesystem 110 und/oder die Lastausgleichseinheit 104 bei der weiteren Anpassung der Planungsrichtlinie enthalten.
  • 10 stellt ein Flussdiagramm dar, das einen Prozess 1000 zur Bestimmung eines Paketverarbeitungskerns 102 auf der Basis der Paketquelle 406 gemäß einer oder mehrerer Ausführungsformen der vorliegenden Offenbarung illustriert. In Block 1002 kann die Lastausgleichseinheit 104 ein Workflow-Paket 114 empfangen, das Paketbeschreibungsdaten enthält, die zumindest eine Paketstruktur und eine Paketpriorität angeben. In einigen Ausführungsformen können die Paketbeschreibungsdaten im Workflow-Paket 114 enthaltene Daten enthalten, wie in 4 beschrieben. In einigen Ausführungsformen können viele im Workflow-Paket 114 enthaltene Datenparameter die Priorität eines Pakets angeben, einschließlich, aber nicht beschränkt auf, die Paketdatenkategorie 404, die Paketquelle 406, das Paketprotokoll 412 und die Paketcodierung 414.
  • In Block 1004 kann die Lastausgleichseinheit 104 von der Mehrzahl von Paketverarbeitungskernen 102a-n Zustandsdaten empfangen, die zumindest einen Auslastungszustand und einen Betriebszustand jedes der jeweiligen Paketverarbeitungskerne (102a, 102b, 102c, ... 102n) aus der Mehrzahl der Paketverarbeitungskerne 102a-n angeben. In einigen Ausführungsformen können die Zustandsdaten in den Zustandsinformationspaketen 112 enthaltene Daten enthalten, wie in 5 beschrieben. In einigen Ausführungsformen können viele in den Zustandsinformationspaketen 112 enthaltene Datenparameter den Auslastungszustand des Paketverarbeitungskerns 102 angeben, einschließlich, aber nicht beschränkt auf, die Prozessorauslastung 502, den Leistungszustand 506 und/oder die Arbeitsspeicherauslastung 512.
  • In Block 1006 kann die Lastausgleichseinheit 104 die Zustandsdaten der Mehrzahl von Paketverarbeitungskernen 102a-n vergleichen. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 das prädiktive Datenanalysesystem 110 zum Vergleichen der in den Zustandsinformationspaketen 112 enthaltenen Zustandsdaten verwenden. In einer solchen Ausführungsform können die Zustandsdatenwerte als Eingabe für das Merkmalzusammenführung-ML-Modell 302 verwendet werden. In anderen Ausführungsformen kann die Lastausgleichseinheit 104 die in den Zustandsinformationspaketen 112 enthaltenen Zustandsdaten aus der Mehrzahl der Paketverarbeitungskerne 102a-n vergleichen.
  • In Block 1008 kann die Lastausgleichseinheit 104 den ausgewählten Paketverarbeitungskern 102 auf der Basis des Vergleichs der Werte der Paketquelle 406 bestimmen. In einigen Ausführungsformen kann die Lastausgleichseinheit 104 das prädiktive Datenanalysesystem 110 wie in 3 beschrieben mit der Paketquelle 406 als Eingabe zum Bestimmen einer Workflow-Planungsrichtlinie 308 verwenden, die zur Auswahl eines Paketverarbeitungskerns 102 verwendet werden kann. In anderen Ausführungsformen kann die Lastausgleichseinheit 104 den Paketverarbeitungskern 102 auf der Basis der Paketquelle 406 bestimmen. In solchen Ausführungsformen kann die Lastausgleichseinheit 104 zum Beispiel den Paketverarbeitungskern 102 auswählen, der zum effizienteren Handhaben von Daten von einer bestimmten Paketquelle 406 konfiguriert ist. In anderen Ausführungsformen kann die Lastausgleichseinheit 104 beispielsweise den Paketverarbeitungskern 102 mit weniger Datenverkehr zuweisen, auf der Basis einer Paketquelle 406, von der bekannt ist, dass sie Workflow-Pakete 114 mit großen Datenmengen oder schwer zu verarbeitenden Daten liefert.
  • In Block 1010 kann die Lastausgleichseinheit 104 das Workflow-Paket 114 zu dem ausgewählten Paketverarbeitungskern 102 übertragen. Nach Bestimmung des ausgewählten Paketverarbeitungskerns 102 kann die Lastausgleichseinheit 104 das Workflow-Paket 114 über das Kommunikationsnetzwerk 106 zu dem ausgewählten Paketverarbeitungskern 102 übertragen, um die enthaltenen Befehle auszuführen. Nach Abschluss kann der ausgewählte Paketverarbeitungskern 102 in einigen Ausführungsformen Zustandsinformationen durch Zustandsinformationspakete 112 übermitteln und kann ferner mit den verarbeiteten Transaktionen assoziierte Verarbeitungs- und Verzögerungszeiten zur Verwendung durch das prädiktive Datenanalysesystem 110 und/oder die Lastausgleichseinheit 104 bei der weiteren Anpassung der Planungsrichtlinie enthalten.
  • Viele Modifikationen und andere Ausführungsformen der hierin dargelegten Erfindungen werden der Fachperson auf dem Gebiet, zu dem diese Erfindungen gehören, mit dem Nutzen der in den vorstehenden Beschreibungen und den assoziierten Zeichnungen dargestellten Lehren einfallen. Obwohl die Figuren nur bestimmte Komponenten der hier beschriebenen Geräte und Systeme zeigen, können selbstverständlich verschiedene andere Komponenten in Verbindung mit dem System verwendet werden. Es ist daher zu verstehen, dass die Erfindungen nicht auf die spezifischen offenbarten Ausführungsformen beschränkt sind und dass Modifikationen und andere Ausführungsformen im Rahmen der beigefügten Ansprüche eingeschlossen sein sollen. Darüber hinaus müssen die Schritte des oben beschriebenen Verfahrens nicht unbedingt in der in den beigefügten Diagrammen dargestellten Reihenfolge erfolgen, und in einigen Fällen können einer oder mehrere der dargestellten Schritte im Wesentlichen gleichzeitig erfolgen, oder es können zusätzliche Schritte beteiligt sein. Obwohl hier spezifische Begriffe verwendet werden, werden sie nur in einem allgemeinen und beschreibenden Sinne und nicht zum Zwecke der Einschränkung verwendet.
  • Während verschiedene Ausführungsformen gemäß den hierin offenbarten Prinzipien oben gezeigt und beschrieben wurden, können Modifikationen davon von der Fachperson vorgenommen werden, ohne vom Wesen und den Lehren der Offenbarung abzuweichen. Die hier beschriebenen Ausführungsformen sind lediglich repräsentativ und nicht als einschränkend zu betrachten. Viele Variationen, Kombinationen und Modifikationen sind möglich und fallen in den Umfang der Offenbarung. Die offenbarten Ausführungsformen beziehen sich in erster Linie auf eine Netzwerkschnittstellenumgebung, jedoch kann die Fachperson erkennen, dass diese Prinzipien auf jeden Scheduler angewendet werden können, der Befehle und/oder Transaktionen empfängt und Zugang zu zwei oder mehr Prozessorkernen hat. Alternative Ausführungsformen, die sich aus der Kombination, Integration und/oder dem Weglassen von Merkmalen der Ausführungsform(en) ergeben, fallen ebenfalls in den Rahmen der Offenbarung. Dementsprechend wird der Schutzumfang durch die obige Beschreibung nicht eingeschränkt.
  • Darüber hinaus werden die hier verwendeten Abschnittsüberschriften aus Gründen der Übereinstimmung mit den Vorschlägen unter 37 C.F.R. 1.77 oder als sonstige organisatorische Hinweise verwendet. Diese Überschriften sollen die Erfindung(en) in den Ansprüchen, die sich aus dieser Offenbarung ergeben können, nicht einschränken oder charakterisieren.
  • Die Verwendung breiterer Begriffe wie „umfasst“, „beinhaltet“ und „hat“ ist so zu verstehen, dass sie engere Begriffe wie „besteht aus“ und „besteht im Wesentlichen aus“ unterstützt. Die Verwendung der Begriffe „optional“, „kann“, „könnte“, „möglicherweise“ und dergleichen in Bezug auf ein Element einer Ausführungsform bedeutet, dass das Element nicht erforderlich ist, oder alternativ, dass das Element erforderlich ist, wobei beide Alternativen in den Rahmen der Ausführungsform(en) fallen. Auch Verweise auf Beispiele dienen lediglich der Veranschaulichung und sind nicht als ausschließlich zu verstehen.
  • Man wird verstehen, dass die oben beschriebenen Aspekte und Ausführungsformen nur beispielhaft sind und dass Änderungen im Detail im Rahmen der Ansprüche vorgenommen werden können.
  • Jedes in der Beschreibung und (gegebenenfalls) in den Ansprüchen und Zeichnungen offenbarte Gerät, Verfahren und Merkmal kann unabhängig oder in jeder geeigneten Kombination bereitgestellt werden.
  • Die in den Ansprüchen angegebenen Bezugszahlen dienen nur der Veranschaulichung und haben keine einschränkende Wirkung auf den Umfang der Ansprüche.

Claims (20)

  1. Computerimplementiertes Verfahren, das Folgendes beinhaltet: Empfangen eines Workflow-Pakets, wobei das Workflow-Paket Paketbeschreibungsdaten umfasst, die zumindest eine Paketstruktur und eine Paketpriorität angeben; Empfangen, von einer Mehrzahl von Paketverarbeitungskernen, von Zustandsdaten, die zumindest einen Auslastungszustand und einen Betriebszustand jedes der jeweiligen Paketverarbeitungskerne aus der Mehrzahl von Paketverarbeitungskernen angeben; Bestimmen eines ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen auf der Basis der Zustandsdaten des Paketverarbeitungskerns und der Paketbeschreibungsdaten des Workflow-Pakets; und Übertragen des Workflow-Pakets zu dem ausgewählten Paketverarbeitungskern.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei die den Auslastungszustand angebenden Zustandsdaten einen Prozessorauslastungswert für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren, und wobei das Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen ferner Folgendes beinhaltet: Vergleichen der Prozessorauslastungswerte der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Prozessorauslastungswerte.
  3. Computerimplementiertes Verfahren nach Anspruch 2, wobei die den Auslastungszustand angebenden Zustandsdaten ferner einen Arbeitsspeicherauslastungswert für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren, und wobei das Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen ferner Folgendes beinhaltet: Vergleichen der Arbeitsspeicherauslastungswerte der Mehrzahl von Paketverarbeitungskernen; und Aktualisieren des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Arbeitsspeicherauslastungswerte.
  4. Computerimplementiertes Verfahren nach einem vorherigen Anspruch, wobei die den Auslastungszustand angebenden Zustandsdaten eine Mehrzahl von Leistungszuständen für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren, die mindestens einen mit einer ersten Betriebsfrequenz assoziierten ersten Leistungszustand und einen mit einer zweiten Betriebsfrequenz assoziierten zweiten Leistungszustand umfassen, und wobei das Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen ferner Folgendes beinhaltet: Vergleichen der Leistungszustände der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Leistungszustände.
  5. Computerimplementiertes Verfahren nach Anspruch 4, wobei die den Betriebszustand angebenden Zustandsdaten einen physischen Abstand zwischen dem jeweiligen Paketverarbeitungskern und einer Lastausgleichseinheit für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren, und wobei das Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen ferner Folgendes beinhaltet: Vergleichen des physischen Abstands von der Lastausgleichseinheit aus der Mehrzahl von Paketverarbeitungskernen; und Aktualisieren des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs des physischen Abstands.
  6. Computerimplementiertes Verfahren nach einem vorherigen Anspruch, wobei die Paketpriorität angebenden Paketbeschreibungsdaten eine Mehrzahl von Prioritätskategorien mit mindestens einer ersten Prioritätskategorie und einer zweiten Prioritätskategorie definieren, und wobei das Bestimmen des ausgewählten Paketverarbeitungskerns ferner Folgendes beinhaltet: Vergleichen der Zustandsdaten der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis der Prioritätskategorie des Workflow-Pakets und des Vergleichs der Zustandsdaten der Mehrzahl von Paketverarbeitungskernen.
  7. Computerimplementiertes Verfahren nach einem vorherigen Anspruch, wobei die Paketpriorität angebenden Paketbeschreibungsdaten eine Paketquelle definieren und das Bestimmen des ausgewählten Paketverarbeitungskerns ferner Folgendes beinhaltet: Vergleichen der Zustandsdaten der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis der Paketquelle des Workflow-Pakets und des Vergleichs der Zustandsdaten aus der Mehrzahl von Paketverarbeitungskernen.
  8. Computerimplementiertes Verfahren nach einem vorherigen Anspruch, das ferner das iterative Bestimmen des ausgewählten Paketverarbeitungskerns mit Hilfe eines Verstärkungslernalgorithmus beinhaltet.
  9. System, das Folgendes umfasst: eine Mehrzahl von Paketverarbeitungskernen; und eine Lastausgleichseinheit, die kommunikativ mit der Mehrzahl von Paketverarbeitungskernen verbunden ist, wobei die Lastausgleichseinheit konfiguriert ist zum: Empfangen eines Workflow-Pakets, das Paketbeschreibungsdaten umfasst, die mindestens eine Paketstruktur und eine Paketpriorität angeben; Empfangen, von der Mehrzahl von Paketverarbeitungskernen, von Zustandsdaten, die zumindest einen Auslastungszustand und einen Betriebszustand jedes der jeweiligen Paketverarbeitungskerne aus der Mehrzahl von Paketverarbeitungskernen angeben; Bestimmen eines ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen auf der Basis der Zustandsdaten des Paketverarbeitungskerns und der Paketbeschreibungsdaten des Workflow-Pakets; und Übertragen des Workflow-Pakets zu dem ausgewählten Paketverarbeitungskern.
  10. System nach Anspruch 9, wobei die den Auslastungszustand angebenden Zustandsdaten einen Prozessorauslastungswert für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren, und wobei die Lastausgleichseinheit ferner konfiguriert ist zum Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl der Paketverarbeitungskerne durch: Vergleichen der Prozessorauslastungswerte aus der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Prozessorauslastungswerte.
  11. System nach Anspruch 10, wobei die den Auslastungszustand angebenden Zustandsdaten ferner einen Arbeitsspeicherauslastungswert für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren, und wobei die Lastausgleichseinheit ferner konfiguriert ist zum Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen durch: Vergleichen der Arbeitsspeicherauslastungswerte aus der Mehrzahl von Paketverarbeitungskernen; und Aktualisieren des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Arbeitsspeicherauslastungswerte.
  12. System nach Anspruch 9, 10 oder 11, wobei die den Auslastungszustand angebenden Zustandsdaten eine Mehrzahl von Leistungszuständen für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren, die mindestens einen mit einer ersten Betriebsfrequenz assoziierten ersten Leistungszustand und einen mit einer zweiten Betriebsfrequenz assoziierten zweiten Leistungszustand umfassen, und wobei die Lastausgleichseinheit ferner konfiguriert ist zum Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen durch: Vergleichen der Leistungszustände der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Leistungszustände.
  13. System nach Anspruch 12, wobei die den Betriebszustand angebenden Zustandsdaten einen physischen Abstand zwischen dem jeweiligen Paketverarbeitungskern und der Lastausgleichseinheit für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren, und wobei die Lastausgleichseinheit ferner konfiguriert ist zum Bestimmen des ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen durch: Vergleichen des physischen Abstands von der Lastausgleichseinheit aus der Mehrzahl von Paketverarbeitungskernen; und Aktualisieren des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs des physischen Abstands.
  14. System nach einem der Ansprüche 9 bis 13, wobei die Paketpriorität angebenden Paketbeschreibungsdaten eine Mehrzahl von Prioritätskategorien mit mindestens einer ersten Prioritätskategorie und einer zweiten Prioritätskategorie definieren, und wobei die Lastausgleichseinheit ferner konfiguriert ist zum Bestimmen des ausgewählten Paketverarbeitungskerns durch: Vergleichen der Zustandsdaten aus der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis der Prioritätskategorie des Workflow-Pakets und des Vergleichs der Zustandsdaten der Mehrzahl von Paketverarbeitungskernen.
  15. System nach einem der Ansprüche 9 bis 14, wobei die Paketpriorität angebenden Paketbeschreibungsdaten eine Paketquelle definieren, und wobei die Lastausgleichseinheit ferner konfiguriert ist zum Bestimmen des ausgewählten Paketverarbeitungskerns durch: Vergleichen der Zustandsdaten aus der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis der Paketquelle des Workflow-Pakets und des Vergleichs der Zustandsdaten aus der Mehrzahl von Paketverarbeitungskernen.
  16. System nach einem der Ansprüche 9 bis 15, wobei die Lastausgleichseinheit ferner zum iterativen Bestimmen des ausgewählten Paketverarbeitungskerns mit Hilfe eines Verstärkungslernalgorithmus konfiguriert ist.
  17. Computerprogrammprodukt, das mindestens ein nichtflüchtiges, computerlesbares Speichermedium mit Computerprogrammcode darauf umfasst, der bei Ausführung mit mindestens einem Prozessor das Computerprogrammprodukt konfiguriert zum: Empfangen eines Workflow-Pakets, wobei das Workflow-Paket Paketbeschreibungsdaten umfasst, die zumindest eine Paketstruktur und eine Paketpriorität angeben; Empfangen, von einer Mehrzahl von Paketverarbeitungskernen, von Zustandsdaten, die zumindest einen Auslastungszustand und einen Betriebszustand jedes der jeweiligen Paketverarbeitungskerne aus der Mehrzahl von Paketverarbeitungskernen angeben; Bestimmen eines ausgewählten Paketverarbeitungskerns aus der Mehrzahl von Paketverarbeitungskernen auf der Basis der Zustandsdaten des Paketverarbeitungskerns und der Paketbeschreibungsdaten des Workflow-Pakets; und Übertragen des Workflow-Pakets zu dem ausgewählten Paketverarbeitungskern.
  18. Computerprogrammprodukt nach Anspruch 17, wobei die den Auslastungszustand angebenden Zustandsdaten einen Prozessorauslastungswert für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren, wobei das Computerprogrammprodukt ferner konfiguriert ist zum: Vergleichen der Prozessorauslastungswerte der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Prozessorauslastungswerte.
  19. Computerprogrammprodukt nach Anspruch 18, wobei die den Auslastungszustand angebenden Zustandsdaten ferner einen Arbeitsspeicherauslastungswert für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren, wobei das Computerprogrammprodukt ferner konfiguriert ist zum: Vergleichen der Arbeitsspeicherauslastungswerte der Mehrzahl von Paketverarbeitungskernen; und Aktualisieren des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Arbeitsspeicherauslastungswerte.
  20. Computerprogrammprodukt nach Anspruch 17, 18 oder 19, wobei die den Auslastungszustand angebenden Zustandsdaten eine Mehrzahl von Leistungszuständen für jeden aus der Mehrzahl von Paketverarbeitungskernen definieren, die mindestens einen mit einer ersten Betriebsfrequenz assoziierten ersten Leistungszustand und einen mit einer zweiten Betriebsfrequenz assoziierten zweiten Leistungszustand umfassen, wobei das Computerprogrammprodukt ferner konfiguriert ist zum: Vergleichen der Leistungszustände der Mehrzahl von Paketverarbeitungskernen; und Bestimmen des ausgewählten Paketverarbeitungskerns auf der Basis des Vergleichs der Leistungszustände.
DE102023207119.3A 2022-07-28 2023-07-26 Verahren, systeme und computerprogrammprodukte für dynamischen lastausgleich Pending DE102023207119A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/875,999 US20240039849A1 (en) 2022-07-28 2022-07-28 Methods, systems, and computer program products for dynamic load balancing
US17/875,999 2022-07-28

Publications (1)

Publication Number Publication Date
DE102023207119A1 true DE102023207119A1 (de) 2024-02-08

Family

ID=89575238

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023207119.3A Pending DE102023207119A1 (de) 2022-07-28 2023-07-26 Verahren, systeme und computerprogrammprodukte für dynamischen lastausgleich

Country Status (2)

Country Link
US (1) US20240039849A1 (de)
DE (1) DE102023207119A1 (de)

Also Published As

Publication number Publication date
US20240039849A1 (en) 2024-02-01

Similar Documents

Publication Publication Date Title
DE112014000322B4 (de) Skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk
DE112017003279T5 (de) Grafikverarbeitungseinheit (gpu) für pakettransfer
DE102016103733B4 (de) Kanaleigentum in einem Veröffentlichungs-/Abonnier-System
DE102018006894A1 (de) Technologien zum Auslagern von Beschleunigungsaufgaben-Ablaufplanungsoperationen an Beschleunigerschlitten
DE112013000752B4 (de) Verwalten von Verarbeitungselementen in einem Streaming-Datensystem
DE102015119890A1 (de) Paralleles Verarbeiten von Service-Funktionen in Service-Funktionsketten
DE102016100902A1 (de) Verfahren zum dynamischen Zuteilen von Ressourcen von konfigurierbaren Datenverarbeitungsressourcen
DE112011102896B4 (de) Verwalten der Datenübertragung zwischen Netzwerken mit unterschiedlichen Datenübertragungsprotokollen
DE102016103492B4 (de) Datenverarbeitungsvorrichtung und Verfahren zum Überwachen von Netzwerkverkehr und Maschinenlesbares Speichermedium
DE102019131123A1 (de) Technologien zur transparenten function-as-a-service-arbitrierung für edge-systeme
DE102015119889A1 (de) Verfahren für Netzwerkvorrichtungsfluss-Look-up-Verwaltung
DE112013006417T5 (de) Verlustfreie Schalterstruktur mit niedriger Latenzzeit zum Gebrauch in einem Rechenzentrum
DE112012005356T5 (de) Techniken in Verbindung mit Server-Transaktionslatenzinformationen
DE112017003294T5 (de) Technologien für ein skalierbares Senden und Empfangen von Paketen
DE102012219705B4 (de) Datenpaketverarbeitung im netzwerk
DE102019105615A1 (de) Technologien für leistungsbewusste planung für netzwerkpaketverarbeitung
DE112017004907T5 (de) System, Vorrichtung und Verfahren zur Durchführung einer verteilten Arbitration
DE102019102883A1 (de) Technologien zum Bewegen von Arbeitslasten zwischen Hardwarewarteschlangenmanagern
DE102019103932A1 (de) Technologien für optimierte Dienstgütebeschleunigung
DE102018207377A1 (de) Vorabvalidierung einer plattform
DE112017001376T5 (de) Erkennen und Vorhersagen von Engpässen in komplexen Systemen
DE102020103521A1 (de) Minimieren der Nutzung von Hardware-Zählern bei getriggerten Operationen für kollektive Kommunikation
DE102018204577A1 (de) Techniken zum Erfüllen von Dienstgüteanforderungen für eine Fabric-Punkt-zu-Punkt-Verbindung
DE112017001800T5 (de) Technologien für dynamisches arbeitswarteschlangenmanagement
DE102018209188A1 (de) Technologien zum Verwalten der Dienstgüte für Plattformverbindungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed