DE19928798A1 - Verfahren zur Erfassung der Auslastung eines Prozessors - Google Patents
Verfahren zur Erfassung der Auslastung eines ProzessorsInfo
- Publication number
- DE19928798A1 DE19928798A1 DE1999128798 DE19928798A DE19928798A1 DE 19928798 A1 DE19928798 A1 DE 19928798A1 DE 1999128798 DE1999128798 DE 1999128798 DE 19928798 A DE19928798 A DE 19928798A DE 19928798 A1 DE19928798 A1 DE 19928798A1
- Authority
- DE
- Germany
- Prior art keywords
- processor
- time
- counter
- bus
- dma
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
- G06F11/3423—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
Zur Ermittlung des Auslastungsgrades eines Prozessors an einem Datenbus werden die Zeiten (t¶0¶ bis t¶1¶, t¶3¶'' bis t¶6¶, t¶3¶''' bis t¶6¶) erfaßt, in denen der Prozessor untätig ist. Zu diesem Zweck führt der Prozessor in Zeiten der Untätigkeit ein Unterprogramm zum Inkrementieren oder Dekrementieren eines Zählers aus; der Inhalt des Zählers wird regelmäßig gelesen und liefert einen Meßwert für den Auslastungsgrad.
Description
Die Erfindung betrifft ein Verfahren zur Erfassung des Ausla
stungsgrades eines Prozessors an einem Datenbus.
Für eine Überlastabwehr bei hohem vermittlungstechnischen
Verkehr auf dem Bus ist eine exakte Erfassung der Prozessor
auslastung inklusive seiner Wartezeiten aufgrund von Bus-Zu
griffskonflikten erforderlich. Bisherige Lösungen dieses Pro
blems sahen die direkte Erfassung der Tätigkeitszeit des Pro
zessors durch Hardware- oder Softwarelösungen vor. Software
lösungen sind zwar attraktiv, weil sie preiswert zu realisie
ren sind, die bisherigen Lösungen haben aber den Nachteil,
daß die Arbeitszeit, die ein Prozessor für eine gegebene Auf
gabe benötigt, anhand der Art der Aufgabe, zum Beispiel im
Falle eines DMA-Prozessors anhand des Typs einer zu übertra
genden Nachricht und deren Länge, mit Hilfe eines empirischen
Gewichtungsfaktors abgeschätzt werden muß. Eine solche Ab
schätzung ist grundsätzlich mit Unsicherheiten behaftet; au
ßerdem besteht keine Möglichkeit, eventuelle Buszugriffskon
flikte in die Abschätzung der benötigten Arbeitszeit mit ein
zubeziehen, da deren Wahrscheinlichkeit vom Auslastungsgrad
des Busses beziehungsweise des Prozessors, also von eben der
Größe abhängt, die mit Hilfe der Abschätzung erfaßt werden
soll.
Ein weiterer störender Aspekt von Softwarelösungen ist, daß
diese Arbeitszeit des Prozessors beanspruchen und so die Lei
stungsfähigkeit des Systems beeinträchtigen, in dem der Pro
zessor eingesetzt wird.
Aufgabe der vorliegenden Erfindung ist, ein programmgestütz
tes Verfahren zur Erfassung des Auslastungsgrades eines Pro
zessors anzugeben, das einfach auszuführen ist und dessen
Auswirkungen auf die Leistungsfähigkeit eines Gesamtsystems,
das den Prozessor und den Datenbus umfaßt, vernachlässigbar
sind.
Diese Vorteile werden erreicht, indem die Zeiten erfaßt wer
den, in denen der Prozessor untätig (idle) ist, das heißt, in
denen er keine Aufgaben erledigt, die zur Verarbeitungslei
stung des Systems beitragen, und in denen auch keine solchen
Arbeiten anstehen. Die Messung der Zeiten der Untätigkeit be
schäftigt somit naturgemäß den Prozessor zu Zeiten, zu denen
er keine "produktiven" Aufgaben zu erledigen hat und beein
trächtigt somit nicht die Verarbeitungsleistung des Systems.
Da Buszugriffskonflikte nur auftreten können, während der
Prozessor mit einer Aufgabe beschäftigt ist, also nicht
"untätig" ist, gehen Zeiten, in denen er aufgrund eines Kon
flikts auf Buszugriff warten muß, nicht in die Erfassung der
Untätigkeitszeit mit ein. Es wird also exakt diejenige Zeit
gemessen, die die "Leistungsreserve" des Busses beziehungs
weise des Prozessors darstellt und die für die Ausführung von
weiteren Kommunikationsaufgaben auf dem Bus, sei es durch den
Prozessor oder durch andere angeschlossene Geräte, zur Verfü
gung steht.
Um ein Maß für die Dauer der Untätigkeitszeit des Busses zu
erhalten, kann vorgesehen werden, daß dieser in Zeiten der
Untätigkeit ein Unterprogramm ausführt, in dem ein Zähler in
krementiert oder dekrementiert wird. Der Inhalt dieses Zäh
lers kann regelmäßig ausgelesen werden, um ein Maß für die
Untätigkeitszeit des Prozessors zwischen zwei Lesevorgängen
und damit für den Auslastungsgrad zu erhalten. Um die Auswer
tung des Zählerinhalts zu vereinfachen, kann nach jedem Lese
vorgang der Zähler zurückgesetzt werden, so daß der beim dar
auffolgenden Lesen erhaltene Wert ein direktes Maß für die in
Untätigkeit verbrachte Zeit zwischen zwei Lesevorgängen ist.
Während der Prozessor das Unterprogramm ausführt, kann er re
gelmäßig prüfen, ob durch ihn zu bearbeitende Aufgaben vor
liegen. Dies ist insbesondere bei Systemen notwendig, bei de
nen der Prozessor durch ihn zu erledigende Aufgaben nicht
etwa durch Interrupts, sondern mit Hilfe eines Pollingverfah
rens erkennt.
In einer bevorzugten Anwendung des Verfahrens ist der Prozes
sor ein DMA-Prozessor.
Wenn der Auslastungsgrad des Prozessors einen Grenzwert über
schreitet, das heißt wenn der Anteil der Zeiten der Untätig
keit unter einen vorgegebenen Mindestanteil der Prozessorar
beitszeit fällt, ist es zweckmäßig, Maßnahmen gegen eine
Überlastung des Busses oder des Prozessors zu ergreifen, um
zu verhindern, daß der Datenverkehr auf dem Bus unter einem
Übermaß von Zugriffskonflikten zusammenbricht. Solche Maßnah
men können in der Umstufung von Prioritäten einzelner Aufga
ben, dem Verwerfen von zu übertragenden Daten etc. bestehen.
Weitere Merkmale und Vorteile der Erfindung ergeben sich aus
der nachfolgenden Beschreibung eines Ausführungsbeispiels mit
Bezug auf die Figuren.
Es zeigen:
Fig. 1 den Auslastungszustand eines Busses eines Da
tenverarbeitungssystems sowie den Stand eines
Zählers eines an den Bus angeschlossenen Pro
zessors, der ein erfindungsgemäßes Verfahren
ausführt; und
Fig. 2 den Zustand eines Busses, an dem ein herkömm
liches Verfahren zur Erfassung des Ausla
stungsgrades angewendet wird.
Der besseren Verständlichkeit halber soll zunächst auf das
herkömmliche Verfahren in Fig. 2 eingegangen werden. Zeile a
zeigt aufgetragen über einer Zeitachse den Zustand des Busses
für den Fall, daß keine Zugriffskonflikte auftreten. Zu einem
Zeitpunkt t1 erhält ein DMA-Prozessor eine Aufgabe, eine Da
tenübertragungsaufgabe über den Bus abzuwickeln. Der Prozes
sor benötigt die Zeitspanne t1 bis t2, um den Zeitbedarf für
die Übertragung anhand der Parameter der Aufgabe abzuschät
zen. Die Abschätzung ergibt eine Zeitspanne T. Da im Fall der
Zeile a keine Zugriffskonflikte auftreten und der Prozessor
den Bus ständig zur Verfügung hat, entspricht die abge
schätzte Zeit T der Zeitspanne zwischen dem tatsächlichen Be
ginn t2 und dem Abschluß der Datenübertragung zum Zeitpunkt
t3. Bei der Abschätzung des Zeitbedarfs für die Übertragung
ist es nicht möglich, vorauszusehen, ob Zugriffskonflikte mit
anderen Benutzern des Busses oder auch mit Aufgaben höherer
Priorität des gleichen Prozessors auftreten werden. So kann
es durchaus vorkommen, daß zum Zeitpunkt t2, wo die Daten
übertragung beginnen könnte, der Bus von einem anderen Benut
zer belegt ist, wodurch der Prozessor bis zum Abschluß dieser
Übertragung blockiert wird, oder daß, wie in der Zeile b dar
gestellt, die laufende Übertragung während einer Zeitspanne
t4 bis t5 für eine Aufgabe höherer Priorität unterbrochen
werden muß, wodurch sich der Abschluß der Übertragung auf den
Zeitpunkt t3' verzögert. Die Abschätzung der vom Prozessor
für die Übertragung benötigten Zeit liegt daher um einen Be
trag t5-t4 falsch.
Zwar könnte man bei der Berechnung der Zeitspanne T von vorn
herein einen bestimmten prozentualen Zeitverlust durch Zu
griffskonflikte einkalkulieren, dabei ergibt sich jedoch das
Problem, daß der tatsächliche Zeitverlust durch Zugriffskon
flikte mit zunehmendem Auslastungsgrad des Busses überpropor
tional anwächst, so daß kein Schätzwert für diesen Zeitver
lust allen Anwendungssituationen angemessen sein kann.
Fig. 1 zeigt in den Zeilen a und b den Auslastungszustand
eines Busses sowie den Stand eines Zählers eines an den Bus
angeschlossenen Prozessors, der das erfindungsgemäße Verfah
ren zur Erfassung des Auslastungsgrades anwendet. Zeile a
stellt eine Situation analog zu der aus Fig. 2, Zeile a dar,
in der der Prozessor den Bus für die Ausführung einer Daten
übertragungsaufgabe allein zur Verfügung hat. Zum Zeitpunkt
t0 wird der Inhalt des Zählers auf 0 gesetzt und wird vom
Prozessor zyklisch inkrementiert, solange der Prozessor keine
Datenübertragungsaufgaben erhält. In der Figur ist dieser
Vorgang durch die von einem Wert 0 bei t1 linear aufsteigende
Rampe 1 veranschaulicht, die den Stand des Zählers angibt.
Zum Zeitpunkt t1 erhält der Prozessor eine Aufgabe zur Über
tragung von Daten, genau wie im Fall von Fig. 2 Zeile a.
Eine solche Aufgabe kann dem Prozessor von einer anderen Kom
ponente des Systems durch einen Interrupt gemeldet werden,
alternativ oder ergänzend kann der Prozessor, während er
keine Datenübertragungsaufgabe erledigt, andere Komponenten
des Systems, die solche Aufgaben vergeben können, zyklisch
abfragen (pollen), ob Aufgaben angefallen sind. Eine Abschät
zung der für die Erledigung der Aufgabe erforderlichen Zeit
erfolgt nicht; stattdessen wird die Inkrementierung des Regi
sters unterbrochen, und der Prozessor beginnt unverzüglich
mit der Ausführung der Aufgabe. Da die Abschätzung der Über
tragungszeit entfällt, ist die Aufgabe zum Zeitpunkt t3" ge
ringfügig früher abgeschlossen als im analogen Fall der Fig.
2. Ab diesem Zeitpunkt t3" wird die Inkrementierung des Zäh
lers an dem Wert fortgesetzt, an dem sie zum Zeitpunkt t1 un
terbrochen worden war. Zum Zeitpunkt t6 wird der Zählerstand
ausgelesen und der Zähler zurückgesetzt; er liefert ein di
rektes Maß für die Zeit, die dem Prozessor für weitere Über
tragungsaufgaben noch zur Verfügung steht.
Zeile b von Fig. 1 zeigt eine Situation, in der sich die zum
Ausführen der zum Zeitpunkt t1 erhaltenen Übertragungsaufgabe
durch den Prozessor benötigte Zeit aufgrund eines Buszugriffs
verlängert, der den Prozessor im Zeitintervall t4 bis t5
blockiert. In dieser Zeit befindet sich der Prozessor in ei
nem Wartezustand, in dem die Datenübertragung unterbrochen
ist und er auf eine erneute Zuweisung von Zugriffsrecht auf
den Bus wartet. Da der Prozessor in dieser Zeit für andere
Übertragungsaufgaben nicht einsetzbar ist, muß diese Zeit als
Tätigkeitszeit in die Bewertung des Auslastungsgrades des
Prozessors einfließen. Die Inkrementierung des Zählers ruht
daher im gesamten, für die Übertragung benötigten verlänger
ten Zeitintervall t1 bis t3''' und wird erst im Anschluß
daran wieder aufgenommen. Der zum Zeitpunkt t6 erreichte Wert
des Zählers ist daher kleiner als im Fall der Zeile a; die
Blockierung des Prozessors ist so direkt meßbar. Der Zähler
stand zum Zeitpunkt t6 erlaubt daher einen genauen Rückschluß
auf den Auslastungsgrad des Prozessors, so daß Gegenmaßnahmen
gegen eine Überlastung des Busses in Abhängigkeit vom Zähler
stand eingeleitet werden können.
Die Art dieser Gegenmaßnahmen hängt selbstverständlich von
der Art der Aufgaben ab, die der Prozessor innerhalb des Sy
stems zu erledigen hat. Bei nicht zeitkritischen Anwendungen
können die Gegenmaßnahmen zum Beispiel in einer Veränderung
der Prioritäten unterschiedlicher Aufgaben bestehen, derart,
daß Aufgaben geringer Dringlichkeit zurückgestellt werden,
bis eine Lastspitze des Busses überwunden ist. Bei in Echt
zeit zu erledigenden Aufgaben, zum Beispiel im Bereich der
Telekommunikation oder Videoanimation, können die Gegenmaß
nahmen im Verwerfen von einzelnen Aufgaben, genauer gesagt im
Verwerfen von einzelnen zu übertragenden Datenpaketen beste
hen. Wenn die Daten verschiedener Pakete geeignet zeitlich
verschachtelt sind, führt der Fortfall einzelner Pakete al
lenfalls zu einer Reduzierung der Übertragungsbandbreite,
nicht aber zu auffälligen Unterbrechungen im Datenstrom.
Anstatt durch Inkrementierung des Zählerstandes kann die Er
fassung der Prozessorauslastung auch durch Dekrementieren er
folgen.
Claims (7)
1. Verfahren zur Erfassung des Auslastungsgrades eines Pro
zessors an einem Datenbus, dadurch gekennzeichnet,
daß die Zeiten (t0 bis t1, t3" bis t6, t3''' bis t6) erfaßt wer
den, in denen der Prozessor untätig ist.
2. Verfahren nach Anspruch 1, dadurch gekennzeich
net, daß der Prozessor in Zeiten der Untätigkeit ein Unter
programm zum Inkrementieren oder Dekrementieren eines Zählers
ausführt.
3. Verfahren nach Anspruch 2, dadurch gekennzeich
net, daß der Inhalt des Zählers regelmäßig gelesen wird, um
die untätige Zeit zwischen zwei Lesevorgängen (t0, t6) zu er
mitteln.
4. Verfahren nach Anspruch 3, dadurch gekennzeich
net, daß nach dem Lesen der Zähler zurückgesetzt wird.
5. Verfahren nach Anspruch 2, 3 oder 4, dadurch gekenn
zeichnet, daß der Prozessor bei der Ausführung des Unter
programms regelmäßig geprüft, ob durch ihn zu bearbeitende
Aufgaben vorliegen.
6. Verfahren nach einem der vorhergehenden Ansprüche, da
durch gekennzeichnet, daß der Prozessor ein DMA-Pro
zessor ist.
7. Verfahren nach einem der vorhergehenden Ansprüche, da
durch gekennzeichnet, daß Maßnahmen gegen eine Über
last des Busses oder des Prozessors ergriffen werden, wenn
der Anteil der Zeiten der Untätigkeit unter einen vorgegebe
nen Mindestanteil der Prozessorarbeitszeit fällt.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999128798 DE19928798C2 (de) | 1999-06-23 | 1999-06-23 | Verfahren zur Erfassung der Auslastung eines Prozessors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999128798 DE19928798C2 (de) | 1999-06-23 | 1999-06-23 | Verfahren zur Erfassung der Auslastung eines Prozessors |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19928798A1 true DE19928798A1 (de) | 2000-12-28 |
DE19928798C2 DE19928798C2 (de) | 2002-07-11 |
Family
ID=7912281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1999128798 Expired - Fee Related DE19928798C2 (de) | 1999-06-23 | 1999-06-23 | Verfahren zur Erfassung der Auslastung eines Prozessors |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19928798C2 (de) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6263346A (ja) * | 1985-09-13 | 1987-03-20 | Hitachi Ltd | 処理装置の空き時間測定方法 |
JPH0498540A (ja) * | 1990-08-17 | 1992-03-31 | Nec Corp | プロセッサ負荷監視方式 |
JPH0627960A (ja) * | 1992-07-09 | 1994-02-04 | Yamaha Corp | 自動伴奏装置 |
JPH07253915A (ja) * | 1994-03-15 | 1995-10-03 | Hitachi Ltd | 性能測定機能を有するアクセス制御装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6027960A (ja) * | 1983-07-27 | 1985-02-13 | Hitachi Ltd | プロセツサ使用率測定方法 |
DE4425348C1 (de) * | 1994-07-18 | 1995-10-12 | Siemens Ag | Verfahren zur Steuerung der Lastabwehr eines Echtzeitrechners |
-
1999
- 1999-06-23 DE DE1999128798 patent/DE19928798C2/de not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6263346A (ja) * | 1985-09-13 | 1987-03-20 | Hitachi Ltd | 処理装置の空き時間測定方法 |
JPH0498540A (ja) * | 1990-08-17 | 1992-03-31 | Nec Corp | プロセッサ負荷監視方式 |
JPH0627960A (ja) * | 1992-07-09 | 1994-02-04 | Yamaha Corp | 自動伴奏装置 |
JPH07253915A (ja) * | 1994-03-15 | 1995-10-03 | Hitachi Ltd | 性能測定機能を有するアクセス制御装置 |
Also Published As
Publication number | Publication date |
---|---|
DE19928798C2 (de) | 2002-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60223177T2 (de) | Computer zur dynamischen bestimmung der unterbrechungsverzögerung | |
DE3300262C2 (de) | ||
EP0333123B1 (de) | Modular strukturiertes ISDN-Kommunikationssystem | |
DE60317837T2 (de) | Verfahren und System zur Messung von Last und Kapazität auf einem Kanal mit variabler Kapazität | |
EP0655682B1 (de) | Recheneinheit mit mehreren ausführbaren Tasks | |
DE60223394T2 (de) | Verfahren und vorrichtung zum einteilen von anforderungen für einen dynamischen direktzugriffsspeicherbaustein | |
EP1756714A2 (de) | Verfahren zur prüfung der echtzeitfähigkeit eines systems | |
DE60122085T2 (de) | Datenverarbeitungsgerät für serielles Kommunikationssystem | |
DE102004054571B4 (de) | Verfahren zur Verteilung von Rechenzeit in einem Rechnersystem | |
DE112010005096T5 (de) | Verfahren und Vorrichtungen zum Bewerten der Ressourcen-Kapazität in einem System von virtuellen Containern | |
DE4227345A1 (de) | Cachescheduler | |
EP1924913B1 (de) | Steuerung eines zugriffs auf dienste und/oder ressourcen eines datenverarbeitungssystems | |
DE102010017215A1 (de) | Verfahren zur Durchführung eines Speichermanagements | |
DE2731829C3 (de) | Zentralgesteuerte Fernmeldevermittlungs anlage | |
DE60310146T2 (de) | System und Methode zur Überwachung, mit geringer Zusatzinformation, des Leerzustandes der Senderwarteschlange | |
DE102013022564B4 (de) | Aufrechterhalten der Bandbreiten-Servicequalität einer Hardware-Ressource über einen Hardware-Zähler | |
DE10206865C1 (de) | Reaktionszeit-Beschränkung eines Software-Prozesses | |
DE19928798A1 (de) | Verfahren zur Erfassung der Auslastung eines Prozessors | |
DE19700397C1 (de) | Schutzschaltung für programmgesteuerte elektrische Einrichtungen | |
DE2453526A1 (de) | Verfahren zur regulierung der belastung einer elektronischen datenverarbeitungsanlage | |
DE602004011351T2 (de) | Datenverarbeitungssystem und verfahren zur datenverarbeitung | |
DE60215934T2 (de) | Verfahren und vorrichtung zum sammeln von warteschlangenleistungsdaten | |
EP1482402A2 (de) | Erfassung des Füllstands eines Puffers | |
EP1047990B1 (de) | Vorrichtung und verfahren zur steuerung von prozessen auf einem computersystem | |
EP0586847B1 (de) | Verfahren zur Unterbrechungssteuerung von Prozessen in Kommunikationssystemen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: NOKIA SIEMENS NETWORKS GMBH & CO.KG, 81541 MUE, DE |
|
8339 | Ceased/non-payment of the annual fee |