l*********
Lv.2 学术文献阅读之星
2020/08/06 19:02
ATOM以同步更新和直接更新的方式实现Undo日志。ATOM是一个专门将日志移除关键路径的硬件模块,对于数据更新,仍需要在事务提交前由软件发起高速缓存刷新指令以同步的方式完成。首先,ATOM保证了将日志操作从关键路径安全移除的两点前提:1store操作在被其改动的数据的Undo日志项创建之前不能完成2数据的持久化必须发生在相应的日志项持久化之后。前提1确保在原子持久性更新中被修改的每个数据都有Undo日志,前提2确保如果原子持久性更新失败,所有就地更新数据的日志项已经持久化。因此,日志项就能够用来撤销失败更新中的部分更改。然后,ATOM提出两种将日志操作移除关键路径的优化方法:PLO和SLO。PLO方法在高速缓存行收到store请求后,LogI给LogM发送日志请求,不需要等待日志项持久化就可以完成该store指令,日志的持久化以及日志—>数据约束由LogM在线下完成。SLO方法在store指令访问高速缓存缺失时,避免了Undo日志项中的数值部分从PM拷贝到高速缓存(写分配),再从高速缓存拷贝到PM的日志空间(持久化日志)两次数据移动,而是由LogM负责直接在PM内部将日志所需的旧值拷贝到日志空间。LogI和LogM是组成ATOM的两个关键模块,分别位于高速缓存控制器和内存控制器中,为了避免一个事务中对同一个高速缓存行的多次store创建多个的Undo日志项,ATOM增设了log标志位,在第一次修改时置位。ATOM的日志组织以高速缓存行大小为粒度,用了打包的优化方法。
更多
领书计划详情
下面没有了