JP5529194B2 - 限定された誤りによる遅延した更新によるソフトウェアキャッシュ処理 - Google Patents
限定された誤りによる遅延した更新によるソフトウェアキャッシュ処理 Download PDFInfo
- Publication number
- JP5529194B2 JP5529194B2 JP2012065030A JP2012065030A JP5529194B2 JP 5529194 B2 JP5529194 B2 JP 5529194B2 JP 2012065030 A JP2012065030 A JP 2012065030A JP 2012065030 A JP2012065030 A JP 2012065030A JP 5529194 B2 JP5529194 B2 JP 5529194B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- data
- cache
- memory
- threshold
- 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.)
- Expired - Fee Related
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/0815—Cache consistency protocols
- G06F12/0837—Cache consistency protocols with software control, e.g. non-cacheable data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Devices For Executing Special Programs (AREA)
Description
図2は、共有グローバルデータへの最適化されていないアクセスを示す。頻度の低いライトパス210は、共有データ220にあるルーティングテーブルを更新する。頻度の低いリードパス230は、パケットを処理するとき、各パケットプロセッサにより実行される。ルーティングされるすべてのパケットは、共有メモリのテーブル構成へのアクセスを生じさせる。一例では、ルーティングテーブルが更新されると、global_data221が、global_data221の共有データエリア220に格納される(211)。アプリケーションによりルーティングテーブルが読み込まれると(231)、共有データがglobal_data221から抽出される。
Claims (15)
- 遅延更新及び限定された誤りによるソフトウェアキャッシュ処理のためのシステムであって、
各プロセッサ要素が通信可能にメインメモリとキャッシュメモリとに接続され、キャッシュ値の遅延更新によって引き起こされるエラーに耐性のある最適化されたアプリケーション命令を実行する複数のプロセッサ要素を有するシステムと、
メインメモリの一部を更新する最適化更新モジュールと、
前記メインメモリの一部を抽出する最適化ロードモジュールと、
を有し、
前記更新は、前記メインメモリの一部の変化を示すよう更新フラグを設定し、
前記更新フラグは、前記メインメモリの一部を抽出する前に閾値に基づき定期的な間隔によりチェックされ、
前記メインメモリの一部は、前記更新フラグが変更を示し、前記閾値に到達するまで、利用可能である場合には、キャッシュメモリから抽出され、
前記メインメモリの一部は、予め最適化されたアプリケーション命令のIPA(InterProcedual Analysis)の結果に基づき選択される、システム。 - 前記閾値は、前記更新フラグをチェックする前に実行されるべき最大ロード数を特定する、請求項1記載のシステム。
- 前記閾値は、アプリケーションプロファイラによって決定される、請求項2記載のシステム。
- 前記閾値は、最適化前の最適化された命令におけるロード数及びストア数と、許容可能な最大エラーレートとの関数である、請求項3記載のシステム。
- 遅延更新及び限定された誤りによるソフトウェアキャッシュ処理のための最適化されたアプリケーションによって実行される方法であって、
データの選択された部分の変更に応答して、前記最適化されたアプリケーションにより共有メモリの前記データの選択された部分を更新するステップと、
前記データの選択された部分をロードするステップと、
を有し、
前記更新するステップはさらに、更新が行われたことを示す更新フラグを設定し、
前記最適化されたアプリケーションは、メモリパフォーマンスを向上させるため、更新されていないキャッシュメモリからの古いデータの限定的な抽出を許可するための許容可能なエラーレートを許容することによって、遅延に耐性のあるグローバルデータのキャッシュコヒーランスを緩和するようコンパイラにより最適化されたアプリケーションであり、
前記データの選択された部分は、前記更新フラグが更新が行われたことを示さず、かつ前記許容可能なエラーレートに基づき選択された閾値に到達していない場合、キャッシュメモリから抽出され、
前記更新フラグが更新が行われたことを示し、前記選択された閾値に到達しているとき、前記データの選択された部分が前記共有メモリから抽出され、
前記データの選択された部分は、予め最適化されたアプリケーション命令のIPA(Inter−Procedual Analysis)の結果に基づき選択される、方法。 - 前記選択された閾値は、前記更新フラグのチェック前に実行される最大ロード数を特定する、請求項5記載の方法。
- アプリケーションプロファイラによって前記閾値を決定するステップをさらに有する、請求項6記載の方法。
- 前記閾値は、最適化前の前記最適化されたアプリケーションにおけるロード数及びストア数と、許容可能な最大エラーレートとの関数である、請求項7記載の方法。
- 遅延更新及び限定された誤りによるソフトウェアキャッシュ処理のための命令を有するマシーンアクセス可能な記憶媒体であって、
前記命令は、アクセス時にマシーンに前記マシーン上で実行される最適化されたアプリケーションに、
共有メモリの選択されたデータ部分を更新することによって、前記選択されたデータ部分の変更に応答させ、
前記選択されたデータ部分をロードさせ、
前記更新はさらに、更新が行われたことを示す更新フラグを設定し、
前記最適化されたアプリケーションは、メモリパフォーマンスを向上させるため、更新されていないキャッシュメモリからの古いデータの限定的な抽出を許可するための許容可能なエラーレートを許容することによって、遅延に耐性のあるグローバルデータのキャッシュコヒーランスを緩和するようコンパイラにより最適化されたアプリケーションであり、
前記選択されたデータ部分は、前記更新フラグが更新が行われたことを示さず、かつ前記許容可能なエラーレートに基づき選択された閾値に到達していない場合にキャッシュメモリから抽出され、
前記更新フラグが、更新が行われたことを示し、前記選択された閾値に到達しているとき、前記選択されたデータ部分が前記共有メモリから抽出され、
前記選択されたデータ部分は、予め最適化されたアプリケーション命令のIPA(Inter−Procedual Analysis)の結果に基づき選択される、マシーンアクセス可能な記憶媒体。 - 前記選択された閾値は、前記更新フラグのチェック前に実行される最大ロード数を特定する、請求項9記載の記憶媒体。
- 前記命令はさらに、前記マシーンにアプリケーションプロファイラにより前記閾値を決定させる、請求項10記載の記憶媒体。
- 前記閾値は、最適化前の前記最適化されたアプリケーションにおけるロード数及びストア数と、許容可能な最大エラーレートとの関数である、請求項11記載の記憶媒体。
- アプリケーション命令は、メモリパフォーマンスを向上させるため、更新されていないキャッシュメモリからの古いデータの限定的な抽出を許可するための許容可能なエラーレートを許容するため、遅延に耐性のあるグローバルデータのキャッシュコヒーランスを緩和するようコンパイラにより最適化される、請求項1記載のシステム。
- 前記閾値は、実行期間中にアプリケーションコードにアクセス可能なメモリ、システムレジスタ又は他の位置の何れか1つにある、請求項1記載のシステム。
- マルチプロセッサ、マルチコア又はマルチプロセッサ・マルチコアプラットフォームの1つを含む、請求項1記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/993,957 | 2004-11-19 | ||
US10/993,957 US7529888B2 (en) | 2004-11-19 | 2004-11-19 | Software caching with bounded-error delayed update |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007543403A Division JP5000529B2 (ja) | 2004-11-19 | 2005-11-17 | 限定された誤りによる遅延した更新によるソフトウェアキャッシュ処理 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012150830A JP2012150830A (ja) | 2012-08-09 |
JP5529194B2 true JP5529194B2 (ja) | 2014-06-25 |
Family
ID=36061326
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007543403A Expired - Fee Related JP5000529B2 (ja) | 2004-11-19 | 2005-11-17 | 限定された誤りによる遅延した更新によるソフトウェアキャッシュ処理 |
JP2012065030A Expired - Fee Related JP5529194B2 (ja) | 2004-11-19 | 2012-03-22 | 限定された誤りによる遅延した更新によるソフトウェアキャッシュ処理 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007543403A Expired - Fee Related JP5000529B2 (ja) | 2004-11-19 | 2005-11-17 | 限定された誤りによる遅延した更新によるソフトウェアキャッシュ処理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7529888B2 (ja) |
EP (2) | EP1825363B1 (ja) |
JP (2) | JP5000529B2 (ja) |
KR (2) | KR101145733B1 (ja) |
CN (1) | CN101036124B (ja) |
WO (1) | WO2006055955A2 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006270303A (ja) * | 2005-03-23 | 2006-10-05 | Hitachi Ltd | 通信制御方法、通信制御装置および通信制御プログラムを記録した記憶媒体 |
US7493452B2 (en) * | 2006-08-18 | 2009-02-17 | International Business Machines Corporation | Method to efficiently prefetch and batch compiler-assisted software cache accesses |
US20080127214A1 (en) * | 2006-10-05 | 2008-05-29 | Holt John M | Contention detection with counter rollover |
WO2009027138A1 (en) * | 2007-08-30 | 2009-03-05 | International Business Machines Corporation | Accessing data entities |
US7453910B1 (en) | 2007-12-18 | 2008-11-18 | International Business Machines Corporation | Synchronization of independent clocks |
US8561043B2 (en) * | 2008-03-28 | 2013-10-15 | International Business Machines Corporation | Data transfer optimized software cache for irregular memory references |
US8527974B2 (en) * | 2008-03-28 | 2013-09-03 | International Business Machines Corporation | Data transfer optimized software cache for regular memory references |
US8561044B2 (en) * | 2008-10-07 | 2013-10-15 | International Business Machines Corporation | Optimized code generation targeting a high locality software cache |
US8312219B2 (en) * | 2009-03-02 | 2012-11-13 | International Business Machines Corporation | Hybrid caching techniques and garbage collection using hybrid caching techniques |
KR101644653B1 (ko) | 2010-03-19 | 2016-08-02 | 삼성전자주식회사 | 단말 적합성 애플리케이션 최적화장치 및 방법 |
WO2012043789A1 (ja) | 2010-09-30 | 2012-04-05 | ブラザー工業株式会社 | 印刷装置 |
US8676920B2 (en) * | 2010-12-08 | 2014-03-18 | GM Global Technology Operations LLC | Intelligent cache management protocol for vehicular networks |
CN102571419A (zh) * | 2011-12-19 | 2012-07-11 | 曙光信息产业(北京)有限公司 | 一种软硬件结合实现的端口列表高效管理系统和方法 |
US8850406B1 (en) * | 2012-04-05 | 2014-09-30 | Google Inc. | Detecting anomalous application access to contact information |
CN103246616B (zh) * | 2013-05-24 | 2017-09-26 | 浪潮电子信息产业股份有限公司 | 一种长短周期访问频度的全局共享缓存替换方法 |
US9426662B2 (en) | 2013-06-26 | 2016-08-23 | Cable Television Laboratories, Inc. | Capacity sharing between wireless systems |
KR20160003485A (ko) * | 2014-07-01 | 2016-01-11 | 삼성전자주식회사 | 원격 함수 호출을 위한 자동 코드 생성 |
US10091769B2 (en) | 2014-07-29 | 2018-10-02 | Cable Television Laboratories, Inc. | LTE signaling in RF bands with competing communication systems |
US9529531B2 (en) | 2014-10-06 | 2016-12-27 | Barefoot Networks, Inc. | Proxy hash table |
US10063479B2 (en) * | 2014-10-06 | 2018-08-28 | Barefoot Networks, Inc. | Fast adjusting load balancer |
US10067967B1 (en) | 2015-01-27 | 2018-09-04 | Barefoot Networks, Inc. | Hash table storing reduced search key |
JP6760967B2 (ja) | 2015-05-14 | 2020-09-23 | ケーブル テレビジョン ラボラトリーズ,インク. | リッスンビフォアトークシステムにおけるハイブリッド自動再送要求(harq) |
US10158573B1 (en) | 2017-05-01 | 2018-12-18 | Barefoot Networks, Inc. | Forwarding element with a data plane load balancer |
US10599567B2 (en) | 2017-10-06 | 2020-03-24 | International Business Machines Corporation | Non-coherent read in a strongly consistent cache system for frequently read but rarely updated data |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US11013043B2 (en) | 2019-01-08 | 2021-05-18 | Micron Technology, Inc. | Methods and apparatus for routine based fog networking |
US10957416B2 (en) | 2019-02-14 | 2021-03-23 | Micron Technology, Inc. | Methods and apparatus for maintaining characterized memory devices |
US11256778B2 (en) | 2019-02-14 | 2022-02-22 | Micron Technology, Inc. | Methods and apparatus for checking the results of characterized memory searches |
US11327551B2 (en) | 2019-02-14 | 2022-05-10 | Micron Technology, Inc. | Methods and apparatus for characterizing memory devices |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03266046A (ja) * | 1990-03-16 | 1991-11-27 | Nippon Telegr & Teleph Corp <Ntt> | データベース高速アクセス方法 |
JPH0410051A (ja) * | 1990-04-27 | 1992-01-14 | Hitachi Ltd | マルチプロセッサシステムの共有メモリ制御方法 |
US5249284A (en) | 1990-06-04 | 1993-09-28 | Ncr Corporation | Method and system for maintaining data coherency between main and cache memories |
EP0460852A3 (en) * | 1990-06-04 | 1992-08-05 | Ncr Corporation | System for maintaining data coherency between main and cache memories |
US5175856A (en) * | 1990-06-11 | 1992-12-29 | Supercomputer Systems Limited Partnership | Computer with integrated hierarchical representation (ihr) of program wherein ihr file is available for debugging and optimizing during target execution |
JPH04205234A (ja) * | 1990-11-30 | 1992-07-27 | Oki Electric Ind Co Ltd | データベース更新バッファ吐き出し装置 |
JPH0869405A (ja) * | 1994-08-30 | 1996-03-12 | Nec Software Ltd | 分散処理システムのメモリ共有化装置 |
JPH10124372A (ja) * | 1996-10-18 | 1998-05-15 | Nippon Telegr & Teleph Corp <Ntt> | 自律キャッシュ制御システム |
US5909698A (en) * | 1997-03-17 | 1999-06-01 | International Business Machines Corporation | Cache block store instruction operations where cache coherency is achieved without writing all the way back to main memory |
JP3563591B2 (ja) * | 1997-09-29 | 2004-09-08 | 株式会社リコー | 分散型データベースシステムの一貫性管理方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6134710A (en) * | 1998-06-26 | 2000-10-17 | International Business Machines Corp. | Adaptive method and system to minimize the effect of long cache misses |
US6370614B1 (en) | 1999-01-26 | 2002-04-09 | Motive Power, Inc. | I/O cache with user configurable preload |
JP2002157158A (ja) * | 2000-11-20 | 2002-05-31 | Hitachi Ltd | データベースシステムにおけるデータ管理方法 |
JP3661614B2 (ja) * | 2001-07-12 | 2005-06-15 | 日本電気株式会社 | キャッシュメモリ制御方法及びマルチプロセッサシステム |
JP3632635B2 (ja) * | 2001-07-18 | 2005-03-23 | 日本電気株式会社 | マルチスレッド実行方法及び並列プロセッサシステム |
US6792510B1 (en) * | 2002-02-14 | 2004-09-14 | Novell, Inc. | System and method for updating a cache |
JP4381655B2 (ja) * | 2002-05-31 | 2009-12-09 | 株式会社日立製作所 | ストレージシステム、ストレージ装置、及び該ストレージ装置を利用した情報共有方法 |
JP3801545B2 (ja) * | 2002-08-02 | 2006-07-26 | 松下電器産業株式会社 | コンパイラ用プログラム、コンパイラ装置及びコンパイル方法 |
US7356813B2 (en) | 2002-09-26 | 2008-04-08 | Hewlett-Packard Development Company, L.P. | System and method for optimizing a program |
-
2004
- 2004-11-19 US US10/993,957 patent/US7529888B2/en not_active Expired - Fee Related
-
2005
- 2005-11-17 EP EP05824735.4A patent/EP1825363B1/en not_active Not-in-force
- 2005-11-17 JP JP2007543403A patent/JP5000529B2/ja not_active Expired - Fee Related
- 2005-11-17 CN CN2005800336115A patent/CN101036124B/zh not_active Expired - Fee Related
- 2005-11-17 KR KR1020097025188A patent/KR101145733B1/ko not_active IP Right Cessation
- 2005-11-17 WO PCT/US2005/042334 patent/WO2006055955A2/en active Application Filing
- 2005-11-17 EP EP08006523.8A patent/EP1965302B1/en not_active Not-in-force
- 2005-11-17 KR KR1020077007265A patent/KR100953458B1/ko not_active IP Right Cessation
-
2012
- 2012-03-22 JP JP2012065030A patent/JP5529194B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1825363A2 (en) | 2007-08-29 |
KR100953458B1 (ko) | 2010-04-16 |
JP2012150830A (ja) | 2012-08-09 |
KR101145733B1 (ko) | 2012-05-22 |
EP1825363B1 (en) | 2017-05-17 |
KR20100017577A (ko) | 2010-02-16 |
CN101036124A (zh) | 2007-09-12 |
EP1965302A1 (en) | 2008-09-03 |
WO2006055955A2 (en) | 2006-05-26 |
WO2006055955A3 (en) | 2007-01-11 |
JP2008521146A (ja) | 2008-06-19 |
JP5000529B2 (ja) | 2012-08-15 |
EP1965302B1 (en) | 2015-07-29 |
US20060112237A1 (en) | 2006-05-25 |
CN101036124B (zh) | 2010-07-21 |
KR20070052335A (ko) | 2007-05-21 |
US7529888B2 (en) | 2009-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5529194B2 (ja) | 限定された誤りによる遅延した更新によるソフトウェアキャッシュ処理 | |
US7350024B2 (en) | Automatic generation of software-controlled caching and ordered synchronization | |
KR102661543B1 (ko) | 요청에 의해 캐시 유입을 상위 레벨 캐시로 로깅 | |
US6141692A (en) | Directory-based, shared-memory, scaleable multiprocessor computer system having deadlock-free transaction flow sans flow control protocol | |
US8397219B2 (en) | Method and apparatus for tracking enregistered memory locations | |
US11409506B2 (en) | Data plane semantics for software virtual switches | |
KR20200123187A (ko) | 상위 계층 캐시의 항목을 기반으로 하위 계층 캐시로의 유입을 로깅함으로써 트레이스 기록 | |
US20010003839A1 (en) | Data access method in the network system and the network system | |
US8825718B2 (en) | Methods and apparatus for marking objects for garbage collection in an object-based memory system | |
KR20150057798A (ko) | 캐시 제어 장치 및 방법 | |
JP2003186742A (ja) | ディレクトリ・キャッシュの更新 | |
US20070055825A1 (en) | Managing coherence via put/get windows | |
US20090276581A1 (en) | Method, system and apparatus for reducing memory traffic in a distributed memory system | |
US9542313B2 (en) | Parallel computer system, control method of parallel computer system, information processing device, arithmetic processing device, and communication control device | |
Muthukrishnan et al. | Finepack: Transparently improving the efficiency of fine-grained transfers in multi-gpu systems | |
CN111078620A (zh) | 具有软件-硬件共同管理的高速缓存系统的多核处理器 | |
JP2007272691A (ja) | プロセッサ装置およびスラッシング回避方法 | |
JP2003510685A (ja) | キャッシュ置換方法および装置 | |
US9430397B2 (en) | Processor and control method thereof | |
Kim et al. | DCOS: cache embedded switch architecture for distributed shared memory multiprocessor SoCs | |
Butelle et al. | A model for coherent distributed memory for race condition detection | |
JPH08137748A (ja) | コピーバックキャッシュを有するコンピュータ及びコピーバックキャッシュ制御方法 | |
Agarwal et al. | Using CoDeL to rapidly prototype network processsor extensions | |
Si | A structure-aware approach for efficient graph processing | |
Park | Adaptive Granularity: Transparent Integration of Fine-Grain and Coarse Grain Communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131016 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131029 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140127 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140130 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140228 |
|
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: 20140318 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140416 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5529194 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |