JP6515779B2 - キャッシュ方法、キャッシュプログラム及び情報処理装置 - Google Patents
キャッシュ方法、キャッシュプログラム及び情報処理装置 Download PDFInfo
- Publication number
- JP6515779B2 JP6515779B2 JP2015205339A JP2015205339A JP6515779B2 JP 6515779 B2 JP6515779 B2 JP 6515779B2 JP 2015205339 A JP2015205339 A JP 2015205339A JP 2015205339 A JP2015205339 A JP 2015205339A JP 6515779 B2 JP6515779 B2 JP 6515779B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- processor
- cache
- access
- data
- 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
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/507—Control mechanisms for virtual memory, cache or TLB using speculative control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/602—Details relating to cache prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6024—History based prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6042—Allocation of cache space to multiple users or processors
Description
図2に、第1の実施の形態の情報処理装置1の構成図を示す。情報処理装置1は、CPUパッケージ1pと、例えばDIMM(Dual Inline Memory Module)であるメモリ1mと、CPUパッケージ2pと、例えばDIMMであるメモリ2mとを有する。メモリ1mはCPUパッケージ1pに接続され、メモリ2mはCPUパッケージ2pに接続される。情報処理装置1は、PCI(Peripheral Component Interconnect) Expressの規格に対応している。
(2)キャッシュ1aに対象データが存在する
(3)キャッシュ2aに対象データが存在する
(4)キャッシュ1a及びキャッシュ2aの両方に対象データが存在する
図14Aに、第2の実施の形態の情報処理装置1の構成図を示す。情報処理装置1は、CPUパッケージ1pと、例えばDIMMであるメモリ1mと、CPUパッケージ2pと、例えばDIMMであるメモリ2mとを有する。メモリ1mはCPUパッケージ1pに接続され、メモリ2mはCPUパッケージ2pに接続される。情報処理装置1は、PCI Expressの規格に対応している。
図20に、第3の実施の形態の情報処理装置1の構成図を示す。情報処理装置1は、CPUパッケージ1pと、例えばDIMMであるメモリ1mと、CPUパッケージ2pと、例えばDIMMであるメモリ2mとを有する。メモリ1mはCPUパッケージ1pに接続され、メモリ2mはCPUパッケージ2pに接続される。情報処理装置1は、PCI Expressの規格に対応している。
第1プロセッサと、
前記第1プロセッサに接続されたメモリと、
前記メモリに対するアクセスを行う仮想マシンを実行する第2プロセッサと、
を有し、
前記第1プロセッサが、
前記仮想マシンがアクセスする前記メモリの領域からデータを読み出し、
読み出した前記データを、前記第1プロセッサのキャッシュに格納する、
処理を実行する情報処理装置。
前記第1プロセッサ又は前記第2プロセッサが、
前記仮想マシンが前記メモリに対して行ったアクセスについての情報を取得し、
前記データを読み出す処理において、
前記アクセスについての情報に基づき、前記仮想マシンがアクセスする前記メモリの領域を特定し、
特定された前記メモリの領域から、前記データを読み出す、
付記1記載の情報処理装置。
前記第1プロセッサ又は前記第2プロセッサが、
前記第2プロセッサのキャッシュミス回数の情報を取得し、
前記データを読み出す処理において、
取得された前記第2プロセッサのキャッシュミス回数の情報に基づき、前記データを読み出す方法を決定し、
特定された前記メモリの領域から、決定された前記方法によって前記データを読み出す、
付記2記載の情報処理装置。
前記第1プロセッサはメモリコントローラを有し、
前記メモリコントローラは、前記仮想マシンが前記メモリに対して行ったアクセスの履歴情報を取得し、
前記データを読み出す処理において、
前記メモリコントローラにより取得された前記アクセスの履歴情報に基づき、前記仮想マシンがアクセスするメモリアドレスを特定し、
特定された前記メモリアドレスを含む領域から前記データを読み出す、
付記1記載の情報処理装置。
前記メモリコントローラは、前記メモリに対するアクセスのうち前記仮想マシンによるアクセスを抽出するための条件を管理し、当該条件を満たすアクセスの履歴情報を取得する、
付記4記載の情報処理装置。
前記アクセスについての情報は、各領域に対するアクセスの種別の比率を示す情報と各領域に対するアクセスの数についての情報とを含む
付記2又は3記載の情報処理装置。
前記アクセスの履歴情報は、各メモリアドレスに対するアクセスの種別を示す情報と各メモリアドレスに対するアクセスを発生させたプログラムについての情報とを含む
付記4記載の情報処理装置。
プロセッサが、
前記プロセッサに接続されたメモリに対するアクセスを行い且つ他のプロセッサにより実行される仮想マシンによってアクセスされる前記メモリの領域から、データを読み出し、
読み出した前記データを、前記プロセッサのキャッシュに格納する、
処理を実行するキャッシュ方法。
プロセッサに、
前記プロセッサに接続されたメモリに対するアクセスを行い且つ他のプロセッサにより実行される仮想マシンによってアクセスされる前記メモリの領域から、データを読み出し、
読み出した前記データを、前記プロセッサのキャッシュに格納する、
処理を実行させるキャッシュプログラム。
12 VM 101 変換テーブル
102 アクセスデータ収集部 1021 アクセス管理テーブル
1022 アクセステーブル 103 キャッシュミスデータ収集部
1031 キャッシュミス管理テーブル 1032 キャッシュミステーブル
104 リモートアクセス管理部 105 キャッシュフィル部
1v,2v vCPU 1g ゲスト物理メモリ
1p,2p CPUパッケージ
11c,12c,13c,14c,21c,22c,23c,24c コア 10p,20p CPU
1a,2a キャッシュ 1b,2b メモリコントローラ
1r,2r I/Oコントローラ 1q,2q キャッシュコヒーレントインタフェース
1m,2m,10m,20m メモリ 1d,2d メモリアクセス監視部
10 OS 13 プロセス
1e 仮想メモリ
Claims (7)
- 第1プロセッサと、
前記第1プロセッサに接続されたメモリと、
前記メモリに対するアクセスを行う仮想マシンを実行する第2プロセッサと、
を有し、
前記第1プロセッサが、
前記仮想マシンがアクセスする前記メモリの領域からデータを読み出し、
読み出した前記データを、前記第1プロセッサのキャッシュに格納する、
処理を実行し、
前記第1プロセッサ又は前記第2プロセッサが、
前記仮想マシンが前記メモリに対して行ったアクセスについての情報を取得し、
前記データを読み出す処理において、
前記アクセスについての情報に基づき、前記仮想マシンがアクセスする前記メモリの領域を特定し、
特定された前記メモリの領域から、前記データを読み出す、
情報処理装置。 - 前記第1プロセッサ又は前記第2プロセッサが、
前記第2プロセッサのキャッシュミス回数の情報を取得し、
前記データを読み出す処理において、
取得された前記第2プロセッサのキャッシュミス回数の情報に基づき、前記データを読み出す方法を決定し、
特定された前記メモリの領域から、決定された前記方法によって前記データを読み出す、
請求項1記載の情報処理装置。 - 第1プロセッサと、
前記第1プロセッサに接続されたメモリと、
前記メモリに対するアクセスを行う仮想マシンを実行する第2プロセッサと、
を有し、
前記第1プロセッサが、
前記仮想マシンがアクセスする前記メモリの領域からデータを読み出し、
読み出した前記データを、前記第1プロセッサのキャッシュに格納する、
処理を実行し、
前記第1プロセッサはメモリコントローラを有し、
前記メモリコントローラは、前記仮想マシンが前記メモリに対して行ったアクセスの履歴情報を取得し、
前記データを読み出す処理において、
前記メモリコントローラにより取得された前記アクセスの履歴情報に基づき、前記仮想マシンがアクセスするメモリアドレスを特定し、
特定された前記メモリアドレスを含む領域から前記データを読み出す
情報処理装置。 - 前記メモリコントローラは、前記メモリに対するアクセスのうち前記仮想マシンによるアクセスを抽出するための条件を管理し、当該条件を満たすアクセスの履歴情報を取得する、
請求項3記載の情報処理装置。 - プロセッサが、
前記プロセッサに接続されたメモリに対するアクセスを行い且つ他のプロセッサにより実行される仮想マシンによってアクセスされる前記メモリの領域から、データを読み出し、
読み出した前記データを、前記プロセッサのキャッシュに格納する、
処理を実行するキャッシュ方法であって、
前記プロセッサ又は前記他のプロセッサが、
前記仮想マシンが前記メモリに対して行ったアクセスについての情報を取得し、
前記データを読み出す処理において、
前記アクセスについての情報に基づき、前記仮想マシンがアクセスする前記メモリの領域を特定し、
特定された前記メモリの領域から、前記データを読み出す、
キャッシュ方法。 - プロセッサが、
前記プロセッサに接続されたメモリに対するアクセスを行い且つ他のプロセッサにより実行される仮想マシンによってアクセスされる前記メモリの領域から、データを読み出し、
読み出した前記データを、前記プロセッサのキャッシュに格納する、
処理を実行するキャッシュ方法であって、
前記プロセッサはメモリコントローラを有し、
前記メモリコントローラは、前記仮想マシンが前記メモリに対して行ったアクセスの履歴情報を取得し、
前記データを読み出す処理において、
前記メモリコントローラにより取得された前記アクセスの履歴情報に基づき、前記仮想マシンがアクセスするメモリアドレスを特定し、
特定された前記メモリアドレスを含む領域から前記データを読み出す
キャッシュ方法。 - プロセッサに、
前記プロセッサに接続されたメモリに対するアクセスを行い且つ他のプロセッサにより実行される仮想マシンによってアクセスされる前記メモリの領域から、データを読み出し、
読み出した前記データを、前記プロセッサのキャッシュに格納する、
処理を実行させるキャッシュプログラムであって、
前記プロセッサ又は前記他のプロセッサに、
前記仮想マシンが前記メモリに対して行ったアクセスについての情報を取得させ、
前記データを読み出す処理において、
前記アクセスについての情報に基づき、前記仮想マシンがアクセスする前記メモリの領域を特定し、
特定された前記メモリの領域から、前記データを読み出す、
キャッシュプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015205339A JP6515779B2 (ja) | 2015-10-19 | 2015-10-19 | キャッシュ方法、キャッシュプログラム及び情報処理装置 |
US15/277,311 US20170109278A1 (en) | 2015-10-19 | 2016-09-27 | Method for caching and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015205339A JP6515779B2 (ja) | 2015-10-19 | 2015-10-19 | キャッシュ方法、キャッシュプログラム及び情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017078881A JP2017078881A (ja) | 2017-04-27 |
JP6515779B2 true JP6515779B2 (ja) | 2019-05-22 |
Family
ID=58523866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015205339A Active JP6515779B2 (ja) | 2015-10-19 | 2015-10-19 | キャッシュ方法、キャッシュプログラム及び情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170109278A1 (ja) |
JP (1) | JP6515779B2 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681309B2 (en) * | 2002-01-25 | 2004-01-20 | Hewlett-Packard Development Company, L.P. | Method and apparatus for measuring and optimizing spatial segmentation of electronic storage workloads |
JP4937022B2 (ja) * | 2007-07-13 | 2012-05-23 | 株式会社東芝 | 順序関係解析装置、方法及びプログラム |
US8719823B2 (en) * | 2009-03-04 | 2014-05-06 | Vmware, Inc. | Managing latency introduced by virtualization |
JP5573829B2 (ja) * | 2011-12-20 | 2014-08-20 | 富士通株式会社 | 情報処理装置およびメモリアクセス方法 |
JP6036457B2 (ja) * | 2013-03-25 | 2016-11-30 | 富士通株式会社 | 演算処理装置、情報処理装置及び情報処理装置の制御方法 |
KR20150090491A (ko) * | 2014-01-29 | 2015-08-06 | 삼성전자주식회사 | 전자 장치 및 전자 장치에서 데이터를 액세스하는 방법 |
-
2015
- 2015-10-19 JP JP2015205339A patent/JP6515779B2/ja active Active
-
2016
- 2016-09-27 US US15/277,311 patent/US20170109278A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20170109278A1 (en) | 2017-04-20 |
JP2017078881A (ja) | 2017-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9904473B2 (en) | Memory and processor affinity in a deduplicated environment | |
USRE49273E1 (en) | Switch and memory device | |
KR101626533B1 (ko) | 가비지 콜렉션을 위한 gpu 서포트 | |
US9239791B2 (en) | Cache swizzle with inline transposition | |
US10169087B2 (en) | Technique for preserving memory affinity in a non-uniform memory access data processing system | |
CN110865968B (zh) | 多核处理装置及其内核之间数据传输方法 | |
US20080071939A1 (en) | System and method for performance monitoring and reconfiguring computer system with hardware monitor | |
US20160197986A1 (en) | Host-side cache migration | |
US20140019738A1 (en) | Multicore processor system and branch predicting method | |
WO2014022402A1 (en) | Coherence management using a coherent domain table | |
US9542100B2 (en) | Management of memory pages | |
CN109977037B (zh) | 一种dma数据传输方法及系统 | |
KR20200135718A (ko) | 액세스 요청을 관리하기 위한 방법, 장치, 기기 및 저장 매체 | |
KR20200017364A (ko) | PCIe 메모리 요청들의 라우팅을 촉진하기 위해 NVMe 물리적 영역 페이지 목록 포인터들 및 데이터 포인터들을 수정 | |
JPWO2015046552A1 (ja) | ストレージシステムとノード装置とキャッシュ制御方法並びにプログラム | |
KR101587579B1 (ko) | 가상화 시스템에서 메모리 조정방법 | |
JP6974510B2 (ja) | データを処理するための方法、装置、デバイス及び媒体 | |
CN103902369A (zh) | 陷阱处理期间的协作线程阵列的粒度上下文切换 | |
US8862786B2 (en) | Program execution with improved power efficiency | |
JP2015143943A (ja) | 情報処理装置、制御方法、および制御プログラム | |
JP7003470B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2023505783A (ja) | Gpuパケット集約システム | |
JP6281442B2 (ja) | 割り当て制御プログラム、割り当て制御方法及び割り当て制御装置 | |
JP6515779B2 (ja) | キャッシュ方法、キャッシュプログラム及び情報処理装置 | |
KR102383040B1 (ko) | 홈 에이전트 기반 캐시 전송 가속 기법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180608 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190108 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190307 |
|
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: 20190319 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190401 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6515779 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |