[发明专利]在使用带锁定和未锁定的非易失存储器的共享存储器中的硬件事务存储的一致性协议在审
申请号: | 202110632287.X | 申请日: | 2016-07-21 |
公开(公告)号: | CN113505088A | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 希勒尔·阿夫尼;埃利泽·利维;阿维·门德尔松;吴祖光 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/0815 | 分类号: | G06F12/0815;G06F12/084 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 锁定 非易失 存储器 共享 中的 硬件 事务 存储 一致性 协议 | ||
本发明涉及数据处理系统(100)和数据处理方法。所述数据处理系统(100)用于执行硬件事务存储(hardware transactional memory,简称HTM)事务。所述数据处理系统(100)包括用于持久存储数据的字节寻址非易失性存储器(101);处理器(103),用于通过将指示HTM事务成功提交的指示标识写入非易失性存储器(101),来执行与提交所述HTM事务有关的原子HTM写入操作。
技术领域
本发明涉及一种数据处理系统和方法,尤其涉及对数据处理系统的共享存储器的存储访问。
背景技术
在并行编程计算环境中,当并行处理器内核或程序共享对相同存储器位置的访问时,必须正确管理和同步该访问。在一些此类环境中,可以采用事务存储范例来管理线程的同步存储器访问。根据事务存储方法,线程可以推测性地执行事务而不改变共享存储器位置的内容,直到随后提交事务。如果在两个事务之间检测到冲突,其中一个事务可能被中止,以便另一个事务可以提交,在此时,已提交的事务可能会改变共享存储器位置的内容。
更具体地,传统的多处理器计算机系统包括多个处理单元以及一个或多个地址、数据和控制总线。耦合到该多个处理单元的是系统存储器,其表示该多处理器计算机系统中最低级别的易失性存储器,且通常可由所有处理单元进行读取和写入访问。为了减少访问驻留在该系统存储器中的指令和数据的访问延时,每个处理单元通常由相应的多级缓存架构进一步支持,该多级缓存架构的较低层级可由一个或多个处理器核共享。
通常利用缓存存储器临时缓冲处理器可能访问的存储块,以便通过减少从系统存储器加载所需数据和指令而引入的访问延迟来加快处理速度。在一些多处理器系统中,缓存架构至少包含两个层级。第一级(L1)或高层级缓存通常是与特定处理器核相关联的私有缓存,不能被多处理器系统中的其他核访问。通常,为响应诸如加载或存储指令的存储访问指令,处理器核首先访问高级缓存的目录。如果在高层级缓存中没有找到所请求的存储块,则处理器核通过访问低层级缓存(例如,第二级(L2)或第三级(L3)缓存)或系统存储器来查找所请求的存储块。最低层级缓存(例如,L3缓存)通常由几个处理器核共享。
在这种系统中,多处理器软件通过多个软件线程并发访问共享数据结构。并发访问共享数据时,通常需要防止所谓的“无约束的竞争”或“冲突”。当两个存储访问指向相同的存储器位置,并且其中的至少一个为写入,并且无法来确保这些访问发生的顺序时,两个存储访问之间发生冲突。
多处理器软件通常利用锁变量来以有序的无冲突方式协调对存储器中位置的并发读取和修改。锁变量是存储器中的一个位置,可以基于读取的值,以原子操作的方式被读取和设置为某个值。对锁变量的读取修改写入操作通常通过原子读取修改写入指令或通过指令序列来实现,该指令序列与原子读取和修改锁变量的单个指令提供的效果相同。
按照这种方式,通过原子读取修改写入指令读取初始”未锁定”值的软件线程被认为已经“获得”锁定,且在该锁被释放前是唯一的占有该锁定的软件线程。占有该锁的线程可以安全地更新该锁保护的共享存储器位置,而不会与其他线程冲突,因为其他线程在当前线程释放该锁之前无法获得该锁。当已经读取和/或修改共享位置后,占有该锁的线程释放该锁(例如,通过将该锁变量写入“未锁定”值),以允许其他线程访问存储器中的该该共享位置。
当使用锁协调竞争线程对共享数据的访问时,锁具有许多众所周知的缺点。其中包括:首先,当给定的线程占有多于一个锁且阻止其他线程的处理进度时,可能发生死锁;其次,当对共享数据的访问没有冲突,锁不是严格必要时,获得锁的性能成本较高。
为了克服这些限制,可以采用事务存储的概念。在事务存储中,一组加载和/或存储指令被视为“事务”。当组件加载和存储操作可以原子地发生而不与另一个线程冲突时,事务成功。在与另一个线程发生冲突的情况下,该事务失败,然后可以重新尝试。如果该事务再次失败,软件可能会退回使用锁,以确保有序访问共享数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110632287.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种防火耐热型涂料的生产方法
- 下一篇:一种基于远程控制的室内定位方法及系统