JPH1097438A - マルチプロセッサシステムにおける複数タスクの同期処 理装置、同期処理方法および同期処理プログラムを記録 した記録媒体 - Google Patents
マルチプロセッサシステムにおける複数タスクの同期処 理装置、同期処理方法および同期処理プログラムを記録 した記録媒体Info
- Publication number
- JPH1097438A JPH1097438A JP17728697A JP17728697A JPH1097438A JP H1097438 A JPH1097438 A JP H1097438A JP 17728697 A JP17728697 A JP 17728697A JP 17728697 A JP17728697 A JP 17728697A JP H1097438 A JPH1097438 A JP H1097438A
- Authority
- JP
- Japan
- Prior art keywords
- task
- control variables
- tasks
- slave
- updated
- 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
Links
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 16
- 238000003672 processing method Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】複数のタスクを並列に実行することができるマ
ルチプロセッサシステムにおいて、該複数のタスクの同
期処理を連続して実行することをソフトウェアで実現す
る。 【解決手段】同期処理を行うタスク群の内、タスク番号
が最小のタスクをマスタタスクとし、それ以外のタスク
をスレーブタスクとする。マスタタスクおよびスレーブ
タスクは2種類でかつスレーブタスク数に一致する数の
制御変数を参照および更新する。マスタタスクは、すべ
てのスレーブタスクが第1の制御変数を更新するまで待
ち合わせ、更新された時点で、すべての第1の制御変数
を初期化し、すべての第2の制御変数を更新する。スレ
ーブタスクのそれぞれは、第1の制御変数を更新し、マ
スタタスクがすべての第2の制御変数を更新するまで待
ち合わせ、更新された時点で、該第2の制御変数を初期
値に更新する。
ルチプロセッサシステムにおいて、該複数のタスクの同
期処理を連続して実行することをソフトウェアで実現す
る。 【解決手段】同期処理を行うタスク群の内、タスク番号
が最小のタスクをマスタタスクとし、それ以外のタスク
をスレーブタスクとする。マスタタスクおよびスレーブ
タスクは2種類でかつスレーブタスク数に一致する数の
制御変数を参照および更新する。マスタタスクは、すべ
てのスレーブタスクが第1の制御変数を更新するまで待
ち合わせ、更新された時点で、すべての第1の制御変数
を初期化し、すべての第2の制御変数を更新する。スレ
ーブタスクのそれぞれは、第1の制御変数を更新し、マ
スタタスクがすべての第2の制御変数を更新するまで待
ち合わせ、更新された時点で、該第2の制御変数を初期
値に更新する。
Description
【0001】
【発明の属する技術分野】本発明は、複数のスレーブタ
スクと該複数のスレーブタスクの同期処理を制御する一
つのマスタタスクとを含む複数のタスクをマルチプロセ
ッサシステムにおいて並列に実行する、マルチプロセッ
サシステムにおける複数タスクの同期処理装置、同期処
理方法および同期処理プログラムを記録した記録媒体に
関する。
スクと該複数のスレーブタスクの同期処理を制御する一
つのマスタタスクとを含む複数のタスクをマルチプロセ
ッサシステムにおいて並列に実行する、マルチプロセッ
サシステムにおける複数タスクの同期処理装置、同期処
理方法および同期処理プログラムを記録した記録媒体に
関する。
【0002】
【従来の技術】特開昭63−45670号公報には、マ
ルチプロセッサシステム中の一部のプロセッサ群で形成
されるプロセッサグループの各プロセッサにおいてタス
クを並列に実行し、プロセッサグループ内のすべてのタ
スクの実行が終了したときに該プロセッサグループが解
消され、その後、個々のプロセッサが他のプロセッサと
別のプロセッサグループを形成して、以下同様に動作す
るプロセッサ間同期装置が開示されている。
ルチプロセッサシステム中の一部のプロセッサ群で形成
されるプロセッサグループの各プロセッサにおいてタス
クを並列に実行し、プロセッサグループ内のすべてのタ
スクの実行が終了したときに該プロセッサグループが解
消され、その後、個々のプロセッサが他のプロセッサと
別のプロセッサグループを形成して、以下同様に動作す
るプロセッサ間同期装置が開示されている。
【0003】
【発明が解決しようとする課題】しかしながら、該公報
記載の技術はソフトウェアではなく専用のハードウェア
で実現されているため、該公報は、各プロセッサグルー
プにおいてどのようにしてタスクを同期的に実行するこ
とを可能としているのかについて、一切開示していな
い。
記載の技術はソフトウェアではなく専用のハードウェア
で実現されているため、該公報は、各プロセッサグルー
プにおいてどのようにしてタスクを同期的に実行するこ
とを可能としているのかについて、一切開示していな
い。
【0004】また、該公報記載の技術は専用のハードウ
ェアで実現されているために、多額の導入費用が必要で
ある点、仕様変更時の修正が容易ではない点、障害時の
保守が容易ではない点等の問題点がある。
ェアで実現されているために、多額の導入費用が必要で
ある点、仕様変更時の修正が容易ではない点、障害時の
保守が容易ではない点等の問題点がある。
【0005】本発明の目的は、複数のタスクを並列に実
行することができるマルチプロセッサシステムにおい
て、該複数のタスクの同期処理を連続して実行すること
をソフトウェアで実現することにある。
行することができるマルチプロセッサシステムにおい
て、該複数のタスクの同期処理を連続して実行すること
をソフトウェアで実現することにある。
【0006】
【課題を解決するための手段】本発明の第1のマルチプ
ロセッサシステムにおける複数タスクの同期処理装置
は、複数のタスク手段を異なるプロセッサ上で並列に実
行するマルチプロセッサシステムにおいて、前記複数の
タスク手段の内の特定のタスク手段であるマスタタスク
手段と、前記マスタタスク手段以外の前記複数のタスク
手段の内の少なくとも一つのタスク手段であるスレーブ
タスク手段と、各プロセッサに共有され、各スレーブタ
スク手段に対応する第1の制御変数および第2の制御変
数を格納する共有メモリとを備え、前記スレーブタスク
手段のそれぞれが、自身に対応する前記第1の制御変数
を所定の値に更新するとともに前記マスタタスク手段に
よりすべての前記第2の制御変数が所定の値に更新され
るのを待ち合わせ、更新されたときに該すべての前記第
2の制御変数を初期値に更新することを特徴とする。
ロセッサシステムにおける複数タスクの同期処理装置
は、複数のタスク手段を異なるプロセッサ上で並列に実
行するマルチプロセッサシステムにおいて、前記複数の
タスク手段の内の特定のタスク手段であるマスタタスク
手段と、前記マスタタスク手段以外の前記複数のタスク
手段の内の少なくとも一つのタスク手段であるスレーブ
タスク手段と、各プロセッサに共有され、各スレーブタ
スク手段に対応する第1の制御変数および第2の制御変
数を格納する共有メモリとを備え、前記スレーブタスク
手段のそれぞれが、自身に対応する前記第1の制御変数
を所定の値に更新するとともに前記マスタタスク手段に
よりすべての前記第2の制御変数が所定の値に更新され
るのを待ち合わせ、更新されたときに該すべての前記第
2の制御変数を初期値に更新することを特徴とする。
【0007】本発明の第2のマルチプロセッサシステム
における複数タスクの同期処理装置は、第1のマルチプ
ロセッサシステムにおける複数タスクの同期処理装置に
おいて、前記マスタタスク手段が、各スレーブタスク手
段によりすべての前記第1の制御変数が更新されるのを
待ち合わせ、更新されたときに該すべての前記第1の制
御変数を初期値に更新するとともにすべての前記第2の
制御変数を所定の値に更新することを特徴とする。
における複数タスクの同期処理装置は、第1のマルチプ
ロセッサシステムにおける複数タスクの同期処理装置に
おいて、前記マスタタスク手段が、各スレーブタスク手
段によりすべての前記第1の制御変数が更新されるのを
待ち合わせ、更新されたときに該すべての前記第1の制
御変数を初期値に更新するとともにすべての前記第2の
制御変数を所定の値に更新することを特徴とする。
【0008】本発明の第1のマルチプロセッサシステム
における複数タスクの同期処理方法は、複数のタスクを
異なるプロセッサ上で並列に実行するマルチプロセッサ
システムにおいて、前記複数のタスクに含まれる少なく
とも一つのスレーブタスクのそれぞれが、各スレーブタ
スクに対応する第1の制御変数の内、自身に対応する該
第1の制御変数を所定の値に更新するとともに各スレー
ブタスクに対応する第2の制御変数のすべてが所定の値
に更新されるのを待ち合わせ、更新されたときに該すべ
ての第2の制御変数を初期値に更新することを特徴とす
る。
における複数タスクの同期処理方法は、複数のタスクを
異なるプロセッサ上で並列に実行するマルチプロセッサ
システムにおいて、前記複数のタスクに含まれる少なく
とも一つのスレーブタスクのそれぞれが、各スレーブタ
スクに対応する第1の制御変数の内、自身に対応する該
第1の制御変数を所定の値に更新するとともに各スレー
ブタスクに対応する第2の制御変数のすべてが所定の値
に更新されるのを待ち合わせ、更新されたときに該すべ
ての第2の制御変数を初期値に更新することを特徴とす
る。
【0009】本発明の第2のマルチプロセッサシステム
における複数タスクの同期処理方法は、第1のマルチプ
ロセッサシステムにおける複数タスクの同期処理方法に
おいて、前記複数のタスクに含まれる特定のタスクであ
るマスタタスクが、すべての前記第1の制御変数が更新
されるのを待ち合わせ、更新されたときにすべての前記
第1の制御変数を初期値に更新するとともにすべての前
記第2の制御変数を所定の値に更新することを特徴とす
る。
における複数タスクの同期処理方法は、第1のマルチプ
ロセッサシステムにおける複数タスクの同期処理方法に
おいて、前記複数のタスクに含まれる特定のタスクであ
るマスタタスクが、すべての前記第1の制御変数が更新
されるのを待ち合わせ、更新されたときにすべての前記
第1の制御変数を初期値に更新するとともにすべての前
記第2の制御変数を所定の値に更新することを特徴とす
る。
【0010】本発明の第1の記録媒体は、複数のタスク
を異なるプロセッサ上で並列に実行するマルチプロセッ
サシステムにおいて、前記複数のタスクに含まれる特定
のタスクであるマスタタスク手段と、前記複数のタスク
に含まれる少なくとも一つのタスクであるスレーブタス
ク手段としてプロセッサを機能させるためのプログラム
を記録した記録媒体であって、各スレーブタスク手段
が、各スレーブタスク手段に対応する第1の制御変数の
内、自身に対応する前記第1の制御変数を所定の値に更
新するとともに、前記マスタタスク手段により各スレー
ブタスク手段に対応する第2の制御変数のすべてが所定
の値に更新されるのを待ち合わせ、更新されたときに該
すべての第2の制御変数を初期値に更新することを特徴
とする。
を異なるプロセッサ上で並列に実行するマルチプロセッ
サシステムにおいて、前記複数のタスクに含まれる特定
のタスクであるマスタタスク手段と、前記複数のタスク
に含まれる少なくとも一つのタスクであるスレーブタス
ク手段としてプロセッサを機能させるためのプログラム
を記録した記録媒体であって、各スレーブタスク手段
が、各スレーブタスク手段に対応する第1の制御変数の
内、自身に対応する前記第1の制御変数を所定の値に更
新するとともに、前記マスタタスク手段により各スレー
ブタスク手段に対応する第2の制御変数のすべてが所定
の値に更新されるのを待ち合わせ、更新されたときに該
すべての第2の制御変数を初期値に更新することを特徴
とする。
【0011】本発明の第2の記録媒体は、第1の記録媒
体において、前記マスタタスク手段が、各スレーブタス
ク手段によりすべての前記第1の制御変数が更新される
のを待ち合わせ、更新されたときに該すべての前記第1
の制御変数を初期値に更新するとともにすべての前記第
2の制御変数を所定の値に更新することを特徴とする。
体において、前記マスタタスク手段が、各スレーブタス
ク手段によりすべての前記第1の制御変数が更新される
のを待ち合わせ、更新されたときに該すべての前記第1
の制御変数を初期値に更新するとともにすべての前記第
2の制御変数を所定の値に更新することを特徴とする。
【0012】
【発明の実施の形態】以下、本発明の第1の実施の形態
について、図を参照して詳細に説明する。
について、図を参照して詳細に説明する。
【0013】図1を参照すると、本発明の第1の実施の
形態は、プログラム制御により動作する複数のプロセッ
サ2と、各プロセッサ2から共有される共有メモリ1
と、各プロセッサ2に備えられたローカルメモリ3とか
ら構成されている。
形態は、プログラム制御により動作する複数のプロセッ
サ2と、各プロセッサ2から共有される共有メモリ1
と、各プロセッサ2に備えられたローカルメモリ3とか
ら構成されている。
【0014】図2は、タスクと同期グループの関係を示
している。
している。
【0015】タスクとは、各プロセッサ2で行われる一
連の処理のことである。同期処理とは、タスクのプログ
ラム実行が特定の地点に到達した時、他の総てのタスク
が同地点に到達するまで実行を停止し、すべてのタスク
が揃った時点でプログラムの実行を再開することであ
る。同期グループ5とは、すべてのタスク群の内、同期
処理を行うタスクの群のことである。
連の処理のことである。同期処理とは、タスクのプログ
ラム実行が特定の地点に到達した時、他の総てのタスク
が同地点に到達するまで実行を停止し、すべてのタスク
が揃った時点でプログラムの実行を再開することであ
る。同期グループ5とは、すべてのタスク群の内、同期
処理を行うタスクの群のことである。
【0016】図2において、タスクT0〜T7(0〜7
はタスク番号)の内、T3〜T6の4つのタスクが同期
グループ5を形成し、それぞれが異なるプロセッサ2に
おいて同期的にかつ並列に実行される。
はタスク番号)の内、T3〜T6の4つのタスクが同期
グループ5を形成し、それぞれが異なるプロセッサ2に
おいて同期的にかつ並列に実行される。
【0017】また、本実施の形態においては、これらの
タスクを同期制御するために、図示しない制御変数A
(0)、A(1)、A(2)、…、およびD(0)、D
(1)、D(2)、…を共有メモリ1上に設定する。こ
れらの制御変数の添字の上限の値はシステムのタスク数
−1であり、初期値はすべて0である。
タスクを同期制御するために、図示しない制御変数A
(0)、A(1)、A(2)、…、およびD(0)、D
(1)、D(2)、…を共有メモリ1上に設定する。こ
れらの制御変数の添字の上限の値はシステムのタスク数
−1であり、初期値はすべて0である。
【0018】図4に、本発明のアルゴリズムで用いるロ
ーカル変数を示す。これらはローカルメモリ3上に置か
れ、同期処理を始める時点で図4に示した値を保持して
いるようにする。なお、m=0であるタスク4をマスタ
タスク、m>0であるタスク4をスレーブタスクと呼
ぶ。
ーカル変数を示す。これらはローカルメモリ3上に置か
れ、同期処理を始める時点で図4に示した値を保持して
いるようにする。なお、m=0であるタスク4をマスタ
タスク、m>0であるタスク4をスレーブタスクと呼
ぶ。
【0019】以下に、本発明の第1の実施の形態の動作
について、図1〜図4を参照して詳細に説明する。図3
においては、ローカル変数として同期グループ5を構成
するタスク4の数であるnと、同期グループ5内のタス
クの位置を示すm(m=0〜n−1)と、タスク番号p
とを用いて説明する。なお、これらのローカル変数は、
各ローカルメモリ3上に置かれ、m=0であるタスク4
をマスタタスク、m>0であるタスク4をスレーブタス
クと呼ぶ。
について、図1〜図4を参照して詳細に説明する。図3
においては、ローカル変数として同期グループ5を構成
するタスク4の数であるnと、同期グループ5内のタス
クの位置を示すm(m=0〜n−1)と、タスク番号p
とを用いて説明する。なお、これらのローカル変数は、
各ローカルメモリ3上に置かれ、m=0であるタスク4
をマスタタスク、m>0であるタスク4をスレーブタス
クと呼ぶ。
【0020】本実施の形態の動作を制御するプログラム
は共有メモリ1上におかれ、同期グループに属するすべ
てのタスクが同じプログラムを実行する。
は共有メモリ1上におかれ、同期グループに属するすべ
てのタスクが同じプログラムを実行する。
【0021】図3および図4を参照すると、パラメータ
nは同期グループ5を構成するタスク4の数であり、こ
れが1である場合は同期制御そのものを行う必要がない
(ステップ301)。
nは同期グループ5を構成するタスク4の数であり、こ
れが1である場合は同期制御そのものを行う必要がない
(ステップ301)。
【0022】次に自分が、マスタタスクとスレーブタス
クのいずれであるかによって処理を振り分ける(ステッ
プ302)。即ち、ステップ303〜307はマスタタ
スクによって実行され、ステップ311〜314はスレ
ーブタスクによって実行される。
クのいずれであるかによって処理を振り分ける(ステッ
プ302)。即ち、ステップ303〜307はマスタタ
スクによって実行され、ステップ311〜314はスレ
ーブタスクによって実行される。
【0023】自分がマスタタスクである場合(m=0)
は、スレーブタスクと歩調を合わせるべく、次の処理を
行う。作業変数t、uに、スレーブタスクの内、最小の
タスク番号および最大の大きいタスク番号を代入する
(ステップ303、304)。そして、スレーブタスク
がすべて同期地点に到着しているための条件を、制御変
数A(t)、A(t+1)、…、A(u)を参照するこ
とで判断し、条件が成立するまでステップ305を反復
する。この条件は、スレーブタスクのすべてが後述のス
テップ312を完了することで成立する。条件が成立し
たら、制御変数A(t)、A(t+1)、…、A(u)
に元の値(0)を代入し(ステップ306)、スレーブ
タスクに、同期が成立した旨を制御変数D(t)、D
(t+1)、…、D(u)に1を代入することによって
通知する(ステップ307)。
は、スレーブタスクと歩調を合わせるべく、次の処理を
行う。作業変数t、uに、スレーブタスクの内、最小の
タスク番号および最大の大きいタスク番号を代入する
(ステップ303、304)。そして、スレーブタスク
がすべて同期地点に到着しているための条件を、制御変
数A(t)、A(t+1)、…、A(u)を参照するこ
とで判断し、条件が成立するまでステップ305を反復
する。この条件は、スレーブタスクのすべてが後述のス
テップ312を完了することで成立する。条件が成立し
たら、制御変数A(t)、A(t+1)、…、A(u)
に元の値(0)を代入し(ステップ306)、スレーブ
タスクに、同期が成立した旨を制御変数D(t)、D
(t+1)、…、D(u)に1を代入することによって
通知する(ステップ307)。
【0024】一方、自分がスレーブタスクである場合
(m>0)は、前出のマスタタスクと歩調を合わせるべ
く、次の処理を行う。作業変数tに自分のタスク番号p
を代入する(ステップ311)。そして、マスタタスク
に自らの到着を通知すべく、制御変数A(t)に1を代
入する(ステップ312)。次に、同期が成立している
ための条件を制御変数D(t)を参照することで判断
し、条件が成立するまでステップ313を反復する。こ
の条件は、マスタタスクが前述のステップ307を完了
することで成立する。最後に、制御変数D(t)に元の
値(0)を代入する(ステップ314)。
(m>0)は、前出のマスタタスクと歩調を合わせるべ
く、次の処理を行う。作業変数tに自分のタスク番号p
を代入する(ステップ311)。そして、マスタタスク
に自らの到着を通知すべく、制御変数A(t)に1を代
入する(ステップ312)。次に、同期が成立している
ための条件を制御変数D(t)を参照することで判断
し、条件が成立するまでステップ313を反復する。こ
の条件は、マスタタスクが前述のステップ307を完了
することで成立する。最後に、制御変数D(t)に元の
値(0)を代入する(ステップ314)。
【0025】同期処理終了後は、制御変数A(t)、A
(t+1)、…、A(u)、D(t)、D(t+1)、
…、D(u)の値はいずれも同期処理前の値(0)にな
っているため、図4に示すように、何度でも同期処理を
繰り返すことができる。
(t+1)、…、A(u)、D(t)、D(t+1)、
…、D(u)の値はいずれも同期処理前の値(0)にな
っているため、図4に示すように、何度でも同期処理を
繰り返すことができる。
【0026】以上により、本発明の第1の実施の形態の
動作が完了する。
動作が完了する。
【0027】
【実施例】次に、本発明の一実施例について、図1〜図
4を参照して詳細に説明する。
4を参照して詳細に説明する。
【0028】本実施例では、タスク数が8で、タスクT
3〜T6が同期グループ5を構成している。ここでタス
クT3がマスタタスク、タスクT4〜T6がスレーブタ
スクである。この場合、n=4、m=p−3の関係が生
ずる。また、制御変数は、A(0)、A(1)、…、A
(7)、D(0)、D(1)、…、D(7)の計16個
となる。
3〜T6が同期グループ5を構成している。ここでタス
クT3がマスタタスク、タスクT4〜T6がスレーブタ
スクである。この場合、n=4、m=p−3の関係が生
ずる。また、制御変数は、A(0)、A(1)、…、A
(7)、D(0)、D(1)、…、D(7)の計16個
となる。
【0029】ステップ301においては、n=4のため
YES側に分岐する。
YES側に分岐する。
【0030】ステップ302においては、マスタタスク
T3はYES側に分岐し、スレーブタスクT4〜T6は
NO側に分岐する。
T3はYES側に分岐し、スレーブタスクT4〜T6は
NO側に分岐する。
【0031】マスタタスクT3(p=3)は、以下の処
理を行う。
理を行う。
【0032】まず、作業変数tには、t=p+1=3+
1より4を代入する(ステップ303)。同様に、作業
変数uには、u=p+n−1=3+4−1より6を代入
する(ステップ304)。そして、スレーブタスクT4
〜T6がすべて同期地点に到着したか否かを制御変数A
(4)、A(5)およびA(6)を参照することにより
判断し、条件が成立するまでステップ305を反復す
る。この条件は、スレーブタスクT4〜T6が後述のス
テップ312を完了することで成立する。条件が成立し
たら、制御変数A(4)、A(5)およびA(6)に元
の値(0)を代入し(ステップ306)、スレーブタス
クT4〜T6に同期が成立した旨を制御変数D(4)、
D(5)およびD(6)に1を代入することによって通
知する(ステップ307)。
1より4を代入する(ステップ303)。同様に、作業
変数uには、u=p+n−1=3+4−1より6を代入
する(ステップ304)。そして、スレーブタスクT4
〜T6がすべて同期地点に到着したか否かを制御変数A
(4)、A(5)およびA(6)を参照することにより
判断し、条件が成立するまでステップ305を反復す
る。この条件は、スレーブタスクT4〜T6が後述のス
テップ312を完了することで成立する。条件が成立し
たら、制御変数A(4)、A(5)およびA(6)に元
の値(0)を代入し(ステップ306)、スレーブタス
クT4〜T6に同期が成立した旨を制御変数D(4)、
D(5)およびD(6)に1を代入することによって通
知する(ステップ307)。
【0033】一方、スレーブタスクT4〜T6(p=4
〜6)は、以下の処理を行う。
〜6)は、以下の処理を行う。
【0034】まず、作業変数tに自分のタスク番号pを
代入する(ステップ311)。そして、マスタタスクT
3に自らの到着を通知すべく、制御変数A(t)に1を
代入する(ステップ312)。次に、同期が成立してい
か否かを制御変数D(t)を参照することにより判断
し、条件が成立するまでステップ313を反覆する。こ
の条件は、マスタタスクT3が前述のステップ307を
完了することで成立する。最後に、制御変数D(t)に
元の値(0)を代入する(ステップ314)。
代入する(ステップ311)。そして、マスタタスクT
3に自らの到着を通知すべく、制御変数A(t)に1を
代入する(ステップ312)。次に、同期が成立してい
か否かを制御変数D(t)を参照することにより判断
し、条件が成立するまでステップ313を反覆する。こ
の条件は、マスタタスクT3が前述のステップ307を
完了することで成立する。最後に、制御変数D(t)に
元の値(0)を代入する(ステップ314)。
【0035】以上により、本発明の一実施例の動作が完
了する。
了する。
【0036】次に、本発明の第2の実施の形態について
図面を参照して詳細に説明する。
図面を参照して詳細に説明する。
【0037】図1を参照すると、本発明の第2の実施の
形態は、第1の実施の形態に加えて、各プロセッサ2に
第1の実施の形態に係る処理を実行させるためのプログ
ラムを記録する記録媒体6を備える。
形態は、第1の実施の形態に加えて、各プロセッサ2に
第1の実施の形態に係る処理を実行させるためのプログ
ラムを記録する記録媒体6を備える。
【0038】該プログラムは、記録媒体6からプロセッ
サ2に読み込まれ、プロセッサ2の動作を制御する。プ
ロセッサ2は、該プログラムの制御により、第1の実施
の形態におけるマスタタスクおよびスレーブタスクと同
一の処理を実行する。
サ2に読み込まれ、プロセッサ2の動作を制御する。プ
ロセッサ2は、該プログラムの制御により、第1の実施
の形態におけるマスタタスクおよびスレーブタスクと同
一の処理を実行する。
【0039】以上により、第2の実施の形態の処理が完
了する。
了する。
【0040】
【発明の効果】以上説明したように、本発明は、複数の
タスクを並列に実行することができるマルチプロセッサ
システムにおいて、該複数のタスクの同期処理を連続し
て実行することをソフトウェアで実現することができる
効果を有している。
タスクを並列に実行することができるマルチプロセッサ
システムにおいて、該複数のタスクの同期処理を連続し
て実行することをソフトウェアで実現することができる
効果を有している。
【図1】図1は、本発明の第1および第2の実施の形態
を示すブロック図である。
を示すブロック図である。
【図2】図2は、本発明の第1および第2の実施の形態
におけるタスクと同期グループの関係を示す図である。
におけるタスクと同期グループの関係を示す図である。
【図3】図3は、本発明の第1および第2の実施の形態
の動作を示す流れ図である。
の動作を示す流れ図である。
【図4】図4は、本発明の第1および第2の実施の形態
の動作と制御変数の値の変化を時系列に示す図である。
の動作と制御変数の値の変化を時系列に示す図である。
1 共有メモリ 2 プロセッサ 3 ローカルメモリ 4 タスク 5 同期グループ 6 記録媒体
Claims (6)
- 【請求項1】 複数のタスク手段を異なるプロセッサ上
で並列に実行するマルチプロセッサシステムにおいて、 前記複数のタスク手段の内の特定のタスク手段であるマ
スタタスク手段と、 前記マスタタスク手段以外の前記複数のタスク手段の内
の少なくとも一つのタスク手段であるスレーブタスク手
段と、 各プロセッサに共有され、各スレーブタスク手段に対応
する第1の制御変数および第2の制御変数を格納する共
有メモリとを備え、 前記スレーブタスク手段のそれぞれが、自身に対応する
前記第1の制御変数を所定の値に更新するとともに前記
マスタタスク手段によりすべての前記第2の制御変数が
所定の値に更新されるのを待ち合わせ、更新されたとき
に該すべての前記第2の制御変数を初期値に更新するこ
とを特徴とするマルチプロセッサシステムにおける複数
タスクの同期処理装置。 - 【請求項2】 前記マスタタスク手段が、各スレーブタ
スク手段によりすべての前記第1の制御変数が更新され
るのを待ち合わせ、更新されたときに該すべての前記第
1の制御変数を初期値に更新するとともにすべての前記
第2の制御変数を所定の値に更新することを特徴とする
請求項1記載のマルチプロセッサシステムにおける複数
タスクの同期処理装置。 - 【請求項3】 複数のタスクを異なるプロセッサ上で並
列に実行するマルチプロセッサシステムにおいて、 前記複数のタスクに含まれる少なくとも一つのスレーブ
タスクのそれぞれが、各スレーブタスクに対応する第1
の制御変数の内、自身に対応する該第1の制御変数を所
定の値に更新するとともに各スレーブタスクに対応する
第2の制御変数のすべてが所定の値に更新されるのを待
ち合わせ、更新されたときに該すべての第2の制御変数
を初期値に更新することを特徴とするマルチプロセッサ
システムにおける複数タスクの同期処理方法。 - 【請求項4】 前記複数のタスクに含まれる特定のタス
クであるマスタタスクが、すべての前記第1の制御変数
が更新されるのを待ち合わせ、更新されたときにすべて
の前記第1の制御変数を初期値に更新するとともにすべ
ての前記第2の制御変数を所定の値に更新することを特
徴とする請求項3記載のマルチプロセッサシステムにお
ける複数タスクの同期処理方法。 - 【請求項5】 複数のタスクを異なるプロセッサ上で並
列に実行するマルチプロセッサシステムにおいて、前記
複数のタスクに含まれる特定のタスクであるマスタタス
ク手段と、前記複数のタスクに含まれる少なくとも一つ
のタスクであるスレーブタスク手段としてプロセッサを
機能させるためのプログラムを記録した記録媒体であっ
て、 各スレーブタスク手段が、各スレーブタスク手段に対応
する第1の制御変数の内、自身に対応する前記第1の制
御変数を所定の値に更新するとともに、前記マスタタス
ク手段により各スレーブタスク手段に対応する第2の制
御変数のすべてが所定の値に更新されるのを待ち合わ
せ、更新されたときに該すべての第2の制御変数を初期
値に更新することを特徴とする記録媒体。 - 【請求項6】 前記マスタタスク手段が、各スレーブタ
スク手段によりすべての前記第1の制御変数が更新され
るのを待ち合わせ、更新されたときに該すべての前記第
1の制御変数を初期値に更新するとともにすべての前記
第2の制御変数を所定の値に更新することを特徴とする
請求項5記載の記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17728697A JPH1097438A (ja) | 1996-08-01 | 1997-07-02 | マルチプロセッサシステムにおける複数タスクの同期処 理装置、同期処理方法および同期処理プログラムを記録 した記録媒体 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20362796 | 1996-08-01 | ||
| JP8-203627 | 1996-08-01 | ||
| JP17728697A JPH1097438A (ja) | 1996-08-01 | 1997-07-02 | マルチプロセッサシステムにおける複数タスクの同期処 理装置、同期処理方法および同期処理プログラムを記録 した記録媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1097438A true JPH1097438A (ja) | 1998-04-14 |
Family
ID=26497884
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17728697A Pending JPH1097438A (ja) | 1996-08-01 | 1997-07-02 | マルチプロセッサシステムにおける複数タスクの同期処 理装置、同期処理方法および同期処理プログラムを記録 した記録媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1097438A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| ES2303742A1 (es) * | 2005-08-01 | 2008-08-16 | Universidad De Cordoba | Sistema de comunicaciones para ejecutar tareas en paralelo mediante ordenadores personales. |
-
1997
- 1997-07-02 JP JP17728697A patent/JPH1097438A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| ES2303742A1 (es) * | 2005-08-01 | 2008-08-16 | Universidad De Cordoba | Sistema de comunicaciones para ejecutar tareas en paralelo mediante ordenadores personales. |
| ES2303742B1 (es) * | 2005-08-01 | 2009-08-25 | Universidad De Cordoba | Sistema de comunicaciones para ejecutar tareas en paralelo mediante ordenadores personales. |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH1097438A (ja) | マルチプロセッサシステムにおける複数タスクの同期処 理装置、同期処理方法および同期処理プログラムを記録 した記録媒体 | |
| JPS63142431A (ja) | パイプライン制御方式 | |
| JPH07234897A (ja) | 生産スケジュール作成装置 | |
| JP2741991B2 (ja) | 共有ファイルのデータ更新処理方法 | |
| JPH06259115A (ja) | プログラマブルコントローラ | |
| JPS6342293B2 (ja) | ||
| JP5117434B2 (ja) | 制御装置の保守装置 | |
| JPH04138575A (ja) | 有限要素データ再作成装置 | |
| JPH03288906A (ja) | Pcの命令実行方式 | |
| JPH04205150A (ja) | 複数タスクによるファイル更新方法 | |
| JP3117786B2 (ja) | 生産機械の稼働予定管理装置 | |
| JP2018055244A (ja) | 演算装置、電子制御装置及び演算方法 | |
| JPH08272750A (ja) | 分散処理システムおよびその処理方法 | |
| JPH03226845A (ja) | ツリー構造データ多重処理方式 | |
| JPH06110710A (ja) | バッチ処理制御システム | |
| JPH07117901B2 (ja) | 時分割制御方式 | |
| JPS63247824A (ja) | デ−タエントリ画面定義数の拡張方法 | |
| JPH02113363A (ja) | マルチプロセッサシステムにおけるタイムスライス制御方式 | |
| JPH02181831A (ja) | プログラム制御方法 | |
| JPH036617A (ja) | 単一システムでの複数コード系サポート処理方式 | |
| JPH0378035A (ja) | タクス実行制御装置 | |
| JPH03148730A (ja) | プロセスキュー処理方式 | |
| JPH10171509A (ja) | プロセス制御装置 | |
| JP2001022421A (ja) | ロボットの実行処理システム | |
| JPH04188329A (ja) | 計画型問題解決方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000704 |