DE19928798A1 - Verfahren zur Erfassung der Auslastung eines Prozessors - Google Patents

Verfahren zur Erfassung der Auslastung eines Prozessors

Info

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
Application number
DE1999128798
Other languages
English (en)
Other versions
DE19928798C2 (de
Inventor
Norbert Frisch
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.)
Nokia Solutions and Networks GmbH and Co KG
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 DE1999128798 priority Critical patent/DE19928798C2/de
Publication of DE19928798A1 publication Critical patent/DE19928798A1/de
Application granted granted Critical
Publication of DE19928798C2 publication Critical patent/DE19928798C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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/3419Recording 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/3423Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring 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.
DE1999128798 1999-06-23 1999-06-23 Verfahren zur Erfassung der Auslastung eines Prozessors Expired - Fee Related DE19928798C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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