DE102005021853A1 - Flexiblere Überwachung und Wiederherstellung von Prozessen auf Datenverarbeitungssystemen - Google Patents

Flexiblere Überwachung und Wiederherstellung von Prozessen auf Datenverarbeitungssystemen Download PDF

Info

Publication number
DE102005021853A1
DE102005021853A1 DE102005021853A DE102005021853A DE102005021853A1 DE 102005021853 A1 DE102005021853 A1 DE 102005021853A1 DE 102005021853 A DE102005021853 A DE 102005021853A DE 102005021853 A DE102005021853 A DE 102005021853A DE 102005021853 A1 DE102005021853 A1 DE 102005021853A1
Authority
DE
Germany
Prior art keywords
processes
groups
dependencies
data processing
group
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.)
Withdrawn
Application number
DE102005021853A
Other languages
English (en)
Inventor
Luis Ortega
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.)
Siemens AG
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 DE102005021853A priority Critical patent/DE102005021853A1/de
Priority to GB0609153A priority patent/GB2426088A/en
Priority to US11/432,175 priority patent/US20070005936A1/en
Publication of DE102005021853A1 publication Critical patent/DE102005021853A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung betrifft ein Datenverarbeitungssystem mit Mitteln zur Verwaltung von auf dem System ablaufenden Prozessen, wobei eine Zusammenfassung von Prozessen in Gruppen vorgesehen ist, und ein Verfahren zur Wiederaufnahme von Abläufen eines Datenverarbeitungssystems. Erfindungsgemäß ist die Prozessverwaltung für eine Herstellung von Abhängigkeiten zwischen Prozessgruppen oder einzelnen Prozessen und Prozessgruppen ausgestaltet. Bei dem Verfahren wird die Wiederaufnahme eines Ablaufs eines Datenverarbeitungssystems nach Maßgabe der Abhängigkeiten zwischen Prozessgruppen oder einzelnen Prozessen und Prozessgruppen vorgenommen. Die Erfindung hat den Vorteil einer flexibleren Strukturierung von Prozessgruppen.

Description

  • Die Erfindung betrifft ein Datenverarbeitungssystem mit Mitteln zur Verwaltung von auf dem System ablaufenden Prozessen, wobei eine Zusammenfassung von Prozessen in Gruppen vorgesehen ist, und ein Verfahren zur Wiederaufnahme von Abläufen eines Datenverarbeitungssystems.
  • An Datenverarbeitungssysteme besteht die Anforderung, dass mehrere Aufgaben (Tasks) simultan bearbeitet werden. Beispielsweise bedient ein Benutzer seinen PC (Personal Computer), um ein Computerspiel zu spielen, während gleichzeitig auf dem Computer Aktivitäten bzw. Vorgänge laufen, um ankommende Emails zu empfangen und andere Applikationen, z.B. Anzeige der Zeit, auszuführen. Da die meisten im privaten und geschäftlichen Bereich benutzten Rechner lediglich einen Prozessor bzw. eine CPU haben, besteht die Anforderung an den Rechner, mit einer CPU mehrere Programme simultan zu bewältigen. Diese Anforderung gilt auch bei moderneren Datenverarbeitungssystemen mit mehreren Prozessoren, da häufig die Anzahl der zu bewältigenden Programme bzw. Tasks die der Prozessoren übersteigt.
  • Dieser Anforderung wird in modernen Rechnersystemen dadurch entsprochen, dass der Prozessor bzw. die CPU (Central Processing Unit) zwischen verschiedenen Programmen in einem schnellen Rhythmus (typischerweise im Bereich von zehn oder 100 Millisekunden) wechselt, was auf der für den Benutzer relevanten Zeitskala dazu führt, dass diesem eine parallele Bearbeitung der Programme suggeriert wird. Man spricht hier auch von einem Pseudoparallelismus im Gegensatz zu einem echten Parallelismus, der die Bearbeitung durch verschiedene Prozessoren bezeichnet. Um diese Vorgehensweise von Prozessoren zu veranschaulichen, hat man ein Modell entwickelt, demzufolge auf einer Datenverarbeitungsanlage verschiedene Prozesse ab laufen. Die Vorstellung ist dabei, dass Prozesse gleichzeitig ablaufen, während tatsächlich bei einer CPU immer nur ein Programm bearbeitet wird. Man tut also so, als ob jeder Prozess seine eigene CPU hätte. Dieses Prozesskonzept wird auch in der Regel bei Mehrprozessorsystemen angewandt. Die verschiedenen quasi parallel abgearbeiteten Programmabläufe werden also als Prozesse bezeichnet. Eine Verwaltung dieser Prozesse findet üblicherweise mit Hilfe des Betriebssystems des entsprechenden Rechensystems statt. Ein Beispiel für die Verwaltung von Prozessen mittels Kommandos des Betriebssystems ist bei Unix der Befehl „fork" und bei Windows der in Win32 vorgesehene Funktionsablauf „create process", durch welche jeweils ein neuer Prozess generiert wird.
  • Vor allem bei Systemunterbrechungen oder Systemabstürzen kann bei der Wiederherstellung des Betriebszustandes eine Rolle spielen, dass die ablaufenden Prozesse häufig nicht unabhängig voneinander sind. Um dieser Tatsache Rechnung zu tragen, wurde innerhalb moderner Betriebssysteme das Konzept von Prozessgruppen aufgenommen. Dieses Konzept, Prozesse in Gruppen einzuteilen, wurde zuerst in der nach seiner Herkunft Berkeley benannten Variante von Unix eingeführt (Berkeley Unix). Unix verwendet Prozessgruppen, wobei ein durch einen anderen Prozess erzeugter Prozess zu derselben Gruppe gehört. Demgegenüber gab es in frühen Windows-Versionen keine Möglichkeit zur Gruppierung von Prozessen. Die Möglichkeit, Prozesse zu Gruppen zusammenzufassen, wurde dann in Windows 2000 vorgesehen. Windows 2000 stellt Tools für die Prozesskontrolle (Process Control) zur Verfügung, welche das Feature „Job Objects" umfasst, welches erlaubt, mehrere Prozesse zu einer Gruppe zusammenzufassen und als eine Einheit zu verwalten.
  • Die Erfindung hat zur Aufgabe, eine flexiblere und benutzerfreundlichere Verwaltung von Prozessen auf Datenverarbeitungsanlagen zu ermöglichen.
  • Die Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst.
  • Die Erfindung beruht auf der Beobachtung, dass eine Flexibilisierung und eine Erweiterung der Strukturierungsmöglichkeiten von Prozessen durch die Einführung von Abhängigkeiten zwischen Gruppen erzielt werden kann. Daher wird erfindungsgemäß vorgeschlagen, die Prozessverwaltung dahingehend zu erweitern, dass die Herstellung von Abhängigkeiten zwischen Prozessgruppen oder einzelnen Prozessen und Prozessgruppen vorgesehen wird. Ein Spezialfall ist dabei die Herstellung von Abhängigkeiten zwischen Prozessgruppen gleichzeitig mit der Herstellung von Abhängigkeiten zwischen Einzelprozessen und Prozessgruppen. Die erfindungsgemäß eingeführten Abhängigkeiten können in einer Konfigurationsdatei oder einem Skript in der Datenverarbeitungseinrichtung festgehalten bzw. erfasst werden.
  • Die Erfindung erlaubt bei der Prozessverwaltung flexibler vorzugehen es bestehen mehr Freiheiten für die Gestaltung von Gruppen und die damit die Einführung einer neuen Hierarchieebene. Die Prozessverwaltung wird damit benutzerfreundlicher und vielseitiger.
  • Die erfindungsgemäß neu eingeführten Abhängigkeiten können in einem Verfahren zur Wiederaufnahme von Abläufen eines Datenverarbeitungssystems, welches ebenso Gegenstand dieser Anmeldung ist, berücksichtigt werden. Dieses Verfahren sieht vor, dass wenn ein oder mehrere auf dem Datenverarbeitungssystem laufende Prozesse unterbrochen werden, beispielsweise bei einem fehlerhaften Abbruch oder einer Störung, für den Neustart des Prozesses eine Abhängigkeit des Prozesses oder der den Prozess umfassenden Prozessgruppe von anderen Prozessgruppen ermittelt und diese Abhängigkeiten bei dem Neustart insofern berücksichtigt werden, als dass Prozesse abhängiger Gruppen abgebrochen und nach Maßgabe der durch die Abhängigkeiten bedingten Reihenfolge neu gestartet werden.
  • Es ist sinnvoll auf diese Weise alle Gruppen von Prozessen betreffenden Abhängigkeiten zu berücksichtigen und die Pro zesse etwaiger abhängiger Gruppen neu zu starten, wobei die Reihenfolge des Neustarts nach Maßgabe der hergestellten Abhängigkeiten erfolgt. Für diesen Neustart kann eine Informationsquelle, wie z. B. eine Konfigurationsdatei oder ein Skript, in welchen die Abhängigkeiten festgehalten werden, ausgewertet werden.
  • Im Folgenden wird der Erfindungsgegenstand im Rahmen eines Ausführungsbeispiels an Hand einer Figur näher erläutert.
  • Die Figur zeigt zwei Gruppen von Prozessen, wobei die Gruppe 2 die Prozesse D, E, F und die Gruppe 1 die Prozesse A, B, C umfasst. Die Gruppe 1 ist dabei abhängig von der Gruppe 2. Im Rahmen des Ausführungsbeispiels wird angenommen, dass Prozesse A, B, C, D, E und F existieren, die voneinander abhängig sind. Herkömmlich können diese Prozesse nur in einer (großen) Gruppe zusammengefasst werden. Die Erfindung erlaubt eine bessere Strukturierung der Prozesse.
  • Zur detaillierteren Beschreibung werden folgende Abhängigkeiten angenommen. Die Prozesse A, B, und C sind komplett unabhängig und lassen sich so in Gruppe 1 sammeln. Die Prozesse D, E und F sind abhängig vom Prozess A und lassen sich so in Gruppe 2 sammeln. Die Gruppe 2 ist damit abhängig von Gruppe 1 und muss bei einem Neustart nach Gruppe 1 gestartet werden. Dies wird erfindungsgemäß unterstützt, wobei diese Abhängigkeit der Gruppe 2 von der Gruppe 1 in einem Konfigurationsfile, beispielsweise einem XML-File festgehalten wird. Wenn nun eine der Prozesse der Gruppe 1 A, B, C ausfällt und deswegen die Prozesse der Gruppe 1 neu gestartet werden sollen, wird für den Neustart das Konfigurationsfile, in dem die Abhängigkeiten festgehalten sind, ausgewertet und dabei festgestellt, dass die Prozesse der Gruppe 2 von denen der Gruppe 1 abhängig sind. Daher werden die Prozesse der Gruppe 2 D, E und F abgebrochen und bei deren Neustart nach den Prozessen der Gruppe 1 gestartet. Auf diese Weise ist sichergestellt, dass es zu keinen Fehlern kommt, die bei einem gleichzeitigen Start der Prozesse von Gruppe 1 und Gruppe 2 zu erwarten wären.
  • Die Erfindung ist nicht auf diesen einfachen Ausführungsfall beschränkt. Insbesondere lasse sich durch die erfindungsgemäße Einführung von Gruppenabhängigkeiten komplexere Abhängigkeiten zwischen Prozessen geeignet verwalten.

Claims (6)

  1. Datenverarbeitungssystem mit Mitteln zur Verwaltung von auf dem System ablaufenden Prozessen, wobei eine Zusammenfassung von Prozessen in Gruppen vorgesehen ist, dadurch gekennzeichnet, dass die Prozessverwaltung für eine Herstellung von Abhängigkeiten zwischen Prozessgruppen oder einzelnen Prozessen und Prozessgruppen ausgestaltet ist.
  2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, dass eine Konfigurationsdatei gegeben ist, in dem Abhängigkeiten zwischen Prozessgruppen oder einzelnen Prozessen und Prozessgruppen erfasst werden.
  3. Verfahren zur Wiederaufnahme von Abläufen eines Datenverarbeitungssystems, dadurch gekennzeichnet, dass – Abhängigkeiten zwischen Gruppen von Prozessen oder zwischen einzelnen Prozessen und Prozessgruppen hergestellt werden, – der Ablauf mindestens eines auf dem Datenverarbeitungssystem laufenden Prozesses unterbrochen wird, – mindestens eine den abgebrochenen Prozess nicht umfassende Prozessgruppe ermittelt wird, für welche eine Abhängigkeit von einer den unterbrochenen Prozess umfassenden Prozessgruppe oder von dem unterbrochenen Prozess besteht, – die Prozesse der ermittelten Prozessgruppe abgebrochen werden, und – der unterbrochene Prozess und die Prozesse der Prozessgruppe neu gestartet werden, wobei die Reihenfolge des Neustarts nach Maßgabe der hergestellten Abhängigkeiten erfolgt.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass – der Ablauf eines Prozesses einer Prozessgruppe unterbrochen wird, – alle Prozesse der von der Prozessgruppe abhängigen Prozessgruppen abgebrochen werden, – der unterbrochene Prozess und die abgebrochenen Prozesse neu gestartet werden, wobei die Reihenfolge des Neustarts nach Maßgabe der hergestellten Abhängigkeiten zwischen Prozessgruppen erfolgt.
  5. Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass eine Konfigurationsdatei gegeben ist, in dem Abhängigkeiten zwischen Prozessgruppen oder Prozessen und Prozessgruppen erfasst werden.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass für den Neustart die Konfigurationsdatei hinsichtlich der dort erfassten Abhängigkeiten ausgewertet wird.
