JP4348639B2 - マルチプロセッサシステム、ワークロード管理方法 - Google Patents

マルチプロセッサシステム、ワークロード管理方法 Download PDF

Info

Publication number
JP4348639B2
JP4348639B2 JP2006142598A JP2006142598A JP4348639B2 JP 4348639 B2 JP4348639 B2 JP 4348639B2 JP 2006142598 A JP2006142598 A JP 2006142598A JP 2006142598 A JP2006142598 A JP 2006142598A JP 4348639 B2 JP4348639 B2 JP 4348639B2
Authority
JP
Japan
Prior art keywords
workload
executable
processor
queue
group
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 - Fee Related
Application number
JP2006142598A
Other languages
English (en)
Other versions
JP2007316710A (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.)
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 JP2006142598A priority Critical patent/JP4348639B2/ja
Publication of JP2007316710A publication Critical patent/JP2007316710A/ja
Application granted granted Critical
Publication of JP4348639B2 publication Critical patent/JP4348639B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Description

本発明は、ワークロード管理方法に関し、特にマルチプロセッサシステムにおけるワークロード管理方法に関する。
マルチプロセッサシステム上で複数のワークロードを実行する時、各ワークロードのCPU資源の利用割合をシステム管理者が指定する場合がある。例えば、ワークロードAに対して全CPU資源の70%を、残りの30%をワークロードBに対して割り当てるといった方針を、システム管理者が決定する。各ワークロードはそれぞれ1つ、あるいは、複数のプロセスを持つ。上記方針を満たす従来の技術として、各ワークロードに属するプロセスをなるべく均等に各プロセッサへ分散させる方法がある。
ところが、このように各ワークロードに属するプロセスを均等に各プロセッサ(またはプロセッサグループ)に分散させる、あるいは、均等に分散させる目的で頻繁にプロセッサ(またはプロセッサグループ)を変更すると、キャッシュメモリのヒット率が低下し、システム全体のスループットが低下する場合がある。
このように問題となる例を、図1を用いて説明する。
図1で示されるシステムは、プロセッサグループ100に属するプロセッサ101とプロセッサ102、及び、プロセッサグループ200に属するプロセッサ201とプロセッサ202、合計4つのプロセッサを持つ。プロセッサ101とプロセッサ102はキャッシュメモリ300を共有し、プロセッサ201とプロセッサ202はキャッシュメモリ400を共有している。ここでは、便宜的に、キャッシュを共有するプロセッサ同士をまとめてプロセッサグループと呼ぶ。図1のプロセッサグループ100とプロセッサグループ200との間の通信はシステムバス500を介して行われる。また、メモリ(主記憶装置)600を搭載したチップセット700が、システムバス500に接続されている。このような構成のシステムでは、共通のメモリ領域を頻繁にアクセスする複数のプロセスを異なるプロセッサグループで動作させると、キャッシュヒット率が低く、スループットが低下する。一般的に、同一のワークロードに属するプロセス同士はお互いに協調して動作する場合も多く、各プロセッサグループに均等にプロセスを分散させてしまうと、スループットが低下する。また、プロセスを実行するプロセッサを、プロセッサグループを跨いで変更した場合にも、キャッシュミスヒットのペナルティが生じる。このため、ワークロードに属するプロセスを各プロセッサに均等に分散させるために、頻繁にプロセッサグループを変更すると、スループットが低下する。
上記性能上の問題は、図1の「プロセッサ」を「プロセッサコア」と読み替え、「プロセッサグループ」を「プロセッサ」と読み替えることで複数のマルチコアプロセッサを用いたシステムでも同様に発生し得ることがわかる。
関連する技術として、特開2003−248666号公報にマルチプロセッサシステムが開示されている。
この従来技術は、プロセッサ毎にキャッシュメモリを備える複数のプロセッサからなるマルチプロセッサシステムにおいて、プロセス毎に特定のプロセッサで実行させるという制御を行うのではなく、繁忙ロック対象資源利用処理を特定のプロセッサだけで実行するように制御することを特徴とする。
また、特開2004−30663号公報にマルチ・プロセッサ・システムが開示されている。
この従来技術は、自己負荷均衡をとり得るマルチ・プロセッサ・システムに関する。前記システムは複数のプロセッサ実行キューを備えており、各々の実行キューは処理すべきスレッドを保持するためのものである。このマルチ・プロセッサ・システムは、コード・データを記憶するための少なくとも1つのストレージ(記憶)・システムと、作成された各々のスレッドに優先順位を割り当てて当該作成されたスレッドを実行キューに配置するようにコード・データを処理する少なくとも一つのプロセッサとを有する。当該割当てられた優先順位は当該スレッドをあるバンド(群)に分類し、当該システムが負荷不均衡かどうかを判断し、もしある実行キューのあるバンドへ別の実行キューのそれと同じバンドにあるのよりも多くのスレッドが分類されているのであれば当該システムは負荷不均衡とする。もし当該システムが負荷不均衡であるならば、当該バンドに属する数の多いスレッドを持った方の実行キューから当該バンドに属する数の少ないスレッドを持った方の実行キューへとスレッドを移動することにより、当該システムの負荷均衡をとる。
特開平6−259395号公報にプロセススケジューリング方式が開示されている。
このプロセススケジューリング方式は、複数のプロセッサがバスを介して結合されたマルチプロセッサシステムにおいて、バスのトラフィック量を監視する手段と、プロセッサにバスのトラフィック及びプロセスのスケジューリングに関する情報を通知する手段と、バスのトラフィック量があるしきい値を越えている場合にプロセッサ間でのプロセスの移動を抑止するようなプロセスのスケジューリングを行う手段と、バスのトラフィック量があるしきい値を下回った場合に任意のプロセッサ間でのプロセスの移動を許すようなプロセスのスケジューリングを行う手段とを備えたことを特徴とする。
特開平10−74183号公報にジョブ起動システムが開示されている。
このジョブ起動システムは、並列計算機システムを構成するプロセッサのそれぞれが、ジョブの起動条件を監視して起動可能ジョブを選択する起動可能ジョブ監視部と、この起動可能ジョブの実行に関する情報を保持するためのテーブルと、ジョブ実行環境にあると自ら判断した上で当該情報に基づいて起動ジョブを選択する動作環境監視部と、この起動ジョブを実行するジョブ起動機構と、を有することを特徴とする。
特開平10−207850号公報にマルチプロセッサシステムにおけるディスパッチング方式が開示されている。
このディスパッチング方式は、それぞれが複数のプロセッサとキャッシュメモリとを含む複数のプロセッサグループから構成されるマルチプロセッサシステムにおいて、前記プロセッサグループ内のいずれかのプロセッサが、自プロセッサが属するプロセッサグループのキャッシュメモリのヒット率が低下した場合に自プロセッサが属するプロセッサグループで実行されていたジョブをキャッシュメモリのヒット率が高い他のプロセッサグループへ移動するジョブ移動手段を備えたことを特徴とする。
特開2003−248666号公報 特開2004−30663号公報 特開平6−259395号公報 特開平10−74183号公報 特開平10−207850号公報
本発明の目的は、各ワークロードへのCPU資源割り当てをプロセッサグループ毎に管理し、キャッシュヒット率が問題となるようなワークロードについては、CPU資源割り当てを特定のプロセッサグループに偏らせることでスループット向上を実現するワークロード管理方法を提供することである。
以下に、[発明を実施するための最良の形態]で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。但し、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明のマルチプロセッサシステムは、ワークロードへのCPU資源の割り当てルールを格納するテーブルであるワークロード表(21)と、前記ワークロード表(21)を基にして、プロセッサグループに前記ワークロードの配分比率を割り当て、配分表(22)を作成する配分表登録部(111)と、前記配分表(22)に登録された値を基にして、登録先となる実行可能キュー(23)を決定し、実行可能となったプロセスを前記実行可能キュー(23)に登録する実行可能プロセス登録部(112)と、前記実行可能キュー(23)からプロセスを取り出し、前記プロセスの実行を開始するプロセス実行部(113)とを具備する。
前記ワークロード表(21)は、前記ワークロードに割り当てられるべきCPU資源の全CPU資源に対する割合を示す配分比率(211)と、前記ワークロードに属するプロセスを実行するプロセッサグループ(10)が固定されるべきか否かを示すプロセッサグループ固定フラグ(212)とを有する。
前記プロセスがお互いに協調して動作し共通のメモリ領域を頻繁にアクセスするワークロードでは、前記プロセッサグループ固定フラグ(212)はON(有効)の状態である。前記プロセスが独立した処理となっているワークロードでは、前記プロセッサグループ固定フラグ(212)はOFF(無効)の状態である。
前記プロセッサグループ(10)がnグループ存在する時、前記配分表(22)、及び、前記実行可能キュー(23)も、それぞれn個ずつ存在する。
前記配分表(22)は、前記プロセッサグループ(10)が持つCPU資源のうち前記ワークロードに割り当てられるべきCPU資源の割合を示すプロセッサグループ内配分比率(221)と、前記実行可能キュー(23)に登録されたプロセスの数を示す実行可能プロセス数と、前記プロセスが実行される順を示し、前記プロセスの実行に従い下げられる値である優先度(223)とを具備する。
本発明のワークロード管理方法は、(a1)ワークロード管理を有効化する時、ワークロード表(21)からワークロードを選択するステップと、(a2)プロセッサグループ内配分比率(221)を0で初期化するステップと、(a3)配分表(22)毎に前記プロセッサグループ内配分比率(221)の合計値を求め、前記合計値の最も小さなプロセッサグループ(10)を選択するステップと、
(a4)前記選択したワークロードの配分比率(211)を、前記選択したプロセッサグループ(10)に割り当てるステップと、(a5)前記配分比率(211)の値が0か否か確認するステップと、
(a6)前記ワークロード表(21)の終端に達したら前記プロセッサグループ内配分比率(221)を応じて、各ワークロードの優先度(223)を決定するステップと、(a7)前記ワークロード表(21)に未処理のワークロードが残っていたら前記ワークロード表(21)から次のワークロードを選択するステップとを具備する。
前記(a4)ステップは、
プロセッサグループ内配分比率 = min(プロセッサグループ数 × 配分比率 , 合計値)
配分比率 = 配分比率 − プロセッサグループ内配分比率
という計算を行うステップを具備する。
本発明のワークロード管理方法は、(b1)実行可能なプロセスが新たに現れた時、全ての前記実行可能キュー(23)について、1プロセスあたりのプロセスグループ内配分比率(211)を計算するステップと、(b2)前記1プロセスあたりのプロセスグループ内配分比率(211)の値が最も大きい実行可能キュー(23)に、前記実行可能プロセスを登録するステップと、(b3)前記実行可能プロセス数に1を加算するステップと、(b4)前記実行可能キュー(23)に「優先度(223)>0」を満たすプロセスが存在しない場合、前記プロセッサグループ内配分比率(221)を基にワークロードの優先度(223)を再設定するステップと、(b5)前記実行可能キュー(23)に「優先度(223)>0」を満たすプロセスが存在する場合、処理を終了するステップとを具備する。
前記(b1)ステップは、
1プロセスあたりのプロセスグループ内配分比率 = プロセスグループ内配分比率 ÷ (実行可能プロセス数 + 1)
という計算を行うステップを具備する。
本発明のワークロード管理方法は、(c1)プロセッサ(11)で実行中のプロセスが実行を中断した場合、又は、一定間隔毎に、前記実行可能キュー(23)にプロセスが登録されているか確認するステップと、(c2)前記実行可能キュー(23)にプロセスが存在しない場合、処理を終了するステップと、(c3)前記実行可能キュー(23)にプロセスが存在する場合、前記優先度(223)が最も大きなワークロードのプロセスを、前記実行可能キュー(23)から一つ取り出すステップと、(c4)実行可能プロセス数から1を減算するステップと、(c5)前記優先度(223)を減らすステップと、(c6)前記取り出したプロセスの実行を開始するステップとを具備する。
本発明で得られる効果は、システム全体のスループットの向上である。同一のワークロードに属するプロセス同士はお互いに協調して動作し、共通のメモリ領域を頻繁にアクセスする場合がある。本発明では、このようなワークロードに対してプロセッサグループ固定フラグを指定すると、このワークロードに属するプロセスは特定のプロセッサグループに割り当てられる。従って、従来、複数のプロセッサグループに分散して割り当てられた場合に問題となっていたキャッシュヒット率低下を防ぐことができ、スループットが向上する。
以下に本発明の第1実施形態について添付図面を参照して説明する。
本発明のマルチプロセッサシステムの詳細な構造を図2に示す。
本発明のマルチプロセッサシステムは、図2に示されるとおり、複数のプロセッサグループ10と、主記憶装置20とを備える。複数のプロセッサグループ10の各々は、少なくとも1つのプロセッサ11を備える。ここで、同一プロセッサグループ内のプロセッサはキャッシュメモリを共有するものとする。プロセッサ11は、配分表登録部111、実行可能プロセス登録部112、プロセス実行部113を備える。主記憶装置20は、ワークロード表21、複数の配分表22、複数の実行可能キュー23を備える。
配分表登録部111は、ワークロード表21を基にして、各プロセッサグループにワークロードの配分比率を割り当てる、つまり、配分表を作成するプログラムである。
実行可能プロセス登録部112は、実行可能となったプロセスを実行可能キュー23に登録するプログラムである。この時、配分表に登録された値を基にして、どの実行可能キューに登録するか決定する。
プロセス実行部113は、実行可能キュー23からプロセスを1つ取り出し、プロセスの実行を開始するプログラムであり、一般的なオペレーティングシステムではディスパッチャ等と呼ばれるものである。
ワークロード表21は、システム管理者が決定した各ワークロードへのCPU資源の割り当てルールを格納するテーブルであり、システム起動時等の適当なタイミングで初期化される。
ワークロード表21の詳細な構造を図3に示す。
ワークロード表21は、図3に示されるとおり、ワークロード毎に、配分比率211とプロセッサグループ固定フラグ212とを持つ。配分比率211には、ワークロードに割り当てられるべきCPU資源の全CPU資源に対する割合を示す。プロセッサグループ固定フラグ212は、そのワークロードに属するプロセスを実行するプロセッサグループが固定されるべきか否かを示す。
ここで、ワークロードは複数のプロセスから構成される一連の処理であるとする。プロセスは処理の実行単位である。あるワークロードは、そのワークロードに属するプロセスがお互いに協調して動作し、共通のメモリ領域を頻繁にアクセスする。このようなワークロードでは、キャッシュヒット率向上のため、プロセッサグループ固定フラグ212をON(有効)にすべきである。また、別のワークロードでは、そのワークロードに属するプロセスがほぼ独立した処理となっている。このようなワークロードはプロセッサグループ固定フラグ212をOFF(無効)にする。
処理の簡便のため、ワークロード毎のレコードは、プロセッサグループ固定フラグがONであるものからOFFであるものの順にあらかじめソートされているものとする。
配分表22、及び、実行可能キュー23は、プロセッサグループ10に対応して存在する。すなわち、プロセッサグループ10がnグループ存在する時、配分表22、及び、実行可能キュー23も、それぞれn個ずつ存在する。
配分表22の詳細な構造を図4に示す。
配分表22は、図4に示されるとおり、ワークロード毎に、プロセッサグループ内配分比率221と実行可能プロセス数222と優先度223とを持つ。プロセッサグループ内配分比率221は、対応するプロセッサグループ10が持つCPU資源のうち、そのワークロードに割り当てられるべきCPU資源の割合を示す。実行可能プロセス数222は、実行可能キューに登録されたプロセスの数を示す。優先度223は、プロセスが実行されるに従い、下げられる値であり、優先度が大きなワークロードに属するプロセスから順に実行される。
実行可能キュー23は、実行可能状態となったプロセスの待ち行列であり、プロセッサグループ10ごとに1つ存在する。各実行可能キューのプロセスは、ワークロード毎に整理され、優先度の大きい順に並べるものとする。
システム起動時等のワークロード管理を有効化する時、配分表登録部111が呼び出される。この時の配分表登録部111の処理の流れを、図5を用いて説明する。
(1)ステップS101
まず、ワークロード表の先頭からワークロードを一つ選択する。
(2)ステップS102
プロセッサグループ内配分比率を0で初期化する。
(3)ステップS103
次に、各プロセッサグループ(配分表)毎にプロセッサグループ内配分比率の合計値yを求め、合計値の最も小さなプロセッサグループを選択する。
(4)ステップS104
ステップS101で選択したワークロードについて、その配分比率をS103で選択したプロセッサグループに割り当てる。つまり、以下のような計算を行う。
プロセッサグループ内配分比率 = min(プロセッサグループ数 × 配分比率 , y)
配分比率 = 配分比率 − プロセッサグループ内配分比率
(5)ステップS105
次に、配分比率の値を確認する。ゼロであったらステップS106へ進む。ゼロより大きな値であったらステップS103へ戻る。
(6)ステップS106
ワークロード表の終端に達したらステップS107へ進む。未処理のワークロードが残っていたらステップS101へ戻る。
(7)ステップS107
プロセッサグループ内配分比率を応じて、各ワークロードの優先度を決定する。
具体例として、プロセッサグループが2つのシステムでシステム管理者が以下のような方針を定めた場合を考える。
ワークロードa(WL−a) : 40% 、 プロセッサグループ固定
ワークロードb(WL−b) : 30%
ワークロードc(WL−c) : 30%
この場合の最終的なプロセッサグループ内配分比率を図6−(a)に示す。
別の具体例として、プロセッサグループが2つのシステムでシステム管理者が以下のような方針を定めた場合を考える。
ワークロードa(WL−a) : 40%
ワークロードb(WL−b) : 30% 、 プロセッサグループ固定
ワークロードc(WL−c) : 30% 、 プロセッサグループ固定
この場合の最終的なプロセッサグループ内配分比率を図6−(b)に示す。
実行可能なプロセスが新たに現れた時、実行可能プロセス登録部112が呼び出される。この時の実行可能プロセス登録部112の処理の流れを、図7を用いて説明する。
(1)ステップS201
まず、全ての実行可能キューについて、1プロセスあたりのプロセスグループ内配分比率zを計算する。
z = プロセスグループ内配分比率 ÷ (実行可能プロセス数 + 1)
(2)ステップS202
次に、zの値が最も大きい実行可能キューに、前記実行可能プロセスを登録する。
(3)ステップS203
実行可能プロセス数に1を加算する。
実行可能プロセス数 = 実行可能プロセス数 + 1
(4)ステップS204
実行可能キューに「優先度>0」を満たすプロセスが存在しない場合、ステップS205へ進む。存在する場合、処理を終了する。
(5)ステップS205
プロセッサグループ内配分比率を基に各ワークロードの優先度を再設定する。
プロセッサ11で実行中のプロセスが実行を中断した場合や、一定間隔毎にプロセス実行部113が呼び出される。この時のプロセス実行部113の処理の流れを、図8を用いて説明する。
(1)ステップS301
まず、実行可能キューにプロセスが登録されているか確認する。プロセスが存在する場合、ステップS302へ進む。存在しない場合、終了する。
(2)ステップS302
次に、優先度が最も大きなワークロードのプロセスを、実行可能キューから一つ取り出す。
(3)ステップS303
実行可能プロセス数を1減算する。
実行可能プロセス数 = 実行可能プロセス数 − 1
(4)ステップS304
優先度を減らす。
(5)ステップS305
取り出したプロセスの実行を開始する。
本発明の利用が考えられる分野として、複数のプロセッサグループを持つマルチプロセッサシステム、あるいは、複数のマルチコアプロセッサを持つシステムで、ワークロード毎に資源の割り当てを行うワークロード管理機能といった用途に適用できる。
図1は、従来のマルチプロセッサシステムの構成を示すブロック図である。 図2は、本発明のマルチプロセッサシステムの構成を示すブロック図である。 図3は、ワークロード表の詳細な構造を示す図である。 図4は、配分表の詳細な構造を示す図である。 図5は、配分表登録部処理の流れを示すフローチャートである。 図6は、プロセッサグループ内配分比率を示す図である。 図7は、実行可能プロセス登録部の処理の流れを示すフローチャートである。 図8は、プロセス実行部の処理の流れを示すフローチャートである。
符号の説明
10… プロセッサグループ
11… プロセッサ
111… 配分表登録部
112… 実行可能プロセス登録部
113… プロセス実行部
20… 主記憶装置
21… ワークロード表
211… 配分比率
212… プロセッサグループ固定フラグ
22… 配分表
221… プロセッサグループ内配分比率
222… 実行可能プロセス数
223… 優先度
23… 実行可能キュー
100… プロセッサグループ
101… プロセッサ
102… プロセッサ
200… プロセッサグループ
201… プロセッサ
202… プロセッサ
300… キャッシュメモリ
400… キャッシュメモリ
500… システムバス
600… メモリ(主記憶装置)
700… チップセット

Claims (11)

  1. ワークロードへのCPU資源の割り当てルールを格納するテーブルであるワークロード表と、
    前記ワークロード表を基にして、少なくとも1つのプロセッサを含む複数のプロセッサグループの各々にワークロードの配分比率を割り当て、配分表を作成し、ワークロード管理を有効化する時、前記ワークロード表からワークロードを選択し、前記配分表のプロセッサグループ内配分比率を0で初期化し、プロセッサグループ毎に前記プロセッサグループ内配分比率の合計値を求め、前記合計値の最も小さなプロセッサグループを選択し、前記選択されたワークロードの配分比率を前記選択されたプロセッサグループに割り当て、前記プロセッサグループ内配分比率に応じて、各ワークロードの優先度を決定する配分表登録部と、
    前記配分表に登録された値を基にして、登録先となる実行可能キューを決定し、実行可能となったプロセスを実行可能プロセスとして前記実行可能キューに登録する実行可能プロセス登録部と、
    前記実行可能キューからプロセスを取り出し、前記プロセスの実行を開始するプロセス実行部と
    を具備する
    マルチプロセッサシステム。
  2. 請求項1に記載のマルチプロセッサシステムであって
    前記ワークロード表は、
    前記ワークロードに割り当てられるべきCPU資源の全CPU資源に対する割合を示す配分比率と、
    前記ワークロードに属するプロセスの各々が互いに独立して動作する場合、OFF(無効)の状態にし、前記ワークロードに属するプロセスの各々が互いに協調して動作し、共通のメモリ領域にアクセスする場合、ON(有効)の状態にして、前記ワークロードに属するプロセスを実行するプロセッサグループ固定するためのプロセッサグループ固定フラグと
    を有する
    マルチプロセッサシステム。
  3. 請求項1又は2に記載のマルチプロセッサシステムであって、
    前記配分表は、
    前記プロセッサグループが持つCPU資源のうち前記ワークロードに割り当てられるべきCPU資源の割合を示すプロセッサグループ内配分比率と、
    前記実行可能キューに登録された実行可能プロセスの数を示す実行可能プロセス数と、
    前記プロセスが実行される順を示し、前記プロセスの実行に従い下げられる値である優先度と
    を具備する
    マルチプロセッサシステム。
  4. 請求項1乃至3のいずれか一項に記載のマルチプロセッサシステムであって、
    前記実行可能プロセス登録部は、実行可能なプロセスが新たに現れた時、前記実行可能キューについて、1プロセスあたりのプロセスグループ内配分比率を計算し、前記実行可能キューのうち前記1プロセスあたりのプロセスグループ内配分比率の値が最も大きい実行可能キューに、前記新たなプロセスを登録し、前記実行可能プロセス数に1を加算し、前記実行可能キューに「優先度>0」を満たすプロセスが存在しない場合、前記プロセッサグループ内配分比率を基にワークロードの優先度を再設定し、前記実行可能キューに「優先度>0」を満たすプロセスが存在する場合、処理を終了する
    マルチプロセッサシステム。
  5. 請求項1乃至4のいずれか一項に記載のマルチプロセッサシステムであって、
    前記プロセス実行部は、プロセッサで実行中のプロセスが実行を中断した場合、又は、一定間隔毎に、前記実行可能キューにプロセスが登録されているか確認し、前記実行可能キューにプロセスが存在しない場合、処理を終了し、前記実行可能キューにプロセスが存在する場合、前記優先度が最も大きなワークロードのプロセスを、前記実行可能キューから一つ取り出し、前記実行可能プロセス数から1を減算し、前記優先度を減らし、前記取り出したプロセスの実行を開始する
    マルチプロセッサシステム。
  6. ワークロードへのCPU資源の割り当てルールを格納したテーブルであるワークロード表を基にして、少なくとも1つのプロセッサを含む複数のプロセッサグループの各々にワークロードの配分比率を割り当て、配分表を作成するステップと、
    ークロード管理を有効化する時、前記ワークロード表からワークロードを選択するステップと、
    前記配分表のプロセッサグループ内配分比率を0で初期化するステップと、
    プロセッサグループ毎に前記プロセッサグループ内配分比率の合計値を求め、前記合計値の最も小さなプロセッサグループを選択するステップと、
    選択されたワークロードの配分比率を、前記選択されたプロセッサグループに割り当てるステップと、
    記配分比率の値が0か否か確認するステップと、
    記ワークロード表の終端に達したら前記プロセッサグループ内配分比率を応じて、各ワークロードの優先度を決定するステップと、
    記ワークロード表に未処理のワークロードが残っていたら前記ワークロード表から次のワークロードを選択するステップと
    前記配分表に登録された値を基にして、登録先となる実行可能キューを決定し、実行可能となったプロセスを実行可能プロセスとして前記実行可能キューに登録するステップと、
    前記実行可能キューからプロセスを取り出し、前記プロセスの実行を開始するステップと
    含む
    ワークロード管理方法。
  7. 請求項6に記載のワークロード管理方法であって
    前記選択されたワークロードの配分比率を、前記選択されたプロセッサグループに割り当てる際に、
    プロセッサグループ内配分比率 = min(プロセッサグループ数 × 配分比率 , 合計値)
    配分比率 = 配分比率 − プロセッサグループ内配分比率
    という計算を行うステップ
    更に含む
    ワークロード管理方法。
  8. 請求項6又は7に記載のワークロード管理方法であって
    行可能なプロセスが新たに現れた時、前記実行可能キューについて、1プロセスあたりのプロセスグループ内配分比率を計算するステップと、
    前記実行可能キューのうち前記1プロセスあたりのプロセスグループ内配分比率の値が最も大きい実行可能キューに、前記新たなプロセスを登録するステップと、
    記実行可能プロセス数に1を加算するステップと、
    記実行可能キューに「優先度>0」を満たすプロセスが存在しない場合、前記プロセッサグループ内配分比率を基にワークロードの優先度を再設定するステップと、
    記実行可能キューに「優先度>0」を満たすプロセスが存在する場合、処理を終了するステップと
    更に含む
    ワークロード管理方法。
  9. 請求項6乃至8のいずれか一項に記載のワークロード管理方法であって
    前記1プロセスあたりのプロセスグループ内配分比率を計算する際に、
    1プロセスあたりのプロセスグループ内配分比率 = プロセスグループ内配分比率 ÷ (実行可能プロセス数 + 1)
    という計算を行うステップ
    更に含む
    ワークロード管理方法。
  10. 請求項6乃至9のいずれか一項に記載のワークロード管理方法であって
    ロセッサで実行中のプロセスが実行を中断した場合、又は、一定間隔毎に、前記実行可能キューにプロセスが登録されているか確認するステップと、
    記実行可能キューにプロセスが存在しない場合、処理を終了するステップと、
    記実行可能キューにプロセスが存在する場合、前記優先度が最も大きなワークロードのプロセスを、前記実行可能キューから一つ取り出すステップと、
    前記実行可能プロセス数から1を減算するステップと、
    記優先度を減らすステップと、
    記取り出したプロセスの実行を開始するステップと
    更に含む
    ワークロード管理方法。
  11. 請求項6乃至10のいずれか一項に記載のワークロード管理方法を、コンピュータに実行させるためのプログラム。
JP2006142598A 2006-05-23 2006-05-23 マルチプロセッサシステム、ワークロード管理方法 Expired - Fee Related JP4348639B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006142598A JP4348639B2 (ja) 2006-05-23 2006-05-23 マルチプロセッサシステム、ワークロード管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006142598A JP4348639B2 (ja) 2006-05-23 2006-05-23 マルチプロセッサシステム、ワークロード管理方法

Publications (2)

Publication Number Publication Date
JP2007316710A JP2007316710A (ja) 2007-12-06
JP4348639B2 true JP4348639B2 (ja) 2009-10-21

Family

ID=38850543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006142598A Expired - Fee Related JP4348639B2 (ja) 2006-05-23 2006-05-23 マルチプロセッサシステム、ワークロード管理方法

Country Status (1)

Country Link
JP (1) JP4348639B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4691153B2 (ja) * 2008-12-10 2011-06-01 富士通株式会社 マルチコアプロセッサ,制御方法および情報処理装置
JP5322038B2 (ja) 2009-02-13 2013-10-23 日本電気株式会社 演算資源割当装置、演算資源割当方法、及び、演算資源割当プログラム
EP2546744B1 (en) 2010-03-11 2017-05-10 Fujitsu Limited Software control device, software control method, and software control program
JP5379765B2 (ja) * 2010-08-20 2013-12-25 日本電信電話株式会社 プログラム実行装置およびプログラム実行方法
JP5880542B2 (ja) * 2011-03-16 2016-03-09 富士通株式会社 マルチコアプロセッサシステムおよびスケジューリング方法
JP2013149108A (ja) * 2012-01-19 2013-08-01 Canon Inc 情報処理装置及びその制御方法、プログラム
US9483324B2 (en) 2012-06-26 2016-11-01 Nec Corporation Program conversion device and method, process switching method, method of determining execution scheme and program storage medium therefor, processor system, and parallel execution scheme
TWI756974B (zh) 2020-12-09 2022-03-01 財團法人工業技術研究院 機器學習系統及其資源配置方法

Also Published As

Publication number Publication date
JP2007316710A (ja) 2007-12-06

Similar Documents

Publication Publication Date Title
JP4348639B2 (ja) マルチプロセッサシステム、ワークロード管理方法
EP3425502B1 (en) Task scheduling method and device
US8788672B2 (en) Microprocessor with software control over allocation of shared resources among multiple virtual servers
US10896065B2 (en) Efficient critical thread scheduling for non privileged thread requests
JP6294586B2 (ja) 命令スレッドを組み合わせた実行の管理システムおよび管理方法
US7979861B2 (en) Multi-processor system and program for causing computer to execute controlling method of multi-processor system
CN103064746B (zh) 基于当前credit进行预测调度的处理器资源精确分配方法
US7698529B2 (en) Method for trading resources between partitions of a data processing system
US10778605B1 (en) System and methods for sharing memory subsystem resources among datacenter applications
US7366814B2 (en) Heterogeneous multiprocessor system and OS configuration method thereof
JP2008191949A (ja) マルチコアシステムおよびマルチコアシステムの負荷分散方法
US20090178045A1 (en) Scheduling Memory Usage Of A Workload
JP2008186136A (ja) 計算機システム
CN113467933B (zh) 分布式文件系统线程池优化方法、系统、终端及存储介质
WO2016202154A1 (zh) 一种gpu资源的分配方法及系统
WO2002097622A2 (en) A resource management method
JP2009223842A (ja) 仮想計算機制御プログラム及び仮想計算機システム
KR101330609B1 (ko) 모바일 멀티코어 가상화 시스템에서 실시간 처리를 보장하기 위한 스케쥴링 방법
US11934890B2 (en) Opportunistic exclusive affinity for threads in a virtualized computing system
US20220291962A1 (en) Stack memory allocation control based on monitored activities
CN112783651B (zh) 一种云平台vGPU负载均衡调度方法、介质及装置
US8490101B1 (en) Thread scheduling in chip multithreading processors
JP6445876B2 (ja) リソース割当装置、リソース割当システム、および、リソース割当方法
US8566829B1 (en) Cooperative multi-level scheduler for virtual engines
Wolfinger et al. EFFICIENT UTILIZATION OF BARE METAL CORES WITH DYNAMIC MONITORING AND CALIBRATION

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090402

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090625

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090708

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

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4348639

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130731

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees