基于硬件事务内存的内存计算系统可扩展性研究
发布时间:2020-12-04 06:10
计算机硬件性能的提升正在推动着内存计算的发展:一方面,内存容量的不断增长使得传统应用可以将数据存储在内存中进行处理,从而显著地提高了系统性能;另一方面,多核平台中处理器核数量的不断增长为内存计算提供了强大的处理能力。然而,内存计算也面临着新的挑战:一方面,由于系统瓶颈从I/O向CPU与内存转变,如何设计高可扩展的内存计算系统以充分利用大规模内存与处理器核,成为内存计算的一个重要问题;另一方面,内存的易失性也使得如何提供高效的系统可靠性变得更加重要。实现高可扩展内存计算系统的难点在于提供共享资源的并发访问。传统的优化方法主要使用基于细粒度锁或原子指令等方式实现对共享资源并发访问的保护,但是这种方法一方面增加了系统设计和实现的复杂度,使得系统的正确性难以保证,另一方面过于保守的同步策略也限制了可能的并行性。此外,在内存计算系统中增加高可靠性的需求进一步限制了系统的性能与可扩展性。硬件事务内存(Hardware Transactional Memory,HTM)的出现与商用化为构建高可扩展、高可靠内存计算系统提供了新的思路。然而,硬件事务内存由于工艺设计的限制,存在较多的受限性,因而被称为受...
【文章来源】:复旦大学上海市 211工程院校 985工程院校 教育部直属院校
【文章页数】:173 页
【学位级别】:博士
【文章目录】:
摘要
Abstract
第一章 绪论
1.1 研究背景
1.1.1 内存计算背景
1.1.2 内存计算可扩展性
1.1.3 硬件事务内存
1.2 国内外相关研究
1.2.1 可扩展性相关研究
1.2.2 硬件事务内存相关研究
1.2.3 内存计算系统的高可靠性
1.3 本文工作
1.3.1 之前研究的不足
1.3.2 本文的主要贡献
1.3.3 本文组织结构
第二章 受限事务内存
2.1 引言
2.2 背景知识
2.2.1 RTM编程接口
2.2.2 RTM基本原理
2.2.3 RTM主要的局限性
2.2.4 RTM与锁机制的结合
2.3 RTM的特性研究
2.3.1 研究环境和方法
2.3.2 事务执行时间
2.3.3 事务访存大小
2.3.4 事务的访存模式
2.4 小结
第三章 使用RTM构建高可扩展键值存储
3.1 引言
3.2 使用RTM并行化数据结构方法的探究
3.2.1 跳表的基本介绍
3.2.2 传统的并发实现方法
3.2.3 使用RTM实现并行跳表的基本算法
3.2.4 事务工作集大小对系统的影响
3.2.5 编译环境的影响
3.2.6 RTM事务回退路径实现
3.2.7 不同并行算法的比较
3.2.8 基于RTM构建并行数据结构的关键技术
+树的高可扩展键值存储"> 3.3 基于B+树的高可扩展键值存储
3.3.1 基本介绍
3.3.2 使用RTM实现并发操作
3.3.3 性能评测
3.4 基于散列表的高可扩展键值存储
3.4.1 基本介绍
3.4.2 使用RTM实现并发操作
3.4.3 性能评测
3.5 基于布谷鸟散列表的高可扩展键值存储
3.5.1 基本介绍
3.5.2 使用RTM实现并发操作
3.5.3 性能评测
3.6 小结
第四章 基于RTM构建高可扩展内存数据库
4.1 引言
4.2 系统总体架构
4.3 记录存储层
4.4 事务协议层
4.4.1 记录元数据的格式
4.4.2 事务协议基本算法
4.4.3 数据库的基本操作
4.5 高效快照机制
4.6 内存回收机制
4.6.1 内存回收的问题和挑战
4.6.2 基于静息状态的内存回收机制
4.7 持久化机制
4.7.1 基本语义
4.7.2 日志记录
4.7.3 系统恢复
4.7.4 持久化的影响和相关优化
4.8 具体实现优化
4.8.1 RTM回退路径
4.8.2 协议层记录缓存
4.9 性能评测
4.9.1 评测环境
4.9.2 与已有内存数据库的比较
4.9.3 可扩展性测试
4.9.4 协议层的性能开销
4.9.5 RTM相关评测
4.9.6 基于不同索引结构的性能评测
4.9.7 快照机制的性能评测
4.9.8 持久化性能评测
4.9.9 系统各要素的性能影响
4.10 小结
第五章 基于RTM和事务切分的并发控制机制
5.1 引言
5.2 传统事务切分的方法和问题
5.2.1 传统事务切分的基本方法
5.2.2 线性一致性的问题
5.2.3 切分粒度的问题
5.2.4 传统快照算法的问题
5.3 保证线性一致性的事务切分机制
5.3.1 基本理论和算法
5.3.2 正确性证明
5.4 基于传统事务切分的快照机制
5.4.1 基本理论和核心思想
5.4.2 设计与实现
5.4.3 正确性证明
5.5 基于交错限制的事务切分
5.5.1 事务交错的概念
5.5.2 事务交错与可串行性
5.5.3 基本算法
5.5.4 同步原语
5.5.5 快照机制
5.5.6 线性一致性
5.5.7 算法的局限性
5.6 事务切分与RTM相结合
5.6.1 面向事务切分的优化技术
5.6.2 面向RTM的优化技术
5.7 与传统并发控制的比较
5.8 性能评测
5.8.1 评测方法
5.8.2 评测结果
5.9 小结
第六章 可持久化硬件事务内存
6.1 引言
6.2 背景知识
6.2.1 多核处理器缓存一致性协议
6.2.2 基于缓存一致性的硬件事务内存机制
6.2.3 非易失性存储器
6.3 主要问题和挑战
6.3.1 事务语义的保证
6.3.2 与非事务执行流的交互
6.3.3 有限制的硬件事务内存的支持
6.4 持久化硬件事务内存的总体结构
6.5 处理器芯片的基本设计
6.5.1 处理器缓存数据的读取
6.5.2 处理器缓存数据的更新
6.5.3 缓存行的写回
6.5.4 示例
6.6 持久层的基本设计
6.7 系统断电恢复
6.7.1 状态一致性的保护
6.8 具体实现
6.8.1 对受限事务内存的支持
6.8.2 事务号溢出问题
6.9 性能评测
6.9.1 评测环境
6.9.2 STAMP标准测试集
6.9.3 键值存储持久化的开销
6.10 小结
第七章 总结展望
7.1 工作总结
7.2 工作展望
7.2.1 现有工作的完善
7.2.2 内存计算模型可扩展性的研究
7.2.3 分布式内存计算的研究
参考文献
发表文章目录
致谢
本文编号:2897135
【文章来源】:复旦大学上海市 211工程院校 985工程院校 教育部直属院校
【文章页数】:173 页
【学位级别】:博士
【文章目录】:
摘要
Abstract
第一章 绪论
1.1 研究背景
1.1.1 内存计算背景
1.1.2 内存计算可扩展性
1.1.3 硬件事务内存
1.2 国内外相关研究
1.2.1 可扩展性相关研究
1.2.2 硬件事务内存相关研究
1.2.3 内存计算系统的高可靠性
1.3 本文工作
1.3.1 之前研究的不足
1.3.2 本文的主要贡献
1.3.3 本文组织结构
第二章 受限事务内存
2.1 引言
2.2 背景知识
2.2.1 RTM编程接口
2.2.2 RTM基本原理
2.2.3 RTM主要的局限性
2.2.4 RTM与锁机制的结合
2.3 RTM的特性研究
2.3.1 研究环境和方法
2.3.2 事务执行时间
2.3.3 事务访存大小
2.3.4 事务的访存模式
2.4 小结
第三章 使用RTM构建高可扩展键值存储
3.1 引言
3.2 使用RTM并行化数据结构方法的探究
3.2.1 跳表的基本介绍
3.2.2 传统的并发实现方法
3.2.3 使用RTM实现并行跳表的基本算法
3.2.4 事务工作集大小对系统的影响
3.2.5 编译环境的影响
3.2.6 RTM事务回退路径实现
3.2.7 不同并行算法的比较
3.2.8 基于RTM构建并行数据结构的关键技术
+树的高可扩展键值存储"> 3.3 基于B+树的高可扩展键值存储
3.3.1 基本介绍
3.3.2 使用RTM实现并发操作
3.3.3 性能评测
3.4 基于散列表的高可扩展键值存储
3.4.1 基本介绍
3.4.2 使用RTM实现并发操作
3.4.3 性能评测
3.5 基于布谷鸟散列表的高可扩展键值存储
3.5.1 基本介绍
3.5.2 使用RTM实现并发操作
3.5.3 性能评测
3.6 小结
第四章 基于RTM构建高可扩展内存数据库
4.1 引言
4.2 系统总体架构
4.3 记录存储层
4.4 事务协议层
4.4.1 记录元数据的格式
4.4.2 事务协议基本算法
4.4.3 数据库的基本操作
4.5 高效快照机制
4.6 内存回收机制
4.6.1 内存回收的问题和挑战
4.6.2 基于静息状态的内存回收机制
4.7 持久化机制
4.7.1 基本语义
4.7.2 日志记录
4.7.3 系统恢复
4.7.4 持久化的影响和相关优化
4.8 具体实现优化
4.8.1 RTM回退路径
4.8.2 协议层记录缓存
4.9 性能评测
4.9.1 评测环境
4.9.2 与已有内存数据库的比较
4.9.3 可扩展性测试
4.9.4 协议层的性能开销
4.9.5 RTM相关评测
4.9.6 基于不同索引结构的性能评测
4.9.7 快照机制的性能评测
4.9.8 持久化性能评测
4.9.9 系统各要素的性能影响
4.10 小结
第五章 基于RTM和事务切分的并发控制机制
5.1 引言
5.2 传统事务切分的方法和问题
5.2.1 传统事务切分的基本方法
5.2.2 线性一致性的问题
5.2.3 切分粒度的问题
5.2.4 传统快照算法的问题
5.3 保证线性一致性的事务切分机制
5.3.1 基本理论和算法
5.3.2 正确性证明
5.4 基于传统事务切分的快照机制
5.4.1 基本理论和核心思想
5.4.2 设计与实现
5.4.3 正确性证明
5.5 基于交错限制的事务切分
5.5.1 事务交错的概念
5.5.2 事务交错与可串行性
5.5.3 基本算法
5.5.4 同步原语
5.5.5 快照机制
5.5.6 线性一致性
5.5.7 算法的局限性
5.6 事务切分与RTM相结合
5.6.1 面向事务切分的优化技术
5.6.2 面向RTM的优化技术
5.7 与传统并发控制的比较
5.8 性能评测
5.8.1 评测方法
5.8.2 评测结果
5.9 小结
第六章 可持久化硬件事务内存
6.1 引言
6.2 背景知识
6.2.1 多核处理器缓存一致性协议
6.2.2 基于缓存一致性的硬件事务内存机制
6.2.3 非易失性存储器
6.3 主要问题和挑战
6.3.1 事务语义的保证
6.3.2 与非事务执行流的交互
6.3.3 有限制的硬件事务内存的支持
6.4 持久化硬件事务内存的总体结构
6.5 处理器芯片的基本设计
6.5.1 处理器缓存数据的读取
6.5.2 处理器缓存数据的更新
6.5.3 缓存行的写回
6.5.4 示例
6.6 持久层的基本设计
6.7 系统断电恢复
6.7.1 状态一致性的保护
6.8 具体实现
6.8.1 对受限事务内存的支持
6.8.2 事务号溢出问题
6.9 性能评测
6.9.1 评测环境
6.9.2 STAMP标准测试集
6.9.3 键值存储持久化的开销
6.10 小结
第七章 总结展望
7.1 工作总结
7.2 工作展望
7.2.1 现有工作的完善
7.2.2 内存计算模型可扩展性的研究
7.2.3 分布式内存计算的研究
参考文献
发表文章目录
致谢
本文编号:2897135
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2897135.html