JPS63251845A - プログラム異常検出装置 - Google Patents

プログラム異常検出装置

Info

Publication number
JPS63251845A
JPS63251845A JP62084734A JP8473487A JPS63251845A JP S63251845 A JPS63251845 A JP S63251845A JP 62084734 A JP62084734 A JP 62084734A JP 8473487 A JP8473487 A JP 8473487A JP S63251845 A JPS63251845 A JP S63251845A
Authority
JP
Japan
Prior art keywords
program
time
monitoring
execution
abnormality
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.)
Pending
Application number
JP62084734A
Other languages
English (en)
Inventor
Hitoshi Ueno
仁 上野
Tatsutoshi Sakuraba
桜庭 健年
Masato Soma
杣 正人
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62084734A priority Critical patent/JPS63251845A/ja
Publication of JPS63251845A publication Critical patent/JPS63251845A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はオンライン処理システムにおける定形処理プロ
グラムのような、繰返し実行されるプログラムの無限ル
ープやデッドロックおよび暴走などの異常を、該プログ
ラムのために予め計算しておいた実行時間内に実行が終
了するか否かを監視することによって検出するプログラ
ム異常検出装置に関する。
〔従来の技術〕
汎用計算機のプログラム異常検出装置においては、プロ
グラムにより予め固定的に定めた時間内に監視対象のプ
ログラムが終了するか否かを監視することによって異常
を検出する方式が一般的である。
しかし、固定的に定めた監視時間を用いる場合、プログ
ラム実行環境や入出力処理の実行状況によってはプログ
ラム実行時間に変動幅が生じるため。
監視時間の限界値として、正常動作であるが最悪の場合
に必要な最長時間を用いることが多い、従って正常であ
ればプログラムが短時間に終了する環境で異常が発生し
たとしても、長時間待たないと異常の検出ができない。
以上のような検出の遅れを防止するため特開昭58−2
21456号では、監視時間の限界値をプログラムによ
り、正常時に要する処理時間よりわずかに長く設定する
ことにより、監視時間を動的に変更する異常監視方式を
開示している。
〔発明が解決しようとする問題点〕
汎用計算機によるオンラインシステムではプログラム異
常などの障害発生時には、予備の計算機システムに切替
えるため高速な異常検出が要求されている。更に、マル
チタスク環境や複合計算機環境で動作するプログラムに
おいては、実行時間が周囲の環境により大きく変化する
ため実行時間のばらつきが大きい。
上記従来技術では、プログラムの実行環境の変化により
実行時間がどう変化するかを予測する方法について触れ
ていない。
汎用計算機システムにおいては通常の処理は短時間に終
了するが、計算機システム全体の負荷が重い場合や入出
力負荷が重い場合などでは正常動作であるにも係わらず
通常の1000倍以上の実行時間を要するプログラムも
存在する。したがって通常要する実行時間の1000倍
以上の時間を限界値として時間監視をすることも多い。
従って入力データ量などによってそのプログラムの実行
時間を予測するというように、ある時点で得られる情報
のみを基にした実行時間の予測方法では、計算量や情報
収集オーバヘッドの増加が発生するため的確で高速な実
行時間の予測が困難であり、プログラム異常検出の遅れ
の原因となっている。
本発明の目的は、過去のプログラム実行に関する情報や
計算機システムにおけるその他の負荷測定手段によって
測定した情報を基に、計算機システムの負荷状況に応じ
て監視時間を簡単な統計手法により計算し、その値を限
界時間として時間監視を行うことにより、プログラム異
常の検出の遅れを削減することにある。
(問題点を解決するための手段〕 計算機システムの負荷は時間の経過にしたがって徐々に
変動するため、同種のプログラムであれば過去のプログ
ラムの実行時間を測定することによって次のプログラム
の実行時間を予測することができる。ここでいう同種の
プログラムとは、計算機システム内で該プログラムを1
本だけ実行したときに要する実行時間が、はぼ同等にな
るプログラムのことである。
したがって、同種のプログラムにおける過去の実行時間
を統計的に処理することによって次のプログラムの実行
時間を予測し、更に演算を加えることにより予測値より
大きな値を計算し、これを時間監視の限界値として用い
ることによって、プログラム異常の検出の遅れを防止す
るという上記の目的を達成できる。
〔作用〕
プログラム異常検出装置は、過去のプログラム実行情報
を最も最近終了したものから順に常に一定個数記憶して
おき、それらに統計的計算処理を行うことによって次の
プログラムの実行時間監視のための限界値を求める。
計算機システムのCPU (中央処理装置it)は監視
対象プログラムの実行開始時に、プログラム異常検出装
置に対してプログラム実行時間監視の開始を指示するた
め、監視開始命令を発行する。また、監視対象プログラ
ムの実行終了時に、監視終了命令を発行することにより
監視終了を指示する。
監視開始を指示されたプログラム異常監視装置はその時
点から時間計測を開始し、監視時間が限界値に到達する
までに監視終了指示が発生すればその時点で時間監視を
停止する。そして新たに得られたプログラム実行情報を
プログラム異常監視装置内に記録する。このとき、最も
古いプログラム実行情報は捨てられ、この動作により常
に最新のプログラム実行情報を一定個数分保存できる。
監視時間の限界値に到達したにもかかわらず監視終了指
示が発生しないとき、プログラム異常監視装置はCPU
に対して割込み信号を送出することにより、プログラム
異常を検出したことを報告する。
CPUは割込みによるプログラム異常検出の報告を受は
取ると同時に、異常発生プログラムの状態を診断し1回
復可能な障害であれば回復処理を実行し回復不可能な障
害であればそのプログラムを異常終了させる。
−以上のような動作によリプログラム異常検出が高速に
行われる。
〔実施例〕
以下、本発明の一実施倒を第1図により説明する。
第1図はプログラム異常検出装置の全体図である。プロ
グラム異常検出装置は5個の時間監視袋FflO1,C
PU102.時間監視装置101を選択するために用い
られるデコーダ103.5個の時間監視装置101のう
ちいずれか1個以上で異常検出信号が発生したときCP
U102に対して1本の信号線111にまとめて報告す
るためのORゲート110から成っている。
計算機システムの電源投入時、CPUはリセット信号を
発生しRESET信号線108に111のパルスを送出
することにより全時間監視装置101を初期状態にする
CPUが監視開始命令を発行すると、信号線104に時
間監視装置101の選択番号Oから4が出力され、デコ
ーダ103によって対応するSEL信号線105が選択
され11′と成る。同時に5TART信号線106に′
1′のパルスを送出することにより時間監視装置101
に対する監視開始指示が連絡される0以上の動作により
5個の時間監視装置101のうちの1個が選択され時間
監視が開始される。
同様にCPUが監視終了命令を発行すると5本のSEL
信号線105のうちの1本と、END信号線107に1
1′のパルスを送出することにより、5個の時間監視装
置101のうちの1個を選択し終了指示を行う。
時間監視装置101がプログラム異常を検出するとIN
T信号線109に′1′のパルスを送出することにより
CPU102に対する報告を行う。
次に、時間監視装置101の内部動作について説明する
1時間監視装置101は、最新の10回分のプログラム
実行時間の平均値を10倍した値を限界値として、時間
監視を実行する装置である。
発振器112は周波数1キロヘルツの矩形波を発振し、
信号線113を通じて16ビツト幅の時間カウンタ11
4に供給される0時間カウンタ114は1ミリ秒に1回
カウントアツプされ、そのカウント値はカウンタ信号線
117を通じてXレジスタ127とRnレジスタ124
に供給される。Xレジスタ127は32ビツト幅である
ため、カウント値は下位16ビツトにセットされ上位1
6ビツトは常に′O・・・・・・0′となっている。
5TART信号線106とSEL信号線105がともに
′1′になるとANDゲート118の出力が′1′にな
り時間カウンタ114の値が′0・・・・・・0′にリ
セットされる。同時にレジスタカウンタ120がカウン
トアツプされ、そのカウント値は信号線121を通じて
デコーダ122に供給されるsRnレジスタ124は時
間を記憶する16ビツトのレジスタで、ラップアラウン
ドしながら最新の10回分のプログラム実行時間を記憶
する。デコーダ122は次にプログラム実行時間を記録
するレジスタを選択するために、10個のRnレジスタ
124のうち1個のSEL信号線123を11′にする
ANDゲート118の出力が′1′になったとき、ラッ
チ129が信号線115を通じて11′にセットされる
。このラッチ129が11′の値を持つことは時間監視
装置101が監視状態中であることを示す。
END信号tiA107とSEL信号線105とが−同
時に11′になるとANDゲート119を通じ信号l;
A116の値が11′となる。Rnレジスタ124は信
号R1;A116を通じて0′から111への立上りで
トリガされ、そのとき選択されていたレジスタに時間カ
ウンタ114の値がセットされる。加算器125は信号
線116の立ち下がりでトリガされ、ROからR9の値
を全て加算し32ビット幅のYレジスタ126に加算結
果をセットする。また、信号線116の立上りによりラ
ッチ129が10′にリセットされ1時間監視状態から
抜けたことが表示される。
時間監視状態から抜けた時点では、ラッチ129の値は
10′なので信号線130は0′となり、比較器128
の比較結果の如何に係わらずANDゲート132の出力
は0′となり単安定マルチバイブレータ133はトリガ
されること無< INT信号線109は常にl OIの
値を保っている。
時間監視状態中に時間カウンタ114の値がYレジスタ
126の値より大きくなると、比較器128の出力が1
′となり信号線131を通じてANDゲート132に入
力される。一方、ラッチ129は11′なので信号線1
30も11′となりANDゲート132の出力は1′と
なる。
従って単安定マルチバイブレータ133がトリガされる
5マイクロ秒程度のパルスをINT信号線109に送出
する。
次に第2図について説明する。
第2図はCPUから監視開始指示が発行され。
監視時間以内に監視終了指示が発行されたときのタイム
チャートである。
監視開始時刻201でSEL信号線105と5TART
信号線106が立ち上がる。これによりラッチ出力信号
線130が立上り、時間カウンタがリセットされ信号m
117およびXレジスタ124が′0・・・・・・0′
となり、レジスタカウンタ 、の値がカウントアツプさ
れ信号線121の値が変化する。
監視終了時刻202では、END信号線107とSEL
信号線105が同時に立ち上がる。これによりラッチは
10″にリセットされ信号線130は0′になり、Rn
レジスタ124に今回のプログラム実行時間がセットさ
れる。
加算器起動時刻203はEND信号線107の立ち下が
り時刻であり、加算器128が起動され加算結果がYレ
ジスタ126にセットされる。
その後も時間カウンタはカウントアツプが継続されるた
め、監視時間超過時刻204で比較信号l1131の値
が1′となるラッチ出力信号線130が10′であるた
めINT信号線109には何の信号も現れない。
次に第3図の説明をする。
第3図はCPUにより監視開始指示が発行されたあと、
監視時間以内に監視終了指示が発行されなかった場合の
タイミングチャートである。
監視開始時刻201での動作は第2図の場合と同様であ
るが、監視時間超過時刻204での動作は異なり、比較
信号4@131が立ち上がると同時にINT信号線10
9からパルスが発生する。このパルスによりCPU10
2に対してプログラム異常発生が通知される。
次に第4図の説明をする。
401は、時間監視される処理プログラムのフロー図で
あり、オペレーティングシステムからディスパッチされ
ることにより実行を開始する。
402では記憶領域SELに時間監視装置11101の
選択番号を表すコードを設定する。403ではSELに
対応する時間監視装置が使用中であることを示すためフ
ラグ領域に1′をセットし、どのプログラムが使用して
いるかを示すためID領域にプログラムIDをセットす
る。404では領域SELをオペランドに指定し監視開
始命令を発行することにより、プログラム異常監視装置
を起動する。
405ではデータ入出力や計算など処理プログラム本来
の実行を行う。
405が完了すると、406では領域SELをオペラン
ドに指定し監視終了命令を発行することにより、プログ
ラム異常監視装置を停止する。
407では時間監視装置の使用中表示フラグとプログラ
ムID領域をクリアする。
408では処理プログラムは終了し、制御はオペレーテ
ィングシステムに渡る。
421はプログラム異常監視装置により異常が検出され
たときに実行される異常処理プログラムであり、信号m
1llによる外部割込みによりオペレーティングシステ
ムを介して起動される。
422から430までのループにより、0番の時間監視
装置から4番の時間監視装置の各装置について使用状態
を調べる。
423では時間監視装置の使用中表示フラグを検査し、
使用中でなければ別の時間監視装置の状態を調べるため
に430を実行する。使用中であれば424でその時間
監視装置を使用しているプログラムのプログラムIDを
求め、プログラムの動作状態の診断を行う、425では
、424の診断結果が異常無しであれ11別の時間監視
装置の状態を調べるために430を実行し、異常と判断
された場合には426で回復可能な異常か否かを検査す
る0回復可能な異常であれば異常回復処理427を実行
する1回復不可能な異常であれば429を実行する。4
28では異常回復が成功したか否かを検査し、成功して
いれば別の時間監視装置の状態を調べるために430を
実行する。異常回復が成功しなかった場合、429で異
常発生プログラムを強制的に終了させる。
この実施例によれば、過去のプログラム実行時間の移動
平均から次のプログラムの実行時nnを予測しているの
で、システムの負荷状況に応じて時間監視の限界値を変
化させることができ、がっ、1回毎の実行時間のばらつ
きによる監視時間の極端な変動を防止できる。この方法
によれば、プログラム異常監視において従来発生してい
た異常検出の遅れを削減できる。
〔発明の効果〕
本発明によれば計算機システム環境の変化をプログラム
の過去の動作情報から予測することができるので、プロ
グラム実行時間の変動に応じて合理的に最適な時間監視
の限界値を決定でき、高速にプログラム異常を検出でき
る。
【図面の簡単な説明】
第1図はプログラム異常検出装置の全体図、第2図は異
常が検出されない場合の時間監視装置の動作を示すタイ
ミングチャート、第3図は異常が検出された場合の時間
監視装置の動作を示すタイミングチャート、第4図はプ
ログラム異常検出装置を用いた場合のプログラムの動作
を示す流れ図である。 101・・・時間監視装置、102・・・中央処理装置
。 104・・・時間監視コード、201・・・監視開始時
刻。 202・・・監視終了時刻、203・・・加算器起動時
刻。 204・・・監視時間超過時刻、401・・・処理プロ
グラム、421・・・異常処理プログラム。

Claims (1)

  1. 【特許請求の範囲】 1、プログラムの実行の監視を開始した時刻から、予め
    定めた監視時間内にプログラムの実行が完了すれば該プ
    ログラムの監視を停止し、監視時間内に該プログラムの
    実行が完了しなければプログラム異常が発生したとみな
    すことによリプログラムの異常動作を検出する電子計算
    機システムにおいて、該電子計算機システムでの他のプ
    ログラムの実行状況から該プログラムの実行時間を予測
    する手段と、該プログラムの予測された実行時間が短時
    間であるときには監視時間を短く設定し、該プログラム
    の予測された実行時間が長時間であるときには監視時間
    を長く設定する手段を有することを特徴としたプログラ
    ム異常検出装置。 2、前記監視時間として、過去のプログラムの動作情報
    に演算処理を施すことにより求めた値を用いることを特
    徴とする特許請求の範囲第1項記載のプログラム異常検
    出装置。 3、前記監視時間の演算処理として、過去一定回数分の
    プログラム実行時間情報に統計的演算を施す処理を用い
    ることを特徴とする特許請求の範囲第1項又は第2項記
    載のプログラム異常検出装置。 4、前記監視時間の設定を複数個可能とすることにより
    、実行時間の大きく異なる複数種類のプログラムの時間
    監視を同時に行うことを特徴とする特許請求の範囲第1
    項又は第2項又は第3項記載のプログラム異常検出装置
JP62084734A 1987-04-08 1987-04-08 プログラム異常検出装置 Pending JPS63251845A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62084734A JPS63251845A (ja) 1987-04-08 1987-04-08 プログラム異常検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62084734A JPS63251845A (ja) 1987-04-08 1987-04-08 プログラム異常検出装置

Publications (1)

Publication Number Publication Date
JPS63251845A true JPS63251845A (ja) 1988-10-19

Family

ID=13838925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62084734A Pending JPS63251845A (ja) 1987-04-08 1987-04-08 プログラム異常検出装置

Country Status (1)

Country Link
JP (1) JPS63251845A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225759A (ja) * 2007-03-12 2008-09-25 Internatl Business Mach Corp <Ibm> 検出装置、システム、プログラムおよび検出方法
WO2012039049A1 (ja) * 2010-09-24 2012-03-29 富士通株式会社 無停電電源装置及び電子計算機システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225759A (ja) * 2007-03-12 2008-09-25 Internatl Business Mach Corp <Ibm> 検出装置、システム、プログラムおよび検出方法
WO2012039049A1 (ja) * 2010-09-24 2012-03-29 富士通株式会社 無停電電源装置及び電子計算機システム
JP5556894B2 (ja) * 2010-09-24 2014-07-23 富士通株式会社 無停電電源装置及び電子計算機システム
US9116682B2 (en) 2010-09-24 2015-08-25 Fujitsu Limited Uninterruptible power supply device with alerts abnormal end of power-off processing of a computer system

Similar Documents

Publication Publication Date Title
US5944840A (en) Continuous monitor for interrupt latency in real time systems
JP3225757B2 (ja) プログラマブルコントローラ
JP2004504667A (ja) 実時間システム内のタスクのラン時間の測定方法及び装置
US20020116670A1 (en) Failure supervising method and apparatus
US4638432A (en) Apparatus for controlling the transfer of interrupt signals in data processors
JPS63251845A (ja) プログラム異常検出装置
JP2001318807A (ja) タスク切り替え制御方法及び装置
JPH07113898B2 (ja) 障害検出方式
JPH0245838A (ja) プログラム実行状態監視方法
JP2006227962A (ja) アプリケーションタスク監視システムおよび方法
CN100557576C (zh) 操作系统故障检测的方法和装置
JP2004029992A (ja) 電子制御装置
JP2870250B2 (ja) マイクロプロセッサの暴走監視装置
JP3493287B2 (ja) エレベータ制御装置
JPH01183701A (ja) プラント監視装置
JP2746184B2 (ja) 障害ロギングシステム
JP2793386B2 (ja) 電子計算機の演算エラー情報保持装置
JPH08123704A (ja) 制御装置
JPH06242973A (ja) 仮想計算機システムにおけるvmへのvpマシンチェックの通知方法
JPH0635727A (ja) Cpu負荷率算出方法
JPH0149975B2 (ja)
JPS62194549A (ja) Cpu―io並列動作シミュレーション方法
JPH05241906A (ja) プログラマブル制御装置
JPH033041A (ja) タイムアウト監視回路
JPS63280345A (ja) プログラム異常検出方法