DE102005021853A 2005-05-11 2005-05-11 Flexiblere Überwachung und Wiederherstellung von Prozessen auf Datenverarbeitungssystemen Withdrawn DE102005021853A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102005021853A DE102005021853A1 (de) 2005-05-11 2005-05-11 Flexiblere Überwachung und Wiederherstellung von Prozessen auf Datenverarbeitungssystemen
GB0609153A GB2426088A (en) 2005-05-11 2006-05-09 Flexible monitoring and recovery of processes on data processing systems
US11/432,175 US20070005936A1 (en) 2005-05-11 2006-05-11 More flexible monitoring and recovery of processes on data processing systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005021853A DE102005021853A1 (de) 2005-05-11 2005-05-11 Flexiblere Überwachung und Wiederherstellung von Prozessen auf Datenverarbeitungssystemen

Publications (1)

Publication Number Publication Date
DE102005021853A1 true DE102005021853A1 (de) 2006-11-16

Family

ID=36637151

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005021853A Withdrawn DE102005021853A1 (de) 2005-05-11 2005-05-11 Flexiblere Überwachung und Wiederherstellung von Prozessen auf Datenverarbeitungssystemen

Country Status (3)

Country Link
US (1) US20070005936A1 (de)
DE (1) DE102005021853A1 (de)
GB (1) GB2426088A (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239709B2 (en) * 2009-08-12 2012-08-07 Apple Inc. Managing extrinsic processes
US8250404B2 (en) * 2009-12-31 2012-08-21 International Business Machines Corporation Process integrity of work items in a multiple processor system
CN114513557A (zh) * 2021-12-21 2022-05-17 上海赛可出行科技服务有限公司 一种金融系统发布业务不中断的微服务通信方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4096561A (en) * 1976-10-04 1978-06-20 Honeywell Information Systems Inc. Apparatus for the multiple detection of interferences
US6487580B1 (en) * 1995-09-25 2002-11-26 International Business Machines Corporation Method and system for managing concurrently executable computer processes
US5787249A (en) * 1996-04-30 1998-07-28 International Business Machines Coporation Method for managing membership of a group of processors in a distributed computing environment
US5790772A (en) * 1996-04-30 1998-08-04 International Business Machines Corporation Communications method involving groups of processors of a distributed computing environment
US5991821A (en) * 1996-04-30 1999-11-23 International Business Machines Corporation Method for serializing actions of independent process groups
US6763369B1 (en) * 1999-07-13 2004-07-13 Interactive Intelligence, Inc. Hierarchical process management in an intelligent call processing system
JP2001331330A (ja) * 2000-05-19 2001-11-30 Fujitsu Ltd プロセス異常検知及び復旧システム
US7089561B2 (en) * 2001-06-01 2006-08-08 Microsoft Corporation Methods and systems for creating and communicating with computer processes
US7117500B2 (en) * 2001-12-20 2006-10-03 Cadence Design Systems, Inc. Mechanism for managing execution of interdependent aggregated processes
US20060294006A1 (en) * 2005-06-28 2006-12-28 International Business Machines Corporation Business transaction process controller for composite transactions

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHAPIRO, M.W. et al.: Self-Healing in Modern Operating Systems. Queue December/January 2004- 2005, Vol. 2, Issue 9, ACM Press, S. 67-75 *

Also Published As

Publication number Publication date
US20070005936A1 (en) 2007-01-04
GB2426088A (en) 2006-11-15
GB0609153D0 (en) 2006-06-21

Similar Documents

Publication Publication Date Title
DE112010003595B4 (de) Verfahren, Systeme und maschinenverarbeitbares Medium zur Bereitstellung einer verteiltenPrädikatvorhersage
DE69829693T2 (de) Prozessor mit mehrfachprogrammzählern und ablaufverfolgungspuffern ausserhalb einer ausführungspipeline
DE69831732T2 (de) Verfahren und gerät zum korrigieren von fehlern in einem rechnersystem
DE19781850B4 (de) Mikroprozessor zum spekulativen Ausführen von Befehlen aus mehreren von einem Verzweigungsbefehl angezeigten Befehlsströmen, Verfahren und Computersystem mit Mikroprozessor
DE112010004530B4 (de) Transaktionsaktualisierung bei Dynamischen Verteilten Arbeitslasten
DE102010052680A1 (de) Ein Befehl, um einen Prozessor-Wartezustand zu ermöglichen
DE112010003492T5 (de) Transaktionsspeichersystem mit wirksamerZwischenspeicherunterstützung
DE112004002267T5 (de) Ruhezustandsmechansimus für virtuelles Multithreading
DE112006003453T5 (de) Per-Satz-Relaxation der Cache-Inklusion
EP2492832A1 (de) Optimierung einer auf einem Client-Server-System implementierten Softwareapplikation
DE202017106569U1 (de) Analyse grossangelegter Datenverarbeitungsaufträge
EP2962205B1 (de) Mehrkern-prozessorsystem mit fehleranalysefunktion
Xu et al. Selective inhibition of a multicomponent response can be achieved without cost
DE112011101759T5 (de) Sampling von Leerlauftransitionen
DE102005021853A1 (de) Flexiblere Überwachung und Wiederherstellung von Prozessen auf Datenverarbeitungssystemen
DE112011100168T5 (de) Erfassen von Diagnosedaten in einer Datenverarbeitungsumgebung
DE112011104830T5 (de) Ein Verfahren zum Sicherstellen der Programmkorrektheit unter Verwendung von feingranularem spekulativem Hardwareausführen
DE112011100536T5 (de) Transaktionsverarbeitungssystem
DE102019135079A1 (de) Installation von firmware-bundles abbrechen
DE112021005908T5 (de) Zuweisung von mikroprozessorregister-tags zur ausgabezeit
Steffani et al. Effects of the first COVID-19 wave on visceral surgery: A retrospective comparison of case numbers from a university hospital and a primary care hospital
DE102005045904B4 (de) Datenverarbeitungseinrichtung mit Performance-Steuerung
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen
DE102016101871A1 (de) Nicht initialisierte Arbeitsspeicherverweise erfassen
DE2507405A1 (de) Verfahren und anordnung zum synchronisieren der tasks in peripheriegeraeten in einer datenverarbeitungsanlage

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal