DE102014207476A1 - Verfahren zur Auswahl einer von mehreren Warteschlangen - Google Patents

Verfahren zur Auswahl einer von mehreren Warteschlangen Download PDF

Info

Publication number
DE102014207476A1
DE102014207476A1 DE102014207476.2A DE102014207476A DE102014207476A1 DE 102014207476 A1 DE102014207476 A1 DE 102014207476A1 DE 102014207476 A DE102014207476 A DE 102014207476A DE 102014207476 A1 DE102014207476 A1 DE 102014207476A1
Authority
DE
Germany
Prior art keywords
queue
scheduler
queues
data
output interface
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
DE102014207476.2A
Other languages
English (en)
Inventor
Herbert Leuwer
Thomas WOLLENHAUPT
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102014207476.2A priority Critical patent/DE102014207476A1/de
Priority to US14/685,728 priority patent/US9619280B2/en
Priority to FR1553385A priority patent/FR3020230A1/fr
Priority to JP2015084417A priority patent/JP6552864B2/ja
Priority to CN201510179924.7A priority patent/CN105024943B/zh
Publication of DE102014207476A1 publication Critical patent/DE102014207476A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Abstract

Es wird ein Verfahren zur Auswahl einer von mehreren Warteschlange (4) und zum Entnehmen eines oder mehrerer Datensegmente aus einer ausgewählten Warteschlange (4) zum Versenden mittels einer Ausgangsschnittstelle (10) beschrieben. Mittels eines ersten Schedulers (20) wird die Ausgangsschnittstelle (10) ausgewählt. Mittels eines zweiten Schedulers (24) wird eine Anzahl von Warteschlangen (4) ausgewählt. Mittels eines dritten Schedulers (26) wird aus der Anzahl von Warteschlangen (4) eine Warteschlange (4) ausgewählt. Eines oder mehrere Datensegmente aus der ausgewählten Warteschlange (4) werden an die Ausgangsschnittstelle (10) weitergeleitet.

Description

  • Stand der Technik
  • Die Erfindung betrifft ein Verfahren zur Auswahl einer von mehreren Warteschlangen nach dem Oberbegriff des Anspruchs 1.
  • Es sind Verfahren zur Auswahl einer von mehreren Warteschlangen bekannt, um aus der ausgewählten Warteschlange eines oder mehrere Datensegmente zu entnehmen.
  • Offenbarung der Erfindung
  • Das der Erfindung zugrundeliegende Problem wird durch ein Verfahren nach dem Anspruch 1 gelöst. Vorteilhafte Weiterbildungen sind in den Unteransprüchen angegeben. Für die Erfindung wichtige Merkmale finden sich in der nachfolgenden Beschreibung und in den Zeichnungen, wobei die Merkmale in Alleinstellung als auch in unterschiedlichen Kombinationen für die Erfindung wichtig sein können, ohne dass hierauf nochmals explizit hingewiesen wird.
  • Durch einen ersten Scheduler, einen zweiten Scheduler und einen dritten Scheduler wird eine Warteschlange ausgewählt, so dass eines oder mehrere Datensegmente aus der ausgewählten Warteschlange an die Ausgangschnittstelle weitergeleitet werden können. Durch dieses vorteilhafte dreistufige Scheduling wird zum einen ermöglicht, dass hochpriore Daten, die für eine bestimmte Ausgangschnittstelle bestimmt sind, auch hochprior behandelt und versendet werden. Zum anderen wird durch diese dreistufige Scheduling-Operation ein Verfahren geschaffen, das auf einfache Art und Weise in Hardware ausgebildet werden kann.
  • Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnungen dargestellt sind. Alle beschriebenen oder dargestellten Merkmale bilden für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Patentansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung oder Darstellung in der Beschreibung oder Zeichnung. Für funktionsäquivalente Größen und Merkmale werden in allen Figuren auch bei unterschiedlichen Ausführungsformen die gleichen Bezugszeichen verwendet. Nachfolgen werden beispielhafte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnung erläutert. In der Zeichnung zeigen:
  • 1 ein Kommunikationsschema;
  • 2 ein dreistufiges Scheduling-Verfahren in schematischer Form; und
  • 3 ein schematisches Prozessdiagramm.
  • 1 zeigt ein Kommunikationsschema 2 bei dem mehrere Warteschlangen 4a4c mit Daten gefüllt werden. Für die Warteschlangen 4 ist eine einzige Prozessiereinheit 6 vorhanden. Aufgrund der einzigen Prozessiereinheit 6 muss mittels einer Auswahleinheit 8 bestimmt werden, in welcher Reihenfolge und wie lange die Prozessiereinheit 6 Daten aus den unterschiedlichen Warteschlangen 4 erhält. Die Prozessiereinheit 6 ist mit unterschiedlichen Ausgangsschnittstellen 10a10c verbunden, an die die Daten aus den Warteschlangen weitergeleitet werden.
  • 2 zeigt ein dreistuftiges Schedulingverfahren in einer schematischen Ansicht 12. Eine erste, aktive Ringliste 14, die auch als aktives Kalenderrad bezeichenbar ist, enthält eine Abfolge von jeweils für einen Zeitschlitz vorgesehenen Verarbeitungschritten, wobei ein Verarbeitungsschritt einer Ausgangschnittstelle 10 zugeordnet ist. Die Ringliste 14 wird pro Eintrag in einen Zeitschlitz abgearbeitet gemäß einem Pfeil 16. Nach Abarbeitung des untersten bzw. letzten Elements der Ringliste 14, hier für die Schnittstelle 10c, wird wieder bei dem ersten Element der Ringliste 14, hier für die Schnittstelle 10a, begonnen. So ist einem Zeitschlitz jeweils eine Ausgangschnittstelle 10 in der Ringliste 14 zugeordnet. So wird in dem ersten Element der Ringliste 10 eine Warteschlange 4 für die Ausgangsschnittstelle 10a abgearbeitet. Für den zweiten und dritten Eintrag wird jeweils eine Warteschlange 4 für die Ausgangsschnittstelle 10b abgearbeitet. Für den letzten Eintrag wird eine Warteschlange 4 für die Ausgangsschnittstelle 10c abgearbeitet.
  • Es werden nur dann ein oder mehrere Datensegmente aus einer ausgewählten Warteschlange 4 entfernt, wenn in dem aktuellen Zeitschlitz die Ausgangsschnittstelle 10 empfangsbereit ist. In einer anderen Ausführungsform wird eine Warteschlange nur dann ausgewählt, wenn in dem aktuellen Zeitschlitz die jeweilige Ausgangsschnittstelle 10, die gemäß der aktiven Ringliste 14 ausgewählt ist, empfangsbereit ist.
  • Des Weiteren ist neben der aktiven Ringliste 14 eine passive Ringliste 18 im Hintergrund dargestellt, die während der Abarbeitung der aktiven Ringliste 14 konfigurierbar ist. Die passive Ringliste 18 kann nach deren Konfiguration die aktive Ringliste 14 ersetzen. Die passive Ringliste 18 dient dazu, um während des Betriebs der Prozessiereinheit 6 hinzukommende Ausgangsschnittstellen 10 oder deaktivierte Ausgangsschnittstellen 10 zu berücksichtigen. Des Weiteren kann eine Gewichtung bei der Bedienung der Schnittstellen 10 in dem passiven Kalenderrad 18 berücksichtigt werden.
  • Die Verwaltung und Abarbeitung der Ringlisten 14 und 18 wird mit Hilfe eines ersten Scheduler 20 durchgeführt, der die Ausgangsschnittstelle 10 auswählt. Beispielhaft anhand des zweiten Eintrages in der Ringliste 14 ist der Ausgangsschnittstelle 10b eine Anzahl von Prioritäten 22a und 22b zugeordnet wobei die gezeigte Anzahl von zwei Prioritäten 22 nur beispielhaft ist. Über die Anzahl der Prioritäten und eines Prioritäts-Schedulings bezüglich der Prioritäten 22 kann sichergestellt werden, dass hochpriore Daten in ausgewählten Warteschlangen 4, denen eine höherwertige Priorität 22 zugeordnet ist, bevorzugt bearbeitet und versendet werden.
  • Mittels eines zweiten Scheduler 24 wird anhand fester Prioritäten 22 ein Prioritäts-Scheduling durchgeführt und damit eine Anzahl von Warteschlangen 4 auswählt. Der Priorität 22 ist eine Anzahl von Warteschlangen 4 zugeordnet. So ist der Priorität 22a eine erste Anzahl von Warteschlangen 4d4i zugeordnet. Der zweiten Priorität 22b ist eine zweite Anzahl von Warteschlangen 4k und 4m zugeordnet.
  • Beispielhaft wird anhand der ersten Anzahl von Warteschlangen 4d4i die Funktion eines dritten Scheduler 26 erläutert. Der dritte Scheduler 26 umfasst einen Ready FIFO 30 sowie einen Wait FIFO 32. Zur Durchführung eines Weighted Round Robin Verfahrens mittels des dritten Scheduler 23 ist jeder der Wartschlangen 4d4i ein Gewicht zugeordnet und in Abhängigkeit von der Abarbeitung wird pro Abarbeitungsschritt der Wartschlange 4 ein Zähler dekrementiert, der ursprünglich bei Eintritt der Warteschlange 4 in den FIFO 30 auf den Wert des Gewichts gesetzt wird. Gemäß dem Pfeil 34 wird eine neue Warteschlange 4 gemäß einer ersten Ausführung in den FIFO 30 eingestellt, wobei der Zähler der Warteschlange 4 auf ein Produkt aus dem Gewicht der Warteschlange 4 und der Anzahl der Warteschlangen 4 innerhalb der Priorität 22 geteilt durch X gesetzt wird. In einer alternativen Ausführung wird eine neue Warteschlange 4 gemäß dem Pfeil 36 in den FIFO 32 eingestellt.
  • Bei der Auswahl der Warteschlange 4 wird die erste Warteschlange 4g aus dem Ready FIFO 30 zur Abarbeitung ausgewählt. Ist die Warteschlange 4g leer, hat also keine Datensegmente mehr, so wird die Warteschlange 4g gemäß dem Pfeil 38 vom Scheduling ausgenommen, wobei die Warteschlange 4g entsprechend entfernt wird.
  • Nach einem Abarbeitungsschritt der Warteschlange 4g, also dem entnehmen eines Datensegments oder eines Datenblocks umfassend mehrere Segmente, wird der Zähler der Warteschlange 4g dekrementiert. Erreicht der Zähler der Wartschlange 4g einen Wert von Null, so wird gemäß einem Pfeil 40 die Warteschlange 4g an das Ende des Wait FIFO 32 gestellt und der Zähler der Warteschlange 4g auf den Wert des Gewichts der Warteschlange 4g gesetzt. Ist nach dem Dekrementieren des Zählers der Warteschlange 4g dieser größer Null, so wird gemäß dem Pfeil 42 die Warteschlange 4g an das Ende des FIFO 30 gestellt. Nach dem Ende eines Abarbeitungsschrittes der Warteschlange 4g wird die Warteschlange 4h an den Beginn des FIFO 30 gestellt.
  • Es wird zwischen Datensegment-bezogenem Scheduling und Datenblock-bezogenem Scheduling unterschieden. Beim Datensegment-bezogenem Scheduling wird in Abhängigkeit von der Ausgangs-Schnittstelle 10 ein Datensegment aus der ausgewählten Warteschlange 4 entnommen, bevor zu einer anderen Warteschlange 4 gewechselt wird. Das Datensegment-bezogene Scheduling ist beispielsweise für Ausgangs-Schnittsttellen möglich, die mehrere Eingangs-Puffer besitzen und die empfangenen Datensegmente umsortieren können, da beim Datensegment-bezogenen Scheduling sich Datensegmente eines Datenblocks überholen können, womit die ursprüngliche Reihenfolge der Datensegmente, beispielsweise in einem Datenblock, nicht mehr eingehalten wird.
  • Beim Datenblock-bezogenem Scheduling ist ein Datenblock umfassend mehrere Datensegmente zu Grunde zu legen. In Abhängigkeit von der Ausgangs-Schnittstelle 10 wird ein gesamter Datenblock aus der ausgewählten Warteschlange 4 entnommen, bevor zu einer anderen Warteschlange 4 gewechselt wird. Das Datenblock-bezogene Scheduling ist beispielsweise für Ausgangs-Schnittsttellen notwendig, die für den Datenblock nur einen Eingangs-Puffer besitzen und die empfangenen Daten nicht ohne weiteres umsortieren können, da beim Datensegment-bezogenen Scheduling sich Datensegmente eines Datenblocks überholen können, womit die ursprüngliche Reihenfolge der Datensegment im Datenblock nicht mehr eingehalten wird.
  • Sind in dem aktiven FIFO 30 keine Warteschlangen mehr enthalten, so wird der FIFO 32 aktiviert und der FIFO 32 deaktiviert, wobei der FIFO 32 genauso behandelt wird wie der FIFO 30 wie zuvor beschrieben.
  • Der erste Scheduler 20 startet das Scheduling der zweiten und dritten Scheduler 24 und 26, wenn in dem Zeitschlitz des Schedulings durch den Scheduler 20 die Ausgangsschnittstelle 10 nicht zum Empfang von Daten bereit ist. In diesem Fall könnten Daten verloren gehen, wenn das Verfahren bzw. System in Hardware als Pipeline ausgebildet ist und der zweite und dritte Scheduler 24, 26 sowie weitere hin zu der Ausgangsschnittstelle angeordnete Bearbeitungseinheiten bereits Daten für die jeweilige, nicht mehr empfangsbereite Ausgangsschnittstelle 10 prozessiert haben bzw. prozessieren. Vorteilhaft sind hierfür Zwischenspeicher in Eingangsschnittstellen vorgesehen, die einen Verlust von Datensegmenten aufgrund einer nicht empfangsbereiten Ausgangsschnittstelle 10 verhindern. Der jeweiligen Eingangsschnittstelle wird bei einem Auftreten eines Datenverlusts dieser signalisiert, damit die Daten erneut in eine Warteschlange 4 eingestellt werden können.
  • 3 zeigt in schematischer Form drei parallel ablaufende Prozesse, die während eines Zeitschlitzes 60 ausgeführt werden. Ein erster Prozess 62 registriert, wenn neue Daten einer Warteschlange 4 eingegangen sind und überprüft, ob die zugehörige Warteschlange bereits einem Scheduler 26 zugewiesen ist. Ist eine Warteschlange 4, die neue Daten enthält, noch keinem dritten Scheduler 26 zugewiesen, so wird diese in den entsprechenden FIFO 30 oder 32 gemäß dem Pfeil 34 oder 36 der 2 eingereiht.
  • Ein zweiter Prozess 64 überprüft, ob die im dem aktuellen Zeitschlitz zu bearbeitende und zugehörige Ausgangsschnittstelle 10 bereits einem dritten Scheduler 26 zugeordnet ist. Ist die jeweilige Ausgangsschnittstelle 10 noch keinem Scheduler 26 zugeordnet, so führt der Prozess 64 in der passiven Liste 18 zumindest einen Eintrag für die jeweilige Ausgangsschnittstelle 10 hinzu. Ist hingegen bereits ein dritter Scheduler 26 für die jeweilige Ausgangsschnittstelle aktiv, so wählt der dritte Scheduler 26 die nächste Warteschlange 4 aus. Der zweite Prozess 64 aktiviert den FIFO 32, sobald der FIFO 30 keine Warteschlangen 4 mehr aufweist.
  • Der dritte Prozess 66 führt die Schritte gemäß der Pfeile 38, 40 und 42 aus.
  • Im Falle eines Datenblock-bezogenen Schedulings wählt der dritte Prozess 66 erst nach der Entnahme des letzten Datensegments eines Datenblocks aus der Warteschlange eine andere Warteschlange aus. Der erste Prozess 62 markiert eine Warteschlange erst als nicht leer, wenn das letzte Datensegment eines Datenblocks in der Warteschlange eingereiht ist, woraufhin die Warteschlange einem Scheduler 26 zugewiesen werden kann.

Claims (9)

  1. Verfahren zur Auswahl einer von mehreren Warteschlangen (4) und zum Entnehmen eines oder mehrerer Datensegmente aus einer ausgewählten Warteschlange (4) zum Versenden mittels einer Ausgangsschnittstelle (10), dadurch gekennzeichnet, dass mittels eines ersten Schedulers (20) die Ausgangsschnittstelle (10) ausgewählt wird, dass mittels eines zweiten Schedulers (24) eine Anzahl von Warteschlangen (4) ausgewählt wird, dass mittels eines dritten Schedulers (26) aus der Anzahl von Warteschlangen (4) eine Warteschlange (4) ausgewählt wird, und dass eines oder mehrere Datensegmente aus der ausgewählten Warteschlange (4) an die Ausgangsschnittstelle (10) weitergeleitet werden.
  2. Verfahren nach Anspruch 1, wobei der erste Scheduler eine aktive Ringliste (14) aufweist, wobei die aktive Ringliste (14) für eine Ausgangsschnittstelle (10) einen oder mehrere Einträge aufweist, wobei ein oder mehrere Datensegmente nur dann aus der ausgewählten Warteschlange (4) entfernt werden, wenn in einem aktuellen Zeitschlitz (60) die Ausgangsschnittstelle (10) empfangsbereit ist.
  3. Verfahren nach Anspruch 2, wobei der erste Scheduler (20) eine passive Ringliste (18) aufweist, das während der Abarbeitung der aktiven Ringliste (14) die passive Ringliste (18) konfiguiert wird, und wobei die passive Ringliste (18) die aktive Ringliste (14) ersetzt, wenn die Konfiguration der passiven Ringliste (18) abgeschlossen ist.
  4. Verfahren nach Anspruch 1, wobei für den zweiten Scheduler (24) jeder der Anzahlen von Warteschlangen (4) eine feste Priorität (22) zugewiesen ist, und wobei der zweite Scheduler (20) ein Prioritäts-Scheduling durchführt.
  5. Verfahren nach Anspruch 4, wobei der zweite Scheduler (20) eine der Anzahlen von Warteschlangen (4) dann auswählt, wenn zumindest eine Warteschlange (4) der Anzahl der Warteschlangen (4) zu verarbeitende Datensegmente enthält.
  6. Verfahren nach Anspruch 1, wobei der dritte Scheduler (26) gemäß eines Weighted Round Robin Verfahrens eine der Warteschlangen (4) aus der Anzahl von Warteschlangen (4) auswählt.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei in Abhängigkeit von der Ausgangs-Schnittstelle (10) vor einem Wechsel der Warteschlange (4) ein Datensegment aus der Warteschlange (4) entnommen wird.
  8. Verfahren nach einem der vorstehenden Ansprüche, wobei in Abhängigkeit von der Ausgangs-Schnittstelle (10) vor einem Wechsel der Warteschlange (4) ein Datenblock umfassend mehrere Datensegmente aus der ausgewählten Warteschlange (4) entnommen wird.
  9. Integrierter Schaltkreis, der zur Ausführung eines der vorstehenden Verfahren ausgebildet ist.
DE102014207476.2A 2014-04-17 2014-04-17 Verfahren zur Auswahl einer von mehreren Warteschlangen Pending DE102014207476A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102014207476.2A DE102014207476A1 (de) 2014-04-17 2014-04-17 Verfahren zur Auswahl einer von mehreren Warteschlangen
US14/685,728 US9619280B2 (en) 2014-04-17 2015-04-14 Method for selecting one of several queues
FR1553385A FR3020230A1 (fr) 2014-04-17 2015-04-16 Procede de selection d'une file parmi plusieurs files d'attente
JP2015084417A JP6552864B2 (ja) 2014-04-17 2015-04-16 複数の待ち行列のうちの1つを選択する方法
CN201510179924.7A CN105024943B (zh) 2014-04-17 2015-04-16 选择等待队列以从中提取发送数据段的方法和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014207476.2A DE102014207476A1 (de) 2014-04-17 2014-04-17 Verfahren zur Auswahl einer von mehreren Warteschlangen

Publications (1)

Publication Number Publication Date
DE102014207476A1 true DE102014207476A1 (de) 2015-10-22

Family

ID=53758353

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014207476.2A Pending DE102014207476A1 (de) 2014-04-17 2014-04-17 Verfahren zur Auswahl einer von mehreren Warteschlangen

Country Status (5)

Country Link
US (1) US9619280B2 (de)
JP (1) JP6552864B2 (de)
CN (1) CN105024943B (de)
DE (1) DE102014207476A1 (de)
FR (1) FR3020230A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965323B2 (en) * 2015-03-11 2018-05-08 Western Digital Technologies, Inc. Task queues

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490654B2 (en) * 1998-07-31 2002-12-03 Hewlett-Packard Company Method and apparatus for replacing cache lines in a cache memory
US6952825B1 (en) * 1999-01-14 2005-10-04 Interuniversitaire Micro-Elektronica Centrum (Imec) Concurrent timed digital system design method and environment
JP3386117B2 (ja) * 2000-01-11 2003-03-17 日本電気株式会社 マルチレイヤクラス識別通信装置と通信装置
CN1146192C (zh) * 2002-04-17 2004-04-14 华为技术有限公司 以太网交换芯片输出队列管理调度方法和装置
US20040024904A1 (en) * 2002-07-31 2004-02-05 Dimambro Francesco R. Load balancing packet transmission among multiple transmit rings
US7580355B2 (en) 2003-08-25 2009-08-25 Integrated Device Technology, Inc. Method of performing weighted round-robin queue scheduling using a dynamic link list and structure for implementing same
CN100420241C (zh) * 2006-05-08 2008-09-17 国家数字交换系统工程技术研究中心 实现信息交换的系统及方法和调度算法
US8031721B2 (en) * 2008-02-12 2011-10-04 Alcatel Lucent Method and apparatus for marking and scheduling packets for transmission
CN101771603A (zh) * 2008-12-29 2010-07-07 华为技术有限公司 数据交换方法及设备
CN101621478A (zh) 2009-08-07 2010-01-06 中兴通讯股份有限公司 队列调度的方法及装置
CN102594663A (zh) * 2012-02-01 2012-07-18 中兴通讯股份有限公司 队列调度方法及装置
US9292569B2 (en) * 2012-10-02 2016-03-22 Oracle International Corporation Semi-join acceleration

