JP7420251B2 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents
情報処理装置、情報処理方法及び情報処理プログラム Download PDFInfo
- Publication number
- JP7420251B2 JP7420251B2 JP2022534108A JP2022534108A JP7420251B2 JP 7420251 B2 JP7420251 B2 JP 7420251B2 JP 2022534108 A JP2022534108 A JP 2022534108A JP 2022534108 A JP2022534108 A JP 2022534108A JP 7420251 B2 JP7420251 B2 JP 7420251B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- data
- calculation means
- information processing
- page table
- 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
- 230000010365 information processing Effects 0.000 title claims description 61
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000004364 calculation method Methods 0.000 claims description 77
- 238000013523 data management Methods 0.000 claims description 62
- 230000015654 memory Effects 0.000 claims description 59
- 238000000034 method Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 17
- 238000007726 management method Methods 0.000 claims description 9
- 238000013500 data storage Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
(発明の目的)
本発明は、複数の演算装置が使用される情報処理装置において、これらの演算装置間のデータ転送の効率を向上させるための技術を提供することを目的とする。
第1の演算手段と、
前記第1の演算手段と共通の仮想アドレス空間が割り当てられた第2の演算手段と、
前記第1の演算手段が備えるローカルメモリに記憶された第1のページテーブルと、
前記第2の演算手段が備えるローカルメモリに記憶された第2のページテーブルと、
前記第2の演算手段がアクセスした前記第2のページテーブルのページの第1のビットフラグが前記第2の演算手段がアクセスしたページのデータの無効を示す場合には、前記第2の演算手段がアクセスしたページと同一のページ番号のページを含む前記第1のページテーブルの複数のページのデータを一括して前記第2のページテーブルに転送する転送指示を生成するデータ管理手段と、を備える。
共通の仮想アドレス空間が割り当てられた第1の演算手段と第2の演算手段とによって演算を行い、
前記第1の演算手段が備えるローカルメモリに第1のページテーブルを記憶し、
前記第2の演算手段が備えるローカルメモリに第2のページテーブルを記憶し、
前記第2の演算手段がアクセスした前記第2のページテーブルのページの第1のビットフラグが前記第2の演算手段がアクセスしたページのデータの無効を示す場合には、前記第2の演算手段がアクセスしたページと同一のページ番号のページを含む前記第1のページテーブルの複数のページのデータを一括して前記第2のページテーブルに転送する転送指示を生成する、
手順を含む。
共通の仮想アドレス空間が割り当てられた第1の演算手段と第2の演算手段とによって演算を行う処理、
前記第1の演算手段が備えるローカルメモリに第1のページテーブルを記憶する処理、 前記第2の演算手段が備えるローカルメモリに第2のページテーブルを記憶する処理、 前記第2の演算手段がアクセスした前記第2のページテーブルのページの第1のビットフラグが前記第2の演算手段がアクセスしたページのデータの無効を示す場合には、前記第2の演算手段がアクセスしたページと同一のページ番号のページを含む前記第1のページテーブルの複数のページのデータを一括して前記第2のページテーブルに転送する転送指示を生成する処理、
を実行させる。
図1は、本発明の第1の実施形態の情報処理装置1の構成例を示すブロック図である。
情報処理装置1は、ホスト100とデバイス200とを含むコンピュータである。情報処理装置1は、ホスト100が備えるCPU10とデバイス200が備えるGPU20とを用いた演算処理によって、高い演算能力を発揮する。情報処理装置1は、例えば、CUDAバージョン6から実装されたUnified Memoryアーキテクチャが用いられたコンピュータである。情報処理装置1は、さらに、CPU10及びGPU20の演算を制御する情報を入力する図示されない入力装置や、CPU10及びGPU20の演算結果を出力する図示されない出力装置を備えてもよい。入力装置は例えばキーボードであり出力装置は例えばディスプレイである。演算を制御する情報は、例えばプログラムである。
CPU10は、ローカルメモリ101上のデータを用いて演算を行う演算手段を担う。ローカルメモリ101はCPU10が使用するデータを記憶するメモリを含む電気回路であり、ページテーブル11及び転送データ領域12を備える。CPU10はローカルメモリ101にアクセスできる。しかし、GPU20はローカルメモリ101にはアクセスできない。
ローカルメモリ201はGPU20が使用するデータを記憶するメモリを含む電気回路であり、ページテーブル21及び転送データ領域22を備える。GPU20はローカルメモリ201にアクセスできる。しかし、CPU10はローカルメモリ201にはアクセスできない。
ページテーブル11及び21に付されたVビットフラグに応じた転送データの転送例を説明する。図2は、情報処理装置1におけるVビットフラグに応じたページ転送について説明する図である。情報処理装置1では、CPU10とGPU20には共通の仮想アドレス空間が割り当てられる。そして、ホスト100ではページテーブル11、デバイス200ではページテーブル21が用いられる。ページテーブル11及び21は、それぞれ、ローカルメモリ101及び201に格納される。
第1の実施形態の図3では、複数ページ(PN=1からPN=3)を一括してホスト100からデバイス200へ転送する例を説明した。図3の例では、ホスト100のページテーブル11において、PN=2のページエントリのVビットフラグは、ページのデータがデバイス200へ転送されることに伴いV=0(無効)に変更される。従って、PN=2のページを含む転送データをデバイス200へ転送した後にCPU10がPN=2のページへアクセスすると、ホスト100において割り込みが発生する。そうすると、ホスト100は、デバイス200からPN=2のページを取得する必要がある。
その後、GPU20はページテーブル21にアクセスし、PN=1のデータにアクセスして処理を続行する(ステップS06)。ここまでの手順は第1の実施形態において図3で説明した手順である。ステップS02においてデバイス200側のPN=1のページがV=1である場合は(ステップS02:NO)、ページのデータの転送は行われず、GPU20は現在のページのデータを使用して処理を継続する。
図6は、本発明の第3の実施形態の情報処理装置500の構成例を示すブロック図である。情報処理装置500は、第1の演算部501、第2の演算部502、ローカルメモリ503及び504、並びにデータ管理部505を備える。第1の演算部501及び第2の演算部502は、プログラムによって動作する演算装置であり、例えば一方はCPUであり他方はGPUである。第2の演算部502には、第1の演算部501と共通の仮想アドレス空間が割り当てられる。ローカルメモリ503は第1の演算部501が使用するメモリであり、ローカルメモリ504は第2の演算部が使用するメモリである。ローカルメモリ503は、第1の演算部501が使用するページエントリを、第1のページテーブルとして記憶する。ローカルメモリ504は、第2の演算部502が使用するページエントリを、第2のページテーブルとして記憶する。
10 CPU
20 GPU
11、21 ページテーブル
12、22 転送データ領域
13、23、505 データ管理部
100 ホスト
101、201、503、504 ローカルメモリ
200 デバイス
500 情報処理装置
501 第1の演算部
502 第2の演算部
505 データ管理部
Claims (10)
- 第1の演算手段と、
前記第1の演算手段と共通の仮想アドレス空間が割り当てられた第2の演算手段と、
前記第1の演算手段が備えるローカルメモリに記憶された第1のページテーブルと、
前記第2の演算手段が備えるローカルメモリに記憶された第2のページテーブルと、
前記第2の演算手段がアクセスした前記第2のページテーブルのページの第1のビットフラグが前記第2の演算手段がアクセスしたページのデータの無効を示す場合には、前記第2の演算手段がアクセスしたページと同一のページ番号のページを含む前記第1のページテーブルの複数のページのデータを一括して前記第2のページテーブルに転送する転送指示を生成するデータ管理手段と、
を備える情報処理装置。 - 前記データ管理手段は、一括して転送される前記複数のページを、前記第2の演算手段のメモリアクセスの空間的局所性に基づいて選択する、請求項1に記載された情報処理装置。
- 前記データ管理手段は、
前記第2の演算手段がアクセスした前記第2のページテーブルのページの第1のビットフラグが前記第2の演算手段がアクセスした前記ページのデータの無効を示し、
かつ、
前記第2の演算手段がアクセスした前記ページと同一のページ番号の前記第1のページテーブルのページのデータが前記第1の演算手段によって変更されてないことを前記第1のページテーブルの第2のビットフラグが示す場合は、前記転送指示を取り消し、前記第2の演算手段がアクセスした前記ページの第1のビットフラグを前記第2の演算手段がアクセスした前記ページのデータの有効を示すように設定する、請求項1又は2に記載された情報処理装置。 - 前記第1の演算手段及び前記第2の演算手段は、それぞれ、アクセスした前記ページの前記第1のビットフラグがデータの有効を示す場合には前記データを用いた処理を行い、前記第1のビットフラグが前記データの無効を示す場合には前記データを用いた処理を行わない、
請求項1乃至3のいずれかに記載された情報処理装置。 - 前記データ管理手段は、同一のページ番号の前記第1のページテーブルのページ及び前記第2のページテーブルのページのそれぞれの前記第1のビットフラグの有効及び無効を排他的に設定する、請求項4に記載された情報処理装置。
- 前記第1の演算手段及び前記第2の演算手段の一方は中央処理装置(CPU)であり、他方は画像処理装置(GPU)である、請求項1乃至5のいずれかに記載された情報処理装置。
- 前記第1の演算手段と前記第2の演算手段との間で転送される転送データを格納するデータ格納手段を備える、請求項1乃至6のいずれかに記載された情報処理装置。
- 前記データ管理手段は、前記第1の演算手段の前記ローカルメモリを制御する第1の管理手段と前記第2の演算手段の前記ローカルメモリを制御する第2の管理手段とを含み、前記データ格納手段は、前記第1の管理手段が制御する第1の格納手段と前記第2の管理手段が制御する第2の格納手段とを含み、
前記第1の演算手段と、前記第1の管理手段と、前記第1の格納手段とを備える第1のデバイスと、
前記第2の演算手段と、前記第2の管理手段と、前記第2の格納手段とを備える第2のデバイスと、
を備える、請求項7に記載された情報処理装置。 - 共通の仮想アドレス空間が割り当てられた第1の演算手段と第2の演算手段とによって演算を行い、
前記第1の演算手段が備えるローカルメモリに第1のページテーブルを記憶し、
前記第2の演算手段が備えるローカルメモリに第2のページテーブルを記憶し、
前記第2の演算手段がアクセスした前記第2のページテーブルのページの第1のビットフラグが前記第2の演算手段がアクセスしたページのデータの無効を示す場合には、前記第2の演算手段がアクセスしたページと同一のページ番号のページを含む前記第1のページテーブルの複数のページのデータを一括して前記第2のページテーブルに転送する転送指示を生成する、
情報処理方法。 - 情報処理装置のコンピュータに、
共通の仮想アドレス空間が割り当てられた第1の演算手段と第2の演算手段とによって演算を行う処理、
前記第1の演算手段が備えるローカルメモリに第1のページテーブルを記憶する処理、
前記第2の演算手段が備えるローカルメモリに第2のページテーブルを記憶する処理、
前記第2の演算手段がアクセスした前記第2のページテーブルのページの第1のビットフラグが前記第2の演算手段がアクセスしたページのデータの無効を示す場合には、前記第2の演算手段がアクセスしたページと同一のページ番号のページを含む前記第1のページテーブルの複数のページのデータを一括して前記第2のページテーブルに転送する転送指示を生成する処理、
を実行させるための情報処理プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020115307 | 2020-07-03 | ||
JP2020115307 | 2020-07-03 | ||
PCT/JP2021/024911 WO2022004837A1 (ja) | 2020-07-03 | 2021-07-01 | 情報処理装置、情報処理方法及び情報処理プログラムの記録媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JPWO2022004837A1 JPWO2022004837A1 (ja) | 2022-01-06 |
JPWO2022004837A5 JPWO2022004837A5 (ja) | 2023-03-10 |
JP7420251B2 true JP7420251B2 (ja) | 2024-01-23 |
Family
ID=79316293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022534108A Active JP7420251B2 (ja) | 2020-07-03 | 2021-07-01 | 情報処理装置、情報処理方法及び情報処理プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7420251B2 (ja) |
WO (1) | WO2022004837A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010211506A (ja) | 2009-03-10 | 2010-09-24 | Nec Corp | 不均一メモリアクセス機構を備えるコンピュータ、コントローラ、及びデータ移動方法 |
JP6437654B2 (ja) | 2015-07-29 | 2018-12-12 | マクセル株式会社 | 映像表示システム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6437654A (en) * | 1987-08-03 | 1989-02-08 | Nec Corp | Inter-processor communication memory |
-
2021
- 2021-07-01 WO PCT/JP2021/024911 patent/WO2022004837A1/ja active Application Filing
- 2021-07-01 JP JP2022534108A patent/JP7420251B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010211506A (ja) | 2009-03-10 | 2010-09-24 | Nec Corp | 不均一メモリアクセス機構を備えるコンピュータ、コントローラ、及びデータ移動方法 |
JP6437654B2 (ja) | 2015-07-29 | 2018-12-12 | マクセル株式会社 | 映像表示システム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2022004837A1 (ja) | 2022-01-06 |
WO2022004837A1 (ja) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9547597B2 (en) | Selection of post-request action based on combined response and input from the request source | |
US7120755B2 (en) | Transfer of cache lines on-chip between processing cores in a multi-core system | |
US7769957B2 (en) | Preventing writeback race in multiple core processors | |
US9208092B2 (en) | Coherent attached processor proxy having hybrid directory | |
US20080320233A1 (en) | Reduced Handling of Writeback Data | |
JP2007122741A (ja) | 非対称型異種マルチプロセッサ環境でアトミック更新プリミティブを提供するための方法 | |
US8949569B2 (en) | Enhanced direct memory access | |
US6898676B2 (en) | Computer system supporting both dirty-shared and non-dirty-shared data processing entities | |
EP1703405B1 (en) | Information processing device and data control method in information processing device | |
US7051163B2 (en) | Directory structure permitting efficient write-backs in a shared memory computer system | |
JPH1031625A (ja) | マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ | |
US9251076B2 (en) | Epoch-based recovery for coherent attached processor proxy | |
US8266386B2 (en) | Structure for maintaining memory data integrity in a processor integrated circuit using cache coherency protocols | |
JP4266629B2 (ja) | ページ・テーブル属性によるバス・インタフェース選択 | |
JP2005056401A (ja) | キャッシュ可能なdma | |
CN116745752A (zh) | 迁移由输入-输出设备能够访问的存储器页面 | |
KR19990085485A (ko) | 분산 공유 메모리 시스템에서 미세 통신과 대단위 통신의 병합을 위한 적응형 입도 방법 | |
JP7420251B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
JP2001134486A (ja) | マイクロプロセッサおよび記憶装置 | |
JPH01213732A (ja) | データ処理システム | |
US8244919B2 (en) | Data transfer apparatus, system and method using the same | |
US20040068613A1 (en) | Retry-based late race resolution mechanism for a computer system | |
US20220050779A1 (en) | Memory disposition device, memory disposition method, and recording medium storing memory disposition program | |
US20230136091A1 (en) | High-performance storage infrastructure offload | |
JP2007257192A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221228 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221228 |
|
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: 20231212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231225 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7420251 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |