JP2020095446A - 情報処理装置、メモリ初期化制御方法及びプログラム - Google Patents
情報処理装置、メモリ初期化制御方法及びプログラム Download PDFInfo
- Publication number
- JP2020095446A JP2020095446A JP2018232472A JP2018232472A JP2020095446A JP 2020095446 A JP2020095446 A JP 2020095446A JP 2018232472 A JP2018232472 A JP 2018232472A JP 2018232472 A JP2018232472 A JP 2018232472A JP 2020095446 A JP2020095446 A JP 2020095446A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- node
- core
- calculation
- cores
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Advance Control (AREA)
- Memory System (AREA)
Abstract
Description
オペレーティングシステムが動作する制御コアを備える第1のノードと、当該制御コアにより制御され、所定の計算処理を行う複数の計算コアと当該複数の計算コアが使用するメモリとを備え、当該第1のノードと所定のデータ転送機構を介して通信を行う第2のノードとを含み、
前記制御コアは、
前記複数の計算コアのうちいずれかで実行中のユーザプロセスから、前記メモリ内の指定領域の解放要求を受信した場合に、前記第2のノードの動作状況を判定し、
前記動作状況に応じて前記メモリの前記指定領域の初期化を行う。
オペレーティングシステムが動作する制御コアと、
当該制御コアにより制御され、所定の計算処理を行う複数の計算コアと当該複数の計算コアが使用するメモリとを備えるノードと所定のデータ転送機構を介して通信を行なうデータ転送部と、
を備え、
前記制御コアは、
前記複数の計算コアのうちいずれかで実行中のユーザプロセスから、前記メモリ内の指定領域の解放要求を受信した場合に、前記ノードの動作状況を判定し、
前記動作状況に応じて前記メモリの前記指定領域の初期化を行う。
オペレーティングシステムが動作する制御コアを備える第1のノードと、当該制御コアにより制御され、所定の計算処理を行う複数の計算コアと当該複数の計算コアが使用するメモリとを備え、当該第1のノードと所定のデータ転送機構を介して通信を行う第2のノードとを含む情報処理装置における前記制御コアが、
前記複数の計算コアのうちいずれかで実行中のユーザプロセスから、前記メモリ内の指定領域の解放要求を受信した場合に、前記第2のノードの動作状況を判定し、
前記動作状況に応じて前記メモリの前記指定領域の初期化を行う。
オペレーティングシステムが動作する制御コアを備える第1のノードと、当該制御コアにより制御され、所定の計算処理を行う複数の計算コアと当該複数の計算コアが使用するメモリとを備え、当該第1のノードと所定のデータ転送機構を介して通信を行う第2のノードとを含む情報処理装置における前記制御コアに、
前記複数の計算コアのうちいずれかで実行中のユーザプロセスから、前記メモリ内の指定領域の解放要求を受信した場合に、前記第2のノードの動作状況を判定する処理と、
前記動作状況に応じて前記メモリの前記指定領域の初期化を行う処理と、
を実行させる。
図1は、本実施の形態1にかかる情報処理装置1000の構成を示すブロック図である。情報処理装置1000は、第1のノード1100と、第2のノード1200とを備える。第1のノード1100は、制御コア1110を備える。制御コア1110は、オペレーティングシステムが動作し、第1のノード1200内の構成の動作を制御するプロセッサコアである。尚、第1のノード1100は、図示しない構成としてメモリを有するものである。また、第1のノード1100は、2以上のプロセッサコアを有し、当該メモリを共用してもよい。
ここで、本実施の形態が解決しようとする課題について詳述する。まず、一般的なLinux(登録商標)/x86_64アーキテクチャ(以下、「x86アーキテクチャ」と呼ぶ。)では、メモリ割当要求時に要求元のプロセスに物理メモリを割り当てず、仮想メモリを割り当てる。そして、実際にプロセスにより割り当て先のメモリへデータの書き込みが発生した際に初めて、必要なページサイズの物理メモリを初期化して、初期化後の物理メモリを割り当てた上でデータを書き込む。このような方式は、デマンドページング又はコピーオンライトと呼ばれる。ここで、x86アーキテクチャでは、ページングサイズが4KBであり、同一ノード内のコアとメモリとのやり取りであるため、デマンドページング方式でもメモリ割り当ての遅延は小さく、ユーザプロセスの実行効率への影響も小さい。
まず、計算ノードのメモリ及びコアの使用状況(動作状況)によって、メモリ解放手法を切り替えることにより、メモリ初期化時のユーザプロセスへの影響を小さくすることができる。例えば、メモリ使用率が高く、コアが空いている場合には、コアによるメモリ初期化を行うと良い。この場合、ユーザプロセスはコアを使っていないので、ユーザプロセスの実行に割り込んではいない。逆に、コアが空いていない場合は、コアを使わずDMAエンジンを利用することにより、ユーザプロセスの実行に割り込まない。そのため、実行中のユーザプロセスへの影響を抑制できる。
尚、上述した実施形態2では全ての計算コアに最低優先度のメモリ初期化プロセスを生成し、各計算コアにスケジューリングする方針としたが、一部のコアに対してだけメモリ初期化プロセスを生成し、メモリ上に常駐させても良い。この場合、実行可能なユーザプロセスの存在しないコアが見つかった場合にその都度スケジューリングすることで同様に効果を期待できる。
(付記A1)
オペレーティングシステムが動作する制御コアを備える第1のノードと、当該制御コアにより制御され、所定の計算処理を行う複数の計算コアと当該複数の計算コアが使用するメモリとを備え、当該第1のノードと所定のデータ転送機構を介して通信を行う第2のノードとを含み、
前記制御コアは、
前記複数の計算コアのうちいずれかで実行中のユーザプロセスから、前記メモリ内の指定領域の解放要求を受信した場合に、前記第2のノードの動作状況を判定し、
前記動作状況に応じて前記メモリの前記指定領域の初期化を行う
情報処理装置。
(付記A2)
前記制御コアは、
前記複数の計算コアのそれぞれにおけるプロセスの実行状況を前記動作状況として判定し、
前記判定された実行状況において実行中のプロセスがない空きコアに対して、前記指定領域の初期化を指示する
付記A1に記載の情報処理装置。
(付記A3)
前記制御コアは、
前記解放要求を受信した場合において前記メモリの使用量が所定の閾値を超えている場合に、前記複数の計算コアのそれぞれの前記実行状況を判定する
付記A2に記載の情報処理装置。
(付記A4)
前記制御コアは、
前記解放要求を受信した場合において前記メモリの使用量が所定の閾値を超えていない場合に、前記第2のノード内のデータ転送回路に対して前記指定領域の初期化を指示する
付記A2又はA3に記載の情報処理装置。
(付記A5)
前記制御コアは、
前記複数の計算コアで実行中のプロセスに割当済みのメモリ容量と未割当かつ未初期化のメモリ容量とを合計して前記メモリの使用量として算出し、
前記メモリの使用量が前記所定の閾値を超えているか否かを判定する
付記A3又はA4に記載の情報処理装置。
(付記A6)
前記メモリには、前記複数の計算コアのうち少なくとも1以上に対応付けて生成された1以上のメモリ初期化プロセスが常駐しており、
前記制御コアは、
前記空きコアに対応付けられた前記メモリ初期化プロセスに対して、前記指定領域の初期化を指示する
付記A2乃至A5のいずれか1項に記載の情報処理装置。
(付記A7)
前記制御コアは、
前記複数の計算コアのそれぞれに対応し、各計算コアにおける実行対象のプロセスを管理するための複数のプロセスキューを保持し、
前記メモリ初期化プロセスに最低の優先度を付加して、前記複数のプロセスキューの少なくとも1以上に登録し、
前記実行状況を判定する際に、前記プロセスキュー内に前記メモリ初期化プロセス以外のプロセスが登録されているか否かを判定し、
前記メモリ初期化プロセス以外のプロセスが登録されていないプロセスキューに対応する計算コアを、前記空きコアと判定する
付記A6に記載の情報処理装置。
(付記B1)
オペレーティングシステムが動作する制御コアと、
当該制御コアにより制御され、所定の計算処理を行う複数の計算コアと当該複数の計算コアが使用するメモリとを備えるノードと所定のデータ転送機構を介して通信を行なうデータ転送部と、
を備え、
前記制御コアは、
前記複数の計算コアのうちいずれかで実行中のユーザプロセスから、前記メモリ内の指定領域の解放要求を受信した場合に、前記ノードの動作状況を判定し、
前記動作状況に応じて前記メモリの前記指定領域の初期化を行う
情報処理装置。
(付記B2)
前記制御コアは、
前記複数の計算コアのそれぞれにおけるプロセスの実行状況を前記動作状況として判定し、
前記判定された実行状況において実行中のプロセスがない空きコアに対して、前記指定領域の初期化を指示する
付記B1に記載の情報処理装置。
(付記C1)
オペレーティングシステムが動作する制御コアを備える第1のノードと、当該制御コアにより制御され、所定の計算処理を行う複数の計算コアと当該複数の計算コアが使用するメモリとを備え、当該第1のノードと所定のデータ転送機構を介して通信を行う第2のノードとを含む情報処理装置における前記制御コアが、
前記複数の計算コアのうちいずれかで実行中のユーザプロセスから、前記メモリ内の指定領域の解放要求を受信した場合に、前記第2のノードの動作状況を判定し、
前記動作状況に応じて前記メモリの前記指定領域の初期化を行う
メモリ初期化制御方法。
(付記D1)
オペレーティングシステムが動作する制御コアを備える第1のノードと、当該制御コアにより制御され、所定の計算処理を行う複数の計算コアと当該複数の計算コアが使用するメモリとを備え、当該第1のノードと所定のデータ転送機構を介して通信を行う第2のノードとを含む情報処理装置における前記制御コアに、
前記複数の計算コアのうちいずれかで実行中のユーザプロセスから、前記メモリ内の指定領域の解放要求を受信した場合に、前記第2のノードの動作状況を判定する処理と、
前記動作状況に応じて前記メモリの前記指定領域の初期化を行う処理と、
を実行させるプログラム。
1100 第1のノード
1110 制御コア
1200 第2のノード
1211 計算コア
1212 計算コア
121n 計算コア
1220 メモリ
2000 並列計算機
1 制御ノード
11 CPU
111 プロセッサコア
11m プロセッサコア
12 メモリ
13 データ転送部
131 DMAエンジン
132 対CPU通信部
14 制御コア
15 計算ノード制御用OS
151 計算ノードメモリ管理部
1511 割当済物理メモリ管理部
1512 未初期化物理メモリ管理部
1513 初期化済物理メモリ管理部
1514 閾値管理部
152 計算ノードプロセス管理部
1521 計算コア1プロセスキュー
152n 計算コアnプロセスキュー
2 計算ノード
21 CPU
211 プロセッサコア
212 プロセッサコア
21n プロセッサコア
22 メモリ
23 データ転送部
231 DMAエンジン
232 対CPU通信部
3 バス
220 領域
221 領域
222 領域
223 領域
224 領域
225 領域
241 計算コア1_
242 計算コア2_
24n 計算コアn_
251 ユーザプロセスa_
252 ユーザプロセスb_
25n メモリ初期化プロセス
Claims (10)
- オペレーティングシステムが動作する制御コアを備える第1のノードと、当該制御コアにより制御され、所定の計算処理を行う複数の計算コアと当該複数の計算コアが使用するメモリとを備え、当該第1のノードと所定のデータ転送機構を介して通信を行う第2のノードとを含み、
前記制御コアは、
前記複数の計算コアのうちいずれかで実行中のユーザプロセスから、前記メモリ内の指定領域の解放要求を受信した場合に、前記第2のノードの動作状況を判定し、
前記動作状況に応じて前記メモリの前記指定領域の初期化を行う
情報処理装置。 - 前記制御コアは、
前記複数の計算コアのそれぞれにおけるプロセスの実行状況を前記動作状況として判定し、
前記判定された実行状況において実行中のプロセスがない空きコアに対して、前記指定領域の初期化を指示する
請求項1に記載の情報処理装置。 - 前記制御コアは、
前記解放要求を受信した場合において前記メモリの使用量が所定の閾値を超えている場合に、前記複数の計算コアのそれぞれの前記実行状況を判定する
請求項2に記載の情報処理装置。 - 前記制御コアは、
前記解放要求を受信した場合において前記メモリの使用量が所定の閾値を超えていない場合に、前記第2のノード内のデータ転送回路に対して前記指定領域の初期化を指示する
請求項2又は3に記載の情報処理装置。 - 前記制御コアは、
前記複数の計算コアで実行中のプロセスに割当済みのメモリ容量と未割当かつ未初期化のメモリ容量とを合計して前記メモリの使用量として算出し、
前記メモリの使用量が前記所定の閾値を超えているか否かを判定する
請求項3又は4に記載の情報処理装置。 - 前記メモリには、前記複数の計算コアのうち少なくとも1以上に対応付けて生成された1以上のメモリ初期化プロセスが常駐しており、
前記制御コアは、
前記空きコアに対応付けられた前記メモリ初期化プロセスに対して、前記指定領域の初期化を指示する
請求項2乃至5のいずれか1項に記載の情報処理装置。 - 前記制御コアは、
前記複数の計算コアのそれぞれに対応し、各計算コアにおける実行対象のプロセスを管理するための複数のプロセスキューを保持し、
前記メモリ初期化プロセスに最低の優先度を付加して、前記複数のプロセスキューの少なくとも1以上に登録し、
前記実行状況を判定する際に、前記プロセスキュー内に前記メモリ初期化プロセス以外のプロセスが登録されているか否かを判定し、
前記メモリ初期化プロセス以外のプロセスが登録されていないプロセスキューに対応する計算コアを、前記空きコアと判定する
請求項6に記載の情報処理装置。 - オペレーティングシステムが動作する制御コアと、
当該制御コアにより制御され、所定の計算処理を行う複数の計算コアと当該複数の計算コアが使用するメモリとを備えるノードと所定のデータ転送機構を介して通信を行なうデータ転送部と、
を備え、
前記制御コアは、
前記複数の計算コアのうちいずれかで実行中のユーザプロセスから、前記メモリ内の指定領域の解放要求を受信した場合に、前記ノードの動作状況を判定し、
前記動作状況に応じて前記メモリの前記指定領域の初期化を行う
情報処理装置。 - オペレーティングシステムが動作する制御コアを備える第1のノードと、当該制御コアにより制御され、所定の計算処理を行う複数の計算コアと当該複数の計算コアが使用するメモリとを備え、当該第1のノードと所定のデータ転送機構を介して通信を行う第2のノードとを含む情報処理装置における前記制御コアが、
前記複数の計算コアのうちいずれかで実行中のユーザプロセスから、前記メモリ内の指定領域の解放要求を受信した場合に、前記第2のノードの動作状況を判定し、
前記動作状況に応じて前記メモリの前記指定領域の初期化を行う
メモリ初期化制御方法。 - オペレーティングシステムが動作する制御コアを備える第1のノードと、当該制御コアにより制御され、所定の計算処理を行う複数の計算コアと当該複数の計算コアが使用するメモリとを備え、当該第1のノードと所定のデータ転送機構を介して通信を行う第2のノードとを含む情報処理装置における前記制御コアに、
前記複数の計算コアのうちいずれかで実行中のユーザプロセスから、前記メモリ内の指定領域の解放要求を受信した場合に、前記第2のノードの動作状況を判定する処理と、
前記動作状況に応じて前記メモリの前記指定領域の初期化を行う処理と、
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018232472A JP7147531B2 (ja) | 2018-12-12 | 2018-12-12 | 情報処理装置、メモリ初期化制御方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018232472A JP7147531B2 (ja) | 2018-12-12 | 2018-12-12 | 情報処理装置、メモリ初期化制御方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020095446A true JP2020095446A (ja) | 2020-06-18 |
JP7147531B2 JP7147531B2 (ja) | 2022-10-05 |
Family
ID=71085079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018232472A Active JP7147531B2 (ja) | 2018-12-12 | 2018-12-12 | 情報処理装置、メモリ初期化制御方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7147531B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0764852A (ja) * | 1993-08-23 | 1995-03-10 | Nec Corp | 動的確保領域の保証方式 |
JP2015143943A (ja) * | 2014-01-31 | 2015-08-06 | 富士通株式会社 | 情報処理装置、制御方法、および制御プログラム |
JP2018152019A (ja) * | 2017-03-15 | 2018-09-27 | 日本電気株式会社 | 制御装置、制御方法、プログラム、情報処理装置 |
-
2018
- 2018-12-12 JP JP2018232472A patent/JP7147531B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0764852A (ja) * | 1993-08-23 | 1995-03-10 | Nec Corp | 動的確保領域の保証方式 |
JP2015143943A (ja) * | 2014-01-31 | 2015-08-06 | 富士通株式会社 | 情報処理装置、制御方法、および制御プログラム |
JP2018152019A (ja) * | 2017-03-15 | 2018-09-27 | 日本電気株式会社 | 制御装置、制御方法、プログラム、情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP7147531B2 (ja) | 2022-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7313381B2 (ja) | ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング | |
US9710310B2 (en) | Dynamically configurable hardware queues for dispatching jobs to a plurality of hardware acceleration engines | |
US11093297B2 (en) | Workload optimization system | |
US8826270B1 (en) | Regulating memory bandwidth via CPU scheduling | |
US9098337B2 (en) | Scheduling virtual central processing units of virtual machines among physical processing units | |
US8402470B2 (en) | Processor thread load balancing manager | |
CN113918101B (zh) | 一种写数据高速缓存的方法、系统、设备和存储介质 | |
US10579416B2 (en) | Thread interrupt offload re-prioritization | |
US10932202B2 (en) | Technologies for dynamic multi-core network packet processing distribution | |
US10614004B2 (en) | Memory transaction prioritization | |
WO2019028682A1 (zh) | 一种多系统共享内存的管理方法及装置 | |
US10331581B2 (en) | Virtual channel and resource assignment | |
US10459771B2 (en) | Lightweight thread synchronization using shared memory state | |
US9697047B2 (en) | Cooperation of hoarding memory allocators in a multi-process system | |
US8245229B2 (en) | Temporal batching of I/O jobs | |
JP7147531B2 (ja) | 情報処理装置、メモリ初期化制御方法及びプログラム | |
JP5557612B2 (ja) | 計算機及び転送プログラム | |
US10051087B2 (en) | Dynamic cache-efficient event suppression for network function virtualization | |
CN113176950B (zh) | 报文处理方法、装置、设备及计算机可读存储介质 | |
JP6364827B2 (ja) | 情報処理装置、及び、そのリソースアクセス方法、並びに、リソースアクセスプログラム | |
KR20210007417A (ko) | 멀티-코어 시스템 및 그 동작 제어 방법 | |
US11914512B2 (en) | Writeback overhead reduction for workloads | |
US20220058062A1 (en) | System resource allocation for code execution | |
US20230305720A1 (en) | Reservation of memory in multiple tiers of memory | |
US20240069965A1 (en) | Systems and methods for executing compute functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211102 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220817 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220823 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220905 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7147531 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |