JP6432333B2 - 情報処理装置、データ処理方法、およびデータ処理プログラム - Google Patents
情報処理装置、データ処理方法、およびデータ処理プログラム Download PDFInfo
- Publication number
- JP6432333B2 JP6432333B2 JP2014254588A JP2014254588A JP6432333B2 JP 6432333 B2 JP6432333 B2 JP 6432333B2 JP 2014254588 A JP2014254588 A JP 2014254588A JP 2014254588 A JP2014254588 A JP 2014254588A JP 6432333 B2 JP6432333 B2 JP 6432333B2
- Authority
- JP
- Japan
- Prior art keywords
- storage area
- cache
- size
- processing apparatus
- information processing
- 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/0893—Caches characterised by their organisation or structure
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- 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/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
図3は、情報処理装置100の機能構成例を示すブロック図である。情報処理装置100は、制御部300を有する。制御部300は、取得部301と、判定部302と、算出部303と、設定部304とを有する。制御部300は、記憶装置に記憶されたプログラムをCPU201が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図2に示したROM202、RAM203、ディスク205などである。また、各部の処理結果は、CPU201のレジスタや、CPU201のキャッシュメモリ等に格納される。
取得した前記キャッシュミスの数が所定数以上であれば、前記確保要求により呼び出される前記特定のルーチンが確保する新たな記憶領域を前記確保した記憶領域からずらして設定する、
制御部を有することを特徴とする情報処理装置。
前記新たな記憶領域を、前記記憶部のいずれかの記憶領域に対応付いたキャッシュラインの数でキャッシュメモリを分割した領域の半分のサイズ分前記確保した記憶領域からずらして設定することを特徴とする付記1に記載の情報処理装置。
前記確保要求を複数回行った結果、前記分割した領域のサイズと、取得した前記キャッシュミスの数が前記所定数以上となった回数とに基づいて、前記特定のルーチンが新たな記憶領域を確保する際にずらすサイズを算出し、
確保した記憶領域から算出した前記サイズ分ずらして新たな記憶領域を設定することを特徴とする付記2に記載の情報処理装置。
前記確保要求を複数回行った結果、前記分割した領域のサイズを、2の前記回数乗で除することにより、新たな記憶領域を確保する際にずらすサイズを算出し、
算出した前記サイズ分確保した記憶領域からずらして新たな記憶領域を設定することを特徴とする付記3に記載の情報処理装置。
記憶部の記憶領域の確保要求により呼び出された特定のルーチンが確保した記憶領域に対するアクセス要求に応じて生じたキャッシュミスの数を取得し、
取得した前記キャッシュミスの数が所定数以上であれば、前記確保要求により呼び出される前記特定のルーチンが確保する新たな記憶領域を前記確保した記憶領域からずらして設定する、
処理を実行することを特徴とするデータ処理方法。
記憶部の記憶領域の確保要求により呼び出された特定のルーチンが確保した記憶領域に対するアクセス要求に応じて生じたキャッシュミスの数を取得し、
取得した前記キャッシュミスの数が所定数以上であれば、前記確保要求により呼び出される前記特定のルーチンが確保する新たな記憶領域を前記確保した記憶領域からずらして設定する、
処理を実行させることを特徴とするデータ処理プログラム。
102 記憶部
103 L1キャッシュメモリ
300 制御部
301 取得部
302 判定部
303 算出部
304 設定部
310 スラッシング情報テーブル
Claims (3)
- 記憶部の記憶領域の確保要求により呼び出された特定のルーチンが確保した記憶領域に対するアクセス要求に応じて生じたキャッシュミスの数を取得し、
取得した前記キャッシュミスの数が所定数以上であれば、前記確保要求により呼び出される前記特定のルーチンが確保する新たな記憶領域を、前記記憶部のいずれかの記憶領域に対応付いたキャッシュラインの数でキャッシュメモリを分割した領域の半分のサイズ分前記確保した記憶領域からずらして設定し、
前記確保要求を複数回行った結果、前記分割した領域のサイズと、取得した前記キャッシュミスの数が前記所定数以上となった回数とに基づいて、前記特定のルーチンが新たな記憶領域を確保する際にずらすサイズを算出し、
確保した記憶領域から算出した前記サイズ分ずらして新たな記憶領域を設定する、
制御部を有することを特徴とする情報処理装置。 - コンピュータが、
記憶部の記憶領域の確保要求により呼び出された特定のルーチンが確保した記憶領域に対するアクセス要求に応じて生じたキャッシュミスの数を取得し、
取得した前記キャッシュミスの数が所定数以上であれば、前記確保要求により呼び出される前記特定のルーチンが確保する新たな記憶領域を、前記記憶部のいずれかの記憶領域に対応付いたキャッシュラインの数でキャッシュメモリを分割した領域の半分のサイズ分前記確保した記憶領域からずらして設定し、
前記確保要求を複数回行った結果、前記分割した領域のサイズと、取得した前記キャッシュミスの数が前記所定数以上となった回数とに基づいて、前記特定のルーチンが新たな記憶領域を確保する際にずらすサイズを算出し、
確保した記憶領域から算出した前記サイズ分ずらして新たな記憶領域を設定する、
処理を実行することを特徴とするデータ処理方法。 - コンピュータに、
記憶部の記憶領域の確保要求により呼び出された特定のルーチンが確保した記憶領域に対するアクセス要求に応じて生じたキャッシュミスの数を取得し、
取得した前記キャッシュミスの数が所定数以上であれば、前記確保要求により呼び出される前記特定のルーチンが確保する新たな記憶領域を、前記記憶部のいずれかの記憶領域に対応付いたキャッシュラインの数でキャッシュメモリを分割した領域の半分のサイズ分前記確保した記憶領域からずらして設定し、
前記確保要求を複数回行った結果、前記分割した領域のサイズと、取得した前記キャッシュミスの数が前記所定数以上となった回数とに基づいて、前記特定のルーチンが新たな記憶領域を確保する際にずらすサイズを算出し、
確保した記憶領域から算出した前記サイズ分ずらして新たな記憶領域を設定する、
処理を実行させることを特徴とするデータ処理プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014254588A JP6432333B2 (ja) | 2014-12-16 | 2014-12-16 | 情報処理装置、データ処理方法、およびデータ処理プログラム |
US14/922,717 US9864693B2 (en) | 2014-12-16 | 2015-10-26 | Data processing method, information processing device, and recording medium |
EP15192830.6A EP3035196A3 (en) | 2014-12-16 | 2015-11-03 | Data processing method, information processing device, and data processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014254588A JP6432333B2 (ja) | 2014-12-16 | 2014-12-16 | 情報処理装置、データ処理方法、およびデータ処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016115213A JP2016115213A (ja) | 2016-06-23 |
JP6432333B2 true JP6432333B2 (ja) | 2018-12-05 |
Family
ID=54366087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014254588A Active JP6432333B2 (ja) | 2014-12-16 | 2014-12-16 | 情報処理装置、データ処理方法、およびデータ処理プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9864693B2 (ja) |
EP (1) | EP3035196A3 (ja) |
JP (1) | JP6432333B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7297635B2 (ja) | 2019-10-15 | 2023-06-26 | 相互印刷株式会社 | 包装用箱 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437732B2 (en) * | 2016-12-14 | 2019-10-08 | Intel Corporation | Multi-level cache with associativity collision compensation |
JP6981087B2 (ja) * | 2017-08-03 | 2021-12-15 | 富士通株式会社 | 情報処理装置、方法、及びプログラム |
US11436524B2 (en) * | 2018-09-28 | 2022-09-06 | Amazon Technologies, Inc. | Hosting machine learning models |
US11562288B2 (en) | 2018-09-28 | 2023-01-24 | Amazon Technologies, Inc. | Pre-warming scheme to load machine learning models |
CN113778326A (zh) * | 2021-02-23 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 数据处理方法、装置、设备、介质及程序产品 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5630097A (en) * | 1991-06-17 | 1997-05-13 | Digital Equipment Corporation | Enhanced cache operation with remapping of pages for optimizing data relocation from addresses causing cache misses |
US5943691A (en) * | 1995-12-27 | 1999-08-24 | Sun Microsystems, Inc. | Determination of array padding using collision vectors |
US6041393A (en) * | 1996-08-23 | 2000-03-21 | Hewlett-Packard Co. | Array padding for higher memory throughput in the presence of dirty misses |
JPH10207772A (ja) | 1997-01-23 | 1998-08-07 | Hitachi Ltd | キャッシュミス予測方法 |
US6134710A (en) | 1998-06-26 | 2000-10-17 | International Business Machines Corp. | Adaptive method and system to minimize the effect of long cache misses |
JP2002014868A (ja) * | 2000-06-28 | 2002-01-18 | Hitachi Ltd | メモリ参照動作検出機構を有するマイクロプロセッサおよびコンパイル方法 |
CA2363182C (en) * | 2001-11-19 | 2006-06-06 | Ibm Canada Limited-Ibm Canada Limitee | Automatic program restructuring to reduce average cache miss penalty |
JP2003323341A (ja) * | 2002-05-07 | 2003-11-14 | Fujitsu Ltd | キャッシュミス回避装置 |
US6951015B2 (en) * | 2002-05-30 | 2005-09-27 | Hewlett-Packard Development Company, L.P. | Prefetch insertion by correlation of cache misses and previously executed instructions |
JP4177681B2 (ja) | 2003-02-20 | 2008-11-05 | 学校法人早稲田大学 | コンパイル方法、コンパイラ、およびコンパイル装置 |
US7237084B2 (en) * | 2003-10-27 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | Method and program product for avoiding cache congestion by offsetting addresses while allocating memory |
EP1870814B1 (en) * | 2006-06-19 | 2014-08-13 | Texas Instruments France | Method and apparatus for secure demand paging for processor devices |
US8484274B2 (en) * | 2009-08-27 | 2013-07-09 | The United States of America represented by the Administrator of the National Aeronautics Space Administration | Optimal padding for the two-dimensional fast fourier transform |
JP5283128B2 (ja) | 2009-12-16 | 2013-09-04 | 学校法人早稲田大学 | プロセッサによって実行可能なコードの生成方法、記憶領域の管理方法及びコード生成プログラム |
US10241707B2 (en) * | 2013-05-23 | 2019-03-26 | Intel Corporation | Techniques for organizing three-dimensional array data |
US9858196B2 (en) * | 2014-08-19 | 2018-01-02 | Qualcomm Incorporated | Power aware padding |
-
2014
- 2014-12-16 JP JP2014254588A patent/JP6432333B2/ja active Active
-
2015
- 2015-10-26 US US14/922,717 patent/US9864693B2/en active Active
- 2015-11-03 EP EP15192830.6A patent/EP3035196A3/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7297635B2 (ja) | 2019-10-15 | 2023-06-26 | 相互印刷株式会社 | 包装用箱 |
Also Published As
Publication number | Publication date |
---|---|
JP2016115213A (ja) | 2016-06-23 |
US20160170894A1 (en) | 2016-06-16 |
US9864693B2 (en) | 2018-01-09 |
EP3035196A2 (en) | 2016-06-22 |
EP3035196A3 (en) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6432333B2 (ja) | 情報処理装置、データ処理方法、およびデータ処理プログラム | |
CN101957773B (zh) | 用于多轮次动态概要分析的方法及其系统 | |
Nguyen et al. | Memory allocation for embedded systems with a compile-time-unknown scratch-pad size | |
JP2004206644A (ja) | ヒープサイズ自動最適化処理方法,ヒープサイズ自動最適化装置,そのプログラムおよびプログラム記録媒体 | |
US6360361B1 (en) | Field reordering to optimize cache utilization | |
US6002875A (en) | Method for the reduction of instruction cache miss rate using optimization data from trace data profiles | |
US20110145503A1 (en) | On-line optimization of software instruction cache | |
US8510529B2 (en) | Method for generating program and method for operating system | |
JP6705443B2 (ja) | データ配置先決定装置、方法およびプログラム | |
JP5278538B2 (ja) | コンパイルシステム、コンパイル方法およびコンパイルプログラム | |
US7120775B2 (en) | Inter-procedural allocation of stacked registers for a processor | |
WO2021114757A1 (zh) | 计算图的优化方法、装置、计算机设备和存储介质 | |
JP4592367B2 (ja) | プログラムセクションレイアウト方法およびレイアウト処理プログラム | |
US8671398B2 (en) | Working set profiler | |
Zhang et al. | Optimizing data allocation for loops on embedded systems with scratch-pad memory | |
WO2023221626A1 (zh) | 一种内存分配的方法和装置 | |
US20110238945A1 (en) | Apparatus and method for generating code overlay | |
JP4600700B2 (ja) | プログラムのメモリ空間への配置方法、装置、およびプログラム | |
Chakraborty et al. | Integrating software caches with scratch pad memory | |
JP3638171B2 (ja) | 資源割付装置 | |
JP6519228B2 (ja) | データ配置決定装置、データ配置決定プログラム及びデータ配置決定方法 | |
US8341354B2 (en) | Cache coloring method and apparatus based on function strength information | |
KR101109009B1 (ko) | 비정규 리덕션의 병렬화 방법 | |
JP6524733B2 (ja) | 並列演算装置、並列演算システム、およびジョブ制御プログラム | |
JP7239827B2 (ja) | 情報処理装置及びコンパイラプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171113 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180717 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180724 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180925 |
|
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: 20181009 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181022 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6432333 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |