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

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

Info

Publication number
JP2007316710A
JP2007316710A JP2006142598A JP2006142598A JP2007316710A JP 2007316710 A JP2007316710 A JP 2007316710A JP 2006142598 A JP2006142598 A JP 2006142598A JP 2006142598 A JP2006142598 A JP 2006142598A JP 2007316710 A JP2007316710 A JP 2007316710A
Authority
JP
Japan
Prior art keywords
workload
executable
processor group
processor
processes
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.)
Granted
Application number
JP2006142598A
Other languages
English (en)
Other versions
JP4348639B2 (ja
Inventor
Hisao Kurosawa
尚生 黒澤
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)

Abstract

【課題】ワークロード管理を適用したマルチプロセッサシステムにおいて、システム全体のスループット向上させる。
【解決手段】各ワークロードへのCPU資源割り当てをプロセッサグループ毎に管理し、キャッシュヒット率が問題となるようなワークロードについては、CPU資源割り当てを特定のプロセッサグループに偏らせることでスループット向上を実現する。このため、マルチプロセッサシステムにおいて、ワークロードへのCPU資源の割り当てルールを格納するテーブルであるワークロード表と、前記ワークロード表を基にして、プロセッサグループに前記ワークロードの配分比率を割り当て、配分表を作成する配分表登録部と、前記配分表に登録された値を基にして、登録先となる実行可能キューを決定し、実行可能となったプロセスを前記実行可能キューに登録する実行可能プロセス登録部と、前記実行可能キューからプロセスを取り出し、前記プロセスの実行を開始するプロセス実行部とを備えることを特徴とする。
【選択図】図2

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資源の割り当てルールを格納するテーブルであるワークロード表と、
    前記ワークロード表を基にして、プロセッサグループに前記ワークロードの配分比率を割り当て、配分表を作成する配分表登録部と、
    前記配分表に登録された値を基にして、登録先となる実行可能キューを決定し、実行可能となったプロセスを前記実行可能キューに登録する実行可能プロセス登録部と、
    前記実行可能キューからプロセスを取り出し、前記プロセスの実行を開始するプロセス実行部と
    を具備する
    マルチプロセッサシステム。
  2. 請求項1に記載のマルチプロセッサシステムにおいて、
    前記ワークロード表は、
    前記ワークロードに割り当てられるべきCPU資源の全CPU資源に対する割合を示す配分比率と、
    前記ワークロードに属するプロセスを実行するプロセッサグループが固定されるべきか否かを示すプロセッサグループ固定フラグと
    を有する
    マルチプロセッサシステム。
  3. 請求項2に記載のマルチプロセッサシステムにおいて、
    前記プロセスがお互いに協調して動作し共通のメモリ領域を頻繁にアクセスするワークロードでは、前記プロセッサグループ固定フラグはON(有効)の状態であり、
    前記プロセスが独立した処理となっているワークロードでは、前記プロセッサグループ固定フラグはOFF(無効)の状態である
    マルチプロセッサシステム。
  4. 請求項1乃至3のいずれか一項に記載のマルチプロセッサシステムにおいて、
    前記プロセッサグループがnグループ存在する時、前記配分表、及び、前記実行可能キューも、それぞれn個ずつ存在する
    マルチプロセッサシステム。
  5. 請求項1乃至4のいずれか一項に記載のマルチプロセッサシステムにおいて、
    前記配分表は、
    前記プロセッサグループが持つCPU資源のうち前記ワークロードに割り当てられるべきCPU資源の割合を示すプロセッサグループ内配分比率と、
    前記実行可能キューに登録されたプロセスの数を示す実行可能プロセス数と、
    前記プロセスが実行される順を示し、前記プロセスの実行に従い下げられる値である優先度と
    を具備する
    マルチプロセッサシステム。
  6. (a1)ワークロード管理を有効化する時、ワークロード表からワークロードを選択するステップと、
    (a2)プロセッサグループ内配分比率を0で初期化するステップと、
    (a3)配分表毎に前記プロセッサグループ内配分比率の合計値を求め、前記合計値の最も小さなプロセッサグループを選択するステップと、
    (a4)前記選択したワークロードの配分比率を、前記選択したプロセッサグループに割り当てるステップと、
    (a5)前記配分比率の値が0か否か確認するステップと、
    (a6)前記ワークロード表の終端に達したら前記プロセッサグループ内配分比率を応じて、各ワークロードの優先度を決定するステップと、
    (a7)前記ワークロード表に未処理のワークロードが残っていたら前記ワークロード表から次のワークロードを選択するステップと
    を具備する
    ワークロード管理方法。
  7. 請求項6に記載のワークロード管理方法において、
    前記(a4)ステップは、
    プロセッサグループ内配分比率 = min(プロセッサグループ数 × 配分比率 , 合計値)
    配分比率 = 配分比率 − プロセッサグループ内配分比率
    という計算を行うステップを具備する
    ワークロード管理方法。
  8. 請求項6又は7に記載のワークロード管理方法において、
    (b1)実行可能なプロセスが新たに現れた時、全ての前記実行可能キューについて、1プロセスあたりのプロセスグループ内配分比率を計算するステップと、
    (b2)前記1プロセスあたりのプロセスグループ内配分比率の値が最も大きい実行可能キューに、前記実行可能プロセスを登録するステップと、
    (b3)前記実行可能プロセス数に1を加算するステップと、
    (b4)前記実行可能キューに「優先度>0」を満たすプロセスが存在しない場合、前記プロセッサグループ内配分比率を基にワークロードの優先度を再設定するステップと、
    (b5)前記実行可能キューに「優先度>0」を満たすプロセスが存在する場合、処理を終了するステップと
    を具備する
    ワークロード管理方法。
  9. 請求項6乃至8のいずれか一項に記載のワークロード管理方法において、
    前記(b1)ステップは、
    1プロセスあたりのプロセスグループ内配分比率 = プロセスグループ内配分比率 ÷ (実行可能プロセス数 + 1)
    という計算を行うステップを具備する
    ワークロード管理方法。
  10. 請求項6乃至9のいずれか一項に記載のワークロード管理方法において、
    (c1)プロセッサで実行中のプロセスが実行を中断した場合、又は、一定間隔毎に、前記実行可能キューにプロセスが登録されているか確認するステップと、
    (c2)前記実行可能キューにプロセスが存在しない場合、処理を終了するステップと、
    (c3)前記実行可能キューにプロセスが存在する場合、前記優先度が最も大きなワークロードのプロセスを、前記実行可能キューから一つ取り出すステップと、
    (c4)実行可能プロセス数から1を減算するステップと、
    (c5)前記優先度を減らすステップと、
    (c6)前記取り出したプロセスの実行を開始するステップと
    を具備する
    ワークロード管理方法。
  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 true JP2007316710A (ja) 2007-12-06
JP4348639B2 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)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010140146A (ja) * 2008-12-10 2010-06-24 Fujitsu Ltd マルチコアプロセッサ,制御方法および情報処理装置
WO2011111215A1 (ja) 2010-03-11 2011-09-15 富士通株式会社 ソフトウェア制御装置、ソフトウェア制御方法、およびソフトウェア制御プログラム
JP2012043232A (ja) * 2010-08-20 2012-03-01 Nippon Telegr & Teleph Corp <Ntt> プログラム実行装置およびプログラム実行方法
WO2012124077A1 (ja) * 2011-03-16 2012-09-20 富士通株式会社 マルチコアプロセッサシステムおよびスケジューリング方法
JP2013149108A (ja) * 2012-01-19 2013-08-01 Canon Inc 情報処理装置及びその制御方法、プログラム
WO2014002412A1 (ja) * 2012-06-26 2014-01-03 日本電気株式会社 プログラム変換装置及び方法、処理切替方法、実行方式決定方法及びプログラム記憶媒体、プロセッサシステム並びに並列実行方法
US8635405B2 (en) 2009-02-13 2014-01-21 Nec Corporation Computational resource assignment device, computational resource assignment method and computational resource assignment program
US11954527B2 (en) 2020-12-09 2024-04-09 Industrial Technology Research Institute Machine learning system and resource allocation method thereof

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010140146A (ja) * 2008-12-10 2010-06-24 Fujitsu Ltd マルチコアプロセッサ,制御方法および情報処理装置
JP4691153B2 (ja) * 2008-12-10 2011-06-01 富士通株式会社 マルチコアプロセッサ,制御方法および情報処理装置
US8635405B2 (en) 2009-02-13 2014-01-21 Nec Corporation Computational resource assignment device, computational resource assignment method and computational resource assignment program
WO2011111215A1 (ja) 2010-03-11 2011-09-15 富士通株式会社 ソフトウェア制御装置、ソフトウェア制御方法、およびソフトウェア制御プログラム
JP2012043232A (ja) * 2010-08-20 2012-03-01 Nippon Telegr & Teleph Corp <Ntt> プログラム実行装置およびプログラム実行方法
WO2012124077A1 (ja) * 2011-03-16 2012-09-20 富士通株式会社 マルチコアプロセッサシステムおよびスケジューリング方法
JP5880542B2 (ja) * 2011-03-16 2016-03-09 富士通株式会社 マルチコアプロセッサシステムおよびスケジューリング方法
JP2013149108A (ja) * 2012-01-19 2013-08-01 Canon Inc 情報処理装置及びその制御方法、プログラム
WO2014002412A1 (ja) * 2012-06-26 2014-01-03 日本電気株式会社 プログラム変換装置及び方法、処理切替方法、実行方式決定方法及びプログラム記憶媒体、プロセッサシステム並びに並列実行方法
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
US11954527B2 (en) 2020-12-09 2024-04-09 Industrial Technology Research Institute Machine learning system and resource allocation method thereof

Also Published As

Publication number Publication date
JP4348639B2 (ja) 2009-10-21

Similar Documents

Publication Publication Date Title
EP3425502B1 (en) Task scheduling method and device
US10896065B2 (en) Efficient critical thread scheduling for non privileged thread requests
JP4348639B2 (ja) マルチプロセッサシステム、ワークロード管理方法
JP6294586B2 (ja) 命令スレッドを組み合わせた実行の管理システムおよび管理方法
US8719834B2 (en) Information processing system, method, program and integrated circuit for maintaining balance of processing loads with respect to real-time tasks
US8788672B2 (en) Microprocessor with software control over allocation of shared resources among multiple virtual servers
KR101651871B1 (ko) 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
US8782657B2 (en) Dynamic creation and destruction of IO resources based on actual load and resource availability
US7979861B2 (en) Multi-processor system and program for causing computer to execute controlling method of multi-processor system
TWI639956B (zh) 運行多核系統的裝置
JP4705051B2 (ja) 計算機システム
JP5305664B2 (ja) データ処理システムの区画相互間で資源をトレードするための方法、プログラム及び装置
US7366814B2 (en) Heterogeneous multiprocessor system and OS configuration method thereof
JP2008191949A (ja) マルチコアシステムおよびマルチコアシステムの負荷分散方法
US20090178045A1 (en) Scheduling Memory Usage Of A Workload
US20130179616A1 (en) Partitioned Shared Processor Interrupt-intensive Task Segregator
WO2016202154A1 (zh) 一种gpu资源的分配方法及系统
JP2009223842A (ja) 仮想計算機制御プログラム及び仮想計算機システム
EP1393175A2 (en) A resource management method
EP1693743A2 (en) System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock
KR101330609B1 (ko) 모바일 멀티코어 가상화 시스템에서 실시간 처리를 보장하기 위한 스케쥴링 방법
CN112783651B (zh) 一种云平台vGPU负载均衡调度方法、介质及装置
JP6445876B2 (ja) リソース割当装置、リソース割当システム、および、リソース割当方法
US20240303113A1 (en) Compiler-directed graph-based command dispatch for accelerators
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