JPH08272757A - マルチプロセッサシステム及びプログラム起動方法 - Google Patents

マルチプロセッサシステム及びプログラム起動方法

Info

Publication number
JPH08272757A
JPH08272757A JP7629295A JP7629295A JPH08272757A JP H08272757 A JPH08272757 A JP H08272757A JP 7629295 A JP7629295 A JP 7629295A JP 7629295 A JP7629295 A JP 7629295A JP H08272757 A JPH08272757 A JP H08272757A
Authority
JP
Japan
Prior art keywords
program
processor
identifier
multiprocessor system
data
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
JP7629295A
Other languages
English (en)
Inventor
Toshiyuki Yamagami
俊之 山上
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 JP7629295A priority Critical patent/JPH08272757A/ja
Publication of JPH08272757A publication Critical patent/JPH08272757A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】プログラムの柔軟性を向上させ、かつ利用者に
オペレーティングシステムに依存する手続きを意識させ
ることなく、プロセスを特定のプロセッサのみで動作さ
せることを可能にする。 【構成】複数のプロセッサを備えたマルチプロセッサシ
ステムにおいて、プログラムを示すプログラム識別子
と、プログラムを実行すべきプロセッサを示すプロセッ
サ識別子とを対応づけたプロセッサ指定データ5aを記
憶するための外部記憶装置と、実行すべきプログラムが
指定された際に、外部記憶装置に記憶されたプロセッサ
指定データ5aに基づいて、指定されたプログラムのプ
ログラム識別子と対応するプロセッサ識別子が示すプロ
セッサにおいて、プログラムを起動させるプログラム起
動機能10とを具備したことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセッサシス
テムにおいて、プログラム(プロセス)をプロセッサに
割り当て起動・実行するプログラム起動方法に関する。
【0002】
【従来の技術】マルチプロセスを扱うマルチプロセッサ
システムでは、プログラム(プロセス)は、オペレーテ
ィングシステム(OS)のディスパッチ機能により、そ
れぞれのプログラムを実行させるプロセッサが動的に決
定される。複数存在するプロセッサのうち、何れのプロ
セッサで実行されるかは、各プロセッサの動作状況やプ
ログラムの性質等、その時々の状況によって異なる。
【0003】しかしながら、プログラムの性質によって
は、ある特定のプロセッサのみで動作させることが、シ
ステム全体の負荷や性能を改善する有効な手法となり得
る。例えば、複数のプロセッサによってメモリが共有さ
れる構成であって、異なるプロセッサ上で動作する複数
のプログラム(プロセス)によってデータが共有される
場合、このデータに対する処理を行なう際、データの不
整合等を回避するために排他制御が行なわれる。排他制
御では、共有されるデータに対する処理を行なう際、他
のプロセッサ上で動作するデータを共有する他のプロセ
スに通知する必要があるため、プロセッサ(プロセス)
間で通信する必要が生ずる。従って、データを共有する
プログラム(プロセス)群を、1つのプロセッサに割り
当てることによって、排他制御のための通信コストが低
減され、システム全体の性能が向上される。
【0004】従来、このような目的のために、プロセス
を特定のプロセッサのみで動作させる機能が備わってい
るマルチプロセッサシステム(OS)も存在している。
ただし、従来のシステムでは、プログラム中でシステム
コールによって指示するか、あるいはプロセスの実行中
にユーザコマンドによって指示できるようになってお
り、これに起因するいくつかの不具合も見受けられる。
【0005】システムコールを用いて、プロセスを特定
のプロセッサのみで動作させる機能を実現する場合に
は、システムコールをプログラムコードに直接埋め込む
必要がある。従って、システム構成の変更などに伴って
プログラムの変更・再構築が必要となった場合、機能実
現のためにシステムコールについても変更の必要が生じ
るため、柔軟性に欠ける面がある。
【0006】また、ユーザコマンドを用いて前述のよう
な機能を実現する場合には、プログラムを実行した後、
各プロセッサにおけるプログラム(プロセス)の実行状
況に応じて、利用者がオペレーティングシステムに依存
する手続き、すなわち手動により所定のコマンドを打ち
込んでプロセスの移動等を指示しなくてはならないた
め、利用者に対して負荷がかかってしまう。従って、シ
ステムが大規模化し、不特定多数の利用者によってプロ
グラムが実行される状況では非現実的なものとなる。
【0007】
【発明が解決しようとする課題】このように従来のマル
チプロセッサシステムにおいては、プロセスを特定のプ
ロセッサのみで動作させる機能を実現するために、シス
テムコールを用いた方法ではプログラムの柔軟性に欠け
るという問題があり、またユーザコマンドを用いた方法
では利用者に負荷がかかってしまうという問題があっ
た。
【0008】本発明は前記のような事情を考慮してなさ
れたもので、プログラムの柔軟性を向上させ、かつ利用
者にオペレーティングシステムに依存する手続きを意識
させることなく、プロセスを特定のプロセッサのみで動
作させる機能を実現することが可能なマルチプロセッサ
システム及びプログラム起動方法を提供することを目的
とする。
【0009】
【課題を解決するための手段】本発明は、複数のプロセ
ッサを備えたマルチプロセッサシステムにおいて、プロ
グラムを示すプログラム識別子とプログラムを実行すべ
きプロセッサを示すプロセッサ識別子とを対応づけたデ
ータを記憶するための記憶手段と、実行すべきプログラ
ムが指定された際に、前記記憶手段に記憶されたデータ
に基づいて、指定されたプログラムのプログラム識別子
と対応するプロセッサ識別子が示すプロセッサにおい
て、プログラムを起動させる起動手段とを具備したこと
を特徴とする。
【0010】また本発明は、プログラムを示すプログラ
ム識別子とプログラムを実行すべきプロセッサを示すプ
ロセッサ識別子とを対応づけたデータを記憶するための
記憶手段と、実行すべきプログラムが指定された際に、
前記記憶手段に記憶されたデータに基づいて、指定され
たプログラムのプログラム識別子と対応するプロセッサ
識別子が示すプロセッサにおいて、プログラムを起動さ
せる管理手段とを有する複数のプロセッサを備えたマル
チプロセッサシステムと、このマルチプロセッサシステ
ムの前記管理手段に対して実行すべきプログラムを通信
によって指定する起動手段を有する計算機とを具備した
ことを特徴とする。
【0011】
【作用】このような構成によれば、プログラムを示すプ
ログラム識別子と、プログラムを実行すべきプロセッサ
を示すプロセッサ識別子とを対応づけたデータを外部デ
ータとして予め設定しておくことによって、設定の内容
に従ってプログラムが所定のプロセッサにおいて起動さ
れ実行される。プロセッサを指定するデータは、プログ
ラムとは別途に作成されるので、システムの変更等によ
る影響を受けない。また、プログラムの実行後に、逐
次、指定する必要がなく、またオペレーティングシステ
ムに依存する特別な操作も不要となる。
【0012】外部の計算機等から通信によって指定され
たプログラムについても、同様にして、予め設定された
データに従ってプログラムを所定のプロセッサにおいて
起動し、実行させることにより、同一のシステム内で起
動用のプログラムで動作させる必要がない。
【0013】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図1は本発明の第1実施例に係わるマルチプロセ
ッサシステムの構成を示すブロック図である。図1に示
すように、第1実施例におけるマルチプロセッサシステ
ムは、複数のプロセッサ1−1,1−2,…,1−n
が、システムバス2を介して、共有メモリ3、及び外部
記憶装置5と相互に接続され構成されている。
【0014】プロセッサ1−1,1−2,…,1−n
は、共有メモリ3に格納された実行中のプログラムやデ
ータを読み込んで所定の処理を実行する。共有メモリ3
は、プログラムやデータを格納するためのもので起動プ
ログラム3aが含まれている。起動プログラム3aは、
プログラムを起動するために入力されるコマンドを解釈
し、該当するプログラムを実行させる機能を実現するた
めのものである。また、起動プログラム3aには、プロ
グラムを起動する際に、予め設定された外部データ(プ
ロセッサ指定データ5a)に基づいて、プログラム(プ
ロセス)を、特定のプロセッサにバインドする機能を有
している。
【0015】外部記憶装置5は、プロセッサ1−1,1
−2,…,1−nによって読み出し/書き込みが実行さ
れるプログラムやデータ等を格納するためのものでプロ
セッサ指定データ5aが含まれている。プロセッサ指定
データ5aは、プログラムを起動する際に参照されるも
ので、プログラム毎にバインドすべきプロセッサを示す
情報が定義されている。
【0016】図2には外部記憶装置5に格納されるプロ
グラム指定データ5aの一例を示している。プログラム
指定データ5aとしては、実行するプログラム(プロセ
ス)を示すプログラム識別子と、プログラム識別子が示
すプログラムを実行させる(バインドすべき)プロセッ
サを示すプロセッサ識別子とを対応づけて、プログラム
毎に定義される。また、プログラム識別子は、プログラ
ム名(プログラムを格納するファイルの名前を示し、パ
ス名を含む)と、プログラムに対する、ある変数の値が
含まれる。変数の値はプログラムの動作条件等を示すも
ので、起動して実行するプログラムは同じであっても、
起動する環境によってはプログラムを実行すべきプロセ
ッサを変える必要もあるため、プログラムに付随して設
定される。なお、必ずしも変数が設定されていなくても
良い。
【0017】次に、第1実施例の動作について説明す
る。図3は第1実施例におけるプログラム起動処理の流
れを説明するための図である。図3は複数のプロセッサ
1−1,1−2,…,1−nの何れかにおいて起動プロ
グラム3aを実行することにより実現されるプログラム
起動機能10を示している。プログラム起動機能10
は、プログラム実行の要求指示を解釈して、指定された
プログラムを所定のプロセッサにバインドして実行させ
る。
【0018】まず、プログラムを実行するために、図示
せぬ端末あるいはファイルからプログラム名、及び変数
値が与えられる。変数値は、例えば起動プログラム3a
を利用する際にプログラム名と共に指定されるか、環境
変数の1つとして予め設定されているものが入力されて
も良い。なお、必ずしも変数は必要ではない。
【0019】プログラム起動機能10は、プログラム名
と変数値とを受け取ると、以下の処理(手続き)に移行
する。まず、プログラム起動機能10は、外部記憶装置
5に格納されたプロセッサ指定データ5aを参照し、入
力されたプログラム名がプログラム識別子として登録さ
れているかを検索する(処理A)。
【0020】なお、プログラム起動機能10にプログラ
ム名のみが与えられた場合、プロセッサ指定データ5a
中のプログラム識別子の変数に関係なく、プログラム名
のみを対象として検索しても良い。
【0021】ここで、該当するプログラム識別子がプロ
セッサ指定データ5aに登録されていた場合、プログラ
ム起動機能10は、プログラム識別子に対応して登録さ
れているプロセッサ識別子を獲得する。
【0022】プログラム起動機能10は、入力されたプ
ログラム名が示すプログラムを起動(プロセスを生成)
し、そのプロセスをプロセッサ指定データ5a中から得
られたプロセッサ識別子が示すプロセッサにバインドす
る(処理B,C)。
【0023】その後、プログラム起動機能10は、プロ
グラム(プロセス)を実行させる(処理D)。なお、入
力されたプログラム名がプロセッサ指定データ5aに登
録されていない場合には、OSが基本的に有している機
能に従って、指定されたプログラム(プロセス)を所定
のプロセッサにバインドして実行させるものとする。
【0024】このようにして、外部記憶装置5内にプロ
セッサ指定データ5aとしてプログラム識別子とプロセ
ッサ識別子とを対応づけてを登録するだけで、オペレー
ティングシステムに依存する手続きを意識せずに、プロ
グラムを実行する際にプログラム名と変数値を指定する
だけで、目的とするプロセッサでプログラムを実行させ
ることができる。従って、システム構成の変更などに伴
ってプログラムの変更・再構築が必要となった場合であ
っても、特別な変更を必要とせずに柔軟に対応すること
ができる。また、プロセッサ指定データ5aを登録して
おくだけで良いので、特定のコマンドを入力する必要等
がないため利用者に対する負担が大幅に軽減される。
【0025】次に、本発明の第2実施例について説明す
る。図4は本発明の第2実施例に係わる計算機システム
の構成を示すブロック図である。図4に示すように、第
2実施例における計算機システムは、例えばマルチプロ
セッサシステム20が、ネットワーク22を介して別の
計算機24が接続された構成となっている。図4に示す
マルチプロセッサシステム20は、図1に示すマルチプ
ロセッサシステムと同じ構成であるものとして、同一符
号を付して説明を省略する。
【0026】ただし、第2実施例では共有メモリ3中に
プロセス管理プログラム13bが格納されるものとす
る。プロセス管理プログラム13bは、プログラムを起
動するためのプログラム名及び変数値をもとに、プログ
ラム(プロセス)を特定のプロセッサにバインドし、プ
ログラムを起動する機能を有している。
【0027】計算機24は、マルチプロセッサシステム
20とネットワーク22によって接続されており各種情
報の送受信が可能である。第2実施例では、計算機24
において起動プログラム26が実行されるものとする。
【0028】起動プログラム26は、プログラムを起動
するために入力されるコマンドを解釈し、プログラムを
実行させるものである。さらに起動プログラム26は、
ネットワーク22を介して接続された他のシステム上で
動作するプロセス管理プログラム13bによる管理プロ
セス(プロセス管理機能)22(後述する)との間でプ
ログラムを起動するための通信を行なう通信機能26a
が設けられている。
【0029】なお、マルチプロセッサシステム20の外
部記憶装置5に格納されるプロセッサ指定データ5aの
内容は、第1実施例における図2に示す構成と同じもの
とする。
【0030】次に、第2実施例の動作について説明す
る。図5は第2実施例におけるプログラム起動処理の流
れを説明するための図である。
【0031】図5は計算機24において起動プログラム
26を実行することによって実現されるプログラム起動
機能36、マルチプロセッサシステム20のプロセッサ
1−1,1−2,…,1−nの何れかにおいてプロセス
管理プログラム13bを実行することによって実現され
る管理プロセス(プロセス管理機能)42を示してい
る。なお、管理プロセス42は、常駐しており、必要に
応じて常時実行可能となっている。
【0032】まず、プログラムを実行するために、計算
機24側で、図示せぬ端末あるいはファイルからプログ
ラム名、及び変数値が与えられる。変数値は、第1実施
例と同様にして与えられるものとする。
【0033】プログラム起動機能36は、マルチプロセ
ッサシステム20側で実行すべき処理に関するプログラ
ム名と変数値とを受け取ると、通信機能36aを用い
て、マルチプロセッサシステム20に常駐している管理
プロセス42にプログラム名と変数値を送信する。
【0034】管理プロセス42は、プログラム起動機能
36からプログラム名と変数値とを受け取ると、以下の
処理(手続き)に移行する。まず、管理プロセス42
は、外部記憶装置5に格納されたプロセッサ指定データ
5aを参照し、入力されたプログラム名がプログラム識
別子として登録されているかを検索する(処理A)。
【0035】なお、管理プロセス42にプログラム名の
みが与えられた場合、プロセッサ指定データ5a中のプ
ログラム識別子の変数に関係なく、プログラム名のみを
対象として検索しても良い。
【0036】ここで、該当するプログラム識別子がプロ
セッサ指定データ5aに登録されていた場合、管理プロ
セス42は、プログラム識別子に対応して登録されてい
るプロセッサ識別子を獲得する。
【0037】管理プロセス42は、入力されたプログラ
ム名が示すプログラムを起動(プロセスを生成)し、そ
のプロセスをプロセッサ指定データ5a中から得られた
プロセッサ識別子が示すプロセッサにバインドする(処
理B,C)。
【0038】その後、管理プロセス42は、プログラム
(プロセス)を実行する(処理D)。プログラム(プロ
セス)の実行結果は、必要に応じて、マルチプロセッサ
システム20側から計算機24に送信する。
【0039】このようにして、他の計算機24から通信
機能36aを用いて他のシステムで動作するプログラム
を、プロセッサ指定データ5aに従って起動させること
ができる。このため、プログラム起動機能36(起動プ
ログラム)は、必ずしも管理プロセス42が動作するマ
ルチプロセッサシステム上で動作する必要はない。すな
わち、ネットワーク22でマルチプロセッサシステム2
0に接続された別の計算機24からの操作によって、前
述した第1実施例と同様の効果を得ることが出来る。
【0040】
【発明の効果】以上詳述したように本発明によれば、プ
ログラムの柔軟性を向上させ、かつ利用者にオペレーテ
ィングシステムに依存する手続きを意識させることな
く、プロセスを特定のプロセッサのみで動作させること
が可能となるものである。
【図面の簡単な説明】
【図1】本発明の第1実施例に係わるマルチプロセッサ
システムの構成を示すブロック図。
【図2】第1実施例におけるプログラム指定データ5a
の一例を示す図。
【図3】第1実施例におけるプログラム起動処理の流れ
を説明するための図。
【図4】本発明の第2実施例に係わるマルチプロセッサ
システムの構成を示すブロック図。
【図5】第2実施例におけるプログラム起動処理の流れ
を説明するための図。
【符号の説明】
1−1,1−2,…,1−n…プロセッサ、2…システ
ムバス、3…共有メモリ、3a,26…起動プログラ
ム、5…外部記憶装置、5a…プロセッサ指定データ、
10…プログラム起動機能、20…マルチプロセッサシ
ステム、22…ネットワーク、24…計算機、26a…
通信機能、36…プログラム起動機能、42…管理プロ
セス。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサを備えたマルチプロセ
    ッサシステムにおいて、 プログラムを示すプログラム識別子とプログラムを実行
    すべきプロセッサを示すプロセッサ識別子とを対応づけ
    たデータを記憶する記憶手段と、 実行すべきプログラムが指定された際に、前記記憶手段
    に記憶されたデータに基づいて、指定されたプログラム
    のプログラム識別子と対応するプロセッサ識別子が示す
    プロセッサにおいて、プログラムを起動させる起動手段
    と、 を具備したことを特徴とするマルチプロセッサシステ
    ム。
  2. 【請求項2】 プログラムを示すプログラム識別子とプ
    ログラムを実行すべきプロセッサを示すプロセッサ識別
    子とを対応づけたデータを記憶するための記憶手段と、 実行すべきプログラムが指定された際に、前記記憶手段
    に記憶されたデータに基づいて、指定されたプログラム
    のプログラム識別子と対応するプロセッサ識別子が示す
    プロセッサにおいて、プログラムを起動させる管理手段
    と、 を有する複数のプロセッサを備えたマルチプロセッサシ
    ステムと、 このマルチプロセッサシステムの前記管理手段に対して
    実行すべきプログラムを通信によって指定する起動手段
    を有する計算機と、 を具備したことを特徴とする計算機システム。
  3. 【請求項3】 複数のプロセッサを備えたマルチプロセ
    ッサシステムにおいて、 実行すべきプログラムが指定された際に、プログラムを
    示すプログラム識別子とプログラムを実行すべきプロセ
    ッサを示すプロセッサ識別子とを対応づけたデータに基
    づいて、指定されたプログラムのプログラム識別子と対
    応するプロセッサ識別子が示すプロセッサでプログラム
    を起動させることを特徴とするプログラム起動方法。
  4. 【請求項4】 実行すべきプログラムが指定された際
    に、通信によって他のマルチプロセッサシステムに通知
    し、 通知されたマルチプロセッサシステムにおいて、プログ
    ラムを示すプログラム識別子とプログラムを実行すべき
    プロセッサを示すプロセッサ識別子とを対応づけたデー
    タに基づいて、指定されたプログラムのプログラム識別
    子と対応するプロセッサ識別子が示すプロセッサでプロ
    グラムを起動させることを特徴とするプログラム起動方
    法。
JP7629295A 1995-03-31 1995-03-31 マルチプロセッサシステム及びプログラム起動方法 Pending JPH08272757A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7629295A JPH08272757A (ja) 1995-03-31 1995-03-31 マルチプロセッサシステム及びプログラム起動方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7629295A JPH08272757A (ja) 1995-03-31 1995-03-31 マルチプロセッサシステム及びプログラム起動方法

Publications (1)

Publication Number Publication Date
JPH08272757A true JPH08272757A (ja) 1996-10-18

Family

ID=13601276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7629295A Pending JPH08272757A (ja) 1995-03-31 1995-03-31 マルチプロセッサシステム及びプログラム起動方法

Country Status (1)

Country Link
JP (1) JPH08272757A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000033175A3 (en) * 1998-12-03 2001-08-09 Ericsson Telefon Ab L M Method for increasing efficiency of multiprocessing systems
JP2007257257A (ja) * 2006-03-23 2007-10-04 Matsushita Electric Ind Co Ltd マルチタスクシステムにおけるタスク実行環境切替え方法
JP2008021059A (ja) * 2006-07-12 2008-01-31 Nec Corp 情報処理装置およびプロセッサ機能変更方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000033175A3 (en) * 1998-12-03 2001-08-09 Ericsson Telefon Ab L M Method for increasing efficiency of multiprocessing systems
JP2007257257A (ja) * 2006-03-23 2007-10-04 Matsushita Electric Ind Co Ltd マルチタスクシステムにおけるタスク実行環境切替え方法
JP2008021059A (ja) * 2006-07-12 2008-01-31 Nec Corp 情報処理装置およびプロセッサ機能変更方法
US8145886B2 (en) 2006-07-12 2012-03-27 Nec Corporation Changing processor functions by changing function information

Similar Documents

Publication Publication Date Title
JP3508775B2 (ja) 一つのプログラムの中でまたは1つのプロセッサ環境に於て、夫々のオブジェクトコードタイプが異なる複数のプログラムセグメントを実行するための装置
US8788668B2 (en) Information processing apparatus, information processing system, setting program transmission method and server setting program
US6711605B2 (en) Multi OS configuration method and computer system
US4654783A (en) Unique process for loading a microcode control store in a data processing system
CN113094111B (zh) 设备以及设备的启动方法
JP2001265609A (ja) 演算処理装置
JP2002505462A (ja) ネットワーク上における動的分散型計算のための方法及び装置
US7552434B2 (en) Method of performing kernel task upon initial execution of process at user level
US7228527B1 (en) Method and system for structuring a procedure
CN107229506B (zh) 一种虚拟机迁移方法及装置
CN115237480A (zh) 嵌入式设备的启动方法、装置、嵌入式设备及存储介质
CN107797843B (zh) 一种容器功能增强的方法和装置
RU2718235C1 (ru) Архитектура операционной системы для обеспечения поддержки поколений микроядер
JPS59167756A (ja) 仮想計算機のデイスパツチ制御方式
JPH11184828A (ja) マルチプロセッサシステムのテスト方式
JP3022398B2 (ja) 仮想計算機方式
JP2001134444A (ja) コンピュータシステムにおけるデータ処理装置
JP4967555B2 (ja) マルチプロセッサシステム
JP2003256219A (ja) 組込み機器におけるプログラム実行方法
EP1249756B1 (en) Management of co-processor information by integrating non-program information with program information
JPS59127156A (ja) 仮想計算機システム
CN120909754A (zh) 亲和性调度方法、多处理器系统及计算机程序产品
US20090282070A1 (en) Application contention management system method thereof, and information processing terminal using the same
JP2000250612A (ja) プログラマブルコントローラ
CN120672559A (zh) 一种任务处理方法、计算设备及存储介质