DE102012224362B4 - Anpassung einer Testhäufigkeit für die Ressourcenauslastung - Google Patents

Anpassung einer Testhäufigkeit für die Ressourcenauslastung Download PDF

Info

Publication number
DE102012224362B4
DE102012224362B4 DE102012224362.3A DE102012224362A DE102012224362B4 DE 102012224362 B4 DE102012224362 B4 DE 102012224362B4 DE 102012224362 A DE102012224362 A DE 102012224362A DE 102012224362 B4 DE102012224362 B4 DE 102012224362B4
Authority
DE
Germany
Prior art keywords
application
resource utilization
frequency
testing
resource
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.)
Active
Application number
DE102012224362.3A
Other languages
English (en)
Other versions
DE102012224362A1 (de
Inventor
Rashed Ferdous
Arthur J. Meyer
Carlos P. Sosa
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102012224362A1 publication Critical patent/DE102012224362A1/de
Application granted granted Critical
Publication of DE102012224362B4 publication Critical patent/DE102012224362B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3096Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

Verfahren, aufweisend:- Analysieren einer Anwendungseingabedatei und Erstellen eines theoretischen Ressourcenauslastungsmusters auf der Grundlage der Eingabedatei, wobei sich das theoretische Ressourcenauslastungsmuster auf die Verarbeitung der Eingabedatei durch die Anwendung bezieht;- Festlegen einer Testhäufigkeit zum Abfragen einer Systemressourcenverfügbarkeit als Reaktion auf das erstellte theoretische Ressourcenauslastungsmuster;- Überwachen - gemäß der festgelegten Testhäufigkeit - sowohl der Systemressourcenverfügbarkeit als auch der tatsächlichen Anwendungsressourcennutzung für das Verarbeiten der Anwendungseingabedatei;- Erzeugen eines tatsächlichen Ressourcenauslastungsmusters;- Identifizieren von einem oder mehreren Übergangspunkten auf der Grundlage des tatsächlichen Ressourcenauslastungsmusters, wobei der eine oder die mehreren Übergangspunkte einen Zeitpunkt angeben, zu dem eine Änderung der Ressourcenauslastung erwartet wird;- dynamisches Ändern der Testhäufigkeit mit Bezug auf einen oder mehrere identifizierte Übergangspunkte, wobei die Änderung ausgewählt wird unter:- Erhöhen der Testhäufigkeit und Verringern der Testhäufigkeit; und- Testen der wenigstens einen Systemressource bei der geänderten Testhäufigkeit vor Erreichen des Übergangspunkts und Fortsetzen des Testens bei der geänderten Testhäufigkeit,- wobei festgestellt wird, ob genügend Ressourcen verfügbar sind und der Anwendung zugewiesen sind,- wobei auf eine negative Feststellung die Anwendung pausiert wird, bis genügend Ressourcen verfügbar werden und die Pause beendet wird, und- auf eine positive Feststellung die Anwendung fortgeführt wird.

Description

  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft ein Verfahren und ein System zum Ermitteln, ob Ressourcen für eine Anwendung zur Unterstützung ihrer Verarbeitung einer Eingabedatei verfügbar sind. Genauer betrifft die Erfindung ein System und ein Verfahren, das seine Testhäufigkeit für die Ressourcennutzung dynamisch auf der Grundlage eines zuvor festgelegten, sich auf die Anwendungseingabedatei beziehenden Ressourcenauslastungsmusters ändert.
  • Beschreibung des Standes der Technik
  • Die Verarbeitung eines computerrealisierten Jobs erfordert Ressourcen und genauer die Verfügbarkeit von Ressourcen zu bestimmten Zeiten. „Blockierung“ (starvation (Verhungern)) stellt einen bekannten Begriff dar, der die Nichtverfügbarkeit einer oder mehrerer für die Unterstützung der Verarbeitung eines Jobs benötigter Ressourcen beschreibt. Ressourcenintensive Jobs benötigen Unterstützung in großem Umfang, jedoch nicht notwendigerweise in kontinuierlicher Weise. Zum Beispiel kann ein ressourcenintensiver Job Zeiten aufweisen, die zur Unterstützung der Verarbeitung eine erhöhte Verfügbarkeit erfordern, sowie andere Zeiten aufweisen, die ein geringeres Ausmaß an Ressourcennutzungsbedarf besitzen. Beim Testen eines Systems auf die Ressourcennutzung wird die Verfügbarkeit von Ressourcen zur Unterstützung des zu erfassenden Jobs ermittelt. Gleichzeitig bedeutet der Vorgang des Testens des Systems eine Belastung der System- und möglicherweise Netzwerkressourcen, die andernfalls für die Unterstützung eines oder mehrerer aktiver Jobs genutzt werden könnten.
  • Aus Eranian, S. „perfmon2: a flexible performance monitoring interface for Linux", Ottawa Linux Symposium 2006, Ottawa, Canada, Juli 2006, ist das Überwachen sowohl der Systemressourcenverfügbarkeit als auch der Anwendungsressourcennutzung bekannt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Nachteilig an der Lehre gemäß dem obengenannten Stand der Technik ist, dass das Überwachen selbst eine Belastung der System- und möglicherweise Netzwerkressourcen darstellt, die anderenfalls für die Unterstützung eines oder mehreren aktiven Jobs genutzt werden könnten.
  • In Anbetracht dieses Standes der Technik liegt der beanspruchten Erfindung die Aufgabe zugrunde, ein Überwachen sowohl der Systemressourcenverfügbarkeit als auch der Anwendungsressourcennutzung dahingehend weiterzubilden, daß die durch das Überwachen verursachte Belastung der System- und Netzwerkressourcen reduziert wird, ohne den Erfolg des Überwachens - nämlich die Vermeidung von durch Nichtverfügbarkeit von Ressourcen blockierten Anwendungen - zu beeinträchtigen.
  • Diese Aufgabe wird erfindungsgemäß gelöst durch das Verfahren nach Anspruch 1, das System nach Anspruch 7 und das Computerprogrammprodukt nach Anspruch 11. Bevorzugte Ausführungsformen der Erfindung sind Gegenstand der jeweiligen Unteransprüche.
  • Diese Erfindung weist ein Verfahren, ein System und ein Computerprogrammprodukt zum dynamischen Modifizieren der Häufigkeit, mit der eine Jobressourcennutzung und eine Systemressourcenverfügbarkeit getestet werden, auf.
  • Gegenstand der Erfindung ist das Verwalten der Häufigkeit des Testens der Ressourcennutzung und der zugehörigen Ressourcenverfügbarkeit. Eine Anwendungseingabedatei wird analysiert, und ein Eingaberessourcen-Auslastungsmuster wird erstellt. Das Eingaberessourcen-Auslastungsmuster bezieht sich auf die Verarbeitung der Eingabedatei durch die Anwendung. Das Ressourcenauslastungsmuster zeigt die Nutzung von Ressourcen zur Unterstützung der Eingabeanwendungsverarbeitung über der Zeit. Nachdem das Ressourcenauslastungsmuster erstellt wurde, wird eine Testhäufigkeit für das Abfragen der Verfügbarkeit von Ressourcen festgelegt. Zur Zeit der Verarbeitung werden sowohl die Systemressourcenverfügbarkeit als auch die Anwendungsressourcennutzung für die Verarbeitung der Eingabedatei überwacht. Die Testhäufigkeit wird für eine oder mehrere ausgewählte, durch das Ressourcenauslastungsmuster festgelegte Zeitperioden dynamisch geändert.
  • Weitere Merkmale und Vorteile dieser Erfindung werden anhand der folgenden detaillierten Beschreibung der derzeit bevorzugten Ausführungsform der Erfindung in Verbindung mit den angehängten Zeichnungen ersichtlich.
  • Figurenliste
    • 1 zeigt einen Ablaufplan, der einen Prozess zum dynamischen Anpassen der Häufigkeit des Testens einer Ressourcenverfügbarkeit veranschaulicht.
    • 2 zeigt ein Schaubild, das ein Beispiel eines Ressourcenmusters und eine zugehörige intelligente Verwendung eines dynamischen Testens veranschaulicht.
    • 3 zeigt einen Ablaufplan, der einen Prozess zum dynamischen Anpassen der Zeitlage des Testens im Hinblick auf die Verarbeitung der Anwendung veranschaulicht.
    • 4 zeigt ein Blockschaubild, das in ein Computersystem eingebettete Werkzeuge zum Unterstützen der dynamischen Aktivierung einer Testfunktion im Hinblick auf die Ressourcenkapazität und die Ressourcennutzung veranschaulicht.
    • 5 zeigt ein Blockschaubild, das ein System zum Realisieren einer Ausführungsform der vorliegenden Erfindung zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • Die in dieser Beschreibung beschriebene Funktionseinheit wurde mit „Managern“ und einer „Leiteinheit“ gekennzeichnet. Die Funktionseinheit kann in programmierbaren Hardwareeinheiten realisiert werden, wie beispielsweise anwenderprogrammierbare Gatter-Arrays (field programmable gate arrays), programmierbare Array-Logik, programmierbaren Logikeinheiten oder Ähnlichem. Die Funktionseinheit kann auch in Software zur Ausführung durch verschiedene Typen von Prozessoren realisiert sein.
  • Eine angegebene Funktionseinheit von ausführbarem Code kann zum Beispiel einen oder mehrere physische oder logische Blöcke von Computeranweisungen aufweisen, die zum Beispiel als ein Objekt, eine Prozedur, eine Funktion oder ein anderes Konstrukt aufgebaut sein können. Nichtsdestoweniger müssen die ausführbaren Elemente einer angegebenen Funktionseinheit nicht physisch beieinander angeordnet sein, sondern können verteilte, an verschiedenen Orten gespeicherte Anweisungen aufweisen, die bei logischem Zusammenfügen die Funktionseinheit aufweisen und den angegebenen Zweck der Funktionseinheit erreichen.
  • Eine Anwendung benötigt eine Dateneingabe für die Verarbeitung. In einer Ausführungsform enthält eine Anwendungseingabedatei Eingabedaten, die eine Anwendung für die Ausführung und Verarbeitung verwendet. Im Verlauf der Verarbeitung kann eine Anwendung in unterschiedlichen Phasen der Ausführung unterschiedliche Mengen an Ressourcen benötigen. Ein Ressourcenauslastungsmuster stellt eine Form der Darstellung der Ressourcenauslastung einer Anwendung während der Verarbeitung dar. Genauer gibt das Ressourcenauslastungsmuster die Ressourcennutzung über der Zeit wieder.
  • Es gibt zwei Kategorien von Ressourcenauslastungsmustern, die ein theoretisches Muster und ein tatsächliches Muster umfassen. Das theoretische Muster veranschaulicht die Auslastung über der Zeit auf einer theoretischen Grundlage, und das tatsächliche Muster veranschaulicht die tatsächliche Auslastung an Ressourcen über der Zeit. Im Allgemeinen wird das Auslastungsmuster verwendet, um Ressourcen zu vergleichen, die für das Fortsetzen einer gegebenen Aktivität für eine bestimmte Zeitdauer benötigt werden. Eines der Werkzeuge, die verwendet werden, um die Verfügbarkeit und den Bedarf an Ressourcen während der Verarbeitung zu bewerten, stellt ein Test dar. Insbesondere wird der Test dazu verwendet, verfügbare und genutzte Ressourcen zu prüfen. Durch den Vorgang des Testens werden jedoch die Systemressourcen belastet, da es die Nutzung von Ressourcen erfordert, die andernfalls für die Verarbeitung entweder des Jobs, der Gegenstand des Tests ist, oder eines anderen verarbeiteten Jobs verwendet werden könnten. Dementsprechend besteht ein Bedarf, den Vorgang des Testens abzuschwächen, so dass Ineffizienzen verringert werden, während die Ressourcenverfügbarkeit maximiert wird.
  • 1 zeigt einen Ablaufplan (100), der einen Prozess zum dynamischen Anpassen der Häufigkeit des Testens einer Ressourcenverfügbarkeit veranschaulicht. Vor dem Starten eines beliebigen Testens von Ressourcen wird ein Ressourcennutzungsmuster erstellt (102). Das Ressourcennutzungsmuster veranschaulicht die Nutzung von Ressourcen im Verlauf einer der Ausführung einer gegebenen Aktivität entsprechenden Zeit. Ein Beispiel eines Ressourcennutzungsmusters ist in 2 gezeigt und beschrieben. Jeder Übergangspunkt im Muster stellt eine vorhergesagte Ressourcennutzung dar. Der oder die Übergangspunkte sind zudem einzeln als ein Übergangspunkt bekannt. Die Übergangspunkte werden auf der Grundlage des erstellten Ressourcennutzungsmusters vorhergesagt und können als eingetreten bezeichnet werden, sobald der vorhergesagte Umfang der Ressourcenauslastung eingetreten ist. Dieser Übergangspunkt kann einen bestimmten Zeitpunkt kennzeichnen, zu dem eine spontaner Anstieg der Ressourcennutzung des Jobs vorhergesagt wird (Sprungfunktion) oder er kann eine kurze Zeitdauer kennzeichnen, zu der ein kontinuierlicher Anstieg der Ressourcennutzung des Jobs vorhergesagt wird. Somit wird das Abfragen (polling) gestartet (oder gesteigert), bevor der Übergangspunkt auftritt, und wird fortgesetzt, bis der vorhergesagte Umfang des Ressourcenanstiegs des Jobs eingetreten ist, wonach es verringert (oder beendet) werden kann (104). Wenn die Nutzung von Ressourcenkapazität des Jobs konstant ist oder abnimmt, besteht keine Notwendigkeit, die Systemressourcen zu testen. Dementsprechend kann der Vorgang des Testens auf der Grundlage der Daten aus dem erstellten Ressourcenmuster abgeschwächt werden.
  • Jeder Übergangspunkt im Ressourcenmuster wird identifiziert und das Testen wird auf einen oder mehrere im Ressourcenmuster erkannte Übergangspunkte beschränkt. Genauer wird die Zahl der Übergangspunkte im Muster identifiziert und der Variablen NTotal zugewiesen (106), und einer zugehörigen Zählvariable N wird die ganzen Zahl „Eins“ zugewiesen (108). Am Übergangspunkt N wird die Testhäufigkeit des Systems dynamisch auf eine erhöhte Häufigkeit geändert (110). Zu einem Zeitpunkt, zu dem das System getestet wird, wird ermittelt, ob genügend Ressourcen verfügbar und der Verarbeitungsanwendung zugewiesen sind (112). Auf eine negative Antwort auf das Ermitteln in Schritt (112) folgt ein Pausieren der verarbeiteten Anwendung, die Gegenstand des Tests ist (114). Zu einem Zeitpunkt, zu dem Ressourcen für die Unterstützung der Anwendungsverarbeitung verfügbar werden, wird die Pause beendet. Eine positive Antwort auf das Ermitteln in Schritt (112) weist hingegen darauf hin, dass genügend Systemressourcen für die Unterstützung der Anwendungsverarbeitung verfügbar sind (116) und daher kein Pausieren der Anwendungsverarbeitung notwendig ist. Darüber hinaus kann in Schritt (116) die Testhäufigkeit dynamisch auf eine reduzierte Häufigkeit verringert werden. Dementsprechend wird an jedem erkannten Übergangspunkt X die Verfügbarkeit von Ressourcen zusammen mit der Anwendungsverarbeitung bewertet.
  • Wie vorstehend gezeigt, kann es mehr als einen im Ressourcenmuster erkannten Übergangspunkt X geben. Auf die Bewertung des ersten Übergangspunktes folgend wird die Zählvariable N um eins erhöht (118). Dann wird ermittelt, ob alle Übergangspunkte bewertet wurden (120). Eine positive Antwort auf das Ermitteln in Schritt (120) beschließt den Prozess des Bewertens der Ressourcenverfügbarkeit zusammen mit der Anwendungsverarbeitung. Eine negative Antwort auf das Ermitteln in Schritt (120) weist hingegen darauf hin, dass es mindestens einen weiteren Übergangspunkt im Ressourcenmuster gibt. Die Anwendung fährt mit dem Verarbeiten fort, bis der nächste Übergangspunkt erreicht wird (110). Dementsprechend wird mit dem Erreichen jedes erkannten Übergangspunktes die Testhäufigkeit dynamisch erhöht, um sicherzustellen, dass die Ressourcen zur Unterstützung der Anwendungsverarbeitung verfügbar sind.
  • Indem das Ressourcennutzungsmuster erzeugt wird, kann die Testhäufigkeit verfügbarer Ressourcen bei ausgewählten Übergangspunkten dynamisch modifiziert werden. Die Möglichkeit, das Testen an ausgewählten Punkten dynamisch zu modifizieren, verringert die Belastung des Systems als Ganzes. Jedes Mal, wenn das System getestet wird, wird dem System eine zusätzliche Belastung auferlegt. Indem die Anzahl des Testens des Systems verringert wird, können während des Testens verwendete Ressourcen für andere Verwendungszwecke zur Verfügung stehen. Dementsprechend ermöglicht die dynamische Anpassung der Testhäufigkeit ein intelligentes Testen und eine intelligente Nutzung von Systemressourcen.
  • 2 zeigt ein Schaubild (200), das ein Beispiel eines Ressourcenmusters und einer zugehörigen intelligenten Verwendung dynamischen Testens veranschaulicht. Wie vorstehend erklärt, veranschaulicht das Ressourcenmuster die vorhergesagte Ressourcennutzung des Jobs über der Zeit. Die Ausführungszeit des Jobs ist auf einer Achse (210) aufgetragen, und eine zweite Achse (220) zeigt die Ressourcennutzung. Im hierin gezeigten Beispiel sind im Ressourcenmuster zwei Übergangspunkte (230) und (250) gekennzeichnet. Während die Anwendung vor dem ersten Übergangspunkt (230) ein Verarbeiten durchführt, verwendet sie eine konstante Ressourcenmenge (232), so dass das Testen auf die dem ersten Übergangspunkt benachbarte Zeit beschränkt ist. Da das Abfragen ergibt, dass genügend Systemressourcen verfügbar sind, pausiert die Anwendung nicht.
  • Auf den ersten Übergangspunkt (230) folgend und vor Erreichen des zweiten Übergangspunktes (250) fährt die Anwendung mit der Verarbeitung fort, und das Testen wird unterbrochen. Tritt eine Verringerung der verfügbaren Systemressourcen ein (240), pausiert die Anwendung nicht, da das Abfragen für den zweiten Übergangspunkt noch nicht begonnen hat. Indem keine Ressourcen angefordert werden, bevor sie für die Anwendung benötigt werden, kann das System diese Ressourcen wirksam nutzen. Die Anwendung fährt mit der Verarbeitung fort, und vor Eintreten des nächsten Übergangspunktes wird das Testen der Systemressourcenverfügbarkeit erneut gestartet (262), um sicherzustellen, dass eine ausreichende Menge an Ressourcen für die Unterstützung der Anwendungsverarbeitung verfügbar ist. An diesem Punkt zeigt sich, dass die auf dem System verfügbaren Ressourcen geringer sind als die vorhergesagte Menge benötigter Ressourcen, und die Anwendung pausiert, damit korrigierende Maßnahmen unternommen werden können. Wie an jedem Übergangspunkt gezeigt, an dem die vorhergesagte Menge durch die Anwendung benötigter Ressourcen ansteigt, wird das System dementsprechend getestet, um sicherzustellen, dass eine ausreichende Menge von Ressourcen für die Unterstützung der Verarbeitung der Anwendung vorhanden ist.
  • Wie hierin gezeigt, belastet der Vorgang des Testens das System, da das Testen Systemressourcen nutzt. Durch Erstellen eines Ressourcenmusters wird das Testen dynamisch modifiziert und auf erkannte Übergangspunkte in der Anwendungsverarbeitung beschränkt. Das Testen wird als Reaktion auf das Ressourcenmuster eingesetzt. Zu einem Zeitpunkt, zu dem sich das Testen in einem inaktiven Zustand befindet, können Ressourcen der Unterstützung der zugrundeliegenden Anwendung oder anderer Anwendungen zugewiesen werden.
  • Der Vorgang des Testens als Reaktion auf das erstellte Ressourcenmuster verläuft dynamisch. Wie vorstehend gezeigt, wird das Ressourcenmuster ermittelt und das Testen als Reaktion auf erkannte Übergangspunkte im Ressourcenmuster modifiziert. Das Ressourcenmuster wird vor der Anwendungsverarbeitung erstellt, und die tatsächliche Verarbeitung der Anwendung kann Auswirkungen auf die Zeitlage der erkannten Übergangspunkte haben. 3 zeigt einen Ablaufplan (300), der einen Prozess zum dynamischen Anpassen der Zeitlage des Testens im Hinblick auf die Verarbeitung der Anwendung veranschaulicht. Ein Ressourcenmuster wird für die Anwendung erstellt (302), und Übergangspunkte werden auf der Grundlage des erstellten Ressourcennutzungsmusters vorhergesagt (304). Der Variablen XTotal wird die Menge vorhergesagter Übergangspunkte zugewiesen (306), und einer zugehörigen Zählvariable X wird die ganze Zahl „Eins“ zugewiesen (308). Die Anwendungsverarbeitung wird im Verlauf der Zeit abgearbeitet. Wenn ein im Ressourcenmuster erkannter Übergangspunktx erreicht wird, wird ermittelt, ob ein tatsächlicher Anstieg beim Ressourcenbedarf der Anwendung vorliegt (310). In einer Ausführungsform kann eine Mindestkapazität angegeben werden, und das Testen wird gestartet, wenn der Kapazitätsgrenzwert erreicht wird. Wie hierin gezeigt, kann dementsprechend das Testen im Hinblick auf die tatsächliche Verarbeitung und nicht allein die vorhergesagte Verarbeitung wiedergebend verwaltet werden.
  • Auf eine positive Antwort auf das Ermitteln in Schritt (310) folgt ein Testen des Systems, um sicherzustellen, dass das System verfügbare Ressourcenkapazitäten besitzt, damit das System mit der Verarbeitung fortfahren kann (312). Auf diesen Schritt (312) folgend wird die Zählvariable erhöht (314), gefolgt von einem Ermitteln, ob alle erkannten Übergangspunkte im Ressourcenmuster bewertet wurden (316). Eine positive Antwort auf das Ermitteln in Schritt (316) schließt den Testbewertungsprozess ab (318), und auf eine negative Antwort folgt eine Rückkehr zu Schritt (310). Wie in Schritt (312) gezeigt, wird die Testfunktion nicht dynamisch aktiviert, wenn ein Kapazitätsniveau nicht erreicht wurde. In einer Ausführungsform hat das Ressourcenmuster möglicherweise die Zeitlage der Übergangspunkte nicht korrekt erkannt, und die Testfunktion muss unter Umständen an die tatsächliche Verarbeitung angepasst werden.
  • Als Folge auf eine negative Antwort auf das Ermitteln in Schritt (310) wartet die Testfunktionalität auf eine Änderung beim tatsächlichen Ressourcenauslastungsmuster, so dass die Zeitlage der Übergangspunkte angepasst werden kann. Wenn der tatsächliche erste Übergangspunkt erreicht wird (320), wird die Testfunktion aktiviert (322). Zur selben Zeit wird eine Zeitdifferenz zwischen dem Zeitpunkt, an dem die Testfunktion bei (322) aktiviert wurde, und den im Ressourcenmuster für den Übergangspunktx erkannten Zeitpunkt berechnet (324). Auf Schritt (324) folgend wird die Zählvariable erhöht (326), gefolgt von einem Ermitteln, ob alle erkannten Übergangspunkte im Ressourcenmuster bewertet wurden (328). Auf eine negative Antwort auf das Ermitteln in Schritt (328) folgt ein Hinzuaddieren der berechneten Zeitdifferenz zu dem im Übergangspunktx erkannten Zeitpunkt (330) und ein Zurückkehren zu Schritt (310), und eine positive Antwort schließt den Testprozess ab (318). Dementsprechend wird durch die Operation in Schritt (330) das Ressourcenmuster so modifiziert, dass das Ressourcenmuster ein tatsächliches Verarbeitungsmuster wiedergibt.
  • Wie gezeigt wird ein Ressourcenmuster erworben und das die Anwendung unterstützende System dynamisch auf der Grundlage des Ressourcenmusters getestet. 4 zeigt ein Blockschaubild (400), das in ein Computersystem eingebettete Werkzeuge zur Unterstützung der dynamischen Aktivierung einer Testfunktion im Hinblick auf die Ressourcenkapazität und Ressourcennutzung veranschaulicht. Wie gezeigt, wird ein Computersystem (410) mit einer Verarbeitungseinheit (412) bereitgestellt, die mit dem Speicher (416) über einen Bus (414) kommuniziert, der mit dem Datenspeicher (418) kommuniziert. In einer Ausführungsform kann der Datenspeicher (418) vom System (410) entfernt angeordnet sein. Das Computersystem (410) unterstützt die Anwendungsverarbeitung. In dem hierin gezeigten Beispiel handelt es sich um eine lokale Anwendung (430) des Systems (410). Die Erfindung ist jedoch nicht auf den Ort der Anwendung (430) begrenzt. Das System (410) wird mit einer für den Speicher (416) lokalen Funktionseinheit (450) bereitgestellt, die Werkzeuge besitzt, um das dynamische Testen von Systemressourcen für die Unterstützung der Anwendungsverarbeitung zu unterstützen. Zu den Werkzeugen zählen, ohne darauf beschränkt zu sein, ein Eingabemanager (452), ein Häufigkeitsmanager (454), ein Überwachungsmanager (456), ein Anpassungsmanager (458) und eine Leiteinheit (460).
  • Der Eingabemanager (452) ist für das Analysieren eines Eingabemusters für eine Anwendungseingabedatei (420) verantwortlich. In einer Ausführungsform stammen Daten zur Unterstützung der Anwendungsverarbeitung aus der Anwendungseingabedatei (420). In dem hierin gezeigten Beispiel handelt es sich um eine lokale Eingabedatei (420) des Datenspeichers (418). Das Eingabemuster bezieht sich auf die Anwendungsverarbeitung, der Daten aus der Eingabedatei (420) zugeordnet sind. Der Eingabemanager (452) erzeugt ein Ressourcenauslastungsmuster auf der Grundlage des Eingabemusters. Das Ressourcenauslastungsmuster stellt eine Abbildung der Ressourcennutzung zur Unterstützung der Anwendungsverarbeitung dar. Der Häufigkeitsmanager (454) wird in Kommunikation mit dem Eingabemanager (452) bereitgestellt. Um die unnötige Nutzung von Systemressourcen zu verringern, verwendet der Häufigkeitsmanager (454) das erzeugte Ressourcenauslastungsmuster, um eine Testhäufigkeit festzulegen, mit der die Verfügbarkeit von Systemressourcen für die Unterstützung der Anwendungsverarbeitung abgefragt wird. Genauer legt der Häufigkeitsmanager (454) die Testhäufigkeit im Hinblick auf das erstellte Ressourcenauslastungsmuster fest. Dementsprechend verringern der Eingabemanager (452) und der Häufigkeitsmanager die Häufigkeit, mit der Anwendungsressourcen getestet werden.
  • Der Überwachungsmanager (456) wird in Kommunikation mit dem Häufigkeitsmanager (454) bereitgestellt. Insbesondere überwacht der Überwachungsmanager (456) sowohl die Verfügbarkeit von Systemressourcen als auch die Anwendungsressourcennutzung im Hinblick auf die Eingabedatei (420). Ein System wird mit einer begrenzten Menge an Ressourcen bereitgestellt. Da die Anwendung Systemressourcen nutzt, ist die Verfügbarkeit verbleibender Ressourcen verringert. Die Leiteinheit (460), die in Kommunikation mit dem Überwachungsmanager (456) bereitgestellt wird, modifiziert dynamisch die Testhäufigkeit für eine oder mehrere ausgewählte, durch das Ressourcenauslastungsmuster festgelegte Zeitperioden. Genauer beschränkt die Leiteinheit (460) die Testhäufigkeit auf bestimmte Zeitperioden. Durch dynamisches Modifizieren der Testhäufigkeit kann die Leiteinheit (460) die Häufigkeit an einem bestimmten kritischen Punkt im Ressourcenauslastungsmuster erhöhen. In einer Ausführungsform handelt es sich bei dem kritischen Punkt um ein unerwartetes Absinken der Verfügbarkeit von Systemressourcen. Im Gegensatz hierzu kann die Leiteinheit (460) die Häufigkeit auf der Grundlage der Verfügbarkeit von Ressourcen für die Unterstützung der Anwendungsverarbeitung verringern. Wie in 2 gezeigt, kann die Testhäufigkeit während der Zeitperioden, in denen kein Anstieg der Ressourcennutzung vorhergesagt ist, verringert werden. Dementsprechend unterstützt die Leiteinheit (460) die dynamische Natur des Tests.
  • Die Testhäufigkeit ist unter Berücksichtigung des Ressourcenauslastungsmusters dynamisch anpassbar. In einer Ausführungsform kann das Testen auf der Grundlage der tatsächlichen Nutzung von Systemressourcen und nicht aufgrund eines vor der Anwendungsverarbeitung erstellten Musters dynamisch modifiziert werden. Der Anpassungsmanager (458) wird in Kommunikation mit der Leiteinheit (460) bereitgestellt, um die dynamische Funktionalität des Tests in Echtzeit zu unterstützen. Genauer passt der Anpassungsmanager (458) die ausgewählten Zeitperioden für das Testen auf der Grundlage einer Rückkopplungsschleife an. Wie in 3 gezeigt, berücksichtigt die Rückkopplungsschleife die in Echtzeit bewertete Ressourcenverfügbarkeit, so dass die Leiteinheit (460) den Häufigkeitstest auf der Grundlage der tatsächlichen Ressourcenkapazität dynamisch anpassen kann. Dementsprechend kann die Leiteinheit (460) die Häufigkeit des Tests auf der Grundlage des Ressourcenmusters und/oder der Echtzeitbewertung der Ressourcenkapazität dynamisch verwalten
  • Wie hierin gezeigt, werden die Manager und die Leiteinheit (452) bis (460) der Funktionseinheit (450) dem System (410) lokal, und genauer im Speicher (416) des Systems (410) befindlich, bereitgestellt. In einer Ausführungsform können sich die Manager und die Leiteinheit als Hardwarewerkzeuge außerhalb des Speichers (416) befinden, oder sie können als eine Kombination von Hardware und Software realisiert sein. Gleichermaßen können in einer Ausführungsform die Manager und die Leiteinheit in einem einzigen Funktionselement kombiniert sein, das die Funktionalität der einzelnen Elemente beinhaltet. Wie hierin gezeigt, sind jeder Manager und die Leiteinheit lokal bei einem Datenstandort gezeigt. In einer Ausführungsform können Sie jedoch kollektiv oder einzeln über einen gemeinsamen Bestand konfigurierbarer Computerressourcen verteilt sein und als eine Einheit funktionieren, um eine oder mehrere Aufgaben und aufgabenbezogene Aktivitäten in Echtzeit zu verwalten. Dementsprechend können die Manager und die Leiteinheit als Softwarewerkzeuge, Hardwarewerkzeuge oder als Kombination aus Software- und Hardwarewerkzeugen realisiert sein.
  • Unter Bezugnahme auf das Blockschaubild von 5 werden nun zusätzliche Einzelheiten im Hinblick auf das Realisieren einer Ausführungsform der vorliegenden Erfindung beschrieben. Das Computersystem beinhaltet einen oder mehrere Prozessoren, wie beispielsweise einen Prozessor (502). Dieser Prozessor (502) ist mit einer Datenübertragungsinfrastruktur (504) verbunden (z.B. ein Kommunikationsbus, eine Kreuzschiene (cross-over bar) oder ein Netzwerk).
  • Das Computersystem kann eine Anzeigeschnittstelle (506) beinhalten, die Grafiken, Text und andere Daten von der Kommunikationsinfrastruktur (504) (oder von einem nicht gezeigten Bildspeicher (frame buffer)) zur Anzeige an eine Anzeigeeinheit (508) weiterleitet. Das Computersystem beinhaltet zudem einen Hauptspeicher (510), vorzugsweise einen Speicher mit wahlfreiem Zugriff (RAM), und es kann zudem einen Sekundärspeicher (512) beinhalten. Der Sekundärspeicher (512) kann zum Beispiel ein Festplattenlaufwerk (514) und/oder ein Wechselspeicherlaufwerk (516) enthalten, das zum Beispiel für ein Floppy-Disketten-Laufwerk, ein Magnetbandlaufwerk oder ein optisches Festplattenlaufwerk steht. Das Wechselspeicherlaufwerk (516) liest von oder schreibt auf eine Wechselspeichereinheit (518) auf eine dem Fachmann wohlbekannte Weise. Die Wechselspeichereinheit (518) steht zum Beispiel für eine Floppy-Diskette, eine Compact Disc, ein Magnetband oder eine optische Platte usw., von denen oder auf die durch ein Wechselspeicherlaufwerk (516) gelesen bzw. geschrieben wird, Wie ersichtlich ist, beinhaltet die Wechselspeichereinheit (518) ein computerlesbares Medium mit darauf gespeicherter Computersoftware und/oder darauf gespeicherten Daten.
  • In alternativen Ausführungsformen kann der Sekundärspeicher (512) ein anderes ähnliches Mittel beinhalten, mit dem Computerprogramme oder andere Anweisungen auf das Computersystem geladen werden können. Zu solchen Mitteln können zum Beispiel eine Wechselspeichereinheit (520) und eine Schnittstelle (522) zählen. Zu Beispielen für solche Mittel können ein Programmpaket und eine Paketschnittstelle (wie in Videospieleinheiten anzutreffen), ein Wechselspeicherchip (wie beispielsweise ein EPROM oder PROM) und ein zugehöriger Sockel sowie andere Wechselspeichereinheiten (520) und Schnittstellen (522) zählen, mittels derer Software und Daten von der Wechselspeichereinheit (520) zum Computersystem übertragen werden können.
  • Das Computersystem kann zudem eine Datenübertragungsschnittstelle (524) beinhalten. Mittels der Datenübertragungsschnittstelle (524) können Software und Daten zwischen dem Computersystem und externen Einheiten übertragen werden. Zu Beispielen für die Datenübertragungsschnittstelle (524) können ein Modem, eine Netzwerkschnittstelle (wie beispielsweise eine Ethernet-Karte), ein Datenübertragungsanschluss oder ein PCMCIA-Steckplatz sowie eine PCMCIA-Karte usw. zählen. Über die Datenübertragungsschnittstelle (524) übertragene Software und Daten liegen in Form von Signalen vor, bei denen es sich zum Beispiel um elektronische, elektromagnetische, optische oder andere Signale handeln kann, die in der Lage sind, durch die Datenübertragungseinheit (524) empfangen zu werden. Die Signale werden der Datenübertragungseinheit (524) über einen Datenübertragungspfad (d.h. einen Kanal) (526) bereitgestellt. Der Datenübertragungspfad (526) trägt Signale und kann mittels Draht oder Kabel, Lichtwellenleitertechnik, einer Telefonverbindung, einer Mobiltelefonverbindung, einer Hochfrequenz(HF)-Verbindung und/oder anderen Datenübertragungskanälen realisiert sein.
  • In diesem Dokument werden die Begriffe „Computerprogrammmedium“, „von Computern verwendbares Medium“ und „computerlesbares Medium“ allgemein zur Bezeichnung von Medien wie beispielsweise dem Hauptspeicher (510) und dem Sekundärspeicher (512), dem Wechselspeicherlaufwerk (516) und einer im Festplattenlaufwerk (514) installierten Festplatte verwendet.
  • Computerprogramme (auch als Computersteuerlogik bezeichnet) werden im Hauptspeicher (510) und/oder im Sekundärspeicher (512) gespeichert. Computerprogramme können auch über eine Datenübertragungsschnittstelle (524) empfangen werden. Derartige Computerprogramme erlauben es dem Computersystem bei ihrer Ausführung, die Merkmale der vorliegenden Erfindung wie hierin erläutert durchzuführen. Insbesondere ermöglichen es die Computerprogramme bei ihrer Ausführung dem Prozessor (502), die Funktionen des Computersystems durchzuführen. Dementsprechend stehen solche Computerprogramme für Steuereinheiten des Computersystems.

Claims (13)

  1. Verfahren, aufweisend: - Analysieren einer Anwendungseingabedatei und Erstellen eines theoretischen Ressourcenauslastungsmusters auf der Grundlage der Eingabedatei, wobei sich das theoretische Ressourcenauslastungsmuster auf die Verarbeitung der Eingabedatei durch die Anwendung bezieht; - Festlegen einer Testhäufigkeit zum Abfragen einer Systemressourcenverfügbarkeit als Reaktion auf das erstellte theoretische Ressourcenauslastungsmuster; - Überwachen - gemäß der festgelegten Testhäufigkeit - sowohl der Systemressourcenverfügbarkeit als auch der tatsächlichen Anwendungsressourcennutzung für das Verarbeiten der Anwendungseingabedatei; - Erzeugen eines tatsächlichen Ressourcenauslastungsmusters; - Identifizieren von einem oder mehreren Übergangspunkten auf der Grundlage des tatsächlichen Ressourcenauslastungsmusters, wobei der eine oder die mehreren Übergangspunkte einen Zeitpunkt angeben, zu dem eine Änderung der Ressourcenauslastung erwartet wird; - dynamisches Ändern der Testhäufigkeit mit Bezug auf einen oder mehrere identifizierte Übergangspunkte, wobei die Änderung ausgewählt wird unter: - Erhöhen der Testhäufigkeit und Verringern der Testhäufigkeit; und - Testen der wenigstens einen Systemressource bei der geänderten Testhäufigkeit vor Erreichen des Übergangspunkts und Fortsetzen des Testens bei der geänderten Testhäufigkeit, - wobei festgestellt wird, ob genügend Ressourcen verfügbar sind und der Anwendung zugewiesen sind, - wobei auf eine negative Feststellung die Anwendung pausiert wird, bis genügend Ressourcen verfügbar werden und die Pause beendet wird, und - auf eine positive Feststellung die Anwendung fortgeführt wird.
  2. Verfahren nach Anspruch 1, wobei das dynamische Ändern der Testhäufigkeit ein Erhöhen der Testhäufigkeit an einem im Ressourcenauslastungsmuster erkannten kritischen Punkt beinhaltet.
  3. Verfahren nach Anspruch 2, wobei der kritische Punkt einem Anstieg der für die Anwendung zum Verarbeiten der Anwendungseingabedatei benötigten Systemressourcen vorangeht.
  4. Verfahren nach Anspruch 1, wobei das dynamische Ändern der Testhäufigkeit ein Verringern der Testhäufigkeit auf der Grundlage einer bekannten Zeitperiode beinhaltet, in der auf der Grundlage des Ressourcenauslastungsmusters von der Anwendung keine Erhöhung der Ressourcen benötigt wird, um die Anwendungseingabedatei zu verarbeiten.
  5. Verfahren nach Anspruch 1, weiterhin aufweisend ein Anpassen der ausgewählten, durch das Ressourcenauslastungsmuster festgelegten Zeitperioden auf der Grundlage einer Rückkopplungsschleife.
  6. Verfahren nach Anspruch 5, wobei die Rückkopplungsschleife ein tatsächliches Muster benötigter Ressourcen beinhaltet.
  7. System, aufweisend: - eine Verarbeitungseinheit in Kommunikation mit einem Speicher; - eine Funktionseinheit in Kommunikation mit dem Speicher, wobei die Funktionseinheit aufweist: - einen Eingabemanager zum Analysieren einer Anwendungseingabedatei und zum Erstellen eines theoretischen Ressourcenauslastungsmusters auf der Grundlage der Eingabedatei, wobei sich das theoretische Ressourcenauslastungsmuster auf die Verarbeitung der Eingabedatei durch die Anwendung bezieht; - einen Häufigkeitsmanager in Kommunikation mit dem Eingabemanager zum Festlengen einer Testhäufigkeit zum Abfragen einer Systemressourcenverfügbarkeit als Reaktion auf das erstellte theoretische Ressourcenauslastungsmuster; - einen Überwachungsmanager in Kommunikation mit dem Häufigkeitsmanager zum Überwachen - gemäß der festgelegten Testhäufigkeit - sowohl der Systemressourcenverfügbarkeit als auch die tatsächlichen Anwendungsressourcennutzung für das Verarbeiten der Anwendungseingabedatei, zum Erzeugen eines tatsächlichen Ressourcenauslastungsmusters und zum Identifizieren von einem oder mehreren Übergangspunkten auf der Grundlage des tatsächlichen Ressourcenauslastungsmusters, wobei der eine oder die mehreren Übergangspunkte einen Zeitpunkt angeben, zu dem eine Änderung der Ressourcenauslastung erwartet wird; - eine Leiteinheit in Kommunikation mit dem Überwachungsmanager zum dynamischen Ändern der Testhäufigkeit mit Bezug auf einen oder mehrere identifizierte Übergangspunkte, wobei die Änderung ausgewählt wird unter: - Erhöhen der Testhäufigkeit und Verringern der Testhäufigkeit und - Testen der wenigstens einen Systemressource bei der geänderten Testhäufigkeit vor Erreichen des Übergangspunkts und Fortsetzen des Testens bei der geänderten Testhäufigkeit, - wobei festgestellt wird, ob genügend Ressourcen verfügbar sind und der Anwendung zugewiesen sind, - wobei auf eine negative Feststellung die Anwendung pausiert wird, bis genügend Ressourcen verfügbar werden und die Pause beendet wird, und - auf eine positive Feststellung die Anwendung fortgeführt wird.
  8. System nach Anspruch 7, weiterhin aufweisend, dass die Leiteinheit dazu dient, die Testhäufigkeit an einem im Ressourcenauslastungsmuster erkannten kritischen Punkt zu erhöhen.
  9. System nach Anspruch 7, weiterhin aufweisend, dass die Leiteinheit dazu dient, die Testhäufigkeit auf der Grundlage einer bekannten Zeitperiode zu verringern, in der auf der Grundlage des Ressourcenauslastungsmusters von der Anwendung keine Erhöhung der Ressourcen benötigt wird, um die Anwendungseingabedatei zu verarbeiten..
  10. System nach Anspruch 7 weiterhin aufweisend einen Anpassungsmanager in Kommunikation mit der Leiteinheit, wobei der Anpassungsmanager dazu dient, die ausgewählten, durch das Ressourcenauslastungsmuster festgelegten Zeitperioden auf der Grundlage einer Rückkopplungsschleife anzupassen.
  11. Computerprogrammprodukt, das ein computerlesbares Speichermedium mit darin ausgebildetem computerlesbarem Programmcode aufweist, der bei Ausführen einen Computer veranlasst, ein Verfahren zu realisieren, das aufweist: - Analysieren einer Anwendungseingabedatei und Erstellen eines theoretischen Ressourcenauslastungsmusters auf der Grundlage der Eingabedatei, wobei sich das theoretische Ressourcenauslastungsmuster auf die Verarbeitung der Eingabedatei durch die Anwendung bezieht; - Festlegen einer Testhäufigkeit zum Abfragen einer Systemressourcenverfügbarkeit als Reaktion auf das erstellte theoretische Ressourcenauslastungsmuster; - Überwachen - gemäß der festgelegten Testhäufigkeit - sowohl der Systemressourcenverfügbarkeit als auch der tatsächlichen Anwendungsressourcennutzung für das Verarbeiten der Anwendungseingabedatei; - Erzeugen eines tatsächlichen Ressourcenauslastungsmusters; - Identifizieren von einem oder mehreren Übergangspunkten auf der Grundlage des tatsächlichen Ressourcenauslastungsmusters, wobei der eine oder die mehreren Übergangspunkte einen Zeitpunkt angeben, zu dem eine Änderung der Ressourcenauslastung erwartet wird; - dynamisches Ändern der Testhäufigkeit mit Bezug auf einen oder mehrere identifizierte Übergangspunkte, wobei die Änderung ausgewählt wird unter: - Erhöhen der Testhäufigkeit und Verringern der Testhäufigkeit; und - Testen der wenigstens einen Systemressource bei der geänderten Testhäufigkeit vor Erreichen des Übergangspunkts und Fortsetzen des Testens bei der geänderten Testhäufigkeit, - wobei festgestellt wird, ob genügend Ressourcen verfügbar sind und der Anwendung zugewiesen sind, - wobei auf eine negative Feststellung die Anwendung pausiert wird, bis genügend Ressourcen verfügbar werden und die Pause beendet wird, und - auf eine positive Feststellung die Anwendung fortgeführt wird.
  12. Computerprogrammprodukt nach Anspruch 11, wobei das dynamische Ändern der Testhäufigkeit ein Erhöhen der Testhäufigkeit an einem im Ressourcenauslastungsmuster erkannten kritischen Punkt beinhaltet.
  13. Computerprogrammprodukt nach Anspruch 12, wobei der kritische Punkt einem Anstieg der für die Anwendung zum Verarbeiten der Anwendungseingabedatei benötigten verfügbaren Systemressourcen vorangeht.
DE102012224362.3A 2012-01-09 2012-12-27 Anpassung einer Testhäufigkeit für die Ressourcenauslastung Active DE102012224362B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/345,806 2012-01-09
US13/345,806 US9069881B2 (en) 2012-01-09 2012-01-09 Adaptation of probing frequency for resource consumption

Publications (2)

Publication Number Publication Date
DE102012224362A1 DE102012224362A1 (de) 2013-07-11
DE102012224362B4 true DE102012224362B4 (de) 2019-05-29

Family

ID=47602385

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012224362.3A Active DE102012224362B4 (de) 2012-01-09 2012-12-27 Anpassung einer Testhäufigkeit für die Ressourcenauslastung

Country Status (4)

Country Link
US (1) US9069881B2 (de)
CN (1) CN103310090B (de)
DE (1) DE102012224362B4 (de)
GB (1) GB2500079B (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311146B2 (en) * 2013-05-24 2016-04-12 International Business Machines Corporation Strategic placement of jobs for spatial elasticity in a high-performance computing environment
CN105204923A (zh) * 2014-06-27 2015-12-30 国际商业机器公司 用于资源预配置的方法和装置
US9825875B2 (en) * 2015-03-31 2017-11-21 Alcatel Lucent Method and apparatus for provisioning resources using clustering
US10554510B2 (en) * 2017-02-22 2020-02-04 Red Hat, Inc. Enabling additional metrics in a monitoring system to diagnose problems
US11036408B2 (en) * 2017-03-26 2021-06-15 Oracle International Corporation Rule-based modifications in a data storage appliance monitor
US20230004475A1 (en) * 2019-11-28 2023-01-05 Siemens Aktiengesellschaft Method and Apparatus for Determining Collection Frequency, Computer Device, and Storage Medium
US11500686B2 (en) * 2020-07-31 2022-11-15 International Business Machines Corporation Resource management of a software application with multiple software components

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153537A1 (en) * 2000-09-06 2004-08-05 Xanboo, Inc. Adaptive method for polling
US7734724B2 (en) * 2000-09-06 2010-06-08 Xanboo Inc. Automated upload of content based on captured event
US6609083B2 (en) 2001-06-01 2003-08-19 Hewlett-Packard Development Company, L.P. Adaptive performance data measurement and collections
JP2005004336A (ja) 2003-06-10 2005-01-06 Hitachi Ltd リソース監視方法および装置ならびにリソース監視プログラム
US6985825B1 (en) * 2003-07-15 2006-01-10 Advanced Micro Devices, Inc. Method and apparatus for adaptive sampling based on process covariance
US20050125797A1 (en) 2003-12-09 2005-06-09 International Business Machines Corporation Resource management for a system-on-chip (SoC)
US20050278381A1 (en) * 2004-05-26 2005-12-15 Yixin Diao Method and apparatus for online sample interval determination
US7206845B2 (en) * 2004-12-21 2007-04-17 International Business Machines Corporation Method, system and program product for monitoring and controlling access to a computer system resource
US8156500B2 (en) * 2005-07-01 2012-04-10 Microsoft Corporation Real-time self tuning of planned actions in a distributed environment
US8365182B2 (en) 2006-10-02 2013-01-29 International Business Machines Corporation Method and system for provisioning of resources
JP5051135B2 (ja) * 2006-11-06 2012-10-17 日本電気株式会社 資源情報収集装置、資源情報収集方法、プログラム、および、収集スケジュール生成装置
US7934027B2 (en) 2007-01-19 2011-04-26 Hewlett-Packard Development Company, L.P. Critical resource management
US7848348B2 (en) * 2007-04-13 2010-12-07 At&T Intellectual Property I, L.P. System and method for managing network traffic
US8543711B2 (en) * 2007-04-30 2013-09-24 Hewlett-Packard Development Company, L.P. System and method for evaluating a pattern of resource demands of a workload
US8219657B2 (en) * 2008-06-13 2012-07-10 Microsoft Corporation Automatic request categorization for internet applications
US20100004916A1 (en) * 2008-07-03 2010-01-07 The Boeing Company Process Analyzer
US8370472B2 (en) 2008-09-02 2013-02-05 Ca, Inc. System and method for efficient machine selection for job provisioning
US20100131959A1 (en) 2008-11-26 2010-05-27 Spiers Adam Z Proactive application workload management
US8321862B2 (en) 2009-03-20 2012-11-27 Oracle America, Inc. System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy
US8769529B2 (en) 2009-07-24 2014-07-01 Novell, Inc. Generating and automatically loading reduced operating system based on usage pattern of applications
US9075665B2 (en) * 2010-06-29 2015-07-07 International Business Machines Corporation Smoothing peak system load via behavior prediction in collaborative systems with temporal data access patterns
US8438570B2 (en) * 2010-07-31 2013-05-07 International Business Machines Corporation Resource allocator with knowledge-based optimization
US8527626B1 (en) * 2010-09-29 2013-09-03 Emc Corporation Managing system polling
US8724612B2 (en) * 2011-01-04 2014-05-13 Apple Inc. Adaptive timers for polling in a mobile wireless device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Eranian, S. „perfmon2: a flexible performance monitoring interface for Linux", Ottawa Linux Symposium 2006, Ottawa, Canada, Juli 2006
ERANIAN, S.: Perfmon2: a flexible performance monitoring interface for Linux. IN: Otta-wa Linux Symposium 2006, Ottawa Canada. Juli 2006 [recherchiert am 27.05.2010]. Im Internet: <URL: http://perfmon2.sourceforge.net/ols2006-perfmon2.pdf> *

Also Published As

Publication number Publication date
CN103310090B (zh) 2016-07-06
US9069881B2 (en) 2015-06-30
GB2500079B (en) 2014-05-07
US20130179893A1 (en) 2013-07-11
GB201222265D0 (en) 2013-01-23
GB2500079A (en) 2013-09-11
CN103310090A (zh) 2013-09-18
DE102012224362A1 (de) 2013-07-11

Similar Documents

Publication Publication Date Title
DE102012224362B4 (de) Anpassung einer Testhäufigkeit für die Ressourcenauslastung
DE112006003081B4 (de) Leistungspriorisierung in Multithreadprozessoren
DE60318468T2 (de) Verfahren zur lösung von entscheidungslosigkeiten in einem cluster-rechnersystem
EP1831786B1 (de) Verfahren zur verteilung von rechenzeit in einem rechnersystem
DE60220287T2 (de) System und verfahren zur überwachung von software-warteschlangenanwendungen
DE112010005473T5 (de) Opportunistisches multitasking
DE602005003506T2 (de) Methode und Apparat zum Verbessern der Synchronisierung einer Verarbeitungseinheit für Multimedia-streams in einer multi-threaded Umgebung
DE10309246B4 (de) Verfahren für das Event Management
DE60122085T2 (de) Datenverarbeitungsgerät für serielles Kommunikationssystem
DE19535546B4 (de) Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems
DE112013000812T5 (de) Variable Bestätigungsrate zum Verringern von Buskonflikt in Gegenwart von Datenübertragungsfehlern
DE102009056282A1 (de) Technik zum Steuern von Verarbeitungsressourcen
DE102009004726A1 (de) Systeme und Verfahren zum Verfolgen von Befehlszeigern und Datenzugriffen
DE69120362T2 (de) Speicherverwaltung in einem Datenverarbeitungsnetzwerk
DE112013000770B4 (de) Höhere Auslagerungseffizienz
DE102013211266B4 (de) Aufrechterhalten der Bandbreiten-Servicequalität einer Hardware-Ressource über einen Hardware-Zähler
EP3705993B1 (de) System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk
DE102020123911A1 (de) Synchronisierung des verhaltens mehrerer instrumente mithilfe von aufträgen und zwischenzielen
DE10360535B4 (de) Einrichtung und Verfahren zur Steuerung und Kontrolle von Überwachungsdetektoren in einem Knoten eines Clustersystems
DE102005024673A1 (de) Einrichtung, Verfahren und Computerprodukt für Plattenverwaltung
DE102021124135B4 (de) Verfahren und Vorrichtung zur digitalen Signalverarbeitung
DE112021003240B4 (de) Weiterleiten von zugeteilten anweisungen
EP3163444B1 (de) Rechnerverbund mit automatisierter anforderung und zuordnung von cloud-ressourcen
DE10360319B3 (de) Verfahren zum Steuern der Auslastung einer Datenverarbeitungsanlage
DE2352696A1 (de) Registrierverfahren mit rueckkopplung fuer programmablaeufe

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final