JP3278457B2 - プログラム実行制御装置及びプログラム実行制御方法 - Google Patents

プログラム実行制御装置及びプログラム実行制御方法

Info

Publication number
JP3278457B2
JP3278457B2 JP11763892A JP11763892A JP3278457B2 JP 3278457 B2 JP3278457 B2 JP 3278457B2 JP 11763892 A JP11763892 A JP 11763892A JP 11763892 A JP11763892 A JP 11763892A JP 3278457 B2 JP3278457 B2 JP 3278457B2
Authority
JP
Japan
Prior art keywords
thread
execution
threads
processing
logical
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.)
Expired - Lifetime
Application number
JP11763892A
Other languages
English (en)
Other versions
JPH05313922A (ja
Inventor
明 森下
トレハン ラジブ
信介 澤島
一郎 友田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP11763892A priority Critical patent/JP3278457B2/ja
Publication of JPH05313922A publication Critical patent/JPH05313922A/ja
Application granted granted Critical
Publication of JP3278457B2 publication Critical patent/JP3278457B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、逐次、並行、並列など
の各プログラム実行の制御を可能にしたプログラム実行
制御装置及びプログラム実行制御方法に関する。
【0002】
【従来の技術】最近、コンピュータでの処理の高速化は
目覚ましいものがあり、これにともない逐次プログラム
の実行制御方式に止まらず、並行、並列の各プログラム
の実行制御方式も開発されている。
【0003】ところで、このようなプログラム実行制御
方式では、そのプログラムの実行制御を1つの論理的処
理装置(OSや言語サポート)が一括して行うのが一般
的である。つまり、従来では、1つの物理的処理装置に
対して「アーキテクチャに適した実行制御方式が静的に
設定された」1つの論理的処理装置(OSや言語サポー
ト)のみが存在するようになっている。
【0004】このことは、言い換えればプログラムの実
行制御のすべてが、OSの管理下に置かれていることで
あり、OSの処理の指向が決められると、プログラム毎
に逐次、並行、並列、分散の各実行制御が決められるこ
とである。
【0005】ここで、逐次、並行、並列、分散の各プロ
グラム実行制御は、システムの構成(プロセッサ数、プ
ロセッサ種類、ネットワーク構成、データ転送速度な
ど)に応じてそれぞれの効率が変化することが知られて
いる。このため、実際のプログラム開発では、並行実行
するように記述されたプログラムを逐次実行に変更した
り、その逆に逐次実行するように記述されたプログラム
を並行実行に変更するようなことが頻繁に行われる。ま
た、並行および並列プログラムの開発では、並行、並列
実行するように記述されたプログラムを、デバッグのた
めに逐次実行させるような実行制御を必要とすることも
ある。
【0006】しかしながら、上述したように一元的に処
理を指向するOSの下で各プログラムの実行制御を行う
従来方式では、プログラムの性質によって実行制御方式
を変更したり、調整したりすることが難いことから、当
然のことながらプログラム毎に逐次、並行、並列、分散
の各実行制御に対応させることができず、プログラム実
行制御の形態変更については、プログラムそのものの書
き換える必要があり、ましては、任意の時点でプログラ
ムの実行を同期的、非同期的に切り換えたり、排他的、
非排他的実行に切り換えたりすることは到底できなかっ
た。
【0007】また、個々の処理装置の能力に応じた最適
なパラメータを与えるような実行制御も困難であり、こ
のため能力の小さな処理装置が過大の数の処理を受諾し
たり、過大の数のプロセスを生成して実行してしまうこ
ともあり、あるいは過大な数のプロセッサを獲得してし
まうこともある。このことから、プログラムミスによる
異常事態発生などの不具合を回避することも困難であ
り、システムに多大の損失を与えるおそれもあった。
【0008】
【発明が解決しようとする課題】このように従来のプロ
グラム実行制御方式では、プログラムの実行制御のすべ
てがOSの管理下に置かれるため、プログラム毎に逐
次、並行、並列、分散の各実行制御に対応することがで
きず、また、プログラム実行制御の形態変更について
は、その都度プログラムそのものの書き換えが必要にな
るなどの問題点があった。
【0009】本発明は、上記事情に鑑みてなされたもの
で、プログラム毎の各実行制御の形態をプログラムの書
き換えを行うことなく、簡単に変更することができるプ
ログラム実行制御装置及びプログラム実行制御方法を提
供することを目的とする。
【0010】
【課題を解決するための手段】本発明に係るプログラム
実行制御装置は、同時に受付可能なスレッドの数、同時
に実行可能なスレッドの数、および当該同時実行可能な
スレッドの実行のために利用可能な論理プロセッサの数
を含む制御パラメータを設定する設定手段と、前記制御
パラメータにしたがった数のスレッドの実行要求を同時
に受け付ける受付手段と、前記受付手段において同時に
受け付けられた複数のスレッドの中から、前記制御パラ
メータにしたがった数のスレッドを同時実行可能なスレ
ッドとして実行コンテキスト毎に選択するスレッド実行
手段と、前記スレッド実行手段により選択されたスレッ
ドに対し、前記制御パラメータにしたがった数の論理プ
ロセッサを割り当てる論理プロセッサ割当手段と、前記
割り当てられた複数の論理プロセッサに対し少なくとも
一つの物理プロセッサを割り当てる物理プロセッサ割当
手段とを具備したことを特徴とする。本発明に係るプロ
グラム実行制御方法は、同時に受付可能なスレッドの
数、同時に実行可能なスレッドの数、および当該同時実
行可能なスレッドの実行のために利用可能な論理プロセ
ッサの数を含む制御パラメータを設定し、前記制御パラ
メータにしたがった数のスレッドの実行要求を同時に受
け付け、同時に受け付けられた前記複数のスレッドの中
から、前記制御パラメータにしたがった数のスレッドを
同時実行可能なスレッドとして実行コンテキスト毎に選
択し、選択された前記スレッドに対し、前記制御パラメ
ータにしたがった数の論理プロセッサを割り当て、割り
当てられた前記複数の論理プロセッサに対し少なくとも
一つの物理プロセッサを割り当てることを特徴とする。
【0011】
【作用】この結果、本発明によれば制御パラメータとし
て設定された同時に利用できる論理プロセッサの数Lに
したがってスレッドの処理に利用される論理プロセッサ
が割当てられ、また、同時に処理できるスレッドの数N
にしたがって割り当てられた論理プロセッサに対する処
理スレッドが決定される。従って、制御パラメータL、
Nを任意の時点で独立して変更することで、プログラム
毎の各実行制御の形態を逐次、並行、並列、分散などの
範囲で変更できるようになる。
【0012】
【実施例】以下、本発明の一実施例を図面に従い説明す
る。
【0013】図1は同実施例の概略構成を示すものであ
る。図において、1は入力部で、この入力部1にはプロ
グラム中のスレッドが与えられる。ここで、スレッドは
プログラム中の特定の機能を果たすスレッドのことであ
る。
【0014】2は制御パラメータ設定部で、この制御パ
ラメータ設定部2は、同時に利用できる論理プロセッサ
数L、同時に受付けられるスレッド数M、同時処理でき
るスレッド数Nを、それぞれ制御パラメータとして設定
するようにしている。これに制御パラメータは、ユーザ
がプログラム中にこれを書き込んでおくことにより、任
意に設定が可能である。また、OSがこれを設定するよ
うにしてもよい。プログラム中の情報から制御パラメー
タを設定する場合には、後述するスレッド実行部4がこ
の情報を得て、新しい制御パラメータの設定要求を設定
部2に出すことになる。
【0015】そして、入力部1の出力は、要求受付部3
に送られ、制御パラメータ設定部2の出力は、Mが要求
受付け部3、Nがスレッド実行部4、Lが論理プロセッ
サ割当て部5に送られる。あるいは、制御パラメータ設
定部2の出力をすべて要求受付け部3に送り、その後、
要求受付け部3からN、Lをスレッド実行部4に渡し、
その後、スレッド実行部4からLを論理プロセッサ割当
て部5に渡すようにもできる。
【0016】要求受付部3は、制御パラメータ設定部2
で設定された制御パラメータMにしたがって入力部1あ
るいは後述のスレッド実行部4から与えられるスレッド
数の要求を合わせてM個まで受付けるようになってい
る。
【0017】そして、要求受付部3の出力は、スレッド
実行部4に送られる。スレッド実行部4は、制御パラメ
ータ設定部2で設定される制御パラメータNにしたがっ
て同時処理されるスレッド数を決定するようにしてい
る。また、スレッド実行部4には、論理プロセッサ割当
て部5を接続している。さらに、スレッド実行部4は、
カレッド実行しながら新たなスレッドの実行要求を要求
受付部3へ出す。
【0018】論理プロセッサ割当て部5は、制御パラメ
ータ設定部2で設定された制御パラメータLにしたがっ
てスレッド実行部4でのスレッド処理に利用できる論理
プロセッサを割当てるようにしている。この場合、論理
プロセッサ割当て部5は、スレッド実行部4からのスレ
ッド処理に必要な論理プロセッサの割当て要求に対し、
割当てられた論理プロセッサIDをスレッド実行部4に
対して返送するようにしている。
【0019】そして、論理プロセッサ割当て部5の出力
は、プロセッサ対応付け部6に送られる。プロセッサ対
応付け部6は、論理プロセッサ割当て部5で割当てられ
た論理プロセッサと物理プロセッサ7との対応付けを行
うものである。次に、以上のように構成した実施例の動
作を説明する。
【0020】まず、制御パラメータ設定部2により同時
に利用できる論理プロセッサ数Lを1に設定し、同時に
受付けられるスレッド数Mおよび同時処理できるスレッ
ド数Nを1より大きな数に設定した場合を説明する。
【0021】この場合、要求受付部3では、入力部1か
ら与えられるスレッドを複数個受付け可能にし、論理プ
ロセッサ割当て部5では、スレッド実行部4でのスレッ
ド処理に利用できる論理プロセッサの割当て個数Lを1
とし、スレッド実行部4では、1個の論理プロセッサに
対して複数のスレッド処理を行うようにしている。
【0022】これにより、図2(a)に示すように要求
受付部3でスレッドS1、S2、S3を受付けると、ス
レッド実行部4では、これらスレッドS1、S2、S3
を取り込み、論理プロセッサ割当て部5より割当てられ
た1個の論理プロセッサLP1に対して複数の実行コン
テキストPCA1、PCA2、PCA3を用意すること
になり、同図(b)に示すように、スレッドS1、S
2、S3が同一の論理プロセッサLP1を利用して並行
して処理されるようになる。つまり、論理プロセッサの
割当て個数Lを1とすることにより、並行実行制御が得
られることになる。ここで、Lの個数を制御すると、論
理プロセッサから受けられる処理能力を制御できること
であり、これにより処理方針と同時に処理速度も制御で
きる。次に、制御パラメータ設定部2により同時処理さ
れるスレッド数Nを1に設定した場合を説明する。
【0023】この場合、入力部1から与えられるスレッ
ドを複数個受付け可能にし、論理プロセッサ割当て部5
では、スレッド実行部4のスレッド処理に利用できる論
理プロセッサの割当てを複数個とし、スレッド実行部4
では、複数の論理プロセッサに対してスレッド処理を行
うようにしている。
【0024】これにより、いま、図3(a)に示すよう
に要求受付部3でスレッドS1を受付けると、スレッド
実行部4では、このスレッドS1を取り込み、論理プロ
セッサ割当て部5より割当てられた複数の論理プロセッ
サLP1、LP2、LP3、LP4に対し1個の実行コ
ンテキストPCA1を用意することになり、同図(b)
に示すようにスレッドS1は複数の論理プロセッサLP
1、LP2、LP3、LP4を利用して逐次処理が行わ
れることになる。ここで、Nの個数を制御することによ
りスレッド処理の並行性または並列性を制御することが
できるので、処理形態と同時に並行処理能力や並列処理
能力も制御できる。また、論理プロセッサの数が多いほ
ど逐次処理を高速に実行できるので、Lの個数により逐
次処理能力を制御することもできる。次に、制御パラメ
ータ設定部2により受付けられるスレッド個数Mを1に
設定した場合を説明する。
【0025】この場合、論理プロセッサ割当て部5で
は、スレッド実行部4のスレッド処理に利用できる論理
プロセッサの割当てを複数個とし、スレッド実行部4で
は、同時処理されるスレッド数Nを1として複数の論理
プロセッサに対してスレッド処理を行うようにしてい
る。
【0026】これにより、図4(a)に示すように要求
受付部3でスレッドS1を受付けると、スレッド実行部
4では、このスレッドS1を取り込み、論理プロセッサ
割当て部5より割当てられた複数の論理プロセッサLP
1、LP2、LP3に対し1個の実行コンテキストPC
A1を用意することになり、同図(b)に示すようにス
レッドS1は複数の論理プロセッサLP1、LP2、L
P3を利用して逐次処理が行われることになる。
【0027】ここで、処理中のスレッドS1が新しいス
レッドS2の処理を要求しても、スレッドS1が処理中
であれば、要求受付部3は、これを受付けすることがで
きないので、この場合は、図5(a)(b)に示すよう
に、スレッドS1の前に実行されるスレッドとしてS2
が挿入され、スレッドS2の処理は処理要求を出したス
レッドS1自身が行うことになり、スレッドS2は、同
期的(プロージャコール的)に処理される。
【0028】ここで、Mの個数を制御することは、処理
の同期率(非同期率)を制御することでもあり、これに
よって処理方針と処理の同期処理率(非同期処理率)を
制御することができる。また、個数L以下の任意個数の
論理プロセッサが1個の実行コンテキストを共有してス
レッドを処理することにより、任意の時点において処理
の実行優先度に関する実行制御を簡単に実現することも
できる。一例として、異なる優先度を有する2つのスレ
ッドS1、S2の実行要求があった場合を説明する。
【0029】この場合、優先度を有するスレッドS1、
S2を要求受付部3で受付けると、制御パラメータ設定
部2で設定されるパラメータにより、論理プロセッサ割
当て部5では、スレッド実行部4のスレッド処理に利用
できる論理プロセッサの割当てを複数個とし、スレッド
実行部4では、スレッドS1、S2に対し優先度に応じ
た個数の論理プロセッサを配分するとともに、それぞれ
の論理プロセッサに対しスレッド処理を行うようにして
いる。
【0030】これにより、要求受付部3でスレッドS
1、S2を受付けると、図6(a)に示すようにスレッ
ド実行部4では、優先度の高いスレッドS1に対して論
理プロセッサLP1、LP2と1個の実行コンテキスト
PCA1を用意し、優先度の低いスレッドS2に対して
論理プロセッサLP3と1個の実行コンテキストPCA
2を用意することになり、同図(b)に示すように優先
度の高いスレッドS1は複数の論理プロセッサLP1、
LP2を利用して処理が行われ、次に優先度の低いスレ
ッドS2は論理プロセッサLP3を利用して処理が行わ
れるようになる。
【0031】このように1個の実行コンテキストを共有
する論理プロセッサの個数を制御することにより、スレ
ッドに割当てられる処理能力が制御され、スレッド単位
の処理優先度を制御することができる。また、任意個数
の処理要求が1つの実行コンテキストを共有して実行さ
れることにより任意の時点で様々な実行制御を簡単に実
現することもできる。次に、排他的な実行を行うべきス
レッドS1、S2、S3の実行要求があった場合を説明
する。
【0032】この場合、スレッドS1、S2、S3を要
求受付部3で受付けると、制御パラメータ設定部2で設
定されるパラメータにより、論理プロセッサ割当て部5
では、スレッド実行部4のスレッド処理に利用できる論
理プロセッサの割当てを1個とし、スレッド実行部4で
は、スレッドS1、S2、S3に対して1個の論理プロ
セッサを配分するとともに、この論理プロセッサに対し
スレッド処理を行うようにしている。
【0033】これにより、要求受付部3でスレッドS
1、S2、S3(どのような順序で実行してもよい)を
受付けると、図7(a)に示すようにスレッド実行部4
では、各スレッドS1、S2、S3に対して1個の論理
プロセッサLP1と1個の実行コンテキストPCA1を
用意することになり、同図(b)に示すように、まずス
レッドS1が論理プロセッサLP1を利用して処理さ
れ、この処理が終了するのを待って、次のスレッドS2
が論理プロセッサLP1を利用して処理され、さらにこ
の処理が終了するのを待って、次のスレッドS3が論理
プロセッサLP1を利用して処理されるようになる。こ
こでのスレッドS1、S2、S3は、逐次処理であり、
一度実行された処理は処理終了まで実行コンテキストP
CA1を独占することにより、排他性を考慮した実行制
御が実現できる。次に、半整列化されて実行を行うべき
スレッドS1、S2、S3の実行要求があった場合を説
明する。
【0034】この場合もスレッドS1、S2、S3(こ
の順序で実行されるべきもの)を要求受付部3で受付け
ると、制御パラメータ設定部2で設定されるパラメータ
により、論理プロセッサ割当て部5では、スレッド実行
部4のスレッド実行に利用できる論理プロセッサの割当
てを1個とし(複数でもよいが、説明の便宜上1個とし
ている)、スレッド実行部4では、スレッドS1、S2
に対して1個の論理プロセッサを配分するとともに、こ
の論理プロセッサに対しスレッド実行を行うようにして
いる。
【0035】これにより、要求受付部3でスレッドS
1、S2、S3を受付けると、図8(a)に示すように
スレッド実行部4では、スレッドS1、S2、S3に対
して1個の論理プロセッサLP1と1個の実行コンテキ
ストPCA1を用意することになり、同図(b)に示す
ように、まずスレッドS1が論理プロセッサLP1を利
用して処理され、この処理が終了するのを待って、次の
スレッドS2が論理プロセッサLP1を利用して処理さ
れ、さらにこの処理が終了するのを待って、次のスレッ
ドS3が論理プロセッサLP1を利用して実行されるよ
うになる。つまり、この場合も、排他性の実行制御の場
合と同様にした上で、各処理を指定順序通り整列して実
行コンテキストを共用させれば、処理の半整列化を考慮
した実行制御を実現できる。ここで、1個の実行コンテ
キストを共有することは、処理を融合して1つの逐次処
理にすることであり、これによって処理単位の排他性、
半整列性を実行制御することができる。
【0036】次に、排他的実行あるいは半整列化実行が
要求されると同時に、異なる優先度を有する複数のスレ
ッドS1、S2、S3の実行要求があった場合を説明す
る。ここでは、スレッドS1、S2について排他制御が
要求され、スレッドS1、S2は高い優先度で実行され
ると同時に高い優先度を持ち、スレッドS3は、スレッ
ドS1、S2より低い優先度を持つ場合を例に取る。
【0037】この場合、スレッドS1、S2、S3を要
求受付部3で受付けると、制御パラメータ設定部2で設
定されるパラメータにより、論理プロセッサ割当て部5
では、スレッド実行部4のスレッド実行に利用できる論
理プロセッサの割当てを複数個とし、スレッド実行部4
では、スレッドS1、S2に対して複数の論理プロセッ
サを配分するとともに、これら論理プロセッサに対する
スレッド実行を行うようにし、また、スレッドS3に対
し1個の論理プロセッサを配分するとともに、この論理
プロセッサに対するスレッド実行を行うようにしてい
る。
【0038】これにより、要求受付部3でスレッドS
1、S2、S3を受付けると、図9(a)に示すように
スレッド実行部4では、スレッドS1、S2に対して論
理プロセッサLP1、LP2、LP3と1個の実行コン
テキストPCA1を用意し、また、スレッドS3に対し
て論理プロセッサLP4と1個の実行コンテキストPC
A2を用意することになり、上述した図6から図8の実
行制御の組み合わせにより、同図(b)に示すような排
他的実行あるいは半整列化実行が要求されると同時に異
なる優先度を有する場合の実行制御が実現できる。
【0039】つまり、個数N以下の任意個数の実行コン
テキストが個数L以下の任意個数の論理プロセスを共有
することによって、任意の時点で処理の並行実行に関す
る実行制御を簡単に実現することができる。また、実行
コンテキストによる論理プロセッサの共有は、プログラ
ムを構成するスレッド処理単位の実行制御方式を決定で
きることにもなる。次に、スレッドS2が自分と並行処
理されるべきスレッドS3の処理要求を出した場合を説
明する。
【0040】この場合、制御パラメータ設定部2で設定
されるパラメータにより、論理プロセッサ割当て部5で
は、スレッド実行部4のスレッド実行に利用できる論理
プロセッサの割当てを複数個とし、スレッド実行部4で
は、それぞれの論理プロセッサに対してスレッド処理を
行うようにしている。
【0041】これにより、要求受付部3でスレッドS
1、S2を受付けると、図10(a)に示すようにスレ
ッド実行部4では、スレッドS1に対して論理プロセッ
サLP1と実行コンテキストPCA1を用意し、スレッ
ドS2に対して論理プロセッサLP2と実行コンテキス
トPCA2を用意することになり、同図(b)に示すよ
うにスレッドS1、S2がそれぞれの論理プロセッサL
P1、LP2を利用して処理される。ここで、処理中の
スレッドS2が他のスレッドS3の処理を要求すると、
図11(a)に示すようにスレッドS3に対して論理プ
ロセッサLP2を共有するとともに、2個の実行コンテ
キストPCA2、PCA3を用意することになり、同図
(b)に示すようにスレッドS2とスレッドS3につい
て並行処理が実現できるようになる。次に、処理中のス
レッドS2がスレッドS3の処理を要求するとともに、
ある時点でスレッドS3の処理結果を必要とする場合を
説明する。
【0042】この場合、制御パラメータ設定部2で設定
されるパラメータにより、論理プロセッサ割当て部5で
は、スレッド実行部4のスレッド実行に利用できる論理
プロセッサの割当て個数を複数とし、スレッド実行部4
では、これらの論理プロセッサに対してスレッド処理を
行うようにしている。
【0043】これにより、要求受付部3でスレッドS
1、S2を受付けると、図12(a)に示すようにスレ
ッド実行部4では、スレッドS1に対して論理プロセッ
サLP1と実行コンテキストPCA1、スレッドS2に
対して論理プロセッサLP2と実行コンテキストPCA
2を用意し、また、スレッドS2のスレッドS3の処理
要求によりスレッドS3に対しても論理プロセッサLP
3と実行コンテキストPCA3を用意することになる。
すると、同図(b)に示すようにスレッドS1、S2が
それぞれの論理プロセッサLP1、LP2を利用して処
理され、スレッドS3についても論理プロセッサLP3
を利用して処理が行われる。そして、スレッドS2の処
理が、スレッドS3の処理結果待ちになると、図13
(a)に示すようにスレッドS2に対する論理プロセッ
サLP2をスレッドS3に対して貸し出すようになり、
この結果、同図(b)に示すようにスレッドS3は論理
プロセッサLP2、LP3を利用して処理される。その
後、スレッドS3の処理が終了すると、図14(a)に
示すようにスレッドS3に貸し出していた論理プロセッ
サLP2をスレッドS2に戻し、スレッドS2の処理を
論理プロセッサLP2を利用して行うようにする。これ
により、実行処理の個数を制限しつつサスペンドによる
処理効率の低下を回避する実行制御が可能になる。
【0044】次に、スレッドS2がスレッドS3の処理
終了待ちしている間に、スレッドS2を処理していた論
理プロセッサをスレッドS1に貸し出すような場合を説
明する。
【0045】この場合、制御パラメータ設定部2で設定
されるパラメータにより、論理プロセッサ割当て部5で
は、スレッド実行部4のスレッド処理に利用できる論理
プロセッサの割当て個数を複数とし、スレッド実行部4
では、複数個割当てられた論理プロセッサに対してそれ
ぞれスレッド実行を用意するようにしている。
【0046】これにより、要求受付部3でスレッドS
1、S2を受付けると、図15(a)に示すようにスレ
ッド実行部4では、スレッドS1に対して論理プロセッ
サLP1と実行コンテキストPCA1、スレッドS2に
対して論理プロセッサLP2と実行コンテキストPCA
2を用意し、スレッドS3に対して論理プロセッサLP
3と実行コンテキストPCA3を用意することになる。
すると、同図(b)に示すようにスレッドS1、S2が
各論理プロセッサLP1、LP2を利用して実行され、
スレッドS3についても論理プロセッサLP3を利用し
て処理が行われる。そして、スレッドS2の処理が、ス
レッドS3の処理結果待ちになると、図16(a)に示
すようにスレッドS2に対する論理プロセッサLP2を
スレッドS1に対して貸し出すようになり、この結果、
同図(b)に示すようにスレッドS1は論理プロセッサ
LP1、LP2を利用して処理される。その後、スレッ
ドS3の処理が終了すると、図17(a)に示すように
スレッドS1に貸し出していた論理プロセッサLP2を
スレッドS2に戻し、スレッドS2の処理を論理プロセ
ッサLP2を利用して行うようにする。この場合も、実
行処理の個数を制限しつつサスペンドによる処理効率の
低下を回避する実行制御が可能になる。
【0047】図12〜図17に示した例によれば、個数
L以下の任意個数の論理プロセッサを他の実行コンテキ
ストに貸し出すことにより、サスペンドによる処理効率
の低下を回避する実行制御を実現することができる。論
理プロセッサの貸し出しは、プログラムを構成するスレ
ッド単位毎の効率的な実行制御を実現することになる。
【0048】一方、プロセッサ対応付け部6での論理プ
ロセッサと物理プロセッサの対応付けを任意の時点で独
立に変更することにより、分散処理、非分散処理の実行
制御を実現することもできる。
【0049】この場合、図18は、各論理プロセッサ8
が1つの物理プロセッサ7に対応付けられている状態を
示し、これにより非分散処理が得られる。また、図19
は、各論理プロセッサ8が複数の物理プロセッサ7に対
応付けられている状態を示し、これにより分散処理が得
られる。
【0050】また、これら分散処理と非分散処理に対し
てスレッドの処理要求を振り分けることによって、各処
理に適した実行制御が得られ、また、処理の任意の時点
で対応付けを変更することにより分散処理と非分散処理
を動的に切り換えることもできる。なお、本発明は上記
実施例にのみ限定されず、要旨を変更しない範囲で適宜
変形して実施できる。
【0051】
【発明の効果】本発明によれば、制御パラメータを任意
の時点で独立して変更することによりプログラム毎の各
実行制御の逐次、並行、並列、分散などの各形態の変更
をプログラムの書き換えを行うことなく簡単に応じるこ
とができる。
【図面の簡単な説明】
【図1】本発明の一実施例の概略構成を示す図。
【図2】実施例の動作を説明するための図。
【図3】実施例の動作を説明するための図。
【図4】実施例の動作を説明するための図。
【図5】実施例の動作を説明するための図。
【図6】実施例の動作を説明するための図。
【図7】実施例の動作を説明するための図。
【図8】実施例の動作を説明するための図。
【図9】実施例の動作を説明するための図。
【図10】実施例の動作を説明するための図。
【図11】実施例の動作を説明するための図。
【図12】実施例の動作を説明するための図。
【図13】実施例の動作を説明するための図。
【図14】実施例の動作を説明するための図。
【図15】実施例の動作を説明するための図。
【図16】実施例の動作を説明するための図。
【図17】実施例の動作を説明するための図。
【図18】実施例の動作を説明するための図。
【図19】実施例の動作を説明するための図。
【符号の説明】
1…入力部、2…制御パラメータ設定部、3…要求受付
部、4…スレッド実行部、5…論理プロセッサ割当て
部、6…プロセッサ対応付け部、7…物理プロセッサ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 友田 一郎 神奈川県川崎市幸区小向東芝町1番地 株式会社東芝総合研究所内 (56)参考文献 特開 平4−23137(JP,A) 特開 平3−40034(JP,A) 特開 平3−257654(JP,A) 特開 昭57−19845(JP,A) 特開 平2−93952(JP,A) RAY DUNCAN,「プログラミ ングOS/2 I カーネル・プログラ ミング編」,日本,株式会社アスキー・ 発行,1990年4月11日,初版,pp. 235−237,249 「AVM/EX 解説書 99SG− 7900−1」,日本,富士通株式会社・発 行,1990年4月30日,初版,pp.15及 び34,特許庁CSDB文献番号:CSN Z199902825001 金井達徳・他,「並列処理の実験支援 システム COOP/VM」,情報処理 学会論文誌,日本,社団法人情報処理学 会・発行,1990年12月15日,Vol. 31,No.12,pp.1780−1791,特許 庁CSDB文献番号:CSNT 199800285009 新城靖・他,「並列プログラムを対象 とした軽量プロセスの実現方式」,情報 処理学会論文誌,日本,社団法人情報処 理学会・発行,1992年1月15日,Vo l.33,No.1,pp.64−73,特許 庁CSDB文献番号:CSNT 199800277006 (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 G06F 15/16 JICSTファイル(JOIS) CSDB(日本国特許庁)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】同時に受付可能なスレッドの数、同時に実
    行可能なスレッドの数、および当該同時実行可能なスレ
    ッドの実行のために利用可能な論理プロセッサの数を含
    む制御パラメータを設定する設定手段と、 前記制御パラメータにしたがった数のスレッドの実行要
    求を同時に受け付ける受付手段と、 前記受付手段において同時に受け付けられた複数のスレ
    ッドの中から、前記制御パラメータにしたがった数のス
    レッドを同時実行可能なスレッドとして実行コンテキス
    ト毎に選択するスレッド実行手段と、 前記スレッド実行手段により選択されたスレッドに対
    し、前記制御パラメータにしたがった数の論理プロセッ
    サを割り当てる論理プロセッサ割当手段と、 前記割り当てられた複数の論理プロセッサに対し少なく
    とも一つの物理プロセッサを割り当てる物理プロセッサ
    割当手段と を具備したことを特徴とするプログラム実行
    制御装置。
  2. 【請求項2】同時に受付可能なスレッドの数、同時に実
    行可能なスレッドの数、および当該同時実行可能なスレ
    ッドの実行のために利用可能な論理プロセッサの数を含
    む制御パラメータを設定し、 前記制御パラメータにしたがった数のスレッドの実行要
    求を同時に受け付け、 同時に受け付けられた前記複数のスレッドの中から、前
    記制御パラメータにしたがった数のスレッドを同時実行
    可能なスレッドとして実行コンテキスト毎に選択し、 選択された前記スレッドに対し、前記制御パラメータに
    したがった数の論理プロセッサを割り当て、 割り当てられた前記複数の論理プロセッサに対し少なく
    とも一つの物理プロセッサを割り当てる ことを特徴とす
    るプログラム実行制御方法。
JP11763892A 1992-05-11 1992-05-11 プログラム実行制御装置及びプログラム実行制御方法 Expired - Lifetime JP3278457B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11763892A JP3278457B2 (ja) 1992-05-11 1992-05-11 プログラム実行制御装置及びプログラム実行制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11763892A JP3278457B2 (ja) 1992-05-11 1992-05-11 プログラム実行制御装置及びプログラム実行制御方法

Publications (2)

Publication Number Publication Date
JPH05313922A JPH05313922A (ja) 1993-11-26
JP3278457B2 true JP3278457B2 (ja) 2002-04-30

Family

ID=14716657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11763892A Expired - Lifetime JP3278457B2 (ja) 1992-05-11 1992-05-11 プログラム実行制御装置及びプログラム実行制御方法

Country Status (1)

Country Link
JP (1) JP3278457B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2836468B2 (ja) * 1993-12-28 1998-12-14 日本電気株式会社 並列ジョブの協調スケジューリング方式
JP2684993B2 (ja) * 1994-08-10 1997-12-03 日本電気株式会社 プロセッサシステムとその制御方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5719845A (en) * 1980-07-07 1982-02-02 Fujitsu Ltd Automatic control system of optimum task multiplicity
JPH0293952A (ja) * 1988-09-30 1990-04-04 Hitachi Ltd 仮想計算機システム
JP2967999B2 (ja) * 1989-07-06 1999-10-25 富士通株式会社 プロセスの実行多重度制御処理装置
JPH03257654A (ja) * 1990-03-08 1991-11-18 Fujitsu Ltd セション多重度による負荷分散方式
JPH0423137A (ja) * 1990-05-18 1992-01-27 Hitachi Ltd スレツド生成方式及び並列処理方式

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
「AVM/EX 解説書 99SG−7900−1」,日本,富士通株式会社・発行,1990年4月30日,初版,pp.15及び34,特許庁CSDB文献番号:CSNZ199902825001
RAY DUNCAN,「プログラミングOS/2 I カーネル・プログラミング編」,日本,株式会社アスキー・発行,1990年4月11日,初版,pp.235−237,249
新城靖・他,「並列プログラムを対象とした軽量プロセスの実現方式」,情報処理学会論文誌,日本,社団法人情報処理学会・発行,1992年1月15日,Vol.33,No.1,pp.64−73,特許庁CSDB文献番号:CSNT199800277006
金井達徳・他,「並列処理の実験支援システム COOP/VM」,情報処理学会論文誌,日本,社団法人情報処理学会・発行,1990年12月15日,Vol.31,No.12,pp.1780−1791,特許庁CSDB文献番号:CSNT199800285009

Also Published As

Publication number Publication date
JPH05313922A (ja) 1993-11-26

Similar Documents

Publication Publication Date Title
US8381223B2 (en) Method and apparatus for dynamic allocation of processing resources
US8091078B2 (en) Dynamically partitioning processing across a plurality of heterogeneous processors
US7222343B2 (en) Dynamic allocation of computer resources based on thread type
US7921151B2 (en) Managing a plurality of processors as devices
US6151670A (en) Method for conserving memory storage using a pool of short term memory registers
CN105579961B (zh) 数据处理系统及操作方法、用于数据处理系统的硬件单元
US8108196B2 (en) System for yielding to a processor
US7389508B2 (en) System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment
US7549145B2 (en) Processor dedicated code handling in a multi-processor environment
US7748006B2 (en) Loading software on a plurality of processors
US8549521B2 (en) Virtual devices using a plurality of processors
US20080271003A1 (en) Balancing Computational Load Across a Plurality of Processors
US20030163512A1 (en) Parallel-process execution method and multiprocessor-type computer
JP2010244563A (ja) グラフに基づく計算の実行方法、当該方法を実行させる命令を格納するコンピュータ可読記憶媒体、並びに当該方法を実行するためのシステム
JP2010044784A (ja) システムにおける要求のスケジューリング
JP3278457B2 (ja) プログラム実行制御装置及びプログラム実行制御方法
JPH0628323A (ja) プロセス実行制御方法
KR102575773B1 (ko) 대칭적 인터페이스를 이용하여 외부 서비스 요청 처리가 가능한 프로세서
US10423424B2 (en) Replicated stateless copy engine
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体
JPS58115569A (ja) マルチプロセツサ方式
JP2001265613A (ja) 仮想計算機システム
JPH09265405A (ja) 共有資源の排他アクセス方法
JPH0528120A (ja) マルチプロセツサ処理方式
JP2004152060A (ja) 計算機システム、および、そのディスクサブシステム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080215

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090215

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100215

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100215

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 11