JP2017510925A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2017510925A5 JP2017510925A5 JP2017502751A JP2017502751A JP2017510925A5 JP 2017510925 A5 JP2017510925 A5 JP 2017510925A5 JP 2017502751 A JP2017502751 A JP 2017502751A JP 2017502751 A JP2017502751 A JP 2017502751A JP 2017510925 A5 JP2017510925 A5 JP 2017510925A5
- Authority
- JP
- Japan
- Prior art keywords
- cache line
- version
- source
- duplicate
- version value
- 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
- 230000004044 response Effects 0.000 claims 5
- 230000000644 propagated Effects 0.000 claims 2
- 238000004590 computer program Methods 0.000 claims 1
- 230000001902 propagating Effects 0.000 claims 1
Claims (15)
- 方法であって、
ローカルノードのメモリにおいて、ソースノード上のソースキャッシュラインのコピーを保持するための複製キャッシュラインを生成するステップを備え、前記複製キャッシュラインは、バージョンビットとデータビットとを含み、前記バージョンビットは、バージョン値に設定され、
前記複製キャッシュラインを指し示すポインタを生成するステップを備え、前記ポインタの値は、前記バージョン値を含み、
前記ポインタを用いて、前記複製キャッシュラインに対してメモリ操作を実行するステップを備え、
前記メモリ操作を実行するステップは、
前記ポインタに含まれるバージョン値と、前記複製キャッシュラインの前記バージョンビットが設定された前記バージョン値とを比較するステップと、
前記比較に基づいて、メモリ破損が発生しているか否かを判断するステップとを含む、方法。 - 前記複製キャッシュラインを生成するステップは、
前記ソースキャッシュラインのバージョン値を判断するステップと、
前記バージョンビットを前記ソースキャッシュラインのバージョン値に設定するステップとを含む、請求項1に記載の方法。 - 前記バージョン値は、メモリ割り当て要求に応答して、前記ソースノードによって生成される、請求項2に記載の方法。
- 前記バージョン値を比較するステップは、
前記複製キャッシュラインが無効であるか否かを判断するステップと、
前記複製キャッシュラインが無効であるという決定に応答して、前記ソースキャッシュラインを前記複製キャッシュラインにコピーするステップとを含む、請求項1〜3のいずれか1項に記載の方法。 - 前記ローカルノードによって、前記ソースキャッシュラインに伝播されていない複製キャッシュラインの1つ以上のアップデートをストアバッファに格納するステップと、
前記複製キャッシュラインが無効であるという決定に応答して、前記1つ以上のアップデートを前記複製キャッシュラインに伝播するステップとをさらに備える、請求項4に記載の方法。 - メモリ破損が発生した場合、トラップ操作を実行するステップをさらに備える、請求項1〜5のいずれか1項に記載の方法。
- 前記トラップ操作を実行するステップは、メモリ破損が発生したことをアプリケーションに通知するステップを含む、請求項6に記載の方法。
- 前記トラップ操作を実行するステップは、前記メモリ操作を終了させるステップを含む、請求項6に記載の方法。
- コンピュータシステムであって、
1つ以上のコンピューティングノードを備え、前記1つ以上のコンピューティングノードの各コンピューティングノードは、
前記各コンピューティングノードのメモリにおいて、前記1つ以上のコンピューティングノードに属するソースノード上のソースキャッシュラインのコピーを保持するための複製キャッシュラインを生成するように構成され、前記複製キャッシュラインは、バージョンビットとデータビットとを含み、前記バージョンビットは、バージョン値に設定され、
前記複製キャッシュラインを指し示すポインタを生成するように構成され、前記ポインタの値は、前記バージョン値を含み、
前記ポインタを用いて、前記複製キャッシュラインに対してメモリ操作を実行するように構成され、
前記メモリ操作は、
前記ポインタに含まれるバージョン値と、前記複製キャッシュラインの前記バージョンビットが設定された前記バージョン値とを比較するステップと、
前記比較に基づいて、前記複製キャッシュラインが破損しているか否かを判断するステップとを含む、システム。 - 複製キャッシュラインを生成するために、前記1つ以上のコンピューティングノードの各コンピューティングノードは、前記ソースキャッシュラインのバージョン値を判断し、前記バージョンビットを前記ソースキャッシュラインのバージョン値に設定するように構成されている、請求項9に記載のシステム。
- 前記バージョン値は、ソースノードによって、前記1つ以上のコンピューティングノードのコンピューティングノード毎に生成され、
前記ソースノードは、メモリ割り当て要求に応答して、バージョン値を生成するように構成されている、請求項10に記載のシステム。 - 前記1つ以上のコンピューティングノードのコンピューティングノード毎に前記バージョン値を比較するために、各コンピューティングノードは、前記複製キャッシュラインが無効であるか否かを判断し、前記複製キャッシュラインが無効である場合、前記ソースキャッシュラインを前記複製キャッシュラインにコピーするように構成されている、請求項9〜11のいずれか1項に記載のシステム。
- 各コンピューティングノードは、前記1つ以上のコンピューティングノードのコンピューティングノード毎に、
前記ソースキャッシュラインに伝播されていない複製キャッシュラインの1つ以上のアップデートをストアバッファに格納し、
前記複製キャッシュラインが無効であるという決定に応答して、前記1つ以上のアップデートを前記複製キャッシュラインに伝播するように構成されている、請求項9〜12のいずれか1項に記載のシステム。 - 前記1つ以上のコンピューティングノードのコンピューティングノード毎にトラップ操作を実行するために、1つ以上のコンピューティングノードは、メモリ破損が発生した場合、トラップ操作を実行するように構成されている、請求項9〜13のいずれか1項に記載のシステム。
- 1つ以上のプロセッサによって実行されると、請求項1〜8のいずれか1項に記載の方法を実行される命令を含むコンピュータプログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461972082P | 2014-03-28 | 2014-03-28 | |
US61/972,082 | 2014-03-28 | ||
US14/530,354 | 2014-10-31 | ||
US14/530,354 US9898414B2 (en) | 2014-03-28 | 2014-10-31 | Memory corruption detection support for distributed shared memory applications |
PCT/US2015/019587 WO2015148100A1 (en) | 2014-03-28 | 2015-03-10 | Memory corruption detection support for distributed shared memory applications |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017510925A JP2017510925A (ja) | 2017-04-13 |
JP2017510925A5 true JP2017510925A5 (ja) | 2018-03-08 |
JP6588080B2 JP6588080B2 (ja) | 2019-10-09 |
Family
ID=54190571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017502751A Active JP6588080B2 (ja) | 2014-03-28 | 2015-03-10 | 分散型共有メモリアプリケーションのメモリ破損の検出サポート |
Country Status (5)
Country | Link |
---|---|
US (1) | US9898414B2 (ja) |
EP (1) | EP3123331B1 (ja) |
JP (1) | JP6588080B2 (ja) |
CN (1) | CN106164870B (ja) |
WO (1) | WO2015148100A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9292569B2 (en) | 2012-10-02 | 2016-03-22 | Oracle International Corporation | Semi-join acceleration |
US9679084B2 (en) | 2013-03-14 | 2017-06-13 | Oracle International Corporation | Memory sharing across distributed nodes |
US9858140B2 (en) | 2014-11-03 | 2018-01-02 | Intel Corporation | Memory corruption detection |
US10073727B2 (en) * | 2015-03-02 | 2018-09-11 | Intel Corporation | Heap management for memory corruption detection |
US9619313B2 (en) | 2015-06-19 | 2017-04-11 | Intel Corporation | Memory write protection for memory corruption detection architectures |
US10162694B2 (en) * | 2015-12-21 | 2018-12-25 | Intel Corporation | Hardware apparatuses and methods for memory corruption detection |
US10191791B2 (en) | 2016-07-02 | 2019-01-29 | Intel Corporation | Enhanced address space layout randomization |
US10803039B2 (en) | 2017-05-26 | 2020-10-13 | Oracle International Corporation | Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory hash index |
EP3502898A1 (en) * | 2017-12-20 | 2019-06-26 | Vestel Elektronik Sanayi ve Ticaret A.S. | Devices and methods for determining possible corruption of data stored in a memory of an electronic device |
US10467139B2 (en) | 2017-12-29 | 2019-11-05 | Oracle International Corporation | Fault-tolerant cache coherence over a lossy network |
US10452547B2 (en) | 2017-12-29 | 2019-10-22 | Oracle International Corporation | Fault-tolerant cache coherence over a lossy network |
CN111198746B (zh) * | 2018-11-20 | 2023-05-30 | 中标软件有限公司 | 在虚拟化集群中基于共享存储的主机间的通信方法及系统 |
CN113312385A (zh) * | 2020-07-07 | 2021-08-27 | 阿里巴巴集团控股有限公司 | 缓存操作方法、装置及系统,存储介质和操作设备 |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4817140A (en) | 1986-11-05 | 1989-03-28 | International Business Machines Corp. | Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor |
US5133053A (en) | 1987-02-13 | 1992-07-21 | International Business Machines Corporation | Interprocess communication queue location transparency |
JPH0619785A (ja) | 1992-03-27 | 1994-01-28 | Matsushita Electric Ind Co Ltd | 分散共有仮想メモリーとその構成方法 |
DE69424597T2 (de) | 1993-06-17 | 2001-03-01 | Sun Microsystems, Inc. | Erweiterbares Dateiensystem |
US5684977A (en) | 1995-03-31 | 1997-11-04 | Sun Microsystems, Inc. | Writeback cancellation processing system for use in a packet switched cache coherent multiprocessor system |
KR0175499B1 (ko) | 1996-09-11 | 1999-04-01 | 양승택 | 다중태그 구조의 계층 상호연결망에서의 브로드캐스트 전송방법 |
US6148377A (en) | 1996-11-22 | 2000-11-14 | Mangosoft Corporation | Shared memory computer networks |
US6151688A (en) | 1997-02-21 | 2000-11-21 | Novell, Inc. | Resource management in a clustered computer system |
US6292705B1 (en) | 1998-09-29 | 2001-09-18 | Conexant Systems, Inc. | Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system |
US6230240B1 (en) | 1998-06-23 | 2001-05-08 | Hewlett-Packard Company | Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface |
JP3583657B2 (ja) | 1998-09-30 | 2004-11-04 | 株式会社東芝 | 中継装置及び通信装置 |
US6633891B1 (en) * | 1998-11-24 | 2003-10-14 | Oracle International Corporation | Managing replacement of data in a cache on a node based on caches of other nodes |
US6295571B1 (en) | 1999-03-19 | 2001-09-25 | Times N Systems, Inc. | Shared memory apparatus and method for multiprocessor systems |
US6697919B2 (en) * | 2000-06-10 | 2004-02-24 | Hewlett-Packard Development Company, L.P. | System and method for limited fanout daisy chaining of cache invalidation requests in a shared-memory multiprocessor system |
US6917987B2 (en) | 2001-03-26 | 2005-07-12 | Intel Corporation | Methodology and mechanism for remote key validation for NGIO/InfiniBand™ applications |
US7013353B2 (en) | 2001-03-30 | 2006-03-14 | Intel Corporation | Host-fabric adapter having an efficient multi-tasking pipelined instruction execution micro-controller subsystem |
US6789143B2 (en) | 2001-09-24 | 2004-09-07 | International Business Machines Corporation | Infiniband work and completion queue management via head and tail circular buffers with indirect work queue entries |
US6854032B2 (en) | 2001-12-04 | 2005-02-08 | Sun Microsystems, Inc. | System for accessing a region of memory using remote address translation and using a memory window table and a memory region table |
US6757790B2 (en) | 2002-02-19 | 2004-06-29 | Emc Corporation | Distributed, scalable data storage facility with cache memory |
US7197647B1 (en) * | 2002-09-30 | 2007-03-27 | Carnegie Mellon University | Method of securing programmable logic configuration data |
US20060098649A1 (en) | 2004-11-10 | 2006-05-11 | Trusted Network Technologies, Inc. | System, apparatuses, methods, and computer-readable media for determining security realm identity before permitting network connection |
JP2004054906A (ja) * | 2003-05-21 | 2004-02-19 | Hitachi Ltd | メモリアクセス方法およびその実施コンピュータシステム |
US7664938B1 (en) * | 2004-01-07 | 2010-02-16 | Xambala Corporation | Semantic processor systems and methods |
US20060095690A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method, and storage medium for shared key index space for memory regions |
US8255922B1 (en) | 2006-01-09 | 2012-08-28 | Oracle America, Inc. | Mechanism for enabling multiple processes to share physical memory |
US20080010417A1 (en) | 2006-04-28 | 2008-01-10 | Zeffer Hakan E | Read/Write Permission Bit Support for Efficient Hardware to Software Handover |
US20080065835A1 (en) * | 2006-09-11 | 2008-03-13 | Sun Microsystems, Inc. | Offloading operations for maintaining data coherence across a plurality of nodes |
US8504791B2 (en) * | 2007-01-26 | 2013-08-06 | Hicamp Systems, Inc. | Hierarchical immutable content-addressable memory coprocessor |
US7882210B2 (en) | 2007-08-02 | 2011-02-01 | Sap Ag | Dynamic agent formation for efficient data provisioning |
US8229945B2 (en) | 2008-03-20 | 2012-07-24 | Schooner Information Technology, Inc. | Scalable database management software on a cluster of nodes using a shared-distributed flash memory |
US8732386B2 (en) * | 2008-03-20 | 2014-05-20 | Sandisk Enterprise IP LLC. | Sharing data fabric for coherent-distributed caching of multi-node shared-distributed flash memory |
US8108361B2 (en) | 2008-07-31 | 2012-01-31 | Microsoft Corporation | Efficient column based data encoding for large-scale data storage |
US8275815B2 (en) * | 2008-08-25 | 2012-09-25 | International Business Machines Corporation | Transactional processing for clustered file systems |
US20100088309A1 (en) | 2008-10-05 | 2010-04-08 | Microsoft Corporation | Efficient large-scale joining for querying of column based data encoded structures |
US8195891B2 (en) * | 2009-03-30 | 2012-06-05 | Intel Corporation | Techniques to perform power fail-safe caching without atomic metadata |
US8856593B2 (en) | 2010-04-12 | 2014-10-07 | Sandisk Enterprise Ip Llc | Failure recovery using consensus replication in a distributed flash memory system |
US8516268B2 (en) | 2010-08-23 | 2013-08-20 | Raytheon Company | Secure field-programmable gate array (FPGA) architecture |
US8972746B2 (en) * | 2010-12-17 | 2015-03-03 | Intel Corporation | Technique for supporting multiple secure enclaves |
US8756363B2 (en) * | 2011-07-07 | 2014-06-17 | Oracle International Corporation | Efficient storage of memory version data |
US8751736B2 (en) * | 2011-08-02 | 2014-06-10 | Oracle International Corporation | Instructions to set and read memory version information |
US8572441B2 (en) * | 2011-08-05 | 2013-10-29 | Oracle International Corporation | Maximizing encodings of version control bits for memory corruption detection |
US8601473B1 (en) | 2011-08-10 | 2013-12-03 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment |
US20150227414A1 (en) * | 2012-08-31 | 2015-08-13 | Pradeep Varma | Systems And Methods Of Memory And Access Management |
US9292569B2 (en) | 2012-10-02 | 2016-03-22 | Oracle International Corporation | Semi-join acceleration |
US8930316B2 (en) | 2012-10-15 | 2015-01-06 | Oracle International Corporation | System and method for providing partition persistent state consistency in a distributed data grid |
US9043559B2 (en) * | 2012-10-23 | 2015-05-26 | Oracle International Corporation | Block memory engine with memory corruption detection |
US9244829B2 (en) | 2012-12-20 | 2016-01-26 | Oracle International Corporation | Method and system for efficient memory region deallocation |
US9471590B2 (en) | 2013-02-12 | 2016-10-18 | Atlantis Computing, Inc. | Method and apparatus for replicating virtual machine images using deduplication metadata |
US9679084B2 (en) | 2013-03-14 | 2017-06-13 | Oracle International Corporation | Memory sharing across distributed nodes |
-
2014
- 2014-10-31 US US14/530,354 patent/US9898414B2/en active Active
-
2015
- 2015-03-10 WO PCT/US2015/019587 patent/WO2015148100A1/en active Application Filing
- 2015-03-10 EP EP15714996.4A patent/EP3123331B1/en active Active
- 2015-03-10 CN CN201580016557.7A patent/CN106164870B/zh active Active
- 2015-03-10 JP JP2017502751A patent/JP6588080B2/ja active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017510925A5 (ja) | ||
US9792187B2 (en) | Facilitating test failover using a thin provisioned virtual machine created from a snapshot | |
GB2575401A (en) | Management of snapshot in blockchain | |
JP2014502396A5 (ja) | ||
JP2017068861A5 (ja) | ||
JP2018514028A5 (ja) | ||
JP2016508273A5 (ja) | ||
JP2017529591A5 (ja) | ||
JP2017535854A5 (ja) | ||
JP2009230628A5 (ja) | ||
JP2014096164A5 (ja) | ||
JP2016526720A (ja) | クラスタベースの記憶システムにおけるデータスクラビング | |
WO2018086557A1 (en) | Method to consistently store large amounts of data at very high speed in persistent memory systems | |
JP2017518594A5 (ja) | ||
JP2016531366A5 (ja) | ||
JP2018503154A5 (ja) | ||
JP2018528515A5 (ja) | ||
JP2014175008A (ja) | データ重複除去方法及び装置 | |
JP2012123793A5 (ja) | ||
CN106155839B (zh) | 一种用于备份数据的方法与设备 | |
JP2017531263A5 (ja) | ||
JP6028641B2 (ja) | 情報処理システム、情報処理装置の制御プログラム及び情報処理システムの制御方法 | |
JP2015072542A5 (ja) | ||
JP2016519346A5 (ja) | ||
GB2586430A (en) | Host aware update write |