JP2002278778A - 対称型マルチプロセッサシステムにおけるスケジュール装置 - Google Patents

対称型マルチプロセッサシステムにおけるスケジュール装置

Info

Publication number
JP2002278778A
JP2002278778A JP2001081130A JP2001081130A JP2002278778A JP 2002278778 A JP2002278778 A JP 2002278778A JP 2001081130 A JP2001081130 A JP 2001081130A JP 2001081130 A JP2001081130 A JP 2001081130A JP 2002278778 A JP2002278778 A JP 2002278778A
Authority
JP
Japan
Prior art keywords
executed
processes
cpu
waiting time
thread
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.)
Withdrawn
Application number
JP2001081130A
Other languages
English (en)
Inventor
Atsushi Hirano
敦 平野
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2001081130A priority Critical patent/JP2002278778A/ja
Publication of JP2002278778A publication Critical patent/JP2002278778A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 非対称型マルチプロセッサシステムにおい
て、必要に応じてカーネルモードのコード実行を1個の
CPUのみに許可することによってオーバーヘッドを削
減して処理速度の低下を防ぐ。 【解決手段】 非対称型マルチプロセッサシステムにお
いて、ある一定時間内に実行された全プロセスについ
て、プロセスを特定の1個のCPU11(12、1n)
で実行すべきか否か決定し、プロセスを特定の1個のC
PUで実行すべきと決定されたプロセス数の、全プロセ
ス数に対する割合が閾値を上回った場合、全てのプロセ
スについて全スレッドを特定の1個のCPUで実行すべ
きであると決定し、このことにより、オーバーヘッドの
原因となっていた、スレッドの実行における順番の管
理、各CPUが内蔵するキャッシュメモリと主記憶の同
期合わせ、主記憶や入出力のための排他利用管理処理を
停止させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のCPUを備
え、各CPUにプロセスを分散させて実行する対称型マ
ルチプロセッサシステムにおけるスケジュール装置に関
する。
【0002】
【従来の技術】2以上のCPU(Central Processing
Unit)で構成されるコンピュータシステムをマルチプ
ロセッサシステムと呼ぶ。マルチプロセッサシステムに
対応するOS(Operating System)では、対称型マル
チプロセッシング(SMP:Symmetric Multiprocessi
ng)をサポートするものと、非対称型マルチプロセッシ
ング(ASMP:Asymmetric Multiprocessing)をサ
ポートするものとがある。
【0003】SMPは、システムを構成する全てのCP
Uが同等な関係であり、カーネルモード(OSが実行)
とユーザーモードのスレッドを、全てのCPUで独立し
て稼動するようにスケジュールできるシステムである。
一方、ASMPは、特定の1個のCPUのみがOSを実
行し、他のCPUはユーザーモードのスレッドだけを実
行するようにスケジュールされるシステムである。上記
したように、SMPではOSをどのCPUでも実行でき
るので、処理を分散させシステムの効率のより良い稼動
が期待できる。そのため、例えば、米国マイクロソフト
社がOEM提供するMicrosoft Windows NT等現在広く
使われているOSではSMPをサポートするものが多
い。
【0004】従来技術として、例えば、特開平6−25
9395「プロセススケジュール方式」がある。ここに
は、スケジューリングを行う際に、スレッドがCPU間
を移動することにより生じるバストラフックによるシス
テムの性能の低下を指摘し、改善するためのシステムが
提案されている。一方、特開平6−119300「マル
チプロセッサシステム用のスケジューリング方式と装
置」では、スレッドの実行の管理のために生じるオーバ
ーヘッドの問題を指摘し、処理する対象の特性(どうい
ったリソースをどれだけ使用するか、処理に要する時間
の統計値はどの位かといった特性)をOSの中のスケジ
ューラに通知するシステムが提案されている。
【0005】
【発明が解決しようとする課題】ところで、マルチプロ
セッサシステムでのOSの動作を解析すると、必ずしも
常にSMPが優れているとは言えないということが分か
る。例えば、ユーザーモードで実行されるプログラムに
比べて、カーネルモードで実行されるプログラムでは、
各CPU間で同期を取ることによるオーバーヘッド(負
荷)が大きい。ここでいう同期を取るとは、各CPUに
割り振ったスレッドの実行の正しい順番を守ることや、
各CPUが持つキャッシュメモリの内容の同期を合わせ
ることや、あるスレッドが行った主記憶、入出力アクセ
ス等による処理結果を、別のスレッドが破壊しないこと
を指す。
【0006】場合によっては、複数のCPUに処理を分
散できるという利点より、このオーバーヘッドという欠
点の方が大きいということも起こりうる。従って、SM
Pの利点は残しながら、必要に応じてASMPのような
動作を行えるようにすることが望ましい。
【0007】本発明は上記事情に鑑みてなされたもので
あり、SMPにおいて、必要に応じてカーネルモードの
コード実行を1個のCPUのみに許可することによって
オーバーヘッドを削減して処理速度の低下を防ぐことの
できる対称型マルチプロセッサシステムにおけるスケジ
ュール装置を提供することを目的とする。
【0008】
【課題を解決するための手段】上記した課題を解決する
ために請求項1に記載の発明は、複数のCPUを備え、
前記各CPUにプロセスを分散させて実行する対称型マ
ルチプロセッサシステムにおいて、カーネルモードで実
行される各プロセスを監視することにより、前記プロセ
スの実行を特定の1個のCPUのみで実行するか、前記
複数のCPUに分散させて実行するかを決定し、前記決
定に基づき、全てのプロセスの実行を1個のCPUのみ
で実行すべきか、各CPUに分散させて構わないかを決
定するスケジュール手段を備えたことを特徴とする。
【0009】また、請求項2に記載の発明は、請求項1
に記載の対称型マルチプロセッサシステムにおけるスケ
ジュール装置において、前記スケジュール手段は、実行
するプロセスが属するコードのファイル名毎に、前記プ
ロセスを構成する全スレッドの待機時間の平均値T1
と、全スレッドの待機時間についての閾値Tthとをス
レッド待機時間記録ファイルに保持し、少なくとも1回
は前記プロセスにおける全スレッドを特定の1個のCP
Uで強制的に実行させ、そのときの全スレッドにおける
待機時間の平均値Tnを前記スレッド待機時間記録ファ
イルに保持し、n回目のプロセス実行時、前記スレッド
待機時間記録ファイルを参照して前記T1、Tn−1を
取得し、前記プロセスが持つプロセスブロックのフィー
ルドの一つに保持し、前記Tn−1とT1との差と前記
閾値Tthとを比較し、その比較結果によっては、前記
プロセスの実行を特定の1個のCPUのみで実行する
か、あるいは複数のCPUに分散させて実行するかを決
定することを特徴とする。
【0010】また、請求項3に記載の発明は、請求項1
または2に記載の対称型マルチプロセッサシステムにお
けるスケジュール装置において、前記スケジュール手段
は、更に、所定期間内に実行された全てのプロセスにつ
いて各プロセスを特定の1個のCPUで実行すべきかを
決定し、前記決定に基づき、前記プロセスを特定の1個
のCPUで実行すべきと決定されたプロセス数の全プロ
セス数に対する割合が前記閾値を上回ったときに、全て
のプロセスに対して全てのスレッドを前記特定の1個の
CPUで実行すべきとし、前記プロセスを特定の1個の
CPUで実行すべきと決定されたプロセス数の全プロセ
ス数に対する割合が前記閾値を下回ったときに前記プロ
セスの実行を各CPUに分散させて構わないとすること
を特徴とする。
【0011】上記構成において、スケジュール手段によ
り、カーネルモードでの各プロセスを監視してプロセス
の実行を特定の1個のCPUのみで実行するか、複数C
PUに処理を分散させるかを決定し、このことにより、
SMPの利点を生かしつつ、上記決定に応じて、ASM
Pシステムと同等な動作を行うことができる。また、そ
の決定に応じて、SMPシステムの動作に戻ることもで
きる。
【0012】具体的に、スケジュール手段は、ある一定
時間内に実行された全プロセスについて、上記手順に基
づきプロセスを特定の1個のCPUで実行すべきか決定
し、プロセスを特定の1個のCPUで実行すべきと決定
されたプロセス数の、全プロセス数に対する割合が閾値
を上回った場合、全てのプロセスについて全スレッドを
特定の1個のCPUで実行すべきであると決定する。こ
のことにより、オーバーヘッドの原因となっていた、ス
レッドの実行における順番の管理、各CPUが内蔵する
キャッシュメモリと主記憶の同期合わせ、主記憶や入出
力のための排他利用管理処理を停止しても構わないた
め、処理速度が向上する。
【0013】また、ある一定期間内に実行された全プロ
セスについて、上記手順に従い各プロセスを特定の1個
のCPUで実行すべきか決定し、プロセスを特定の1個
のCPUで実行すべきと決定されたプロセス数の、全プ
ロセス数に対する割合が閾値を下回った場合、プロセス
の実行を各CPUに分散させて構わないと決定する。こ
のことにより、SMPによる通常の処理を再開し、スレ
ッドの実行における順番の管理、各CPUが内蔵するキ
ャッシュメモリと主記憶の同期合わせ、主記憶や入出力
のための排他利用管理処理を行う。
【0014】上記した課題を解決するために請求項4に
記載の発明は、複数のCPUを備え、前記各CPUにプ
ロセスを分散させて実行する対称型マルチプロセッサシ
ステムにおいて、カーネルモードにおけるプロセスの初
回実行時、前記プロセスにおける各スレッドの実行を前
記各CPUに割り当てることを禁止し、2回目以降許可
するデスパッチ手段と、前記プロセス中の全スレッドの
実行を監視し、都度、前記各CPUの待機時間の平均値
T1〜Tnを都度スレッド待機時間記録ファイルに保持
するスレッド待機時間監視手段と、n回目のプロセス実
行時、前記スレッド待機時間記録ファイルを参照して前
記T1、Tn−1を取得し、前記Tn−1とT1との差
とあらかじめ設定される閾値Tthとを比較し、その比
較結果によって前記プロセスの実行を特定の1個のCP
Uのみで実行するか、あるいは複数のCPUに分散させ
て実行させるかスケジューリングを行うスケジュール手
段と、を備えたことを特徴とする。
【0015】また、請求項5に記載の発明は、請求項4
に記載の対称型マルチプロセッサシステムにおけるスケ
ジュール装置において、前記スレッド待機時間記録ファ
イルは不揮発性メモリに保持され、当該スレッド待機時
間記録ファイルとして、実行するプロセスが属するコー
ドのファイル名毎、全スレッドの待機時間の平均値T1
〜Tnと、全スレッドの待機時間についての閾値Tth
がエントリされる他に、プロセスを特定の1個のCPU
で実行すべきと決定するプロセス数の全プロセス数に対
する割合が閾値としてあらかじめ設定されることを特徴
とする。
【0016】更に、請求項6に記載の発明は、請求項4
に記載の対称型マルチプロセッサシステムにおけるスケ
ジュール装置において、スレッド待機時間情報へのポイ
ンタを含むカーネルモードでのコード実行に必要な情報
が設定されるプロセステーブルと、前記ポインタによっ
てアドレスされ、前記スレッド待機時間記録ファイルに
保持される各スレッド待機時間の平均値とその待機時間
についての閾値が設定されるスレッド待機時間情報テー
ブルと、が割り付けられ記録される記憶手段を備えたこ
とを特徴とする。
【0017】
【発明の実施の形態】図1は、本発明の一実施形態を示
すブロック図である。本発明の前提となる対称型マルチ
プロセッサシステム1(SMP)は、それぞれ独立した
キャッシュメモリ21、22、2n内蔵のそれぞれCP
U11、12、1nがホストバス3に共通接続され、同
じくホストバス3に接続されるメインメモリ(主記憶装
置)16を各CPU11、12、1nが共有使用する構
成から成る。メインメモリ16には、プロセス毎プロセ
ステーブル9(プロセスが持つデータ構造)が割り付け
られ、各プロセス8は、プロセス実行に必要なヘッダ、
プロセスID、イメージファイル名、使用するリソース
から成り、特徴的にはスレッド待機時間情報テーブル1
0へのポインタも含む。スレッド待機時間情報テーブル
10は、ヘッダ、実行時間T1、実行時間Tn、待機時間
についての閾値を含む。各エントリデータの詳細につい
ては後述する。なお、メインメモリ16には、プロセス
を構成するスレッド81毎キューイングされ、ディスパ
ッチキュー82としてキューイングされている。
【0018】上記したように、SMPは、システムを構
成する全てのCPU11〜1nが同等な関係であり、カ
ーネルモード(OSが実行)とユーザーモードのスレッ
ドを、全てのCPU11〜1nで独立して稼動するよう
にスケジュールできるシステムである。ここでは、SM
Pでありながら、カーネルモードで実行される各プロセ
スを監視し、プロセスの実行を特定の1個のCPUのみ
で実行するか、複数のCPU11〜1nに分散させて実
行するかを決定し、この決定に基づき、全てのプロセス
の実行を特定の1個のCPU11のみで実行すべきか、
各CPU11〜1nに分散させて構わないかを決定する
スケジュール手段を備えている。詳細は後述する。符号
7は、本発明により付加されるスレッド待機時間監視装
置である。スレッド待機時間監視装置7は、プロセス中
の全スレッドの実行を監視し、都度、各CPU11〜1
nの待機時間の平均値T1〜Tnを演算してディスク装
置14に割り付けられたスレッド待機時間記録ファイル
15に保持する。スレッド待機時間記録ファイルのデー
タ構造は図2に示されている。
【0019】スレッド待機時間記録ファイル15は、図
2に示されるように、各エントリが、ファイル名毎、実
行時間T1,1、実行時間T1,n、待機時間についての閾値
1, thで構成される他に、プロセスの数の割合について
の閾値αPが記録される。各データが意味する内容等に
ついての詳細は後述する。
【0020】なお、符号6は、ローカルバスである。ロ
ーカルバス6に接続される入出力デバイスは、チップセ
ット5によってホストバス3とブリッジされ、チップセ
ット5を介して各CPU11〜1nおよびメインメモリ
16とのデータ交換を行なう。チップセット5は、バス
争奪ロジックを内蔵し、バス争奪、バス開放等を行い、
バスに接続される各装置間のデータ転送制御を行う。大
容量外部記録媒体としてのディスク装置14は、入出力
装置の一つとしてブリッジ13を介してローカルバス6
に接続される。
【0021】図2乃至図4は、本発明実施形態の動作を
説明するために引用した図であり、それぞれ、スレッド
待機時間記録ファイルのデータ構造を示す図(図2)、
全体動作の流れをフローチャートで示す図(図3)、全
プロセスの実行に対しての決定処理の流れを示す図(図
4)である。以下、図2乃至図4を参照しながら図1に
示す本発明実施形態の動作について詳細に説明する。
【0022】まず、OSに属するファイルがオープンさ
れると(ステップS301)、ファイルの実行に必要な
プロセスがメインメモリ16中に生成される(ステップ
S302)。プロセスが持つデータ構造は図示した通り
であり、オープンしたファイル中のコードの実行に必要
な情報(ID、ファイル名、その他、コードの実行に必
要なリソース)が各フィールドに記述されている。プロ
セス生成後、OSは、スレッド待機時間記録ファイル1
5を読み、オープンしたファイルのファイル名を検索す
る(ステップS303、S304)。ここで、該当する
ファイル名が存在しない場合は、プロセスの1回目の実
行と判断し、該当するファイル名が存在する場合は、後
述するスレッド待機時間監視装置7によって監視される
待機時間の平均値Tn-1(n≦3)を探す(ステップS
305、S306)。Tn-1がなかった場合は、2回目
のプロセスの実行と判断し、あった場合は3回目以上の
プロセスの実行と判断する(ステップS308)。この
とき、待機時間に関する閾値Tthも読み出す(ステップ
S309)。
【0023】本発明において、プロセスに該当するファ
イルを初めて実行する場合は、強制的に特定の1個のC
PU11のみで実行させる。SMPとしてはイリーガル
な動作であり、ここではスレッドの実行を各CPUに割
り振ることを禁止する(ステップS316)。そして、
プロセスに含まれる全スレッドの実行をスレッド待機時
間監視装置7によって監視し、全スレッドの待機時間の
平均値T1を求める(ステップS318)。そして、こ
のT1をスレッド待機時間記録ファイル15に記録する
(ステップS319)。同時に後述する閾値αPも記録
する。なお、スレッド待機情報時間記録ファィル15は
1個でも複数に分割しても構わない。
【0024】2回目は、スレッドの実行を各CPU11
〜1nに割り振ることを許可する(ステップS31
2)。つまりSMPシステムとしての通常の動作であ
る。スレッド待機時間監視装置7により、プロセス中の
全スレッドの実行を監視し、各CPU11〜1nについ
て待機時間の平均値T2を求め、これも、スレッド待機
時間記録ファイル15に記録する(ステップS313、
S314)。
【0025】n回目(3<n)では、プロセス生成時に
スレッド待機時間記録ファイル15をアクセスすること
により、T1〜Tn-1を読み出す(ステップS308、S
309)。ここでは、プロセスのデータ構造のフィール
ドを拡張して、スレッド待機時間情報へのポインタも記
録できるようにしてあり、ポインタで示したアドレスに
は、スレッド待機時間情報テーブル10に示されるデー
タ構造が割り付けられている。そして各フィールドに
は、T1〜Tn-1をセットできる。また、プロセス待機時
間についての閾値Tthも記録できるようになっている。
閾値Tth は、システムの使用者が、そのシステムの使
い方に合わせて適切な値に設定すれば良い。
【0026】そして、Tn-1−T1を演算し、Tn-1−T1
がプロセス待機時間についての閾値Tthを上回った場
合、プロセスの実行を各CPU11〜1nに分散する
と、処理を分散させるために必要な処理によるオーバー
ヘッドのために、かえって処理速度が低下するものと判
断し、2以上のCPUでスレッドを実行することを禁止
する(ステップS310、S311)。そして、プロセ
ス内の各スレッドの実行終了時にTnを求め、スレッド
待機時間記録ファイル15のTn-1のデータ項目をTn
で上書きする(ステップS321、S322)。そし
て、クローズする(ステップS323)。なお、処理を
分散させるために必要な処理とは、スレッドの実行にお
ける順番の管理、各CPUが内蔵するキャッシュメモリ
と主記憶の同期合わせ、主記憶や入出力のための排他利
用管理処理である。
【0027】各CPU11〜1nに処理を分散させない
方が望ましいと決定した場合は、スレッドブロックの中
の「どのCPUで実行するか」を示すCPUのIDフィー
ルドの情報を書き換えて、ある特定の1個のCPUで
(例えば、ID=1のCPU)実行するように設定す
る。つまり、プロセスのn回目の実行は、このIDフィ
ールドで指定されたCPUで実行することになる。な
お、このフィールドは、既存のOSに実装されている。
ステップS310の処理で各CPU処理を分散させても
構わないと決定した場合は、2以上のCPUでスレッド
を実行することを許可する(ステップS320)と共
に、上記のフィールドの値は変更しない。
【0028】図4に示すフローチャートにおいて、上記
した一連の処理をある一定時間の間だけ行う(ステップ
S401、S402)。そして、ID=1のCPUのみ
で実行されたプロセス数を調べ(ステップS403)、
特定の1個のCPUで実行すべきと判断されたプロセス
の全プロセスに対する割合(ID=1のCPUで実行し
たプロセス数/全プロセス数)が、閾値αPを上回った
場合、全プロセスについて特定の1個のCPUで実行さ
せる(ステップS404、S405)。閾値α Pを上回
らなかった場合は、ID=1以外のCPUでの実行を許
可する(ステップS406)。なお、閾値αPについて
も、スレッド待機時間記録ファイル15に記憶してお
く。閾値αPは、システムの使用者が、そのシステムの
使い方に合わせて適切な値に設定すれば良い。
【0029】全プロセスについて、特定の1個のCPU
で実行すべきと決定した場合は、全てのプロセスの全ス
レッドについて、スレッドブロックの中にあるCPUの
IDフィールドを、特定の1個のCPUに書き換える。
従って、オーバーヘッドの原因となる処理は行う必要が
ないことをスレッド待機時間監視装置7がOSに通知す
る。上記した処理を繰り返し、閾値αPを下回った場合
は各プロセスを各CPU11〜1nに分散させて実行さ
せても構わないと決定する。従って、ステップS40
5、もしくはS406で停止していた処理は再開する必
要があることをスレッド待機時間監視装置7がOSに対
して通知する。
【0030】以上説明のように本発明によれば、カーネ
ルモードのコードの実行を特定の1個のCPUに制限す
ることにより、オーバーヘッドによる処理速度の低下を
防ぐことができる。つまり、SMPシステムの利点を生
かしつつ、スレッド待機時間監視装置による決定に応じ
て、ASMPシステムと同等な動作を行うことができ
る。また、スレッド待機時間監視装置の決定に応じて、
SMPシステムの動作に戻ることも可能である。すなわ
ち、ある一定時間内に実行された全プロセスについて、
上記手順に基づきプロセスを特定の1個のCPUで実行
すべきか決定し、プロセスを特定の1個のCPUで実行
すべきと決定されたプロセス数の、全プロセス数に対す
る割合が閾値を上回った場合、全てのプロセスについて
全スレッドを特定の1個のCPUで実行すべきであると
決定し、このことにより、オーバーヘッドの原因となっ
ていた、スレッドの実行における順番の管理、各CPU
が内蔵するキャッシュメモリと主記憶の同期合わせ、主
記憶や入出力のための排他利用管理処理を停止しても構
わないため、それに要する分だけ処理速度が向上する。
【0031】
【発明の効果】以上説明のように本発明によれば、カー
ネルモードでのコードの実行を1個の特定のCPUに制
限することにより、オーバーヘッドによる処理速度の低
下を防ぐことができる。つまり、SMPシステムが持
つ、処理を分散させシステムの効率のより良い稼動が期
待できる利点を生かしながら、必要に応じてASMPシ
ステムとしての動作を行うことができ、また、本来のS
MPシステムの動作に戻すこともできる。このことによ
り、システム性能の向上はもとより、柔軟性、融通性の
高いシステム構築が可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態を示すブロック図である。
【図2】本発明において使用されるスレッド待機時間記
録ファイルのデータ構造の一例を示す図である。
【図3】本発明実施形態の全体動作を示すフローチャー
トである。
【図4】本発明実施形態の動作を示すフローチャートで
ある。
【符号の説明】
1 対称型マルチプロセッサシステム 3 ホストバス 5 チップセット 6 ローカルバス 7 スレッド待機時間監視装置 8 プロセス 9 プロセステーブル 10 スレッド待機時間情報テーブル 11、12、1n CPU 13 ブリッジ 14 ディスク装置 15 スレッド待機時間記録ファイル 21、22、2n キャッシュメモリ 81 スレッド 82 ディスパッチキュー

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数のCPUを備え、前記各CPUにプ
    ロセスを分散させて実行する対称型マルチプロセッサシ
    ステムにおいて、 カーネルモードで実行される各プロセスを監視し、前記
    プロセスの実行を特定の1個のCPUのみで実行する
    か、前記複数のCPUに分散させて実行するかを決定
    し、前記決定に基づき、全てのプロセスの実行を1個の
    CPUのみで実行すべきか、各CPUに分散させて構わ
    ないかを決定するスケジュール手段を備えたことを特徴
    とする対称型マルチプロセッサシステムにおけるスケジ
    ュール装置。
  2. 【請求項2】 前記スケジュール手段は、 実行するプロセスが属するコードのファイル名毎に、前
    記プロセスを構成する全スレッドの待機時間の平均値T
    1と、全スレッドの待機時間についての閾値Tthとを
    スレッド待機時間記録ファイルに保持し、 少なくとも1回は前記プロセスにおける全スレッドを特
    定の1個のCPUで強制的に実行させ、そのときの全ス
    レッドにおける待機時間の平均値Tnを前記スレッド待
    機時間記録ファイルに保持し、 n回目のプロセス実行時、前記スレッド待機時間記録フ
    ァイルを参照して前記T1、Tn−1を取得し、前記プ
    ロセスが持つプロセスブロックのフィールドの一つに保
    持し、 前記Tn−1とT1との差と前記閾値Tthとを比較
    し、その比較結果によっては、前記プロセスの実行を特
    定の1個のCPUのみで実行するか、あるいは複数のC
    PUに分散させて実行するかを決定することを特徴とす
    る請求項1に記載の対称型マルチプロセッサシステムに
    おけるスケジュール装置。
  3. 【請求項3】 前記スケジュール手段は、 更に、所定期間内に実行された全てのプロセスについて
    各プロセスを特定の1個のCPUで実行すべきかを決定
    し、 前記決定に基づき、前記プロセスを特定の1個のCPU
    で実行すべきと決定されたプロセス数の全プロセス数に
    対する割合が前記閾値を上回ったときに、全てのプロセ
    スに対して全てのスレッドを前記特定の1個のCPUで
    実行すべきとし、 前記プロセスを特定の1個のCPUで実行すべきと決定
    されたプロセス数の全プロセス数に対する割合が前記閾
    値を下回ったときに前記プロセスの実行を各CPUに分
    散させて構わないとすることを特徴とする請求項1また
    は2に記載の対称型マルチプロセッサシステムにおける
    スケジュール装置。
  4. 【請求項4】 複数のCPUを備え、前記各CPUにプ
    ロセスを分散させて実行する対称型マルチプロセッサシ
    ステムにおいて、 カーネルモードにおけるプロセスの初回実行時、前記プ
    ロセスにおける各スレッドの実行を前記各CPUに割り
    当てることを禁止し、2回目以降許可するデスパッチ手
    段と、 前記プロセス中の全スレッドの実行を監視し、都度、前
    記各CPUの待機時間の平均値T1〜Tnを都度スレッ
    ド待機時間記録ファイルに保持するスレッド待機時間監
    視手段と、 n回目のプロセス実行時、前記スレッド待機時間記録フ
    ァイルを参照して前記T1、Tn−1を取得し、前記T
    n−1とT1との差とあらかじめ設定される閾値Tth
    とを比較し、その比較結果によって前記プロセスの実行
    を特定の1個のCPUのみで実行するか、あるいは複数
    のCPUに分散させて実行させるかスケジューリングを
    行うスケジュール手段と、を備えたことを特徴とする対
    称型マルチプロセッサシステムにおけるスケジュール装
    置。
  5. 【請求項5】 前記スレッド待機時間記録ファイルは不
    揮発性メモリに保持され、当該スレッド待機時間記録フ
    ァイルとして、実行するプロセスが属するコードのファ
    イル名毎、全スレッドの待機時間の平均値T1〜Tn
    と、全スレッドの待機時間についての閾値Tthがエン
    トリされる他に、プロセスを特定の1個のCPUで実行
    すべきと決定するプロセス数の全プロセス数に対する割
    合が閾値としてあらかじめ設定されることを特徴とする
    請求項4に記載の対称型マルチプロセッサシステムにお
    けるスケジュール装置。
  6. 【請求項6】 スレッド待機時間情報へのポインタを含
    むカーネルモードでのコード実行に必要な情報が設定さ
    れるプロセステーブルと、 前記ポインタによってアドレスされ、前記スレッド待機
    時間記録ファイルに保持される各スレッド待機時間の平
    均値とその待機時間についての閾値が設定されるスレッ
    ド待機時間情報テーブルと、が割り付けられ記録される
    記憶手段を備えたことを特徴とする請求項4に記載の対
    称型マルチプロセッサシステムにおけるスケジュール装
    置。
JP2001081130A 2001-03-21 2001-03-21 対称型マルチプロセッサシステムにおけるスケジュール装置 Withdrawn JP2002278778A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001081130A JP2002278778A (ja) 2001-03-21 2001-03-21 対称型マルチプロセッサシステムにおけるスケジュール装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001081130A JP2002278778A (ja) 2001-03-21 2001-03-21 対称型マルチプロセッサシステムにおけるスケジュール装置

Publications (1)

Publication Number Publication Date
JP2002278778A true JP2002278778A (ja) 2002-09-27

Family

ID=18937287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001081130A Withdrawn JP2002278778A (ja) 2001-03-21 2001-03-21 対称型マルチプロセッサシステムにおけるスケジュール装置

Country Status (1)

Country Link
JP (1) JP2002278778A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008062647A1 (en) 2006-11-02 2008-05-29 Nec Corporation Multiprocessor system, system configuration method in multiprocessor system, and program thereof
JP2009075827A (ja) * 2007-09-20 2009-04-09 Panasonic Corp プログラム実行装置
JPWO2009110084A1 (ja) * 2008-03-06 2011-07-14 富士通株式会社 プロセス制御方法
WO2012124077A1 (ja) * 2011-03-16 2012-09-20 富士通株式会社 マルチコアプロセッサシステムおよびスケジューリング方法
US8320689B2 (en) 2007-10-24 2012-11-27 Ricoh Company, Ltd. Image processing apparatus
JP2013186637A (ja) * 2012-03-07 2013-09-19 Nec Corp マルチプロセッサ装置、スケジューリング方法、および、スケジューリングプログラム
JP2015176218A (ja) * 2014-03-13 2015-10-05 富士通株式会社 演算処理装置、演算処理装置の制御方法、及び演算処理装置の制御プログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008062647A1 (en) 2006-11-02 2008-05-29 Nec Corporation Multiprocessor system, system configuration method in multiprocessor system, and program thereof
US8935510B2 (en) 2006-11-02 2015-01-13 Nec Corporation System structuring method in multiprocessor system and switching execution environment by separating from or rejoining the primary execution environment
JP2009075827A (ja) * 2007-09-20 2009-04-09 Panasonic Corp プログラム実行装置
US8320689B2 (en) 2007-10-24 2012-11-27 Ricoh Company, Ltd. Image processing apparatus
JPWO2009110084A1 (ja) * 2008-03-06 2011-07-14 富士通株式会社 プロセス制御方法
WO2012124077A1 (ja) * 2011-03-16 2012-09-20 富士通株式会社 マルチコアプロセッサシステムおよびスケジューリング方法
JP2013186637A (ja) * 2012-03-07 2013-09-19 Nec Corp マルチプロセッサ装置、スケジューリング方法、および、スケジューリングプログラム
JP2015176218A (ja) * 2014-03-13 2015-10-05 富士通株式会社 演算処理装置、演算処理装置の制御方法、及び演算処理装置の制御プログラム

Similar Documents

Publication Publication Date Title
US8122451B2 (en) Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system
AU2007261666B2 (en) Method, system, and apparatus for scheduling computer micro-jobs to execute at non-disruptive times
US9588810B2 (en) Parallelism-aware memory request scheduling in shared memory controllers
US8141089B2 (en) Method and apparatus for reducing contention for computer system resources using soft locks
US8429657B2 (en) Global avoidance of hang states via priority inheritance in multi-node computing system
US20060130062A1 (en) Scheduling threads in a multi-threaded computer
US20060136640A1 (en) Apparatus and method for hardware semaphore
US8627325B2 (en) Scheduling memory usage of a workload
JP2003256221A (ja) 並列プロセス実行方法、及びマルチプロセッサ型コンピュータ
US9507633B2 (en) Scheduling method and system
CN107515781B (zh) 一种基于多处理器的确定性任务调度及负载均衡系统
CN113467933B (zh) 分布式文件系统线程池优化方法、系统、终端及存储介质
US6393505B1 (en) Methods and apparatus for data bus arbitration
JPS63128457A (ja) 制御装置および入出力装置へのアクセスを制御する方法
US20080244118A1 (en) Method and apparatus for sharing buffers
JP2002278778A (ja) 対称型マルチプロセッサシステムにおけるスケジュール装置
US7958510B2 (en) Device, system and method of managing a resource request
JP2002529850A (ja) システムにおける要求のスケジューリング
CN116127494A (zh) 用户并发访问的控制方法及相关装置
JPH0877026A (ja) 情報処理方法とその装置
CN110968418A (zh) 基于信号-槽的大规模有约束并发任务的调度方法与装置
US11836525B2 (en) Dynamic last level cache allocation for cloud real-time workloads
US8566829B1 (en) Cooperative multi-level scheduler for virtual engines
WO2014016951A1 (ja) 情報処理装置
JP3591883B2 (ja) 計算機及びそのシステム及びその制御方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080603