DE102011007603A1 - Verfahren und Vorrichtung zur Verarbeitung von Datenelementen mit minimaler Latenzzeit - Google Patents

Verfahren und Vorrichtung zur Verarbeitung von Datenelementen mit minimaler Latenzzeit Download PDF

Info

Publication number
DE102011007603A1
DE102011007603A1 DE102011007603A DE102011007603A DE102011007603A1 DE 102011007603 A1 DE102011007603 A1 DE 102011007603A1 DE 102011007603 A DE102011007603 A DE 102011007603A DE 102011007603 A DE102011007603 A DE 102011007603A DE 102011007603 A1 DE102011007603 A1 DE 102011007603A1
Authority
DE
Germany
Prior art keywords
data
data processing
task
processing device
execution
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.)
Ceased
Application number
DE102011007603A
Other languages
English (en)
Inventor
Tobias Schüle
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE102011007603A priority Critical patent/DE102011007603A1/de
Priority to PCT/EP2011/073556 priority patent/WO2012089579A1/de
Publication of DE102011007603A1 publication Critical patent/DE102011007603A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Abstract

Datenverarbeitungsvorrichtung (1) zur Datenverarbeitung von Datenelementen eines seriellen Datenstromes (DS), wobei ein empfangenes Datenelement des seriellen Datenstromes (DS) durch mehre Datenverarbeitungseinheiten (2), die Zugriff auf eine Prioritätswarteschlange (3) haben, mehrstufig nach dem Fließbandprinzip durch Tasks (T) parallel verarbeitet werden, wobei eine priorisierte Ausführung der Tasks (T) in Abhangigkeit von in der Prioritatswarteschlange (3) angegebenen Ausführungsprioritäten (AP) der Tasks (T) erfolgt, die jeweils von der Position des durch die Tasks (T) zu verarbeitenden Datenelementes innerhalb des empfangenen Datenstromes (DS) abgeleitet wird.

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Datenverarbeitung von Datenelementen mit minimaler Latenzzeit.
  • Datenverarbeitungsvorrichtungen bestehen zunehmend aus mehreren parallel arbeitenden Datenverarbeitungseinheiten bzw. Prozessorkernen. Um die Leistungsfahigkeit derartiger Multicore-Prozessoren bzw. Multicore-Datenverarbeitungseinheiten ausschöpfen zu können, werden die darauf auszuführenden Berechnungen möglichst in unabhängige Teile zerlegt, so dass diese Teile parallel verarbeitet werden können. Fur viele Anwendungen, insbesondere im Bereich der digitalen Signalverarbeitung, erfolgt daher die Datenverarbeitung nach dem sogenannten Fließbandprinzip. Dabei wird eine Sequenz bzw. Folge von Berechnungen derart zerlegt, dass in Teilschritten verschiedene Elemente eines Datenstromes parallel verarbeitet werden konnen. Dies wird auch als „Pipelining” bezeichnet.
  • 1 zeigt beispielhaft die Ausführung einer aus drei Stufen X, Y, und Z bestehenden Verarbeitungspipeline für Datenelemente nach dem Stand der Technik.
  • Pipelining wird zunehmend auch in der Softwareentwicklung eingesetzt. Während bei der Hardwareentwicklung die Zuordnung von Pipelinestufen zu den Ressourcen bzw. Funktionseinheiten fest ist, kann sich bei der Softwareentwicklung das Problem einer moglichst optimalen Abbildung der Berechnungsstufen auf die verschiedenen Prozessorkerne bzw. Datenverarbeitungseinheiten des Multicore-Prozessors stellen. Bei Systemen, die Echtzeitanforderungen unterliegen, muss zudem gewahrleistet werden, dass das Ergebnis einer Berechnung rechtzeitig vorliegt. Deshalb gilt es bei einer parallelen Ausführung einer Pipeline nicht nur, den Datendurchsatz zu erhöhen, sondern auch die Latenzzeit für die Datenverarbeitung eines einzelnen Datenelementes eines empfangenen Datenstromes zu minimieren bzw. zu beschränken. Ein weiteres Problem besteht darin, dass die Ausführungszeiten der Pipelinestufen typischerweise stark variieren. Dies kann zu unerwünschten Effekten bzw. Datenstaus führen, wodurch die Latenzzeiten erheblich ansteigen.
  • Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zur Datenverarbeitung von Datenelementen eines seriellen Datenstromes mit geringer maximaler Latenzzeit zu schaffen.
  • Diese Aufgabe wird erfindungsgemaß durch eine Datenverarbeitungsvorrichtung mit den in Patentanspruch 1 angegebenen Merkmalen gelost.
  • Die Erfindung schafft eine Datenverarbeitungsvorrichtung zur Datenverarbeitung von Datenelementen eines seriellen Datenstromes,
    wobei ein empfangenes Datenelement des seriellen Datenstromes durch mehre Datenverarbeitungseinheiten, die Zugriff auf eine Prioritatswarteschlange haben, mehrstufig nach dem Fließbandprinzip durch Tasks parallel verarbeitet werden,
    wobei eine priorisierte Ausfuhrung der Tasks in Abhängigkeit von in der Prioritatswarteschlange angegebenen Ausführungsprioritaten der Tasks erfolgt, die jeweils von der Position des durch die Tasks zu verarbeitenden Datenelementes innerhalb des empfangenen Datenstromes abgeleitet wird.
  • Bei der erfindungsgemaßen Datenverarbeitungsvorrichtung erfolgt somit eine priorisierte Abarbeitung der Tasks in Abhängigkeit des Zeitpunktes, zu dem ein Datenelement des Datenstromes in die Pipeline eingespeist wird. Auf diese Weise wird vermieden, dass Datenelemente unnötig lange in der Pipeline bzw. Verarbeitungspipeline verbleiben und von nachfolgenden Datenelementen überholt werden. Mit dem erfindungsgemaßen Verfahren wird somit die maximale Latenzzeit eines Datenelements reduziert. Die maximale Latenzzeit von in Software implementierten Pipelines in parallelen Systemen wird auf diese Weise reduziert. Insbesondere die Zuordnung der auszufuhrenden Teilschritte einer Berechnung zu den Datenverarbeitungseinheiten bzw. Prozessorkernen kann dabei zur Laufzeit erfolgen. Die erfindungsgemaße Datenverarbeitungsvorrichtung eignet sich insbesondere für Anwendungen mit Echtzeitanforderungen, insbesondere zur Verarbeitung von Audio-, Video- oder Sensordaten.
  • Bei einer möglichen Ausfuhrungsform der erfindungsgemaßen Datenverarbeitungsvorrichtung weist die Datenverarbeitungsvorrichtung mindestens eine Datenschnittstelle zum Empfang des seriellen Datenstromes auf.
  • Bei einer moglichen Ausfuhrungsform erhalten die empfangenen Datenelemente des Datenstromes bei ihren Empfang einen generierten Zeitstempel zur Kennzeichnung ihrer Position innerhalb des Datenstromes.
  • Bei einer weiteren möglichen Ausfuhrungsform der erfindungsgemäßen Datenverarbeitungsvorrichtung erhalten die empfangenen Datenelemente des Datenstromes bei ihrem Empfang eine generierte Datenelement-Nummer zur Kennzeichnung ihrer Position innerhalb des Datenstromes.
  • Bei einer moglichen Ausfuhrungsform der erfindungsgemaßen Datenverarbeitungsvorrichtung wird durch eine Berechnungseinheit mittels einer Priorisierungsfunktion die Ausfuhrungsprioritat einer Task in Abhängigkeit von der Position des durch die Task zu verarbeitenden Datenelementes innerhalb des Datenstromes berechnet.
  • Bei einer moglichen Ausführungsform der erfindungsgemaßen Datenverarbeitungsvorrichtung weist diese eine globale Prioritatswarteschlange fur alle Datenverarbeitungseinheiten auf.
  • Bei einer alternativen Ausführungsform der erfindungsgemaßen Datenverarbeitungsvorrichtung weist jede Datenverarbeitungseinheit eine eigene lokale Prioritatswarteschlange auf.
  • Bei einer moglichen Ausführungsform der erfindungsgemaßen Datenverarbeitungsvorrichtung enthält die Prioritätswarteschlange die durch die Datenverarbeitungseinheit sequentiell auszuführenden Tasks und deren jeweilige Ausfuhrungsprioritäten.
  • Bei einer moglichen Ausfuhrungsform der erfindungsgemaßen Datenverarbeitungsvorrichtung enthält die Prioritatswarteschlange ferner für die auszuführende Task einen Adresszeiger bzw. Pointer auf eine Datenspeicheradresse eines Datenspeichers, an der die durch die Task zu verarbeitenden Daten des Datenelementes gespeichert sind.
  • Bei einer moglichen Ausfuhrungsform der erfindungsgemäßen Datenverarbeitungsvorrichtung besitzt diese einen Task-Scheduler, welcher die Tasks und deren berechnete Ausfuhrungsprioritäten in mindestens eine Prioritatswarteschlange einfügt.
  • Bei einer weiteren moglichen Ausfuhrungsform der erfindungsgemaßen Datenverarbeitungsvorrichtung erfolgt die Zuweisung der Tasks zu verschiedenen Datenverarbeitungseinheiten durch den Task-Scheduler zur Laufzeit der Datenverarbeitung.
  • Bei einer weiteren möglichen Ausführungsform der erfindungsgemaßen Datenverarbeitungsvorrichtung weist der serielle Datenstrom Datenelemente auf, die Audiodaten, Videodaten oder Sensordaten enthalten, welche in Echtzeit durch die Datenverarbeitungsvorrichtung verarbeitet werden.
  • Bei einer moglichen Ausfuhrungsform der erfindungsgemaßen Datenverarbeitungsvorrichtung wird, falls eine lokale Prioritatswarteschlange einer Datenverarbeitungseinheit leer ist, eine Task mit der hochsten Ausfuhrungsprioritat aus einer anderen lokalen Prioritätswarteschlange in die leere Prioritätswarteschlange automatisch transferiert.
  • Bei einer moglichen Ausführungsform der erfindungsgemaßen Datenverarbeitungsvorrichtung erzeugt eine Task nach ihrer Ausführung durch eine Datenverarbeitungseinheit mindestens eine Nachfolge-Task und übergibt diese an den Task-Scheduler.
  • Bei einer moglichen Ausfuhrungsform der erfindungsgemaßen Datenverarbeitungsvorrichtung wird die Ausfuhrungsprioritat von der Empfangsreihenfolge des empfangenen Datenelementes innerhalb des Datenstromes abgeleitet, wobei Tasks zur Verarbeitung früher empfangener Datenelemente eine höhere Ausfuhrungsprioritat erhalten.
  • Bei einer moglichen Ausfuhrungsform der erfindungsgemäßen Datenverarbeitungsvorrichtung sind die Datenverarbeitungseinheiten Prozessoren, welche die Task entsprechend ihrer jeweiligen Ausführungspriorität ausfuhren.
  • Die Erfindung schafft ferner ein Verfahren mit dem in Patentanspruch 15 angegebenen Merkmalen.
  • Die Erfindung schafft ein Verfahren zum Verarbeiten von Datenelementen mit geringer maximaler Latenzzeit,
    wobei die Datenelemente in einem seriellen Datenstrom empfangen werden und durch mehrere Datenverarbeitungseinheiten, die Zugriff auf eine Prioritätswarteschlange haben, mehrstufig nach dem Fließbandprinzip durch Tasks parallel verarbeitet werden,
    wobei eine priorisierte Ausfuhrung der Tasks in Abhängigkeit von den in der Prioritatswarteschlange angegebenen Ausführungsprioritaten der Tasks erfolgt, die jeweils von der Position des durch die Task zu verarbeitenden Datenelementes innerhalb des empfangenen Datenstromes abgeleitet wird.
  • Im Weiteren werden mogliche Ausführungsbeispiele des erfindungsgemäßen Verfahrens und der erfindungsgemaßen Vorrichtung zur Datenverarbeitung von Datenelementen mit geringer maximaler Latenzzeit unter Bezugnahme auf die beigefugten Figuren naher beschrieben.
  • Es zeigen:
  • 1 ein Diagramm zur Erlauterung einer mehrstufigen Pipelinedatenverarbeitung nach dem Stand der Technik;
  • 2 ein Blockschaubild zur Darstellung eines Ausführungsbeispiels der erfindungsgemaßen Datenverarbeitungsvorrichtung;
  • 3 ein Diagramm zur Erläuterung einer moglichen Datenstruktur einer bei der erfindungsgemäßen Vorrichtung und bei dem erfindungsgemaßen Verfahren eingesetzten Prioritätswarteschlange;
  • 4 ein Ablaufdiagramm zur Darstellung eines Ausfuhrungsbeispiels des erfindungsgemäßen Verfahrens zur Verarbeitung von Datenelementen mit geringer maximaler Latenzzeit;
  • 5 ein Diagramm zur Darstellung einer mehrstufigen Pipelinedatenverarbeitung durch verschiedene Tasks zur Erläuterung der Funktionsweise des erfindungsgemaßen Verfahrens;
  • 6 ein Beispiel zur Ausfuhrung einer Datenverarbeitungspipeline bei einem System mit zwei Datenverarbeitungseinheiten, in dem die Ausführung in herkommlicher Weise erfolgt;
  • 7 ein Diagramm zur Darstellung einer priorisierten Ausfuhrung einer Datenverarbeitungspipeline bei einem System mit zwei Datenverarbeitungseinheiten bei Anwendung des erfindungsgemäßen Verfahrens zur Verarbeitung von Datenelementen mit geringer maximaler Latenzzeit;
  • 2 zeigt schematisch ein Ausfuhrungsbeispiel einer Datenverarbeitungsvorrichtung 1 gemaß der Erfindung zur Datenverarbeitung von Datenelementen eines seriellen Datenstromes DS. Bei dem dargestellten Ausfuhrungsbeispiel enthält die Datenverarbeitungsvorrichtung mehrere Datenverarbeitungseinheiten 2-1, 2-2, ... 2-N. Diese Datenverarbeitungseinheiten 2-i sind beispielsweise Prozessorkerne. Bei dem in 2 dargestellten Ausführungsbeispiel verfügt jede Datenverarbeitungseinheit bzw. jeder Prozessorkern 2-i uber eine eigene lokale Prioritätswarteschlange 3-i. In dem dargestellten Ausfuhrungsbeispiel enthalt die Datenverarbeitungsvorrichtung bzw. der Multicore-Prozessor 1 gemaß der Erfindung N Datenverarbeitungseinheiten 2-i bzw. Prozessoren. Die Datenverarbeitungsvorrichtung 1 enthält ferner in dem dargestellten Ausfuhrungsbeispiel einen Task-Scheduler 4, welcher eine Task in die zugehorige Prioritatswarteschlange einfügt. Die Datenverarbeitungsvorrichtung 1 verfügt uber mindestens eine Datenschnittstelle zum Empfang eines seriellen Datenstromes DS. Der serielle Datenstrom DS kann aus einer Vielzahl von aufeinanderfolgenden Datenelementen bestehen. Durch die Datenverarbeitungsvorrichtung 1 wird ein empfangenes Datenelement des seriellen Datenstromes DS durch die Datenverarbeitungseinheiten 2-i mehrstufig nach dem Fließbandprinzip durch Tasks T parallel verarbeitet. Die Datenverarbeitungseinheiten 2-i haben dabei jeweils Zugriff auf eine Prioritätswarteschlange PWS. Bei dem in 2 dargestellten Ausfuhrungsbeispiel verfugt jede Datenverarbeitungseinheit 2-i uber eine eigene lokale Prioritätswarteschlange 3-i. In einer alternativen Ausfuhrungsform kann in der Datenverarbeitungsvorrichtung 1 auch eine globale Prioritatswarteschlange PWS fur alle Datenverarbeitungseinheiten 2-i vorgesehen sein, auf die alle Datenverarbeitungseinheiten 2-i zugreifen konnen. Bei der erfindungsgemäßen Datenverarbeitungsvorrichtung 1 erfolgt eine priorisierte Ausführung der Tasks T in Abhängigkeit von in der Prioritätswarteschlange angegebenen Ausführungsprioritäten AP der Tasks T. Diese Ausführungsprioritaten AP werden dabei jeweils von der Position des durch die Task T zu verarbeitenden Datenelementes innerhalb des empfangenen Datenstromes DS abgeleitet.
  • Bei einer moglichen Ausführungsform verfugt die Datenverarbeitungsvorrichtung 1 über eine Einheit zur Kennzeichnung der Position eines empfangenen Datenelementes innerhalb des empfangenen Datenstromes DS. Bei einer moglichen Ausfuhrungsform werden die empfangenen Datenelemente des Datenstromes DS bei ihrem Empfang mit einem generierten Zeitstempel versehen, der den Zeitpunkt ihres Empfangs durch die Datenverarbeitungseinheit 1 angibt. Bei einer moglichen Ausführungsvariante enthalten die empfangenen Datenelemente bei ihrem Empfang eine generierte Datenelement-Nummer zur Kennzeichnung ihrer Position innerhalb des Datenstromes DS. Bei den Datenelementen kann es sich um beliebige Datenelemente, beispielsweise auch Datenpakete, handeln.
  • Bei einer möglichen Ausführungsvariante der erfindungsgemäßen Datenverarbeitungsvorrichtung 1 enthalt diese zusätzlich eine Berechnungseinheit, die mittels einer Priorisierungsfunktion PF die Ausführungspriorität AP einer Task T in Abhängigkeit von der Position des durch die Task T zu verarbeitenden Datenelementes innerhalb des Datenstromes DS berechnet. Die Priorisierungsfunktion PF ist bei einer möglichen Ausführungsform konfigurierbar.
  • Die Prioritatswarteschlange enthalt die durch die Datenverarbeitungseinheit 2-i sequentiell auszuführenden Tasks T und deren jeweilige Ausfuhrungsprioritaten AP.
  • 3 zeigt beispielhaft eine Datenstruktur einer Prioritatswarteschlange, wie sie bei der erfindungsgemaßen Datenverarbeitungsvorrichtung 1 verwendet werden kann. Bei dem in 3 dargestellten Ausfuhrungsbeispiel enthält die Prioritätswarteschlange die durch die jeweilige Datenverarbeitungseinheit 2-i sequentiell auszuführenden Tasks Ti und deren jeweilige Ausführungsprioritäten APi. Bei dem in 3 dargestellten Ausführungsbeispiel enthalt die Prioritatswarteschlange ferner fur die auszufuhrende Task T einen Adresszeiger bzw. Pointer Pi auf eine Datenspeicheradresse eines Datenspeichers, an der die durch die Task T zu verarbeitenden Daten des jeweiligen Datenelementes gespeichert sind. Handelt sich bei dem Datenelement beispielsweise um ein zu verarbeitendes Videobild, gibt der Adresszeiger bzw. Pointer P diejenige Speicheradresse an, an welcher sich das durch die Task T zu verarbeitende Datenelement bzw. Videobild befindet.
  • Um eine besonders hohe Datenverarbeitungsgeschwindigkeit zu erzielen, können anstatt des Adresszeigers bzw. Pointers P auch direkt die Daten des jeweiligen Datenelementes in die Prioritätswarteschlange abgelegt werden. Bei dieser Ausführungsvariante befindet sich in der Prioritatswarteschlange anstatt eines Adresszeigers bzw. Pointers P die durch die jeweilige Task T zu verarbeitenden Nutzdaten des Datenelementes. Auf diese Weise kann die Zeit fur einen Zugriff auf den Datenspeicher bei der Datenverarbeitung eingespart werden.
  • Der in 2 dargestellte Task-Scheduler 4 fügt die Task T und deren berechnete Ausfuhrungspriorität AP in die Prioritätswarteschlange, wie sie beispielhaft in 3 dargestellt ist, ein. Die Zuweisung der Task T zu verschiedenen Datenverarbeitungseinheiten 2-i durch den Task-Scheduler 4 kann bei einer möglichen Ausführungsform zur Laufzeit der Datenverarbeitung erfolgen. Der durch die Datenverarbeitungsvorrichtung 1 empfangene serielle Datenstrom DS besteht aus Datenelementen, die jeweils z. B. Audiodaten, Videodaten oder Sensordaten enthalten. Diese Daten werden durch die Datenverarbeitungsvorrichtung 1 vorzugsweise in Echtzeit verarbeitet.
  • Bei einer möglichen Ausfuhrungsform wird, falls eine lokale Prioritätswarteschlange 3-i der Datenverarbeitungseinheit 2-i leer ist, eine Task T mit der hochsten Ausführungspriorität aus einer anderen lokalen Prioritätswarteschlange in die leere Prioritatswarteschlange automatisch transferiert. Die Zuweisung der Tasks T erfolgt in dem in 2 dargestellten Multicore-System bzw. der Multicore-Datenverarbeitungsvorrichtung 1 mit Hilfe des Task-Schedulers 4, der ausführbare Tasks T auf die Prioritatswarteschlangen verteilt. Die Reihenfolge der Abarbeitung der Tasks T hangt dabei nicht vom Zeitpunkt des Eintreffens der Tasks ab, sondern von deren Ausfuhrungsprioritat AP. Wenn eine Prioritatswarteschlange leer ist, wird das Datenelement mit der hochsten Ausfuhrungspriorität von einer anderen Prioritätswarteschlange gewissermaßen gestohlen. Dies wird auch als ”Work Stealing” bezeichnet.
  • Als Ausführungsprioritat AP kann bei einem möglichen Ausführungsbeispiel der negierte Wert der Datenelement-Nummer dienen. Die Task zur Bearbeitung des ersten Datenelementes hat somit die hochste Ausfuhrungspriorität ”–1” zur Verarbeitung des zweiten Datenelementes die zweithöchste Ausführungspriorität ”–2” usw. Auf diese Weise wird sichergestellt, dass Datenelemente, die früh in die Datenverarbeitungspipeline eingespeist werden, auch vorrangig behandelt werden und die Pipeline vorrangig verlassen. Auf diese Weise wird die maximale Latenzzeit minimiert. Die Ausführungspriorität AP wird bei dieser Ausfuhrungsform von der Empfangsreihenfolge der empfangenen Datenelemente innerhalb des Datenstromes DS abgeleitet. Dabei erhalten Tasks T zur Verarbeitung von fruher empfangenen Datenelementen eine hohere Ausfuhrungspriorität, beispielsweise die höchste Ausführungsprioritat „–1”.
  • 4 zeigt ein Ablaufdiagramm zur Darstellung eines Ausfuhrungsbeispiels des erfindungsgemäßen Verfahrens zur Verarbeitung von Datenelementen mit geringer maximaler Latenzzeit. Der in 4 dargestellte Prozess ist ein Pipelining-Prozess, der jeweils auf allen Datenverarbeitungseinheiten bzw. Prozessorkernen 2-i abläuft.
  • In einem Schritt S1 uberprüft die jeweilige Datenverarbeitungseinheit 2-i, ob die zugehorige Prioritätswarteschlange leer ist. Ist dies der Fall, wird in Schritt S2 eine Task T von einer anderen Prioritätswarteschlange zur eigenen Prioritätswarteschlange transferiert, wobei vorzugsweise diejenige Task T mit der hochsten Ausfuhrungspriorität AP transferiert wird. Wird umgekehrt festgestellt, dass die eigene Prioritatswarteschlange nicht leer ist, entnimmt die Datenverarbeitungseinheit 2-i die Task T mit der höchsten Ausführungsprioritat AP aus der eigenen Prioritatswarteschlange in Schritt S3.
  • Anschließend wird die in Schritt S2 transferierte bzw. die in Schritt S3 entnommene bzw. geladene Task T durch die Datenverarbeitungseinheit 2-i in Schritt S4 ausgeführt.
  • In einem weiteren Schritt S5 wird mindestens eine Nachfolge-Task generiert bzw. erzeugt und an den Task-Scheduler 4 übergeben. Dabei wird auch ein Eintrag für eine Prioritätswarteschlange PWS fur die generierte Nachfolge-Task erzeugt.
  • In einem Schritt S6 gibt der Task-Scheduler 4 den erzeugten PWS-Eintrag der Nachfolge-Task in die Prioritätswarteschlange ab und der Vorgang kehrt zurück zu Schritt S1.
  • 5 zeigt beispielhaft eine mehrstufige Abarbeitung von Tasks in drei Stufen X, Y, Z zur Verdeutlichung des erfindungsgemaßen Verfahrens.
  • Beispielsweise kann eine erste Task Ti-2 darin bestehen, dass ein Videobild I aus einem Bilddatenspeicher ausgelesen wird. In einer darauffolgenden Stufe Y wird durch eine Task Ti-1 dann das Videobild gefiltert. Anschließend erfolgt in einer weiteren Stufe Z durch die nächste Task Ti eine Anzeige des gefilterten Videobildes auf einem Bildschirm.
  • 6 zeigt ein Beispiel einer herkömmlichen Ausführung von Tasks mit einer Verarbeitungspipeline bei einem System mit zwei Prozessorkernen bzw. Datenverarbeitungseinheiten. Zu jedem Zeitpunkt t ist der Inhalt der konventionellen Warteschlange WS1, WS1 angegeben. Die Datenverarbeitungspipeline besteht bei dem dargestellten Beispiel aus drei Stufen X, Y, Z, wie in 5 dargestellt. Bei dem dargestellten Beispiel benotigt die erste Stufe X zwei Zeiteinheiten fur die Ausfuhrung, die zweite Stufe Y drei Zeiteinheiten und die dritte Stufe Z lediglich eine Zeiteinheit. Die Datenelemente eines Datenstromes dürfen dabei außerhalb der Reihenfolge verarbeitet werden, müssen jedoch von der letzten Stufe Z wieder in die ursprungliche Reihenfolge gebracht werden, damit die Semantik des Programms erhalten bleibt. Dies bedeutet, dass beispielsweise Z3 nicht vor Z2 ausgefuhrt werden darf.
  • Wie man dem Beispiel gemaß 6 entnehmen kann, werden fur die Datenverarbeitung des ersten Datenelementes sechs Zeiteinheiten benotigt, die von der Ausführung von X1 zum Zeitpunkt t = 0 bis zur Ausführung von Z1 zum Zeitpunkt t = 5 reicht. Die Latenzzeit fur die Verarbeitung des zweiten Datenelementes beträgt bei dem dargestellten Beispiel 11 Zeiteinheiten, für das dritte Datenelement 10 Zeiteinheiten und fur das vierte Datenelement 9 Zeiteinheiten. Die maximale Latenzzeit betragt somit für den betrachteten Zeitraum bei dem dargestellten Beispiel 11 Zeiteinheiten, nämlich die Latenzzeit des zweiten Datenelementes. In der in 6 dargestellten Ausfuhrungsweise erfolgt die parallele Ausführung einer Pipeline jeweils mit Hilfe eines Task-Schedulers. Sobald eine Pipelinestufe ausführbereit ist, also neue Daten zur Verfügung stehen, wird eine Task erzeugt und dem Task-Scheduler ubergeben. Die Task-Erzeugung erfolgt dabei beispielsweise direkt durch die jeweils vorhergehende Pipelinestufe. Falls eine Verarbeitungsstufe langsamer als die vorhergehende Verarbeitungsstufe ist, kann es, wie in 1 zu sehen, allerdings gewissermaßen zu Verarbeitungsstaus kommen, da mehr Daten produziert als konsumiert werden.
  • 7 zeigt dazu im Vergleich die priorisierte Ausführung einer Datenverarbeitungspipeline einer Datenverarbeitungsvorrichtung mit zwei Datenverarbeitungseinheiten bzw. Prozessorkernen, welches das erfindungsgemaße Verfahren zur Verarbeitung von Datenelementen mit geringer maximaler Latenzzeit einsetzt. Zu jedem Zeitpunkt t ist der Dateninhalt der Prioritätswarteschlangen PWS1 und PWS2 der beiden Datenverarbeitungseinheiten bzw. Prozessorkerne angegeben. Wie man aus 7 erkennen kann, ergibt sich fur die ersten drei Datenelemente jeweils eine Latenzzeit von 6 Zeiteinheiten und fur das vierte Datenelement 9 Zeiteinheiten. Die maximale Latenzzeit betragt somit fur den betrachteten Zeitraum bei Anwendung des erfindungsgemaßen Verfahrens lediglich 9 Zeiteinheiten namlich die Latenzzeit des vierten Datenelementes. Wie man durch Vergleich der 6, 7 erkennen kann, wird durch das erfindungsgemäße Verfahren die maximale Latenzzeit für den betrachteten Zeitraum von 11 Zeiteinheiten auf 9 Zeiteinheiten abgesenkt.
  • Durch das erfindungsgemaße Verfahren erfolgt eine priorisierte Abarbeitung der Tasks T in Abhangigkeit des Zeitpunktes, zu dem ein Datenelement des Datenstromes DS in die Pipeline eingespeist wird. Auf diese Weise wird vermieden, dass Datenelemente unnötig lange in der Pipeline verbleiben und von nachfolgenden Datenelementen gewissermaßen überholt werden konnen. Durch das erfindungsgemaße Verfahren wird somit die maximale Latenzzeit reduziert, was insbesondere in Echtzeitsystemen von Vorteil ist.
  • Das erfindungsgemaße Verfahren ist nicht auf lineare Datenverarbeitungspipelines beschränkt. In manchen Anwendungen kann es sinnvoll sein, nichtlineare Datenstrukturen einzusetzen, die eine Duplizierung oder Aufspaltung der Datenstrome erlauben. Das erfindungsgemaße Verfahren ist nicht auf lineare Pipelines beschrankt und lasst sich auf nichtlineare Strukturen übertragen.
  • Bei der Implementierung des Task-Schedulers 4 gibt es zwei mogliche Varianten.
  • Eine Variante besteht darin, für jeden Prozessorkern bzw. jede Datenverarbeitungseinheit eine eigene Prioritätswarteschlange vorzusehen, wie es auch in 2 dargestellt ist. Bei dieser Ausführungsvariante können die Datenverarbeitungseinheiten bzw. Prozessorkerne weitgehend unabhängig voneinander arbeiten, wobei nur beim Work Stealing bzw. Stehlen einer Task T fur eine leere Prioritätswarteschlange aus einer anderen Prioritatswarteschlange die beteiligten Datenverarbeitungseinheiten bzw. Prozessorkerne synchronisiert werden. Bei einer alternativen Ausführungsvariante wird eine globale Prioritätswarteschlange fur alle Datenverarbeitungseinheiten vorgesehen. Ein Vorteil dieser Ausfuhrungsvariante besteht darin, dass immer diejenigen Tasks T mit der höchsten Prioritat im Gesamtsystem zuerst bearbeitet werden. Allerdings erfordert dies einen gewissen Kommunikations- und Synchronisationsaufwand. Weiterhin ist es moglich, Kombinationen aus lokalen und globalen Prioritätswarteschlangen in der Datenverarbeitungsvorrichtung 1 vorzusehen.
  • Weitere Ausführungsvarianten betreffen die Berechnung der Ausfuhrungspriorität AP. Statt eine Datenelementnummer zu verwenden, kann man auch die Position der Pipelinestufe dafür heranziehen. Dies bedeutet, dass die Stufen am Ende der Pipeline eine höhere Ausfuhrprioritat erhalten als die Stufen am Anfang. Folglich werden Datenelemente, die schon mehrere Stufen durchlaufen haben, vorrangig behandelt. Auch hier sind Kombinationen verschiedener Ansätze moglich. Die Erfindung schafft somit ein Verfahren zur Reduzierung der maximalen Latenzzeit in parallelen Datenstromverarbeitungsvorrichtungen bzw. Computersystemen. Dabei wird die maximale Latenzzeit, d. h. die Zeit zwischen dem Eintritt eines Datenelementes in die Pipeline und dem Austritt des verarbeiteten Datenelementes aus der Pipeline, reduziert bzw. minimiert. Das erfindungsgemäße Verfahren eignet sich insbesondere zur Datenverarbeitung von Audio, Video oder Sensordaten in Echtzeit. Die Zuweisung der Tasks T erfolgt vorzugsweise dynamisch zur Laufzeit. Durch das erfindungsgemäße Verfahren wird der Datendurchsatz erhoht. Weiterhin kann die Fehlertoleranz gegenüber einem Ausfall einer Datenverarbeitungseinheit erhoht werden. Die Priorisierungsfunktion PF zur Berechnung der Ausfuhrungspriorität AP einer Task T ist vorzugsweise konfigurierbar. Dadurch wird die Flexibilitat der Datenverarbeitungsvorrichtung 1 fur verschiedene Anwendungsfalle erhöht.
  • Bei einer moglichen Ausführungsvariante erfolgt die Berechnung der Ausfuhrungsprioritat AP einer Task entsprechend einer Position des durch die Task T zu verarbeitenden Datenelementes innerhalb des empfangenen seriellen Datenstromes DS. Die Berechnung der Ausführungspriorität AP in Abhängigkeit von der Position kann bei einer Ausführungsvariante mit einer konfigurierbaren Berechnungsfunktion bzw. Priorisierungsfunktion PF erfolgen, die sich beispielsweise in einem Konfigurationsspeicher der Datenverarbeitungsvorrichtung 1 befindet. Die Berechnungsfunktion kann bei einer moglichen Ausführungsvariante über eine Konfigurationsschnittstelle konfiguriert bzw. angepasst werden.
  • Bei der Datenverarbeitungsvorrichtung 1 gemäß der Erfindung, wie sie beispielsweise in 2 dargestellt ist, kann es sich beispielsweise um einen Netzwerkknoten eines Netzwerkes handeln. Ein Netzwerkknoten verfugt dabei uber mindestens eine Datenschnittstelle zum Empfang eines seriellen Datenstromes DS. Die Daten konnen uber eine drahtgebundene oder drahtlose Schnittstelle der Datenverarbeitungsvorrichtung 1 zur Datenverarbeitung empfangen werden. Die nach dem Pipelineprinzip verarbeiteten Daten werden bei einer möglichen Ausfuhrungsvariante durch die Datenverarbeitungsvorrichtung 1, beispielsweise einem Netzwerkknoten, über eine weitere Datenschnittstelle wieder ausgegeben. In der in 2 dargestellten Datenverarbeitungsvorrichtung 1 kann es sich um einen Multicore-Prozessor handeln, der in einem beliebigen Computersystem, beispielsweise einem Embedded System, eingesetzt werden kann. Bei einer moglichen Ausfuhrungsvariante sind die in 2 dargestellten Prioritätswarteschlangen in die Datenverarbeitungseinheiten bzw. Prozessorkerne 2-i integriert.

Claims (15)

  1. Datenverarbeitungsvorrichtung (1) zur Datenverarbeitung von Datenelementen eines seriellen Datenstromes (DS), wobei ein empfangenes Datenelement des seriellen Datenstromes (DS) durch mehre Datenverarbeitungseinheiten (2), die Zugriff auf eine Prioritätswarteschlange (3) haben, mehrstufig nach dem Fließbandprinzip durch Tasks (T) parallel verarbeitet werden, wobei eine priorisierte Ausführung der Tasks (T) in Abhangigkeit von in der Prioritätswarteschlange (3) angegebenen Ausführungsprioritäten (AP) der Tasks (T) erfolgt, die jeweils von der Position des durch die Tasks (T) zu verarbeitenden Datenelementes innerhalb des empfangenen Datenstromes (DS) abgeleitet wird.
  2. Datenverarbeitungsvorrichtung nach Anspruch 1, wobei die Datenverarbeitungsvorrichtung (1) mindestens eine Datenschnittstelle zum Empfang des seriellen Datenstromes (DS) aufweist, wobei die empfangenen Datenelemente des Datenstromes (DS) bei ihren Empfang einen generierten Zeitstempel oder eine generierte Datenelement-Nummer zur Kennzeichnung ihrer Position innerhalb des empfangenen Datenstromes (DS) erhalten.
  3. Datenverarbeitungsvorrichtung nach Anspruch 1 oder 2, wobei durch eine Berechnungseinheit mittels einer Priorisierungsfunktion (PF) die Ausfuhrungsprioritat (AP) einer Task (T) in Abhangigkeit von der Position des durch die Task (T) zu verarbeitenden Datenelementes innerhalb des Datenstromes (DS) berechnet wird.
  4. Datenverarbeitungsvorrichtung nach einem der vorangehenden Ansprüche 1 bis 3, wobei die Datenverarbeitungsvorrichtung (1) eine globale Prioritätswarteschlange (3) für alle Datenverarbeitungseinheiten (2) aufweist.
  5. Datenverarbeitungsvorrichtung nach einem der vorangehenden Ansprüche 1 bis 3, wobei jede Datenverarbeitungseinheit (2-i) eine eigene lokale Prioritatswarteschlange (3-i) aufweist.
  6. Datenverarbeitungsvorrichtung nach einem der vorangehenden Ansprüche 1 bis 5, wobei die Prioritätswarteschlange (3) die durch die Datenverarbeitungseinheit (2) sequentiell auszuführenden Tasks (T) und deren jeweiligen Ausführungsprioritaten (AP) enthalt.
  7. Datenverarbeitungsvorrichtung nach Anspruch 6, wobei die Prioritatswarteschlange (3) ferner für die auszufuhrende Task (T) einen Adresszeiger (P) auf eine Datenspeicheradresse eines Datenspeichers enthält, an der die durch die Task (T) zu verarbeitenden Daten des Datenelementes gespeichert sind.
  8. Datenverarbeitungsvorrichtung nach einem der vorangehenden Ansprüche 1 bis 7, wobei ein Task-Scheduler (4) vorgesehen ist, welcher die Task (T) und deren berechnete Ausführungsprioritat (AP) in mindestens eine Prioritätswarteschlange (3) einfugt.
  9. Datenverarbeitungsvorrichtung nach Anspruch 8, wobei die Zuweisung der Tasks (T) zu verschiedenen Datenverarbeitungseinheiten 2-i durch den Task-Scheduler (4) zur Laufzeit der Datenverarbeitung erfolgt.
  10. Datenverarbeitungsvorrichtung nach einem der vorangehenden Anspruche 1 bis 9, wobei der serielle Datenstrom (DS) Datenelemente aufweist, die Audiodaten, Videodaten oder Sensordaten enthalten, welche in Echtzeit durch die Datenverarbeitungsvorrichtung (1) verarbeitet werden.
  11. Datenverarbeitungsvorrichtung nach einem der vorangehenden Anspruche 5 bis 10, wobei, falls eine lokale Prioritatswarteschlange (3-i) einer Datenverarbeitungseinheit (2-i) leer ist, eine Task (T) mit der hochsten Ausführungspriorität (AP) aus einer anderen lokalen Prioritätswarteschlange (2-i) in die leere Prioritatswarteschlange (2-i) automatisch transferiert wird.
  12. Datenverarbeitungsvorrichtung nach einem der vorangehenden Ansprüche 8 bis 11, wobei eine Task (T) nach ihrer Ausführung durch eine Datenverarbeitungseinheit (2) mindestens eine Nachfolge-Task erzeugt und an den Task-Scheduler (4) übergibt.
  13. Datenverarbeitungsvorrichtung nach einem der vorangehenden Anspruche 1 bis 12, wobei die Ausführungspriorität (AP) von der Empfangsreihenfolge des empfangenen Datenelementes innerhalb des Datenstromes (DS) abgeleitet wird, wobei Tasks (T) zur Verarbeitung früher empfangener Datenelemente eine höhere Ausfuhrungsprioritat (AP) erhalten.
  14. Datenverarbeitungsvorrichtung nach einem der vorangehenden Anspruche 1 bis 13, wobei die Datenverarbeitungseinheiten (2-i) Prozessoren sind, welche die Tasks (T) entsprechend ihrer Ausfuhrungspriorität (AP) ausführen.
  15. Verfahren zum Verarbeiten von Datenelementen mit geringer maximaler Latenzzeit, wobei die Datenelemente (DE) in einem seriellen Datenstrom (DS) empfangen werden und durch mehrere Datenverarbeitungseinheiten (2-i), die Zugriff auf eine Prioritatswarteschlange (3) haben, mehrstufig nach dem Fließbandprinzip durch Tasks (T) parallel verarbeitet werden, wobei eine priorisierte Ausführung der Tasks (T) in Abhängigkeit von den in der Prioritätswarteschlange (3) angegebenen Ausfuhrungsprioritaten (AP) der Tasks (T) erfolgt, die jeweils von der Position des durch die Task (T) zu verarbeitenden Datenelementes innerhalb des empfangenen Datenstromes (DS) abgeleitet wird.
DE102011007603A 2010-12-30 2011-04-18 Verfahren und Vorrichtung zur Verarbeitung von Datenelementen mit minimaler Latenzzeit Ceased DE102011007603A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102011007603A DE102011007603A1 (de) 2010-12-30 2011-04-18 Verfahren und Vorrichtung zur Verarbeitung von Datenelementen mit minimaler Latenzzeit
PCT/EP2011/073556 WO2012089579A1 (de) 2010-12-30 2011-12-21 Verfahren und vorrichtung zur verarbeitung von datenelementen mit minimaler latenzzeit

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102010064375.0 2010-12-30
DE102010064375 2010-12-30
DE102011007603A DE102011007603A1 (de) 2010-12-30 2011-04-18 Verfahren und Vorrichtung zur Verarbeitung von Datenelementen mit minimaler Latenzzeit

Publications (1)

Publication Number Publication Date
DE102011007603A1 true DE102011007603A1 (de) 2012-07-05

Family

ID=45446018

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011007603A Ceased DE102011007603A1 (de) 2010-12-30 2011-04-18 Verfahren und Vorrichtung zur Verarbeitung von Datenelementen mit minimaler Latenzzeit

Country Status (2)

Country Link
DE (1) DE102011007603A1 (de)
WO (1) WO2012089579A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107797853A (zh) * 2016-09-07 2018-03-13 深圳市中兴微电子技术有限公司 一种任务调度方法、装置及多核处理器
US20230275838A1 (en) * 2022-02-28 2023-08-31 Dell Products L.P. Edge node workload acquisition for distribution of edge workloads

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2881821A1 (de) * 2013-12-05 2015-06-10 Blue Yonder GmbH Anordnung von Prozessor Kernen zum Charakterisieren von Verhaltenseigenschaften von Equipment, sowie Verfahren
US10169051B2 (en) 2013-12-05 2019-01-01 Blue Yonder GmbH Data processing device, processor core array and method for characterizing behavior of equipment under observation
EP2881820A1 (de) * 2013-12-05 2015-06-10 Blue Yonder GmbH Datenverarbeitungsgerät und Verfahren zum Charakterisieren des Verhaltens von Equipment unter Beobachtung
FR3034905A1 (fr) 2015-04-09 2016-10-14 Stmicroelectronics (Grenoble 2) Sas Dispositif de synchronisation de taches de circuits integres couples a un controleur d'acces memoire

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19907085C1 (de) * 1999-02-19 2000-04-13 Siemens Ag Verfahren zum Übertragen paketvermittelter Daten in einem Funk-Kommunikationssystem
US7710989B2 (en) * 2007-03-06 2010-05-04 Intel Corporation Scalable and configurable queue management for network packet traffic quality of service
US8544014B2 (en) * 2007-07-24 2013-09-24 Microsoft Corporation Scheduling threads in multi-core systems
US8407707B2 (en) * 2009-05-18 2013-03-26 Lsi Corporation Task queuing in a network communications processor architecture

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107797853A (zh) * 2016-09-07 2018-03-13 深圳市中兴微电子技术有限公司 一种任务调度方法、装置及多核处理器
CN107797853B (zh) * 2016-09-07 2020-09-08 深圳市中兴微电子技术有限公司 一种任务调度方法、装置及多核处理器
US20230275838A1 (en) * 2022-02-28 2023-08-31 Dell Products L.P. Edge node workload acquisition for distribution of edge workloads

Also Published As

Publication number Publication date
WO2012089579A1 (de) 2012-07-05
WO2012089579A9 (de) 2013-12-12

Similar Documents

Publication Publication Date Title
DE102014011332B4 (de) Priorisieren von anweisungen basierend auf typ
EP0048767B1 (de) Prioritätsstufengesteuerte Unterbrechungseinrichtung
DE102011007603A1 (de) Verfahren und Vorrichtung zur Verarbeitung von Datenelementen mit minimaler Latenzzeit
DE112016005477T5 (de) System zum parallelen puffern und vorverarbeiten von datenströmen auf grundlage eines kontextes auf mehreren ebenen in fahrzeugdomänen
DE102004053979A1 (de) Verfahren zur Prüfung der Echtzeitfähigkeit eines Systems
DE112020004651B4 (de) Multi-tenant-etl-ressourcenaufteilung
EP1997005A1 (de) Verfahren zur erstellung eines optimierten ablaufplans für ein zeitgesteuertes verteiltes rechnersystem
DE112011101759B4 (de) Sampling von Leerlauftransitionen
DE102020119519A1 (de) Verfahren und einrichtungen zum ermöglichen einer "out-of-order"-pipeline-ausführung der statischen abbildung einer arbeitslast
DE102013206114B3 (de) Verfahren und Vorrichtung zur Übertragung von Datenelementen zwischen Threads eines parallelen Rechnersystems
EP3224731B1 (de) Verfahren und vorrichtung zur weiterleitung von daten
DE60303444T2 (de) Ablaufsteuerung unter verwendung von quantumwerten und defizitwerten
DE112010004809T5 (de) Mehrfachgranulare Datenstromverarbeitung
DE102016221526A1 (de) Vorrichtung und Verfahren zum Bearbeiten einer Mehrzahl Aufgaben
DE102010003512A1 (de) Geteilte zentrale Verarbeitung von Daten
EP1320047A2 (de) Verfahren zur Analyse des Zeitverhaltens komplexer verteilter Systeme
DE112022000723T5 (de) Verzweigungsvorgang für eine schaltung eines neuronalen prozessors
DE102018123563B4 (de) Verfahren zur Zwischenkernkommunikation in einem Mehrkernprozessor
DE102011083468A1 (de) Schaltungsanordnung zur Ablaufplanung bei einer Datenverarbeitung
DE60315264T2 (de) Durch timebox angesteuertes scheduling von softwarekomponenten in hard-echtzeitsystemen
DE112010003922T5 (de) Verringern von Mehraufwänden bei einer Anwendungsverarbeitung
DE102013114451A1 (de) Verfahren zum Verteilen einer Prozessorlast auf Echtzeit-Prozessorthreads
DE60303335T2 (de) Verfahren zur Vorhersage der Ansprechzeit für Pakete über einen seriellen Bus
DE102021124135B4 (de) Verfahren und Vorrichtung zur digitalen Signalverarbeitung
DE10228778A1 (de) Hardware-Verfahren zum Implementieren von atomischen Semaphoroperationen unter Verwendung von Codemakros

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final