【技术实现步骤摘要】
本专利技术涉及一种计算机事务存储(transactional memory)方法,属于计算机系统 结构
技术介绍
根据摩尔定律,计算机处理器的性能每18至24个月增加一倍,然而,内存的访问 速度仅以每年7% _10%的速度增长,远远落后于处理器的增长速度。相对于处理器来说, 内存访问延迟以每十年5倍的速度增长,处理器与存储器的差距不断增加,造成了系统结 构的失衡,形成了阻碍性能提升的存储墙,从而使得内存访问成为整个计算机系统的性 能瓶颈。 为了缓解存储墙对计算机系统性能的影B向,需要对内存访问进行优化。降低内 存的访问次数是访存优化的一种方法。L印ak等人通过研究,观察到由于许多写指令写入 内存的值都与内存中原有的值相同,因此这些写指令都没有产生实际效果。基于这一观察, L印ak等人提出了沉默存储(silent store)结构。在这种结构中, 一个写操作被转换为三 个操作,即读操作、比较操作和实际的写操作(如果这个写操作不是沉默的),这样系统就 可能减少内存的写操作,但是这种结构同时可能会增加读操作的次数。 事务存储编程模型由布朗大学的Herlihy教授于1993年提出,它的提出受到了数 据库系统中事务处理的影响,使用事务的概念代替原来的临界区。事务是只能被一个线程 执行的一段内存读写指令序列,这个序列中的读写操作只有两种结果全部生效或者不起 作用。事务存储就是支持多个事务并行执行的一种编程模型。事务存储具有容易编程、安 全性好、可扩展性好及高性能的优点,从而得到了广泛的关注。在最近十几年里,许多大学 和科研单位参加到事务存储的研究之中,同 ...
【技术保护点】
一种计算机事务存储方法,其特征在于该方法包括以下步骤: (1-1)定义:从对计算机内存地址的写操作至对该内存地址的下一次写操作之前的对该地址的最后一次读指令为数据存活区间,从对计算机内存地址的最后一次读操作到对该内侧地址的下一次写操作为数据消亡区间; (1-2)计算机的一个缓存行中的数据被修改过,若在该缓存行被替换时,修改的数据所在的内存地址处于上述数据存活区间中,则将修改的数据写回内存中,若在缓存行被替换时,修改的数据所在的内存地址处于上述数据消亡区间中,则修改的数据保持在缓存中; (1-3)在数据存活区间结束和数据消亡区间开始的位置,插入一条最后一次读操作指令M,在数据消亡区间中读操作指令已经进行后插入一条该数据的存活区间结束消亡区间从此开始的标识指令N; (1-4)当处理器执行读指令M或标识指令N时,对计算机缓存行的状态进行修改; (1-5)处理器在进行事务的提交操作时,丢弃内存中该事务所有的日志,对日志所在的所有内存地址,执行数据的存活区间结束消亡区间从此开始的标识指令N; (1-6)处理器在进行事务的放弃操作时,通过读取该事务的日志,恢复内 ...
【技术特征摘要】
一种计算机事务存储方法,其特征在于该方法包括以下步骤(1-1)定义从对计算机内存地址的写操作至对该内存地址的下一次写操作之前的对该地址的最后一次读指令为数据存活区间,从对计算机内存地址的最后一次读操作到对该内侧地址的下一次写操作为数据消亡区间;(1-2)计算机的一个缓存行中的数据被修改过,若在该缓存行被替换时,修改的数据所在的内存地址处于上述数据存活区间中,则将修改的数据写回内存中,若在缓存行被替换时,修改的数据所在的内存地址处于上述数据消亡区间中,则修改的数据保持在缓存中;(1-3)在数据存活区间结束和数据消亡区间开始的位置,插入一条最后一次读操作指令M,在数据消亡区间中读操作指令已经进行后插入一条该数据的存活区间结束消亡区间从此开始的标识指令N;(1-4)当处理器执行读指令M或标识指令N时,对计算机缓存行的状态进行修改;(1-5)处理器在进行事务的提交操作时,丢弃内存中该事务所有的日志,对日志所在的所有内存地址,执行数据的存活区间结束消亡区间从此开始的标识指令N;(1-6)处理器在进行事务的放弃操作时,通过读取该事务的日志,恢复内存中被该事务修改过的所有数据的原值,对日志所在的所有内存地址,执行数据的存活区间结束消亡区间从此开始的标识指令N。2. 如权利要求l所述的方法,其特征在于其中所述的步骤(1-2)计算机的一个缓存行 中的数据被修改过,若在该缓存行被替换时,修改的数据所在的内存地址处于上述数据存 活区间中,则将修改的数据写回内存中,若在缓存行被替换时,修改的数据所在的内存地址 处于上述数据消亡区间中,则修改的数据保持在缓存中,其过程如下(2-1)计算机的缓存为一级,若缓存行被替换时被修改的数据所在的内存地址处于所 述的数据存活区间中,则将被修改的数据写回内存中,若在缓存行被替换时被修改的数据 所在的内存地址处于所述的数据消亡区间中,则被修改的数据保持在缓存中;(2-2)计算机的缓存为两级,其中一级为写直达方式,二级为写回方式,且二级缓存的 缓存行中的数据被修改过,若二级缓存行被替换时缓存行中被修改的数据所在的内存地址 处于所述的数据存活区间中,则将被修改的数据写回内存中,若二级缓存行被替换时缓存 行中被修改的数据所在的内存地址处于所述的消亡区间中,则被修改的数据保持在缓存...
【专利技术属性】
技术研发人员:汪东升,郭三川,王海霞,
申请(专利权)人:清华大学,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。