CN104317737A - 一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法 - Google Patents

一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法 Download PDF

Info

Publication number
CN104317737A
CN104317737A CN201410529625.7A CN201410529625A CN104317737A CN 104317737 A CN104317737 A CN 104317737A CN 201410529625 A CN201410529625 A CN 201410529625A CN 104317737 A CN104317737 A CN 104317737A
Authority
CN
China
Prior art keywords
cache
program
synchronization
caches
consistency
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.)
Pending
Application number
CN201410529625.7A
Other languages
English (en)
Inventor
王闯
赵庶林
戴鸿君
于治楼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Group Co Ltd
Original Assignee
Inspur Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN201410529625.7A priority Critical patent/CN104317737A/zh
Publication of CN104317737A publication Critical patent/CN104317737A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法,具体步骤如下:首先对已有的多线程程序进行分析,得到需要进行缓存同步的同步点;然后,在每个同步点,记录有效缓存与无效缓存集合;最后,无效掉无效缓存集合,同步有效缓存。本发明的方法与现有的基于目录的高速缓存一致性协议相比,可以降低目录协议的实现、验证复杂度。

Description

一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法
技术领域
本发明涉及计算机存储服务器设计技术领域, 具体地说是一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法。
背景技术
(1)高速缓存一致性
在计算机科学中,高速缓存一致性 (Cache coherence) 是指保留在高速缓存中的共享资源,保持数据一致性的机制。在一个系统中,当许多不同的设备共享一个共同存储器资源,在高速缓存中的数据不一致,就会产生一致性问题。这个问题在有多个CPU的多处理机系统中特别容易出现。
缓存一致性可以分为三个层次:
1)在进行每个写入运算时都立刻采取措施保证数据一致性;
2)每个独立的运算,假如它造成数据值的改变,所有进程都可以看到一致的改变结果;
3)在每次运算之后,不同的进程可能会看到不同的值(没有一致性的行为)。
(2)临界区和程序同步点
在共享存储并行程序中,程序员使用锁等原语界定临界区以同步对共享数据的访问。例如,锁用来实现对共享数据的互斥访问,栅障用来同步并行程序的各个执行阶段。除了同步语义本身以外,同步原语还表达了对其作用的共享数据的一致性需求。
在软件DSM 系统中通常是以操作系统管理的页面为单位在同步点维护高速缓存一致性。具体的做法是在临界区内记录线程修改过哪些页面, 这些修改过的页面号集合记作write-notice,将修改过的页面的数据部分与初始页面数据的差异记作块差diff。在应用程序的同步点, 释放锁的线程将write-notice 传递给锁管理器,将页差diff 传送到各个被修改过的页面所在的home 节点,并且将diff 合并到内存中。当另外的线程获得锁时, 该线程同时获得write-notice,并根据write-notice 将本节点缓存的旧数据无效掉, 当要访问前一个线程更新过的数据时,由于在本节点的缓存中不命中, 所以到该页面所在的home 节点取得新数据。直接将软件DSM 系统硬件结构化是非常困难的,一方面以页面为粒度维护一致性由于假共享等问题不利于系统的性能,另一方面难于用硬件记录write-notice, diff等复杂的软件数据结构。
发明内容
本发明的目的是提供一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法。
本发明的目的是按以下方式实现的,针对共享存储系统中高速缓存一致性的实现,本发明提出一种不需要硬件结构支持的基于程序同步点的高速缓存一致性实现方法。具体步骤如下:
1)首先对已有的多线程程序进行分析,得到需要进行缓存同步的同步点;
2)然后,在每个同步点,记录有效缓存与无效缓存集合;
3)最后,无效掉无效缓存集合,同步有效缓存。
本发明的目的有益效果是:本发明在应用程序的同步点维护高速缓存的一致性,而不是基于目录的协议以高速缓存行为单位维护一致性,与现有的基于目录的高速缓存一致性协议相比,可以降低目录协议的实现、验证复杂度。
附图说明
图1是系统结构拓扑图。
具体实施方式
参照说明书附图对本发明的一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法作以下详细地说明。
具体步骤如下:
(1)首先对已有的多线程程序进行分析,得到需要进行缓存同步的同步点;
(2)然后,在每个同步点,记录有效缓存与无效缓存集合;
(3)最后,无效掉无效缓存集合,同步有效缓存。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (1)

1.一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法, 其特征在于具体步骤如下:首先对已有的多线程程序进行分析,得到需要进行缓存同步的同步点;然后,在每个同步点,记录有效缓存与无效缓存集合;最后,无效掉无效缓存集合,同步有效缓存。
CN201410529625.7A 2014-10-10 2014-10-10 一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法 Pending CN104317737A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410529625.7A CN104317737A (zh) 2014-10-10 2014-10-10 一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410529625.7A CN104317737A (zh) 2014-10-10 2014-10-10 一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法

Publications (1)

Publication Number Publication Date
CN104317737A true CN104317737A (zh) 2015-01-28

Family

ID=52372972

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410529625.7A Pending CN104317737A (zh) 2014-10-10 2014-10-10 一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法

Country Status (1)

Country Link
CN (1) CN104317737A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202082A (zh) * 2015-04-30 2016-12-07 阿里巴巴集团控股有限公司 组装基础数据缓存的方法及装置
CN108780432A (zh) * 2016-03-10 2018-11-09 美光科技公司 用于高速缓存无效的设备及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110264865A1 (en) * 2010-04-27 2011-10-27 Symantec Corporation Techniques for directory server integration
CN102982087A (zh) * 2012-11-01 2013-03-20 华为技术有限公司 一种检测数据库数据一致性的方法、装置及数据库系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110264865A1 (en) * 2010-04-27 2011-10-27 Symantec Corporation Techniques for directory server integration
CN102982087A (zh) * 2012-11-01 2013-03-20 华为技术有限公司 一种检测数据库数据一致性的方法、装置及数据库系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄河等: ""硬件结构支持的基于同步的高速缓存一致性协议"", 《计算机学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202082A (zh) * 2015-04-30 2016-12-07 阿里巴巴集团控股有限公司 组装基础数据缓存的方法及装置
CN106202082B (zh) * 2015-04-30 2020-01-14 菜鸟智能物流控股有限公司 组装基础数据缓存的方法及装置
CN108780432A (zh) * 2016-03-10 2018-11-09 美光科技公司 用于高速缓存无效的设备及方法
CN108780432B (zh) * 2016-03-10 2021-11-02 美光科技公司 用于高速缓存无效的设备及方法

Similar Documents

Publication Publication Date Title
KR101814577B1 (ko) 프로세싱-인-메모리를 이용한 명령어 처리 방법 및 그 장치
WO2019127916A1 (zh) 基于分布式一致性协议实现的数据读写方法及装置
US8712961B2 (en) Database caching utilizing asynchronous log-based replication
US9348752B1 (en) Cached data replication for cache recovery
US9367251B2 (en) System and method of a shared memory hash table with notifications
Zhang et al. Sub-millisecond stateful stream querying over fast-evolving linked data
KR102398912B1 (ko) 데이터를 프로세싱하기 위한 방법 및 프로세서
US9996394B2 (en) Scheduling accelerator tasks on accelerators using graphs
US10579525B2 (en) Reducing cache transfer overhead in a system
US9304920B2 (en) System and method for providing cache-aware lightweight producer consumer queues
US9229869B1 (en) Multi-lock caches
TW201220197A (en) for improving the safety and reliability of data storage in a virtual machine based on cloud calculation and distributed storage environment
US8479055B2 (en) Detecting and optimizing false sharing
JP2016517102A (ja) データベースにおいて再実行データを処理するための方法および装置
US20160335199A1 (en) Extending a cache of a storage system
Zhang et al. Scalable adaptive NUMA-aware lock
US20170039143A1 (en) System and method of a shared memory hash table with notifications and reduced memory utilization
JP2019537097A (ja) Iノードのアクセスパターンの追跡及びiノードの先取り
Chen et al. Concurrent hash tables on multicore machines: Comparison, evaluation and implications
CN104317737A (zh) 一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法
US9330005B2 (en) Interface and method for inter-thread communication
US20150160968A1 (en) Freezing a call stack
KR101303079B1 (ko) 멀티-코어 기반의 가상화 환경에서 캐쉬 일관성을 제어하는 장치 및 방법
TWI779338B (zh) 用於記憶體管理機會與記憶體交換任務之運算系統及管理其之方法
US20150039940A1 (en) Processor design verification

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150128