JP2012043232A - プログラム実行装置およびプログラム実行方法 - Google Patents
プログラム実行装置およびプログラム実行方法 Download PDFInfo
- Publication number
- JP2012043232A JP2012043232A JP2010184509A JP2010184509A JP2012043232A JP 2012043232 A JP2012043232 A JP 2012043232A JP 2010184509 A JP2010184509 A JP 2010184509A JP 2010184509 A JP2010184509 A JP 2010184509A JP 2012043232 A JP2012043232 A JP 2012043232A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- variable
- processing time
- value
- program
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】プログラム実行装置は、プロセッサの処理速度を向上させるように、スレッドを固定的に特定のコア(占有コア)に割り当てて実行させる独立化処理を決定する解析部を備え、解析部は、ステップS403において、キャッシュヒット係数Pを算出して、閾値と比較し、独立化処理の候補を絞る。ステップS406では、独立化判定値Fを算出して、閾値と比較し、候補の中から独立化処理を確定する。ステップS411では、スループット係数THを算出して、コア占有処理の方が通常処理よりスループット係数THが大きい場合に、コア占有処理を実行させるためのコア割当情報を作成し、そのコア割当情報に基づいて、コア割当処理(高速処理)を実行する。
【選択図】図4
Description
図1に示すように、プログラム実行装置10は、ネットワーク20内に配置され、ネットワーク20に接続しているPC(Personal Computer)等の端末30(30A,30B,30C)との間で、情報を送受信可能になっている。プログラム実行装置10は、端末30からデプロイされたプログラムに基づいて、その処理動作が決定される。なお、プログラム実行装置10は、例えば、汎用コンピュータ、サーバ、ルータ等である。
プログラム実行装置10は、端末30Cからデプロイされたプログラムを受信し、そのプログラムを動作させて、端末30Aから受信したデータに処理を施し、端末30Bに処理後の処理データを送信する。
なお、図1では、端末30を3台しか記載していないが、4台以上がネットワーク20に接続していても構わない。
図1に示すように、プログラム実行装置10は、入力部11、実行部12、出力部13、解析部14、記憶部15、および受付部16を備える。プログラム実行装置10は、図示しないCPUおよびメインメモリによって構成される処理部(不図示)とアプリケーションプログラム等を記憶する記憶部15とで構成される。処理部は、記憶部15に記憶されているアプリケーションプログラムをメインメモリに展開して、実行部12および解析部14を具現化する。
実行部12は、解析部14によって生成されたプログラムのスレッドを記憶部15から取得して、その取得したスレッドを実行し、入力部11を介して取得したデータに対して、処理を実行する。
出力部13は、通信インタフェースであり、端末30へ処理結果をデータとして含むデータ情報を送信する。
受付部16は、通信インタフェースであり、端末30からデプロイされたプログラムを含むプログラム情報を受信する。なお、受付部16は、ネットワーク20を介さずに、端末30Cに通信ケーブルを介して直接接続するインタフェースであっても構わない。
記憶部15は、解析部14によって処理された結果等を記憶している。
ステップS201では、端末30Cが、プログラム実行装置10に実行させるプログラムをプログラム実行装置10へデプロイ(送信)し、受付部16がそのプログラムを受け付ける。なお、プログラムは、逐次処理用のプログラムであっても構わない。
ステップS202では、受付部16が、記憶部15に受け付けたプログラムを記憶する。
ステップS203では、解析部14が、記憶部15からプログラムを取得する。この取得のタイミングは、例えば、新しくプログラムが記憶されたタイミングとする。
ステップS204では、解析部14が、コンパイラレベルの解析を実行する。具体的には、解析部14は、プログラムをコンパイルし、スレッドに分割した分割プログラムを生成する。
ステップS205では、解析部14は、解析結果(分割プログラム)を記憶部15に記憶する。
ステップS207では、端末30Aが、データを含むデータ情報をプログラム実行装置10へ送信し、入力部11がそのデータ情報を受け付ける。
ステップS208では、実行部12が、入力部11を介してデータを取得する。
ステップS209では、実行部12が、取得したデータに対して、通常処理(逐次処理)を実行する。
ステップS210〜S211では、実行部12が、出力部13を介して、処理結果を含むデータ情報を端末30Bへ出力する。
ステップS213では、解析部14が、記憶部15に記憶された解析用データを取得する。
ステップS214では、解析部14が、記憶部15に記憶されている解析用データを読み出して、解析する。この解析によって、高速処理を実施できるか否かを判定し、高速処理を実施できると判定した場合に、どのスレッドをコアに占有して割り当てるかを表すコア割当情報を作成する。なお、解析部14は、高速処理を実施できないと判定した場合には、コア割当情報を作成しない。
ステップS216では、実行部12が、記憶部15から、コア割当情報を取得する。そして、実行部12は、当該コア割当情報に基づいて、太い点線に示すように、高速処理(コア占有処理)を実行状態にする。なお、記憶部15にコア割当情報が記憶されていない場合には、高速処理(コア占有処理)は実行状態とならず、通常処理(逐次処理)を継続することになる。
ステップS218では、実行部12が、入力部11を介してデータを取得する。
ステップS219では、実行部12が、取得したデータに対して、高速処理(コア占有処理)を実行する。
ステップS220〜S221では、実行部12が、出力部13を介して、処理結果を含むデータ情報を端末30Bへ出力する。
図3の左側は、プログラムの一例を示している。ただし、プログラム言語は、限定されなくてもよい。プログラム中の実行文および変数に対して、処理経過状況および処理開始時刻を収集する動作を有する指定子(図3では、analyzeと表している。)が付加される。そして、実行部12は、この指定子に基づいて、プログラムに記述されている関数の変数のデータサイズ(変数が配列の場合は配列長×各要素のデータサイズ)、その変数が格納されたアドレス、および処理開始時刻を予め設定された周期で収集する。
図3に示すように、配列の配列長(配列の要素の数)、配列の各要素のデータサイズ、キャッシュヒット(hitと表示)であったか、キャッシュミス(missと表示)であったか、処理開始時刻、通常処理(逐次処理)の中で呼び出しているアドレス、および配列のデータサイズを集計対象としている。
ステップS401では、解析部14は、記憶部15に記憶されている解析用データを取得する。そして、解析部14は、解析用データに統計処理を施して、解析用データのうち異なるアドレスの数(Kと表記)を集計し、配列長の平均値(Lと表記)、各要素のデータサイズの平均値(Eと表記)を算出する。また、解析部14は、プログラム実行装置10のシステム情報(不図示)等から、コアのキャッシュサイズCを取得する。
そして、Pが閾値Th0(第2の閾値)より大きい場合(ステップS403でYes)には、ステップS404では、解析部14は、その指定子の振られた処理を独立化処理(コアに占有して割り当てて実行する処理)の候補に設定する。
また、Pが閾値Th0(第2の閾値)以下の場合(ステップS403でNo)には、処理はステップS413へ進む。
このステップS401〜S404の処理は、独立化処理のスレッドを確定するための前処理であって、独立化処理に当てはまらないものを大まかに振るい落とす効果がある。すなわち、独立化処理のスレッドを確定するためのステップS405以降の処理時間を短縮する効果もある。したがって、変数が少ない場合等には、ステップS401〜S404の処理を省略することも可能である。
ここで、その処理の具体例について、図5を用いて説明する。
次に、図5(a)の下段は、キャッシュヒットした場合の処理[a1]の処理時間を表している。すなわち、処理[a1]の処理開始時刻(=318741)から処理[a2]の処理開始時刻(=318806)までの時間を、キャッシュヒットした場合の処理時間(H)として表す。図5(a)では、そのHの値は「55」である。なお、Hの値は、キャッシュヒットした場合の処理時間のみを対象として、統計処理によって算出される。例えば、Hの値は、平均値である。
そして、図5(a)のケースでは、独立化判定値Fは、M/H=249/55=4.53として求まる。
次に、図5(b)の下段は、キャッシュヒットした場合の処理[a2]の処理時間を表している。すなわち、処理[a2]の処理開始時刻(=318806)から処理[a3]の処理開始時刻(=318846)までの時間を、キャッシュヒットした場合の処理時間(H)として表す。図5(b)では、そのHの値は「40」である。
そして、図5(b)のケースでは、独立化判定値Fは、M/H=260/40=6.5として求まる。
例えば、図5に示す例において、閾値が5である場合には、図5(a)の場合は、独立化判定値F=4.53<閾値(=5)であるので、独立化処理にしないと判定する。また、図5(b)の場合は、独立化判定値F=6.5>閾値(=5)であるので、独立化処理にすると判定する。
すなわち、この判定では、独立化判定値F=閾値の場合は、元の並列度倍の高速化となることを意味している。そして、独立化判定値F>閾値の場合であれば、独立化処理の候補は、1コアで捌ききることができ、コアを占有させる効果(処理速度の向上)を期待できる。
また、独立化判定値Fが閾値より大きい場合(ステップS406でNo)、ステップS407では、解析部14は、当該候補を独立化処理に確定する。なお、独立化判定値Fが閾値より大きい場合は、確定した独立化処理におけるスレッドは、キャッシュ内に収まり得るデータを扱う高速処理可能なスレッドとなっている。
独立化処理が連続しており、かつPが予め設定された所定の閾値(Th1)より小さいと判定された場合(ステップS408でYes)、ステップS409では、解析部14は、連続する独立化処理を1つの独立化処理にまとめる。閾値(Th1)に充分小さい値を設定した場合、その閾値(Th1)より小さくなるということは、1つのコアにおけるL2キャッシュのサイズで領域が余り得ることを示唆している。したがって、このような独立化領域が連続する限り分割をせずに1つのスレッドとする。このような処理を行うことで、スレッドの粒度を大きくすることによって、パイプライン処理(後記)で発生し得るデメリットを低減できるようになる。すなわち、パイプライン処理において、処理間でのデータの入出力の調整のために設けられるキューにおける待ち時間を小さくすることができる。つまり、処理速度を向上させることができる。
また、ステップS408でNoの場合、処理は、ステップS409をスキップして、ステップS410へ進む。
スループット係数THの算出の具体例について、図6を用いて説明する。なお、図6の例では、プロセッサのコアが16であるとし、1コアに1スレッドを割り当てるものとする。
図6の上段は、通常処理(16スレッド使用)における処理時間と、コア占有処理の場合における処理時間とを示している。なお、コア占有処理とは、CPUのコアを、独立化処理を占有的に配置する領域と、それ以外の領域とに分けてスレッドを割り当てるようにしたものである。例えば、図6の左下の図のように、1つの独立化処理を、1つの占有コア(斜め線を付したコア)に固定的に配置する。そして、それ以外の処理は、通常処理の分割スレッド用コアの領域(斜め線を付していないコア)に、特に制限なくスレッド配置するものとする。また、コア占有処理を用いる場合には、独立化処理と通常処理(分割スレッド処理)とが混在するため、図6中の右下に示す、パイプライン状に分割された処理が実行される。
ここで、スループット係数THは、コア数Cと、処理時間の合計Tとを用いて、コア数Cを処理時間の合計Tで除算する演算によって算出することができる。なお、コア数Cは、記憶部15に記憶されている。
通常処理の場合のスループット係数THは、C/T=(16−0)/(80+90+80+100)=0.046となる。また、コア占有処理の場合のスループット係数THは、C/T=min{1/(5(スレッド0)+5(接続遅延))=0.1,1/(5(スレッド2)+5(接続遅延))=0.1,(16−2)/(90(スレッド1)+5(接続遅延)+100(スレッド3))=0.072}=0.072となる。ただし、minは、最小値を選択する関数である。この関数は、コア割り当てをした際に最もボトルネックとなる箇所が、最終的なスループットとなることを決定している。この例では、コア占有側ではない方でボトルネックが発生していることが分かる。
コア占有処理のスループット係数THが通常処理のスループット係数THより大きい場合(ステップS411でYes)、ステップS412では、解析部14は、コア占有処理(高速処理)のために、前記したコア割当情報を記憶部15に記憶する。
また、コア占有処理のスループット係数THが通常処理のスループット係数TH以下の場合(ステップS411でNo)、ステップS413では、解析部14は、通常処理のために、コア割当情報を記憶部15から消去する。なお、ステップS413において、記憶部15にコア割当情報が記憶されていない状態であれば、解析部14は、消去処理を行わない。
図7に示すように、サーバまたはルータ50がネットワーク20内に配置されている。サーバまたはルータ50は、ネットワーク20に接続している端末30Aから接続要求を受け付けて、呼処理を行って、接続先の端末30Bに接続要求を送信する。
図7では、サーバまたはルータ50は、負荷分散装置40と2台以上のプログラム実行装置10とを備え、プログラム実行装置10同士が並列に呼処理を実行する構成を備えている。なお、ネットワーク20の管理者が操作する管理端末31は、プログラム実行装置10に対して、プログラムをデプロイするために用いられる。そして、プログラム実行装置10は、デプロイされたプログラムに対して、前記した通常処理および高速処理を実行する。
12 実行部
14 解析部
15 記憶部
E データサイズ
F 独立化判定値
H キャッシュヒット時の処理時間
K 異なるアドレスの数
L 配列長
M 通常処理時の処理時間
P キャッシュヒット係数
TH スループット係数
Th0 閾値(第2の閾値)
Th1 閾値
Claims (4)
- プログラムをスレッドに分割し、前記スレッドそれぞれをCPU(Central Processing Unit)を構成するコアに割り当てて前記プログラムを実行するプログラム実行装置であって、
任意の前記コアに任意の前記スレッドを割り当てて前記プログラムの処理を行う通常処理の実行時に所定の周期で収集される、前記プログラムに記述されている変数の処理開始時刻と、その変数の処理がキャッシュヒットしたことを示すキャッシュヒット情報と、を関連付けて記憶しているとともに、前記CPUのコア数と、キャッシュヒットの効果の判定に用いる閾値とを記憶している記憶部と、
(1)前記変数の中の第1の変数の前記処理開始時刻およびその第1の変数の次に処理される第2の変数の前記処理開始時刻を読み出して差分を算出し、収集された回数分の前記差分の平均値を算出し、その算出した平均値を第1の処理時間とし、
(2)前記変数の中の、前記キャッシュヒット情報が関連付けられた前記第1の変数の前記処理開始時刻および当該第1の変数の次に処理される第2の変数の前記処理開始時刻を読み出して差分を算出し、収集された回数分の前記差分の平均値を算出し、その算出した平均値を第2の処理時間とし、
(3)前記第1の処理時間を前記第2の処理時間で除算して、独立化判定値を算出し、
(4)前記独立化判定値が前記第1の変数の処理に用いるスレッド数を示す前記閾値より大きいか否かを判定し、その判定結果において大きいという判定の場合に、前記第1の変数の前記処理時間を前記第2の処理時間とし、その判定結果において否という判定の場合に、前記第1の変数の前記処理時間を前記第1の処理時間とし、
(5)前記(1)〜前記(4)の処理を前記プログラムの変数について実行し、
(6)前記CPUのコア数を、前記通常処理の実行時の前記プログラムの前記変数について前記第1の処理時間を合計した合計値で除算し、その値を第1のスループット係数とし、
(7)前記CPUの1つのコアに、前記第2の処理時間を処理時間とする1つの前記変数の処理を実行させるように割り当てたときのスループットを、コア数の1を分子とし、前記第2の処理時間と当該変数の処理から次の処理までの待ち時間との合算値を分母とする第1の除算値を算出し、前記CPUのコア数から前記第2の処理時間を処理時間とする前記変数の数を減算して、その減算値を分子とし、前記プログラムの前記変数の中から前記第2の処理時間とならなかった前記変数の前記第1の処理時間と当該変数の処理の次の処理までの待ち時間との合計値を分母とする第2の除算値を算出し、前記第1の除算値および前記第2の除算値の中で最も小さい値を第2のスループット係数とし、
(8)前記第2のスループット係数が前記第1のスループット係数より大きい場合、前記第2の処理時間を処理時間とする前記変数を処理するスレッドを固定の前記コアに割り当てることを示したコア割当情報を生成する解析部と、
前記解析部によって生成された前記コア割当情報に基づいて、前記第2の処理時間を処理時間とする前記変数を処理するスレッドを固定の前記コアに割り当てて、前記プログラムを実行する実行部と
を備えることを特徴とするプログラム実行装置。 - 前記記憶部は、前記CPUのコアのキャッシュサイズと、前記通常処理実行時に所定の周期で収集される、前記変数の、配列長、前記通常処理実行時に格納されるメモリのアドレス、およびデータサイズと、キャッシュヒット率の第2の閾値と、をさらに記憶しており、
前記解析部は、
前記変数について、前記記憶部から前記アドレスを読み出して異なるアドレスの数を集計した前記異なるアドレスの数と、前記記憶部から読み出した前記キャッシュサイズ、前記配列長、および前記データサイズとをパラメータとして、前記異なるアドレスの数の減少、前記配列長の減少、前記データサイズの減少、前記キャッシュサイズの増大、にしたがって大きな値となる前記キャッシュヒット率を算出する算出手段と、
前記キャッシュヒット率が前記記憶部に記憶している前記第2の閾値より大きいか否かを判定する判定手段と、
をさらに備え、
前記解析部は、
前記判定手段において前記キャッシュヒット率が前記第2の閾値より大きいと判定された場合、当該変数を、前記(1)および前記(2)の処理に用いる前記第1の変数として、前記(1)〜前記(8)の処理を実行する
ことを特徴とする請求項1に記載のプログラム実行装置。 - プログラムをスレッドに分割し、前記スレッドそれぞれをCPUを構成するコアに割り当てて前記プログラムを実行するプログラム実行装置において用いられるプログラム実行方法であって、
前記プログラム実行装置は、
任意の前記コアに任意の前記スレッドを割り当てて前記プログラムの処理を行う通常処理の実行時に所定の周期で収集される、前記プログラムに記述されている変数の処理開始時刻と、その変数の処理がキャッシュヒットしたことを示すキャッシュヒット情報と、を関連付けて記憶しているとともに、前記CPUのコア数と、キャッシュヒットの効果の判定に用いる閾値とを記憶している記憶部と、解析部と、実行部と、を備え、
前記解析部は、
(1)前記変数の中の第1の変数の前記処理開始時刻およびその第1の変数の次に処理される第2の変数の前記処理開始時刻を読み出して差分を算出し、収集された回数分の前記差分の平均値を算出し、その算出した平均値を第1の処理時間とするステップ、
(2)前記変数の中の、前記キャッシュヒット情報が関連付けられた前記第1の変数の前記処理開始時刻および当該第1の変数の次に処理される第2の変数の前記処理開始時刻を読み出して差分を算出し、収集された回数分の前記差分の平均値を算出し、その算出した平均値を第2の処理時間とするステップ、
(3)前記第1の処理時間を前記第2の処理時間で除算して、独立化判定値を算出するステップ、
(4)前記独立化判定値が前記第1の変数の処理に用いるスレッド数を示す前記閾値より大きいか否かを判定し、その判定結果において大きいという判定の場合に、前記第1の変数の前記処理時間を前記第2の処理時間とし、その判定結果において否という判定の場合に、前記第1の変数の前記処理時間を前記第1の処理時間とするステップ、
(5)前記(1)〜前記(4)の処理を前記プログラムの変数について実行するステップ、
(6)前記CPUのコア数を、前記通常処理の実行時の前記プログラムの前記変数について前記第1の処理時間を合計した合計値で除算し、その値を第1のスループット係数とするステップ、
(7)前記CPUの1つのコアに、前記第2の処理時間を処理時間とする1つの前記変数の処理を実行させるように割り当てたときのスループットを、コア数の1を分子とし、前記第2の処理時間と当該変数の処理から次の処理までの待ち時間との合算値を分母とする第1の除算値を算出し、前記CPUのコア数から前記第2の処理時間を処理時間とする前記変数の数を減算して、その減算値を分子とし、前記プログラムの前記変数の中から前記第2の処理時間とならなかった前記変数の前記第1の処理時間と当該変数の処理の次の処理までの待ち時間との合計値を分母とする第2の除算値を算出し、前記第1の除算値および前記第2の除算値の中で最も小さい値を第2のスループット係数とするステップ、
(8)前記第2のスループット係数が前記第1のスループット係数より大きい場合、前記第2の処理時間を処理時間とする前記変数を処理するスレッドを固定の前記コアに割り当てることを示したコア割当情報を生成するステップ、
を実行し、
前記実行部は、
前記解析部によって生成された前記コア割当情報に基づいて、前記第2の処理時間を処理時間とする前記変数を処理するスレッドを固定の前記コアに割り当てて、前記プログラムを実行するステップ
を実行することを特徴とするプログラム実行方法。 - 前記プログラム実行装置は、
前記CPUのコアのキャッシュサイズと、前記通常処理実行時に所定の周期で収集される、前記変数の、配列長、前記通常処理実行時に格納されるメモリのアドレス、およびデータサイズと、キャッシュヒット率の第2の閾値と、をさらに記憶している前記記憶部を備え、
前記解析部は、
前記変数について、前記記憶部から前記アドレスを読み出して異なるアドレスの数を集計した前記異なるアドレスの数と、前記記憶部から読み出した前記キャッシュサイズ、前記配列長、および前記データサイズとをパラメータとして、前記異なるアドレスの数の減少、前記配列長の減少、前記データサイズの減少、前記キャッシュサイズの増大、にしたがって大きな値となるキャッシュヒット率を算出する算出ステップ、
前記キャッシュヒット率が前記記憶部に記憶している前記第2の閾値より大きいか否かを判定する判定ステップ、
前記判定ステップにおいて前記キャッシュヒット率が前記第2の閾値より大きいと判定された場合、当該変数を、前記(1)および前記(2)の処理に用いる前記第1の変数として、前記(1)〜前記(8)の処理を実行するステップ
を実行することを特徴とする請求項3に記載のプログラム実行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010184509A JP5379765B2 (ja) | 2010-08-20 | 2010-08-20 | プログラム実行装置およびプログラム実行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010184509A JP5379765B2 (ja) | 2010-08-20 | 2010-08-20 | プログラム実行装置およびプログラム実行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012043232A true JP2012043232A (ja) | 2012-03-01 |
JP5379765B2 JP5379765B2 (ja) | 2013-12-25 |
Family
ID=45899445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010184509A Expired - Fee Related JP5379765B2 (ja) | 2010-08-20 | 2010-08-20 | プログラム実行装置およびプログラム実行方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5379765B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484537A (zh) * | 2016-09-30 | 2017-03-08 | 网易(杭州)网络有限公司 | 一种cpu核资源的分配方法和设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0612395A (ja) * | 1992-06-29 | 1994-01-21 | Canon Inc | マルチプロセサシステムにおけるタスク割り付け方法 |
JP2007316710A (ja) * | 2006-05-23 | 2007-12-06 | Nec Corp | マルチプロセッサシステム、ワークロード管理方法 |
WO2010093003A1 (ja) * | 2009-02-13 | 2010-08-19 | 日本電気株式会社 | 演算資源割当装置、演算資源割当方法、及び、演算資源割当プログラム |
-
2010
- 2010-08-20 JP JP2010184509A patent/JP5379765B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0612395A (ja) * | 1992-06-29 | 1994-01-21 | Canon Inc | マルチプロセサシステムにおけるタスク割り付け方法 |
JP2007316710A (ja) * | 2006-05-23 | 2007-12-06 | Nec Corp | マルチプロセッサシステム、ワークロード管理方法 |
WO2010093003A1 (ja) * | 2009-02-13 | 2010-08-19 | 日本電気株式会社 | 演算資源割当装置、演算資源割当方法、及び、演算資源割当プログラム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484537A (zh) * | 2016-09-30 | 2017-03-08 | 网易(杭州)网络有限公司 | 一种cpu核资源的分配方法和设备 |
CN106484537B (zh) * | 2016-09-30 | 2019-07-19 | 网易(杭州)网络有限公司 | 一种cpu核资源的分配方法和设备 |
US10514955B2 (en) | 2016-09-30 | 2019-12-24 | Netease (Hangzhou) Network Co., Ltd. | Method and device for allocating core resources of a multi-core CPU |
Also Published As
Publication number | Publication date |
---|---|
JP5379765B2 (ja) | 2013-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11403220B2 (en) | Method and apparatus for adaptive cache load balancing for SSD-based cloud computing storage system | |
US9767006B2 (en) | Deploying trace objectives using cost analyses | |
US9658936B2 (en) | Optimization analysis using similar frequencies | |
Bi et al. | Dynamic provisioning modeling for virtualized multi-tier applications in cloud data center | |
KR101600129B1 (ko) | 애플리케이션 효율 엔진 | |
EP2956858B1 (en) | Periodicity optimization in an automated tracing system | |
US9021447B2 (en) | Application tracing by distributed objectives | |
US20230418997A1 (en) | Comprehensive contention-based thread allocation and placement | |
US9965329B2 (en) | Method and apparatus for workload placement on heterogeneous systems | |
JP6428476B2 (ja) | 並列化コンパイル方法、及び並列化コンパイラ | |
US11188348B2 (en) | Hybrid computing device selection analysis | |
US11716384B2 (en) | Distributed resource management by improving cluster diversity | |
JP6252140B2 (ja) | タスク割り付けプログラム及びタスク割り付け方法 | |
JPH11259433A (ja) | 並列実行システム | |
CN112000460A (zh) | 一种基于改进贝叶斯算法的服务扩缩容的方法及相关设备 | |
Tariq et al. | Execution time prediction model that considers dynamic allocation of spark executors | |
JP5379765B2 (ja) | プログラム実行装置およびプログラム実行方法 | |
CN111367632B (zh) | 一种基于周期特征的容器云调度方法 | |
JP2011141703A (ja) | 資源配置システム、資源配置方法、及び資源配置用プログラム | |
CN109992382A (zh) | 任务调度方法、装置及任务调度器 | |
Radojković et al. | Thread to strand binding of parallel network applications in massive multi-threaded systems | |
Swain et al. | Efficient straggler task management in cloud environment using stochastic gradient descent with momentum learning-driven neural networks | |
KR101810572B1 (ko) | 멀티코어에서 태스크 및 가상 머신 성능의 온라인 특성 분류 장치 및 최적 배치 방법 | |
Kelley et al. | Rapid in-situ profiling of colocated workloads | |
WO2023039711A1 (en) | Efficiency engine in a cloud computing architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121001 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130918 |
|
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: 20130924 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130927 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5379765 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |