首页> 外国专利> Apparatus and method for achieving reduced overhead mutual exclusion and maintaining coherency in a multiprocessor system utilizing execution history and thread monitoring

Apparatus and method for achieving reduced overhead mutual exclusion and maintaining coherency in a multiprocessor system utilizing execution history and thread monitoring

机译:利用执行历史和线程监视在多处理器系统中实现减少开销的互斥并保持一致性的设备和方法

摘要

A substantially zero overhead mutual-exclusion apparatus and method (90, 120) is provided that allows concurrent reading and updating data while maintaining data coherency. That is, a data reading process executes the same sequence of instructions that would be executed if the data were never updated. Rather than depending exclusively on overhead- imposing locks, this mutual-exclusion mechanism tracks an execution history (138) of a thread (16, 112) to determine safe times for processing a current generation (108, 130, 131) of data updates while a next generation (110, 132, 133) of data updates is concurrently being saved. A thread is any locus of control, such as a processor. A summary of thread activity (106, 122) tracks which threads have passed through a quiescent state after the current generation of updates was started. When the last thread related to the current generation passes through a quiescent state, the summary of thread activity signals a callback processor (104, 124) that it is safe to end the current generation of updates. The callback processor then processes and erases all updates in the current generation. The next generation of updates then becomes the current generation of updates. The callback processor restarts the summary of thread activity and initiates a new next generation of updates. All data-updating threads pass through a quiescent state between the time they attempt to update data and the time the data are actually updated.
机译:提供一种基本为零的开销互斥装置和方法(90、120),其允许并发读取和更新数据同时保持数据一致性。也就是说,数据读取过程执行的指令序列与从未更新过的数据将执行的指令序列相同。这种互斥机制不是仅依赖于施加开销的锁,而是跟踪线程(16、112)的执行历史记录(138),以确定在处理当前一代(108、130、131)数据更新时的安全时间。同时保存了下一代(110、132、133)数据更新。线程是任何控制源,例如处理器。线程活动摘要(106、122)跟踪启动当前生成的更新之后哪些线程已通过了静态状态。当与当前一代有关的最后一个线程经过静止状态时,线程活动的摘要向回调处理器(104、124)发出信号,表明结束当前一代更新是安全的。然后,回调处理器将处理并擦除当前一代中的所有更新。然后,下一代更新将成为当前一代的更新。回调处理器重新启动线程活动的摘要,并启动新的下一代更新。在尝试更新数据的时间与实际更新数据的时间之间,所有更新数据的线程都处于静态状态。

著录项

相似文献

  • 专利
  • 外文文献
  • 中文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号