DE10124768A1 - Verfahren zur schnelleren Ausführung von Datenverarbeitungsprozessen - Google Patents
Verfahren zur schnelleren Ausführung von DatenverarbeitungsprozessenInfo
- Publication number
- DE10124768A1 DE10124768A1 DE2001124768 DE10124768A DE10124768A1 DE 10124768 A1 DE10124768 A1 DE 10124768A1 DE 2001124768 DE2001124768 DE 2001124768 DE 10124768 A DE10124768 A DE 10124768A DE 10124768 A1 DE10124768 A1 DE 10124768A1
- Authority
- DE
- Germany
- Prior art keywords
- task
- tasks
- resource
- properties
- entered
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5044—Allocation 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 hardware capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zur schnelleren Ausführung von Datenverarbeitungsprozessen in Multiprozessor beziehungsweise Multiressourcensysteme durch einen effizienteren Verteilungsmechanismus für Systemprozesse (Tasks). Die Steigerung der Effizienz wird dadurch erreicht, daß alle Tasks in eine Tasktabelle (2) eingetragen werden und die Tasktabelle (2) für alle Systemressourcen (3) zugänglich ist und jede freie Systemressource (3) versucht, sich einen Task aus der Tasktabelle (2) zu holen.
Description
Die Erfindung betrifft ein Verfahren zur schnelleren Ausfüh
rung von Datenverarbeitungsprozessen in Multiprozessor bezie
hungsweise Multiressourcensystemen (Systemressourcen) durch
einen effizienteren Verteilungsmechanismus für Systemprozesse
(Tasks).
Bisher wurden die anstehenden Tasks durch einen sogenannten
Scheduler auf die vorhandenen Systemressourcen verteilt. Die
Systemressourcen sind typischerweise mehrere Mikroprozessoren
des gleichen Typs oder andere Hardwareressourcen, wie z. B.
Integerrecheneinheit, Hauptspeicher, Floating-point-
Recheneinheit, DSP-Unit, Graphikprozessor. Bei dieser passi
ven Verteilung zeigt eine Systemresource zunächst an, daß sie
bereit ist, Tasks abzuarbeiten und wartet auf die Verteilung
durch den Scheduler.
Dies hat den Nachteil, daß eine Kontrolleinheit stets über
prüfen muß, welche Systemressource frei ist und je nach Er
gebnis der Überprüfung den nächsten Task an eine freie Sy
stemressource verteilen muß.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren
zur schnelleren Ausführung von Datenverarbeitungsprozessen in
Multiprozessor beziehungsweise Multiressourcensysteme aufzu
zeigen, durch welches eine effizientere Verteilung der Sy
stemprozesse an die Systemressourcen erfolgt.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß alle
Systemprozesse beziehungsweise Tasks in eine Tasktabelle ein
getragen werden, die Tasktabelle für alle Systemressourcen
zugänglich ist und jede freie Systemressource versucht, sich
einen Task aus der Tasktabelle zu holen.
Gemäß dem erfindungsgemäßen Verfahren hat jede Systemressour
ce eine aktive Holschuld von der Tasktabelle, so daß eine Sy
stemressource versucht, einen neuen Task aus der Tasktabelle
zu holen, sobald diese ihren letzten Task abgearbeitet hat.
Gemäß einer bevorzugten Ausführungsform wird jeder Task mit
seinen Taskeigenschaften, wie zum Beispiel Priorität, Securi
tylevel, Abhängigkeit von anderen Tasks etc., in die Taskta
belle eingetragen.
Sobald nun eine Systemressource einen Task abgearbeitet hat,
versucht diese je nach voreingestellten Optimierungszielen
(z. B. Geschwindigkeit, Taskpriorität, Leistungsverbrauch) den
entsprechenden nächsten Task von der Tasktabelle zu holen und
auszuführen.
Auch bei Multiressourcensystemen besteht gemäß einer bevor
zugten Ausführungsform die Möglichkeit, daß spezielle Res
sourcen (zum Beispiel eine DSP-Unit) sich abhängig von be
stimmten Taskeigenschaften und voreingestellten Optimierungs
zielen bestimmte Tasks (zum Beispiel MP3-Encoding) aussuchen,
die sie aufgrund ihrer internen Struktur effizient bearbeiten
können.
Die Zuordnung zwischen Ressource und Task kann durch eine Im
plementierung in der Ressource selbst beziehungsweise durch
die Eintragung von Taskeigenschaften in der Tasktabelle er
folgen.
Auch ist es möglich, über eine Kombination der in den Res
sourcen implementierten Eigenschaften beziehungsweise Opti
mierungszielen und den Eigenschaften in der Tasktabelle die
Zuordnung der Systemressourcen zu den Tasks festzulegen.
Beispielsweise kann eine Zuordnung über sogenannte Flags in
der Tasktabelle erfolgen, die anzeigen, wie intensiv ein Task
eine bestimmte Systemressourcen, wie Hauptspeicher, Integer
rechnereinheit, Floating Point Unit Rechnereinheit, etc. be
nutzt.
Weitere vorteilhafte Ausgestaltungen beziehungsweise weitere
Vorteile der Erfindung sind in den Unteransprüchen sowie in
der nachfolgenden Figurenbeschreibung offenbart.
Anhand eines in den Zeichnungen dargestellten Ausführungsbei
spieles wird die Erfindung näher erläutert.
In den Zeichnungen zeigt die einzige Fig. 1 schematisch ei
nen Aufbau zur Ausführung des erfindungsgemäßen Verfahrens.
Über eine Kontrolleinheit 1 werden die abzuarbeitenden Sy
stemprozesse beziehungsweise Tasks in eine Tasktabelle 2 ein
getragen, wobei mit der Tasktabelle 2 alle im System vorhan
denen Systemressourcen 3 derart verbunden sind, daß sich jede
Systemressource nach der Abarbeitung eines Tasks versucht,
sich einen neuen Task aus der Tasktabelle 2 zu holen.
Jeder Task ist mit sogenannten Taskeigenschaften, wie Priori
tät, Securitylevel, Abhängigkeiten von anderen Tasks sowie
auch dem Anteil der Benutzung an Standardressourcen, wie
Hauptspeicher, Integerrechnereinheit, Floating Point Rech
nereinheit und so weiter, eingetragen.
Desweiteren können auch Optimierungsziele, wie Geschwindig
keit, Leistungsverbrauch als Taskeigenschaften eingegeben
sein. Ebenso können diese Optimierungsziele jedoch auch in
den Systemressourcen implementiert sein.
Eine Systemressource 3 wird entweder gebildet durch einen Mi
kroprozessor oder eine spezielle Ressource, wie zum Beispiel
DSP-Unit, Hauptspeicher, Integerrecheneinheit, Floating Point
Recheneinheit und so weiter.
Durch das erfindungsgemäße Verfahren erfolgt eine effektivere
Verteilung der Systemprozesse beziehungsweise der Tasks. Die
Kontrolleinheit 1 muß nicht mehr überprüfen, welche System
ressource frei ist, und ist auch nicht mehr dafür zuständig,
den nächsten Task an die Systemressourcen zu verteilen. Sie
ist nur noch dafür zuständig, die abzuarbeiteriden Aufgaben in
die Tasktabelle 2 einzutragen.
Auch ist durch das erfindungsgemäße Verfahren eine Bearbei
tung der Tasks außerhalb der ursprünglichen seriellen Reihen
folge (sogenannte Out of Order Execution) mit diesem Konzept
vereinfacht möglich.
Claims (6)
1. Verfahren zur schnelleren Ausführung von Datenverarbei
tungsprozessen in Multiprozessor beziehungsweise Multires
sourcensystemen (Systemressourcen) durch einen effizienteren
Verteilungsmechanismus für Systemprozesse (Tasks),
dadurch gekennzeichnet, daß
alle Tasks in eine Tasktabelle (2) eingetragen werden, die
Tasktabelle (2) für alle Systemressourcen (3) zugänglich ist
und jede freie Systemressource (3) versucht, sich einen Task
aus der Tasktabelle (2) zu holen.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, daß
jeder Task mit seinen Taskeigenschaften, wie zum Beispiel
Priorität, Securitylevel, Abhängigkeit von anderen Tasks, in
die Tasktabelle (2) eingetragen ist.
3. Verfahren nach Anspruch 2,
dadurch gekennzeichnet, daß
sich die Systemressourcen (3) ihre Tasks abhängig von den
Taskeigenschaften auswählen.
4. Verfahren nach Anspruch 2 oder 3,
dadurch gekennzeichnet, daß
entweder bei den Taskeigenschaften oder in der Systemressour
ce Optimierungsziele, wie Geschwindigkeit, Leistungsverbrauch
implementiert sind.
5. Verfahren nach einem der Ansprüche 2 bis 4, -
dadurch gekennzeichnet, daß
als Taskeigenschaften sogenannte Flags eingetragen sind, die
anzeigen, wie intensiv ein Task bestimmte Standardressourcen,
wie Hauptspeicher, Integerrecheneinheit, Floating Point Re
cheneinheit, et cetera, benutzt.
6. Verfahren nach einem der Ansprüche 1 bis 5,
dadurch gekennzeichnet, daß
die Systemressource entweder durch einen Mikroprozessor oder
durch eine spezielle Ressource, wie DSP-Unit, Hauptspeicher,
Integerrecheneinheit, Floating Point Unit, Grafikprozessor,
et cetera, gebildet ist.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2001124768 DE10124768A1 (de) | 2001-05-21 | 2001-05-21 | Verfahren zur schnelleren Ausführung von Datenverarbeitungsprozessen |
PCT/DE2002/001716 WO2002095583A2 (de) | 2001-05-21 | 2002-05-13 | Verfahren zur schnelleren ausführung von datenverarbeitungsprozessen |
TW91110501A TW567416B (en) | 2001-05-21 | 2002-05-20 | Method for the faster execution of data processing processes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2001124768 DE10124768A1 (de) | 2001-05-21 | 2001-05-21 | Verfahren zur schnelleren Ausführung von Datenverarbeitungsprozessen |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10124768A1 true DE10124768A1 (de) | 2002-12-12 |
Family
ID=7685616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2001124768 Ceased DE10124768A1 (de) | 2001-05-21 | 2001-05-21 | Verfahren zur schnelleren Ausführung von Datenverarbeitungsprozessen |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE10124768A1 (de) |
TW (1) | TW567416B (de) |
WO (1) | WO2002095583A2 (de) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1153327A (ja) * | 1997-08-01 | 1999-02-26 | Nec Yonezawa Ltd | マルチプロセッサシステム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2809962B2 (ja) * | 1993-03-02 | 1998-10-15 | 株式会社東芝 | 資源管理方式 |
US6006249A (en) * | 1997-08-19 | 1999-12-21 | The Chase Manhattan Bank | Method and apparatus for concurrent data processing |
-
2001
- 2001-05-21 DE DE2001124768 patent/DE10124768A1/de not_active Ceased
-
2002
- 2002-05-13 WO PCT/DE2002/001716 patent/WO2002095583A2/de not_active Application Discontinuation
- 2002-05-20 TW TW91110501A patent/TW567416B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1153327A (ja) * | 1997-08-01 | 1999-02-26 | Nec Yonezawa Ltd | マルチプロセッサシステム |
Also Published As
Publication number | Publication date |
---|---|
WO2002095583A2 (de) | 2002-11-28 |
WO2002095583A3 (de) | 2003-11-27 |
TW567416B (en) | 2003-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1831786B1 (de) | Verfahren zur verteilung von rechenzeit in einem rechnersystem | |
EP0048767B1 (de) | Prioritätsstufengesteuerte Unterbrechungseinrichtung | |
EP2829166B1 (de) | Bildung von rüstfamilien auf bestückungslinien | |
DE102012210895A1 (de) | Vorhersage der ungeordneten Parallelverarbeitung der Befehle von Threads in einem Multithread-Prozessor | |
DE102014005557A1 (de) | Numerische Steuervorrichtung | |
DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit | |
DE10124768A1 (de) | Verfahren zur schnelleren Ausführung von Datenverarbeitungsprozessen | |
AT516108B1 (de) | Produktionssystem und die entsprechende Methode | |
EP3705993B1 (de) | System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk | |
DE102019219260A1 (de) | Verfahren zum Betreiben einer Recheneinheit | |
DE69909118T9 (de) | Vorrichtung und verfahren zur sicherung einer integrierten schaltung | |
DE102011100969A1 (de) | Verfahren zum Betrieb mindestens einer Datenbank auf einem Hardwarepool | |
EP3726319A1 (de) | Verfahren, vorrichtungen und system zum bearbeiten eines werkstücks | |
DE102022003661B3 (de) | Rechenvorrichtung, Verfahren zur Lastverteilung für eine solche Rechenvorrichtung und Computersystem | |
DE2744909C2 (de) | Programmierbare Steuereinrichtung für Fernmeldeanlagen von niedriger und mittlerer Kapazität, insbesondere zur Anwendung in Fernsprech-Vermittlungsanlagen | |
EP4141665A1 (de) | Computer-implementiertes verfahren und system zur effizienten aufgaben-verteilung an geräte | |
DE102010019783A1 (de) | Verfahren zum Durchführen eines Programmes zur Verarbeitung von Daten und entsprechendes System | |
EP4309477A1 (de) | Verfahren und steuereinrichtung zur bestimmung mindestens einer festrüstung für eine bestückungslinie | |
EP1708086A2 (de) | Computersystem und Verfahren zur Aufteilung und Zuteilung von Rechenleistung innerhalb eines Computersystems | |
WO1996033456A1 (de) | Übertrag-auswahl-addierer mit einer vorermittlung der führenden nullstellen | |
EP3172671B1 (de) | Verfahren zur parallelen verarbeitung von daten in einem rechnersystem mit mehreren rechnereinheiten und rechnersystem mit mehreren rechnereinheiten | |
DE112015000216T5 (de) | Auswählen eines Hosts für eine virtuelle Maschine unter Verwendung einers Hardware-Multithreading-Parameters | |
DE102011015174A1 (de) | Verfahren zum Betrieb mehrerer Prozessoren | |
DE102011106103A1 (de) | Elektronische Vorrichtung und Verfahren zur Verarbeitung von Unterbrechungsanforderungen gemäß einem Prioritätsschema | |
EP1116107B1 (de) | Verfahren zur ausführung einzelner algorithmen mittels einer rekonfigurierbaren schaltung und vorrichtung zur durchführung eines solchen verfahrens |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |