【技术实现步骤摘要】
处理节点、计算机系统及事务冲突检测方法
本专利技术涉及计算机
,尤其涉及一种处理节点、计算机系统及事务冲突检测方法。
技术介绍
事务内存是计算机体系结构中的一种并行程序设计方式,用于实现多进程共享的数据的一致性。事务是来自于数据库管理系统(Databasemanagesystem,DBMS)中的事务(Transaction)概念。一个事务是一个指令系列,包括对存储的读操作和写操作。在数据库管理系统中,事务必须满足原子性、一致性、隔离性和持久性。原子性指的是事务中的动作要么全部执行,要么一个都不执行。一致性指的是在任何时刻,数据库必须处于一致性状态,即必须满足某些预先设定的条件。隔离性是指一个事务不能看见其他未提交事务所涉及到的内部对象的状态。持久性是指一个已提交的事务对数据库系统的改变必须是永久的。事务内存的关键就是提供一个具有原子性、一致性和隔离性的临界区域操作,使得多个进程不通过锁也能安全访问共享数据。事务内存目前有两种实现方式,基于软件的软件事务内存(SoftwareTransactionalMemory,STM)和基于硬件的硬件事务内存(Hardwa ...
【技术保护点】
一种处理节点,其特征在于,包括处理单元和事务缓存,所述事务缓存通过第一接口与所述处理单元相连,其中:所述处理单元,用于获取事务中的操作指令,其中,所述操作指令中携带有目的地址,所述目的地址为所述操作指令待访问的内存中的地址;判断所述操作指令为访问共享数据的事务的指令,其中,所述共享数据为所述处理节点与其他处理节点都能够访问的数据;基于上述判断,访问所述事务缓存,其中,所述事务缓存用于缓存所述处理节点正在处理的事务的共享数据;所述事务缓存用于:确定所述目的地址未命中所述事务缓存中的缓存行cache line;向其他处理节点中的事务缓存发送所述目的地址;接收所述其他处理节点中的 ...
【技术特征摘要】
1.一种处理节点,其特征在于,包括处理单元和事务缓存,所述事务缓存通过第一接口与所述处理单元相连,其中:所述处理单元,用于获取事务中的操作指令,其中,所述操作指令中携带有目的地址,所述目的地址为所述操作指令待访问的内存中的地址;判断所述操作指令为访问共享数据的事务的指令,其中,所述共享数据为所述处理节点与其他处理节点都能够访问的数据;基于上述判断,访问所述事务缓存,其中,所述事务缓存用于缓存所述处理节点正在处理的事务的共享数据;所述事务缓存用于:确定所述目的地址未命中所述事务缓存中的缓存行cacheline;向其他处理节点中的事务缓存发送所述目的地址;接收所述其他处理节点中的事务缓存返回的被所述目的地址命中的cacheline的状态信息,其中,所述被所述目的地址命中的cacheline中缓存有所述共享数据,所述状态信息用于表示所述共享数据在所述其他处理节点的事务缓存中的访问状态;根据所述状态信息确定所述操作指令是否与所述其他处理节点正在执行的操作指令相冲突。2.根据权利要求1所述的处理节点,其特征在于,还包括通用缓存,所述通用缓存通过第二接口与所述处理单元相连,所述第一接口与所述第二接口为不同的通信接口,所述通用缓存用于缓存所述处理节点正在处理的除事务的共享数据之外的数据。3.根据权利要求1或2所述的处理节点,其特征在于,所述事务缓存具体用于:当所述事务缓存接收到的状态信息为指示修改状态的状态信息时,确定所述操作指令与所述其他处理节点正在执行的操作指令相冲突,所述修改状态用于表示所述共享数据正在被所述其他处理节点修改。4.根据权利要求1或2所述的处理节点,其特征在于,所述事务缓存具体用于:当所述操作指令为读操作指令,且所述状态信息为指示共享状态的状态信息时,确定所述操作指令与所述其他处理节点正在执行的操作指令不冲突,其中,所述共享状态用于表示所述共享数据与内存中的数据一致。5.根据权利要求1或2所述的处理节点,其特征在于,所述事务缓存具体用于:当所述操作指令为写操作指令,且所述状态信息为指示为共享状态的状态信息时,确定所述操作指令与所述其他处理节点正在执行的操作指令冲突,其中,所述共享状态用于表示所述共享数据与内存中的数据一致。6.根据权利要求1-5任意一项所述的处理节点,其特征在于,所述事务缓存中的cacheline的大小为一个字word。7.一种处理节点,其特征在于,包括处理单元和事务缓存,所述事务缓存通过第一接口与所述处理单元相连,其中:所述处理单元,用于获取事务中的操作指令,其中,所述操作指令中携带有目的地址,所述目的地址为所述操作指令待访问的内存中的地址;判断所述操作指令为访问共享数据的事务的指令,其中,所述共享数据为所述处理节点与其他处理节点都能够访问的数据;基于上述判断,访问所述事务缓存,其中,所述事务缓存用于缓存所述处理节点正在处理的事务的共享数据;所述事务缓存还用于:确定所述目的地址命中所述事务缓存中的缓存行cacheline,其中,被命中的所述cacheline中缓存有所述共享数据;确定所述操作指令为写操作指令;确定所述操作指令命中的cacheline的状态为共享状态,所述共享状态用于表示所述共享数据与内存中的数据一致;确定所述处理节点为第一个访问所述共享数据的处理节点;根据所述操作指令将待写入数据写入所述cacheline中。8.根据权利要求6所述的处理节点,其特征在于,所述事务缓存具体用于:根据所述cacheline的访问链表确定所述处理节点为第一个访问所述cacheline的处理节点,其中,所述访问链表用于指示多个处理节点读取所述共享数据的先后顺序。9.根据权利要求6所述的处理节点,其特征在于,还包括通用缓存,所述通用缓存通过第二接口与所述处理单元相连,所述第一接口与所述第二接口为不同的通信接口,所述通用缓存用于缓存所述处理节点正在处理的除事务的共享数据之外的数据。10.根据权利要求6所述的处理节点,其特征在于,所述事务缓存中的cacheline的大小为一个字word。11.一种计算机系统,其特征在于,包括第一处理节点以及第二处理节点,其中:所述第一处理节点用于:获取事务中的操作指令,其中,所述操作指令中携带有目的地址,所述目的地址为所述操作指令待操作的内存中的地址;判断所述操作指令为访问共享数据的事务的指令,其中,所述共享数据为所述第一处理节点与所述第二处理节点都能够访问的数据;基于上述判断,访问所述第一处理节点中的事务缓存,其中,所述第一处理节点中的事务缓存用于缓存所述第一处理节点正在处理的事务的共享数据;确定所述目的地址未命中所述第一处理节点的事务缓存中的缓存行cacheline;向所述第二处理节点中的事务缓存发送所述目的地址;接收所述第二处理节点中的事务缓存返回的所述目的地址命中的cacheline的状态信息,其中,所述目的地址命中的cacheline缓存有所述共享数据,所述状态信息用于表示所述共享数据在所述第二处理节点的事务缓存中的访问状态;根据所述状态信息确定所述操作指令是否与所述第二处理节点正在执行的操作指令相冲突。12.根据权利要求11所述的计算机系统,其特征在于,所述第一处理节点包括处理单元、通用缓存和事务缓存,其中,所述通用缓存通过第一接口与所述处理单元连接,所述事务缓存通过第二接口与所述处理单元相连,所述第一接口与所述第二接口为不同的通信接口,所述通用缓存用于缓存所述第一处理节点正在处理的除事务的共享数据之外的数据。13.根据权利要求11或12所述的计算机系统,其特征在于,所述第一处理节点具体用于:当所述状态信息为指示修改状态的状态信息时,确定所述操作指令与所述第二处理节点正在执行的操作指令相冲突,所述修改状态用于表示所述共享数据正在被所述第二处理节点修改。14.根据权利要求11或12所述的计算机系统,其特征在于,所述第一处理节点具体用于:当所述操作指令为读操作指令,且所述状态信息为指示共享状态的状态信息时,确定所述操作指令与所述第二处理节点正在执行的操作指令不冲突,其中,所述共享状态用于表示所述共享数据与内存中的数据一致。15.根据权利要求11或12所述的计算机系统,其特征在于,所述第一处理节点具体用于:当所述操作指令为写操作指令,且所述状态信息为指示为共享状态...
【专利技术属性】
技术研发人员:肖昊,王元钢,徐君,
申请(专利权)人:华为技术有限公司,南京航空航天大学,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。