Also Published As

Publication number Publication date
JP2015208004A (ja) 2015-11-19
US9619280B2 (en) 2017-04-11
FR3020230A1 (fr) 2015-10-23
JP6552864B2 (ja) 2019-07-31
US20150301859A1 (en) 2015-10-22
CN105024943A (zh) 2015-11-04
CN105024943B (zh) 2020-04-14

Similar Documents

Publication Publication Date Title
DE1549532C2 (de) Unterbrechungs-Direktorschalrwerk für eine Datenverarbeitungsanlage mit mehreren Rechenanlagen und mehreren perpheren Geräten
DE19634492B4 (de) Verfahren zum optimierten Übertragen von ATM-Zellen über Verbindungsabschnitte
DE602004008911T2 (de) Verfahren und system um die reihenfolge von paketen mit hilfe eines zwischenspeichers zu gewährleisten
DE102012001003A1 (de) zielbasierte geschätzte Wartezeit
DE112006003358T5 (de) Verteilung von Speicherzugriffsanforderungen
DE112007000051T5 (de) Dreiteiliges-Modell-basiertes Verfahren zur Informationsgewinnung und -verarbeitung
DE2443579A1 (de) Asynchroner arbiter
DE102014103347B4 (de) Bedingte Verkettungsglieder für Direct-Memory-Access-Controller
DE112020004651T5 (de) Multi-tenant-etl-ressourcenaufteilung
WO2012089579A1 (de) Verfahren und vorrichtung zur verarbeitung von datenelementen mit minimaler latenzzeit
DE102015200779A1 (de) Verfahren zur Datenreduktion von Sensordateninformationen
DE102014207476A1 (de) Verfahren zur Auswahl einer von mehreren Warteschlangen
DE102016003679A1 (de) Paketspeichersystem, -verfahren und -vorrichtung zur Verhinderung eines Unterlaufs
EP1291744B1 (de) Synchronisationsverfahren und -vorrichtung
DE112013003924B4 (de) Nichttransitorisches computerlesbares Medium, Verfahren und prozessorbasiertes System zur Verarbeitung von Nachrichtenkanal-Transaktionen in einem Prozessorbasiertem System ohne Durchführung von Blockierungsoperationen
DE10084462B4 (de) Geteilter Puffer
DE102011052510A1 (de) Verfahren zur Verarbeitung von Daten eines Steuergeräts in einem Datenkommunikationsgerät
DE102016202331A1 (de) Netzknoteneinrichtung und Verfahren zur Vermittlung von Daten
DE202014105865U1 (de) Berührungseingabefeld
WO2014040776A1 (de) Optimierung von schaltsequenzen zur minimierung des energieverbrauchs einer anlage
EP1047990B1 (de) Vorrichtung und verfahren zur steuerung von prozessen auf einem computersystem
EP2557506B1 (de) Verfahren zur Verarbeitung von Daten eines Steuergeräts in einem Datenkommunikationsgerät
DE102011078484A1 (de) Verfahren und System zur Motorsteuerung
DE10218091B4 (de) Vorrichtung zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen und Kommunikationsverfahren
EP3602964B1 (de) Verfahren zur übertragung analyserelevanter daten, sender und system

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012861000

Ipc: H04L0049900000