JP6969268B2 - 計算機およびcpuコア割当方法 - Google Patents
計算機およびcpuコア割当方法 Download PDFInfo
- Publication number
- JP6969268B2 JP6969268B2 JP2017197893A JP2017197893A JP6969268B2 JP 6969268 B2 JP6969268 B2 JP 6969268B2 JP 2017197893 A JP2017197893 A JP 2017197893A JP 2017197893 A JP2017197893 A JP 2017197893A JP 6969268 B2 JP6969268 B2 JP 6969268B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu core
- cpu
- value
- core
- performance value
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
- Microcomputers (AREA)
Description
また、計算機は、1つのプロセスに専有されるCPUコアを除くCPUコアに、分散してプロセスを割り当てる。プロセスが、一部のCPUコアに集中的に割り当てられるのではなく、各CPUコアに分散して割り当てられることで、同時に実行されるプロセスの数が増加し、全体の処理時間を短くすることができる。
また、計算機は、1つのプロセスに専有されるCPUコアを除くCPUコアの中で性能値が最小のCPUコアに、集中的にプロセスを割り当てる。このために、プロセスが未割当のCPUコアが増加することになり、2度目以降の割当処理において新たな専有プロセスにCPUコアを割り当てることができる。また、性能値が大きいCPUコアへの割り当てを後回しにしており、未割当のCPUコアの性能値が大きい。このため、負荷値が大きい専有プロセスに未割当のCPUコアを割り当てることができる。
また、計算機は、1つのプロセスに専有されるCPUコアを除くCPUコアの中で性能値が最大のCPUコアに、集中的にプロセスを割り当てる。このために、プロセスが未割当のCPUコアが増加することになり、2度目以降の割当処理において新たな専有プロセスにCPUコアを割り当てることができる。また、性能値が大きいCPUコアから割り当てているために、1つのCPUコアに割り当てるプロセスの数が大きくなる。このため、未割当のCPUコアの数を増やすことができ、より多くの専有プロセスに未割当のCPUコアを割り当てることができる。
以下に、本発明を実施するための形態(実施形態)における計算機について説明する。図1は、第1の実施形態に係る計算機100の全体構成を例示する図である。計算機100は、制御部160、記憶部170、入出力部180を含んで構成される。RSAでは、1つのラックに複数の計算機100が構成される場合もある。
コア割当部200は、ハードウェア管理部140からCPUコアの基本情報(CPUコア基本情報)を、プロセス管理部150からプロセスの基本情報(プロセス基本情報)や起動するプロセスの情報を取得し、各CPUコアの性能値(CPUコア性能値)と各プロセスの負荷値(プロセス負荷値)を設定する。CPUコア性能値とは、CPUコアの性能を示す指標であり、単位時間当たり計算量を示す指標である。プロセス負荷値とは、プロセス実行時の計算量(実行時に使用する計算量)を示す指標である。コア割当部200は、CPUコア性能値とプロセス負荷値とから、どのプロセスにどのCPUコアを割り当てるか決定し、決定した結果をスケジューラ130に通知する。
CPUコア情報管理部210は、ハードウェア管理部140からCPUコア基本情報を取得し、CPUコア性能加算値表240(後述する図2参照)を基にして、CPUコア性能値表250(後述する図3参照)を設定する。
レコード259は、識別情報が「CPU01」であるCPUコアについて、クロック数が3.0GHz(性能加算値は300)、ビット数が64(性能加算値は100)、ハイパースレッディングが有(性能加算値は100)であり、性能加算値を合計して得られる性能値が500であることを示している。
プロセス情報管理部220は、プロセス管理部150からプロセス基本情報を取得し、プロセス負荷加算値表260(後述する図4参照)を基にして、プロセス負荷値表270(後述する図5参照)を設定する。
レコード279は、識別情報が「プロセス05」であるプロセスについて、優先度が50であり(負荷加算値は8)、常駐プロセスであって(負荷加算値は10)、DPDK利用は無(負荷加算値は0)であり、負荷加算値を合計して得られる負荷値が18であることを示している。
割当決定部230は、CPUコア性能値表250とプロセス負荷値表270とを参照して、プロセスコア割当表280(後述する図6参照)を更新しながら、どのプロセスにどのCPUコアを割り当てるか決定する割当決定処理を実行し、実行結果であるプロセスとCPUコアの対応をスケジューラ130に通知する。スケジューラ130は、通知内容に基づいてプロセスにCPUコアを割り当てる。
第1の実施形態の割当決定処理では、割当決定部230は、最初に、CPUコアを専有するプロセス(専有プロセス)にCPUコアを割り当てる。次に、割当決定部230は、専有されたCPUコア以外のCPUコアで、最初に性能値が大きい順に、次に小さい順にプロセスを割り当て、以下これを繰り返すことで、専有されたCPUコア以外のCPUコアに分散して(割り当てられたプロセスの負荷値の合計ができるかぎり均等になるように)プロセスを割り当てる。例えば、性能値が大きい順にCPUコアA、CPUコアB、CPUコアCがあるとすると、割当決定部230は、負荷値が大きいプロセスから順に、CPUコアA、CPUコアB、CPUコアC、CPUコアC、CPUコアB、CPUコアAと割り当て、以下これを繰り返す。
ステップS11において、CPUコア情報管理部210がCPUコア性能値を、プロセス情報管理部220がプロセス負荷値を設定する。詳しくは、CPUコア情報管理部210は、ハードウェア管理部140からCPUコア基本情報を取得し、CPUコア性能値表250(図3参照)のCPUコア識別情報251、クロック数252、ビット数253、および、ハイパースレッディング254に格納して、CPUコア性能加算値表240(図2参照)を参照して性能値を算出し、性能値255に格納する。また、プロセス情報管理部220は、プロセス管理部150からプロセス基本情報を取得し、プロセス負荷値表270(図5参照)のプロセス識別情報271、優先度272、常駐プロセス273、および、DPDK利用274に格納して、プロセス負荷加算値表260(図4参照)を参照して負荷値を算出し、負荷値275に格納する。
なお、CPUコアの未割当性能値がプロセスの負荷値より小さい場合には、当該CPUコアへの割り当てをスキップして、次に性能値の小さいCPUコアに割り当てる。
第2の実施形態では、割当決定部230Aが実行するプロセスへのCPUコアの割り当ての方針が、第1の実施形態とは異なり、性能値が小さいCPUコアに優先してプロセスを割り当てる。図8は、第2の実施形態に係る計算機100の全体構成を例示する図である。割当決定部230Aを除いて、他の構成要素は、第1の実施形態と同様である。
第3の実施形態では、割当決定部230Bが実行するプロセスへのCPUコアの割り当ての方針が、第1の実施形態とは異なり、性能値が大きいCPUコアに優先してプロセスを割り当てる。図11は、第3の実施形態に係る計算機100の全体構成を例示する図である。割当決定部230Bを除いて、他の構成要素は、第1の実施形態と同様である。
コア割当部200は、図4と図5に示したように、プロセス優先度や常駐プロセスの当否、DPDK利用の有無などのプロセス基本情報に基づいて負荷値を決定していたが、この他に、CPU利用率や実行時間、プロセスの開始から終了までの全体計算量を考慮してプロセスの負荷値を決定してもよい。例えば、CPU利用率が高いプロセスや実行時間の長いプロセスの負荷加算値を高く設定して、コア割当部200は、負荷値を決定してもよい。なお、CPU利用率や実行時間、全体計算量については、プロセスを予め実行して負荷加算値を設定する。
以上に説明したように、第1〜3の実施形態においてコア割当部200は、専有プロセスに対しては、プロセスの負荷値以上で最小の性能値のCPUコアを割り当てることで、専有されたCPUコアにおいて使用されないリソースを削減するようにして、効率的なCPU割り当てを行う。第1の実施形態においてコア割当部200は、残りのCPUコアに分散してプロセスを割り当てることで、同時に実行されるプロセス数を増加させ、全体のプロセスの処理時間を短縮することができる。第2の実施形態においてコア割当部200は、性能値が小さいCPUコアに集中的にプロセスを割り当てることで、割当決定処理後にプロセスを割り当てる場合であっても、負荷値が大きい専有プロセスに割り当てることができる。第3の実施形態においてコア割当部200は、性能値が大きいCPUコアに集中的にプロセスを割り当てることで、割当決定処理後にプロセスを割り当てる場合であっても、より多くの専有プロセスに割り当てられることができる。
110 プロセス
120 OS
130 スケジューラ
140 ハードウェア管理部
150 プロセス管理
200 コア割当部
210 CPUコア情報管理部
220 プロセス情報管理部
230、230A、230B 割当決定部
240 CPUコア性能加算値表
250 CPUコア性能値表
260 プロセス負荷加算値表
270 プロセス負荷値表
280 プロセスコア割当表
Claims (6)
- 複数のCPUコアを搭載し、複数のプロセスを稼働させる計算機であって、
各々の前記CPUコアに単位時間当たりの計算量を示す性能値を設定し、各々の前記プロセスに実行時に使用する前記計算量を示す負荷値を設定して、前記プロセスが稼働するCPUコアを割り当てるコア割当部を備え、
前記コア割当部は、
前記プロセスがCPUコアを専有するプロセスを示す専有プロセスである場合に、当該専有プロセスを、当該専有プロセスの負荷値以上の性能値であって、最小の性能値が設定されたCPUコアに割り当て、
前記専有プロセスではなくCPUコアが割り当てられていないプロセスを示す未割当プロセスを、前記負荷値が大きい前記未割当プロセスから順番に、専有されていないCPUコアであり、性能値と割当済であるプロセスの負荷値の合計値との差が当該未割当プロセスの負荷値以上であるCPUコアへ所定の順番で割り当て、
前記所定の順番は、
性能値が最大のCPUコアから順に割り当てる順番と、性能値が最小のCPUコアから順に割り当てる順番とを繰り返す順番である
ことを特徴とする計算機。 - 複数のCPUコアを搭載し、複数のプロセスを稼働させる計算機であって、
各々の前記CPUコアに単位時間当たりの計算量を示す性能値を設定し、各々の前記プロセスに実行時に使用する前記計算量を示す負荷値を設定して、前記プロセスが稼働するCPUコアを割り当てるコア割当部を備え、
前記コア割当部は、
前記プロセスがCPUコアを専有するプロセスを示す専有プロセスである場合に、当該専有プロセスを、当該専有プロセスの負荷値以上の性能値であって、最小の性能値が設定されたCPUコアに割り当て、
前記専有プロセスではなくCPUコアが割り当てられていないプロセスを示す未割当プロセスを、前記負荷値が大きい前記未割当プロセスから順番に、専有されていないCPUコアであり、性能値と割当済であるプロセスの負荷値の合計値との差が当該未割当プロセスの負荷値以上であって、性能値が最小のCPUコアへ割り当てる
ことを特徴とする計算機。 - 複数のCPUコアを搭載し、複数のプロセスを稼働させる計算機であって、
各々の前記CPUコアに単位時間当たりの計算量を示す性能値を設定し、各々の前記プロセスに実行時に使用する前記計算量を示す負荷値を設定して、前記プロセスが稼働するCPUコアを割り当てるコア割当部を備え、
前記コア割当部は、
前記プロセスがCPUコアを専有するプロセスを示す専有プロセスである場合に、当該専有プロセスを、当該専有プロセスの負荷値以上の性能値であって、最小の性能値が設定されたCPUコアに割り当て、
前記専有プロセスではなくCPUコアが割り当てられていないプロセスを示す未割当プロセスを、前記負荷値が大きい前記未割当プロセスから順番に、専有されていないCPUコアであり、性能値と割当済であるプロセスの負荷値の合計値との差が当該未割当プロセスの負荷値以上であって、性能値が最大のCPUコアへ割り当てる
ことを特徴とする計算機。 - 複数のCPUコアを搭載し、複数のプロセスを稼働させる計算機におけるCPUコア割当方法であって、
前記計算機は、
各々の前記CPUコアに単位時間当たりの計算量を示す性能値を設定し、各々の前記プロセスに実行時に使用する前記計算量を示す負荷値を設定するステップと、
前記プロセスがCPUコアを専有するプロセスを示す専有プロセスである場合に、当該専有プロセスを、当該専有プロセスの負荷値以上の性能値であって、最小の性能値が設定されたCPUコアに割り当てるステップと、
前記専有プロセスではなくCPUコアが割り当てられていないプロセスを示す未割当プロセスを、前記負荷値が大きい前記未割当プロセスから順番に、専有されていないCPUコアであり、性能値と割当済であるプロセスの負荷値の合計値との差が当該未割当プロセスの負荷値以上であるCPUコアへ所定の順番で割り当てるステップとを実行し、
前記所定の順番は、
性能値が最大のCPUコアから順に割り当てる順番と、性能値が最小のCPUコアから順に割り当てる順番とを繰り返す順番である
ことを特徴とするCPUコア割当方法。 - 複数のCPUコアを搭載し、複数のプロセスを稼働させる計算機におけるCPUコア割当方法であって、
前記計算機は、
各々の前記CPUコアに単位時間当たりの計算量を示す性能値を設定し、各々の前記プロセスに実行時に使用する前記計算量を示す負荷値を設定するステップと、
前記プロセスがCPUコアを専有するプロセスを示す専有プロセスである場合に、当該専有プロセスを、当該専有プロセスの負荷値以上の性能値であって、最小の性能値が設定されたCPUコアに割り当てるステップと、
前記専有プロセスではなくCPUコアが割り当てられていないプロセスを示す未割当プロセスを、前記負荷値が大きい前記未割当プロセスから順番に、専有されていないCPUコアであり、性能値と割当済であるプロセスの負荷値の合計値との差が当該未割当プロセスの負荷値以上であって、性能値が最小のCPUコアへ割り当てるステップと
を実行することを特徴とするCPUコア割当方法。 - 複数のCPUコアを搭載し、複数のプロセスを稼働させる計算機におけるCPUコア割当方法であって、
前記計算機は、
各々の前記CPUコアに単位時間当たりの計算量を示す性能値を設定し、各々の前記プロセスに実行時に使用する前記計算量を示す負荷値を設定するステップと、
前記プロセスがCPUコアを専有するプロセスを示す専有プロセスである場合に、当該専有プロセスを、当該専有プロセスの負荷値以上の性能値であって、最小の性能値が設定されたCPUコアに割り当てるステップと、
前記専有プロセスではなくCPUコアが割り当てられていないプロセスを示す未割当プロセスを、前記負荷値が大きい前記未割当プロセスから順番に、専有されていないCPUコアであり、性能値と割当済であるプロセスの負荷値の合計値との差が当該未割当プロセスの負荷値以上であって、性能値が最大のCPUコアへ割り当てるステップと
を実行することを特徴とするCPUコア割当方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017197893A JP6969268B2 (ja) | 2017-10-11 | 2017-10-11 | 計算機およびcpuコア割当方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017197893A JP6969268B2 (ja) | 2017-10-11 | 2017-10-11 | 計算機およびcpuコア割当方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019071026A JP2019071026A (ja) | 2019-05-09 |
JP6969268B2 true JP6969268B2 (ja) | 2021-11-24 |
Family
ID=66441242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017197893A Active JP6969268B2 (ja) | 2017-10-11 | 2017-10-11 | 計算機およびcpuコア割当方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6969268B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032112A (zh) * | 2019-12-25 | 2021-06-25 | 上海商汤智能科技有限公司 | 资源调度方法及装置、电子设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5790758B2 (ja) * | 2011-03-08 | 2015-10-07 | 富士通株式会社 | スケジューリング方法およびスケジューリングシステム |
US20150326495A1 (en) * | 2012-12-14 | 2015-11-12 | Nec Corporation | System construction device and system construction method |
-
2017
- 2017-10-11 JP JP2017197893A patent/JP6969268B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019071026A (ja) | 2019-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Farahnakian et al. | Energy-aware VM consolidation in cloud data centers using utilization prediction model | |
JP6241300B2 (ja) | ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム | |
CN109783237B (zh) | 一种资源配置方法及装置 | |
US8261281B2 (en) | Optimizing allocation of resources on partitions of a data processing system | |
US7992151B2 (en) | Methods and apparatuses for core allocations | |
JP5040773B2 (ja) | メモリバッファ割当装置およびプログラム | |
Arshad et al. | Utilizing power consumption and SLA violations using dynamic VM consolidation in cloud data centers | |
JP5616523B2 (ja) | 情報処理システム | |
Ahmad et al. | An efficient list scheduling algorithm with task duplication for scientific big data workflow in heterogeneous computing environments | |
Deng et al. | A data and task co-scheduling algorithm for scientific cloud workflows | |
Choi et al. | Task Classification Based Energy‐Aware Consolidation in Clouds | |
Li et al. | An energy-aware scheduling algorithm for big data applications in Spark | |
Qin | Performance comparisons of load balancing algorithms for I/O-intensive workloads on clusters | |
CN111767023A (zh) | 数据排序方法和数据排序系统 | |
JP6969268B2 (ja) | 計算機およびcpuコア割当方法 | |
Farzaneh et al. | A novel virtual machine placement algorithm using RF element in cloud infrastructure | |
Sudarsan et al. | Scheduling resizable parallel applications | |
KR102563648B1 (ko) | 멀티 프로세서 시스템 및 그 구동 방법 | |
Divya et al. | Workload characteristics and resource aware Hadoop scheduler | |
Lin et al. | Joint deadline-constrained and influence-aware design for allocating MapReduce jobs in cloud computing systems | |
Qu et al. | Improving the energy efficiency and performance of data-intensive workflows in virtualized clouds | |
CN113886057B (zh) | 异构众核上基于剖析技术以及数据流信息的动态资源调度方法 | |
Wang et al. | Energy-aware task scheduling of mapreduce cluster | |
Rodrigo Álvarez et al. | A2l2: An application aware flexible hpc scheduling model for low-latency allocation | |
JP2012038275A (ja) | 取引計算シミュレーションシステム、方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210302 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210430 |
|
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: 20210928 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211011 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6969268 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |