JPH05143388A - 並列処理プログラムのサスペンド方式 - Google Patents

並列処理プログラムのサスペンド方式

Info

Publication number
JPH05143388A
JPH05143388A JP3326803A JP32680391A JPH05143388A JP H05143388 A JPH05143388 A JP H05143388A JP 3326803 A JP3326803 A JP 3326803A JP 32680391 A JP32680391 A JP 32680391A JP H05143388 A JPH05143388 A JP H05143388A
Authority
JP
Japan
Prior art keywords
parallel processing
request
suspend
task
suspending
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
JP3326803A
Other languages
English (en)
Inventor
Aiko Kumagai
愛子 熊谷
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP3326803A priority Critical patent/JPH05143388A/ja
Publication of JPH05143388A publication Critical patent/JPH05143388A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 並列処理タスクで異常を検出したときなど
に、他の並列処理タスクの実行を中断し、デバッグを行
い易くする。 【構成】 タスク番号一覧表作成部5により並列処理プ
ログラム開始時に並列処理プログラム中の全並列処理タ
スクのタスク番号を格納し、サスペンド要求登録部6で
サスペンド要求時サスペンド要求登録表3にサスペンド
要求を登録し、サスペンド部7で並列処理タスクをサス
ペンドし、サスペンド要求トレース部8によりサスペン
ド要求登録表3等をトレース情報格納領域4に退避さ
せ、サスペンド要求解除部9によりリスタート要求時サ
スペンド要求登録表3のサスペンド要求を削除し、かつ
サスペンド要求強制解除部10とリスタート部11およ
びリスタート要求トレース部12ならびにサスペンド要
求パージ部 13を設ける。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は電子計算機系の処理に係
り、特に一つの処理を複数のタスクで並列して実行させ
る並列処理プログラムにおいて、並列処理タスクが同一
並列処理プログラム中の他の並列処理タスクをサスペン
ドする並列処理プログラムのサスペンド方式に関するも
のである。
【0002】
【従来の技術】従来、サスペンド/リスタート機能で
は、プログラム中の1タスクをサスペンドする手段しか
なく、プログラム全体を同時にサスペンドすることがで
きないため、デバッグの際に並列処理プログラムの実行
の中断を1つ1つ各並列処理タスク毎に行っていたの
で、わずらわしく、また各タスク間の処理のデバッグが
難しかった。また、サスペンド/リスタートのトレース
では最後にサスペンド/リスタートを行ったプロセスの
プロセス番号のみをトレースしていた。
【0003】
【発明が解決しようとする課題】この従来のサスペンド
/リスタート機能では、処理が煩わしく、また、各タス
ク間の処理のデバッグが難しいという課題があった。
【0004】
【課題を解決するための手段】本発明の並列処理プログ
ラムのサスペンド方式は、計算機系のプログラムで、特
に一つの処理を複数のタスクで並列して実行させる並列
処理プログラムにおいて、並列処理プログラム制御構造
体を具備し、かつ並列処理プログラム開始時に並列処理
プログラム中の並列処理を行う全タスクのタスク番号を
格納するタスク番号一覧表作成手段と、並列処理タスク
からのサスペンド要求時サスペンド要求登録表にサスペ
ンド要求を登録するサスペンド要求登録手段と、上記サ
スペンド要求を行ったタスクを除く、全ての並列処理タ
スクをサスペンドするサスペンド手段とを備えてなるも
のである。また、本発明の別の発明による並列処理プロ
グラムのサスペンド方式は、並列処理タスクからのリス
タート要求時サスペンド要求登録表のサスペンド要求を
削除するサスペンド要求解除手段と、リスタート要求を
行ったタスクを除く全ての並列処理タスクをスタートす
るリスタート手段と、並列処理タスクのタスク終了時、
終了するタスクを除く全ての並列処理タスクをスタート
するサスペンド要求パージ手段とを備えてなるものであ
る。
【0005】また、本発明のさらに別の発明による並列
処理プログラムのサスペンド方式は、並列処理タスクか
らの強制リスタート要求時サスペンド要求登録表の全サ
スペンド要求を削除するサスペンド要求強制解除手段
と、リスタート要求を行ったタスクを除く全ての並列処
理タスクをスタートするリスタート手段とを備えてなる
ものである。また、本発明の別の発明による並列処理プ
ログラムのサスペンド方式は、トレース情報格納領域を
具備し、かつ並列処理タスクからのサスペンド要求時少
なくともサスペンド要求登録表をトレース情報格納領域
に退避するサスペンド要求トレース手段と、上記並列処
理タスクからのリスタート要求時少なくともサスペンド
要求登録表をトレース情報格納領域に退避するリスター
ト要求トレース手段とを備えてなるものである。
【0006】
【作用】本発明においては、並列処理タスクが、同一並
列処理プログラム中の他の並列処理タスクをサスペンド
する。
【0007】
【実施例】図1は本発明の一実施例を示すブロック図で
ある。この図1において、1は並列処理プログラム毎に
存在し,並列処理プログラムに関する情報を格納した並
列処理プログラム制御構造体で、並列処理プログラム中
の並列処理を行う全タスクのタスク番号を格納するタス
ク番号一覧表2とサスペンド要求者およびサスペンド要
求のネストの回数を格納するサスペンド要求登録表3を
内蔵している。4はサスペンド要求,リスタート要求の
情報を格納するトレース情報格納領域、5はタスク番号
一覧表作成部で、並列処理プログラム開始時に,並列処
理プログラム中の並列処理を行う全タスクのタスク番号
を格納するタスク番号一覧表作成手段を構成している。
6はサスペンド要求登録部で、並列処理タスクからのサ
スペンド要求時,サスペンド要求登録表3にサスペンド
要求を登録するサスペンド要求登録手段を構成してい
る。7はこのサスペンド要求部6の出力を入力とするサ
スペンド部で、このサスペンド部7はサスペンド要求を
行ったタスクを除く,全ての並列処理タスクをサスペン
ドするサスペンド手段を構成している。8はこのサスペ
ンド部7の出力を入力とするサスペンド要求トレース部
で、このサスペンド要求トレース部8は並列処理タスク
からのサスペンド要求時,サスペンド要求登録表3およ
び現在時刻等をトレース情報格納領域に退避するサスペ
ンド要求トレース手段を構成している。
【0008】9はサスペンド要求解除部で、並列処理タ
スクからのリスタート要求時,サスペンド要求登録表3
のサスペンド要求を削除するサスペンド要求解除手段を
構成している。10はサスペンド要求強制解除部で、並
列処理タスクからの強制リスタート要求時,サスペンド
要求登録表3の全サスペンド要求を削除するサスペンド
要求強制解除手段を構成している。11はサスペンド要
求解除部9の出力とサスペンド要求強制解除部10の出
力を入力とするリスタート部で、このリスタート部11
はリスタート要求を行ったタスクを除く,全ての並列処
理タスクをスタートするリスタート手段を構成してい
る。12はこのリスタート部11の出力を入力とするリ
スタート要求トレース部で、このリスタート要求トレー
ス部12は並列処理タスクからのリスタート要求時,サ
スペンド要求登録表3および現在時刻等をトレース情報
格納領域に退避するリスタート要求トレース手段を構成
している。13はサスペンド要求パージ部で、並列処理
タスクのタスク終了時,終了するタスクを除く,全ての
並列処理タスクをスタートするサスペンド要求パージ手
段を構成している。
【0009】図2は図1におけるタスク番号一覧表作成
部5の動作を説明するためのフローチャート、図3は図
1におけるサスペンド要求登録部6の動作を説明するた
めのフローチャート、図4は図1におけるサスペンド部
7の動作を説明するためのフローチャート、図5は図1
におけるサスペンド要求解除部9の動作を説明するため
のフローチャート、図6は図1におけるサスペンド要求
強制解除部10の動作を説明するためのフローチャー
ト、図7は図1におけるリスタート部11の動作を説明
するためのフローチャート、図8は図1におけるサスペ
ンド要求パージ部13の動作を説明するためのフローチ
ャートである。
【0010】つぎに図1に示す実施例の動作を図2ない
し図8を参照して説明する。まず、並列処理プログラム
開始時に、タスク番号一覧表作成部5は図2のステップ
101において並列処理プログラム中の並列処理タスク
のタスク番号を一つ取得し、ステップ102においてス
テップ101で取得したタスク番号を、タスク番号一覧
表2に格納し、判断ステップ103において、並列処理
プログラム中の全並列処理タスクのタスク番号を登録し
たか否かを判断し、登録していないと判断された時、ス
テップ101に制御を渡す。そして、並列処理タスクか
らのサスペンド要求時、サスペンド要求登録部6は図3
のステップ201においてサスペンド要求登録表3中
の、要求者を一つ取得し、判断ステップ202におい
て、ステップ201で取得した要求者とサスペンド要求
者が一致しているか否かを判断し、一致していないと判
断された時、ステップ201に制御を渡し、一致してい
ると判断された時、ステップ203に制御を渡し、この
ステップ203において、サスペンド要求登録表3中
の、要求者と対応しているカウンタを1加算する。サス
ペンド部7は図4の判断ステップ301において、サス
ペンド要求登録表3を参照し、既にサスペンドが要求さ
れているか否かを判断し、要求されていないと判断され
た時、ステップ302に制御を渡し、このステップ30
2において、タスク番号一覧表2からタスク番号を一つ
取得し、判断ステップ303において、ステップ302
で取得したタスク番号と自タスク番号が一致しているか
否かを判断し、一致していないと判断された時、ステッ
プ304に制御を渡し、一致していると判断された時、
判断ステップ305に制御を渡し、ステップ304にお
いて、ステップ302で取得したタスクをサスペンド
し、判断ステップ305において、タスク番号一覧表2
中の全タスク番号を取得したか否かを判断し、取得して
いないと判断された時、ステップ302に制御を渡す。
サスペンド要求トレース部8はサスペンド要求登録表
3,現在時刻等をトレース情報格納領域4に退避する。
【0011】つぎに、並列処理タスクからのリスタート
要求時、サスペンド要求解除部9は図5のステップ40
1において、サスペンド要求登録表3中の、サスペンド
要求者を一つ取得し、判断ステップ402において、ス
テップ401で取得した要求者とリスタート要求者が一
致しているか否かを判断し、一致していないと判断され
た時、ステップ401に制御を渡し、一致していると判
断された時、ステップ403に制御を渡し、このステッ
プ403において、サスペンド要求登録表3中の、要求
者と対応しているカウンタを1減算する。そして、並列
処理タスクからの強制リスタート要求時、サスペンド要
求強制解除部10は、図6のステップ501において、
サスペンド要求登録表3中の、サスペンド要求者を一つ
取得し、判断ステップ502において、ステップ501
で取得した要求者とリスタート要求者が一致しているか
否かを判断し、一致していないと判断された時、ステッ
プ501に制御を渡し、一致していると判断された時、
ステップ503に制御を渡し、このステップ503にお
いて、サスペンド要求登録表3中の、要求者と対応して
いるカウンタを0にする。リスタート部11は図7の判
断ステップ601において、サスペンド要求登録表3を
参照し、まだサスペンド要求があるか否かを判断し、要
求がないと判断された時、ステップ602に制御を渡
し、このステップ602において、タスク番号一覧表2
からタスク番号を一つ取得し、判断ステップ603にお
いて、ステップ602で取得したタスク番号と自タスク
番号が一致しているか否かを判断し、一致していないと
判断された時、ステップ604に制御を渡し、一致して
いると判断された時、判断ステップ605に制御を渡
し、ステップ604において、ステップ602で取得し
たタスクをリスタートし、判断ステップ605におい
て、タスク番号一覧表2中の全タスク番号を取得したか
否かを判断し、取得していないと判断された時、ステッ
プ602に制御を渡す。
【0012】つぎに、リスタート要求トレース部12は
サスペンド要求登録表3および現在時刻等をトレース情
報格納領域4に退避する。そして、並列処理タスクのタ
スク終了時、サスペンド要求パージ部13は、図8の判
断ステップ701において、サスペンド要求登録表3を
参照し、自タスクのサスペンド要求があるか否かを判断
し、要求があると判断された時、ステップ702に制御
を渡し、このステップ702において、タスク番号一覧
表2からタスク番号を一つ取得し、判断ステップ703
において、ステップ702で取得したタスク番号と自タ
スク番号が一致しているか否かを判断し、一致していな
いと判断された時、ステップ704に制御を渡し、一致
していると判断された時、判断ステップ705に制御を
渡し、ステップ704において、ステップ702で取得
したタスクをリスタートし、判断ステップ705におい
て、タスク番号一覧表2中の全タスク番号を取得したか
否かを判断し、取得していないと判断された時、ステッ
プ702に制御を渡す。
【0013】このように、本発明は、並列処理プログラ
ムにおいて、並列処理タスクが、同一並列処理プログラ
ム中の他の並列処理タスクをサスペンドする機能を提供
することにより、並列処理タスクで異常を検出した時な
どに、他の並列処理タスクの実行を中断し、他の並列処
理プログラムの状態を調べることにより、デバッグを行
い易くしたり、並列処理タスクでCPUタイムオーバを
検出した時に、他の並列処理タスクの実行を速やかに中
断でき、CPU時間を必要以上使用することを防ぐこと
ができる。ここで、要求者のサスペンド要求を全て解除
する強制リスタート機能は、その要求者のサスペンド要
求を全て解除することにより、サスペンドとリスタート
の回数が不一致となることによるトラブルを防ぐことに
ある。また、メモリダンプからいつだれがサスペンドし
たか等の調査することは困難であるが、サスペンド/リ
スタート要求をトレースすることにより、サスペンド/
リスタート要求がどの順番でどの機能から要求されたか
を明確し、デバッグに役立てることができる。
【0014】
【発明の効果】以上説明したように本発明は、並列処理
タスクが、同一並列処理プログラム中の他の並列処理タ
スクをサスペンドする機能を提供することにより、並列
処理タスクで異常を検出した時などに、他の並列処理タ
スクの実行を中断し、デバッグを行い易くしたり、並列
処理タスクでCPUタイムオーバを検出した時に、他の
並列処理タスクの実行を速やかに中断できる効果があ
る。また、要求者のサスペンド要求を全て解除する強制
リスタート機能を提供することにより、サスペンド機能
でのトラブルを防ぐことができ、さらにサスペンド/リ
スタート要求をトレースすることにより、サスペンド/
リスタート要求がどの順番でどの機能から要求されたか
を明確し、デバッグに役立てることができるという効果
を有する。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】図1におけるタスク番号一覧表作成部の動作を
説明するためのフローチャートである。
【図3】図1におけるサスペンド要求登録部の動作を説
明するためのフローチャートである。
【図4】図1におけるサスペンド部の動作を説明するた
めのフローチャートである。
【図5】図1におけるサスペンド要求解除部の動作を説
明するためのフローチャートである。
【図6】図1におけるサスペンド要求強制解除部の動作
を説明するためのフローチャートである。
【図7】図1におけるリスタート部の動作を説明するた
めのフローチャートである。
【図8】図1におけるサスペンド要求パージ部の動作を
説明するためのフローチャートである。
【符号の説明】
1 並列処理プログラム制御構造体 2 タスク番号一覧表 3 サスペンド要求登録表 4 トレース情報格納領域 5 タスク番号一覧表作成部 6 サスペンド要求登録部 7 サスペンド部 8 サスペンド要求トレース部 9 サスペンド要求解除部 10 サスペンド要求強制解除部 11 リスタート部 12 リスタート要求トレース部 13 サスペンド要求パージ部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 計算機系のプログラムで、特に一つの処
    理を複数のタスクで並列して実行させる並列処理プログ
    ラムにおいて、並列処理プログラム制御構造体を具備
    し、かつ並列処理プログラム開始時にこの並列処理プロ
    グラム中の並列処理を行う全タスクのタスク番号を格納
    するタスク番号一覧表作成手段と、並列処理タスクから
    のサスペンド要求時サスペンド要求登録表にサスペンド
    要求を登録するサスペンド要求登録手段と、前記サスペ
    ンド要求を行ったタスクを除く全ての並列処理タスクを
    サスペンドするサスペンド手段とを備えてなることを特
    徴とする並列処理プログラムのサスペンド方式。
  2. 【請求項2】 計算機系のプログラムで、特に一つの処
    理を複数のタスクで並列して実行させる並列処理プログ
    ラムにおいて、並列処理プログラム制御構造体を具備
    し、かつ並列処理タスクからのリスタート要求時サスペ
    ンド要求登録表のサスペンド要求を削除するサスペンド
    要求解除手段と、前記リスタート要求を行ったタスクを
    除く全ての並列処理タスクをスタートするリスタート手
    段と、前記並列処理タスクのタスク終了時終了するタス
    クを除く全ての並列処理タスクをスタートするサスペン
    ド要求パージ手段とを備えてなることを特徴とする並列
    処理プログラムのサスペンド方式。
  3. 【請求項3】 計算機系のプログラムで、特に一つの処
    理を複数のタスクで並列して実行させる並列処理プログ
    ラムにおいて、並列処理プログラム制御構造体を具備
    し、かつ並列処理タスクからの強制リスタート要求時サ
    スペンド要求登録表の全サスペンド要求を削除するサス
    ペンド要求強制解除手段と、リスタート要求を行ったタ
    スクを除く全ての並列処理タスクをスタートするリスタ
    ート手段とを備えてなることを特徴とする並列処理プロ
    グラムのサスペンド方式。
  4. 【請求項4】 計算機系のプログラムで、特に一つの処
    理を複数のタスクで並列して実行させる並列処理プログ
    ラムにおいて、並列処理プログラム制御構造体とトレー
    ス情報格納領域を具備し、かつ並列処理タスクからのサ
    スペンド要求時少なくともサスペンド要求登録表をトレ
    ース情報格納領域に退避するサスペンド要求トレース手
    段と、前記並列処理タスクからのリスタート要求時少な
    くともサスペンド要求登録表をトレース情報格納領域に
    退避するリスタート要求トレース手段とを備えてなるこ
    とを特徴とする並列処理プログラムのサスペンド方式。
JP3326803A 1991-11-15 1991-11-15 並列処理プログラムのサスペンド方式 Pending JPH05143388A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3326803A JPH05143388A (ja) 1991-11-15 1991-11-15 並列処理プログラムのサスペンド方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3326803A JPH05143388A (ja) 1991-11-15 1991-11-15 並列処理プログラムのサスペンド方式

Publications (1)

Publication Number Publication Date
JPH05143388A true JPH05143388A (ja) 1993-06-11

Family

ID=18191885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3326803A Pending JPH05143388A (ja) 1991-11-15 1991-11-15 並列処理プログラムのサスペンド方式

Country Status (1)

Country Link
JP (1) JPH05143388A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014105678A (ja) * 2012-11-29 2014-06-09 Toyota Motor Corp 内燃機関の制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014105678A (ja) * 2012-11-29 2014-06-09 Toyota Motor Corp 内燃機関の制御装置

Similar Documents

Publication Publication Date Title
JP2004199330A (ja) 情報処理装置、トレース処理方法、プログラム及び記録媒体
US7779302B2 (en) Automated testing framework for event-driven systems
CN105988798B (zh) 补丁处理方法及装置
US7574697B2 (en) Testing parallel applications using code instrumentation
US8108840B2 (en) Method for enhancing debugger performance of hardware assisted breakpoints
JPH02294739A (ja) 障害検出方式
JPH05143388A (ja) 並列処理プログラムのサスペンド方式
JP2009098907A (ja) デバッグ装置及びデバッグ方法
JPH0581051A (ja) リソース破壊監視方式
JP2007148529A (ja) バッファオーバーフロー検知装置、バッファオーバーフロー検知方法およびバッファオーバーフロー検知プログラム
JPH074669Y2 (ja) 割込要求処理回路
CN106250260A (zh) 处理器溢出监控和调试方法及装置
JPH064318A (ja) エラー検出方式
JP3124788B2 (ja) 組込型マルチタスクオペレーティングシステムの例外処理方法
JP2019125134A (ja) 検証支援プログラム、検証支援方法、および情報処理装置
JP2002116926A (ja) プログラム処理装置およびプログラム処理方法
JP3075359B2 (ja) プログラムデバッグ開始処理方式
JPS63289654A (ja) プログラム分岐命令モニタ方式
JPS59221754A (ja) デバグ方式
JPH08137714A (ja) マルチタスクプログラムのデバッグ方法およびデバッグシステム
JPS62113238A (ja) 電子計算機システムにおけるプログラム修正装置
JPH0149975B2 (ja)
JPH10289124A (ja) データフロー異常検査装置
JPH0512062A (ja) ステツプブレーク処理方式
JPS6269329A (ja) メモリ破壊位置検出方式