多核结构上软件事务存储的讨论针对计算资源日益增加的需求,单纯提高处理器主频的方式,已经不再能够提升计算机的性能了
因此,工业界引入了“多核”的概念,即在一个芯片上集成两个或多个独立的处理器,处理器之间共享内存
在多核系统中,同样的时钟频率,由于片上处理器个数的增加,每秒钟执行的指令数也随着翻倍,这为解决处理器性能的瓶颈问题提供了新的思路
与此同时,多核系统也给并行处理提出了新的问题,如何能够更好地利用多核的资源对程序进行并行处理,成为当今并行处理方面讨论的一个热点方向
事务的概念来源于数据库,实践证明了其是一种有效的并发控制手段
因此,将事务引入并行程序设计领域,形成了事务存储的理论
事务存储中的事务,指的是被某个线程执行的对内存的一系列有序读写操作序列
这些序列或者全部被执行并提交,或者一个也不执行并恢复到执行该序列之前的状态
本文首先对现有的各类事务存储系统进行了分析,重点讨论了基于Signature 数据结构的软件事务存储系统
然后针对软件事务存储系统中的三大基本功能分别进行了讨论,提出了新的优化方案,并对这些方案进行了仿真实验
最后,将改进后的功能整合起来构成一个基于 Signature 的软件事务存储系统
本文的主要讨论成果如下:(1)在讨论了冲突检测算法 VHB 的基础之上,提出了一种基于 Signature 的新的冲突检测算法 VHTB
该算法不但对 Signature 的行与行之间进行动态变换,而且对地址数据相对较少的情况采纳了尚未使用的存储空间来存储哈希函数的 True Bloom 映射信息
这种并行实现的方式既可以对块内的行与行之间进行并行搜索,降低延时,同时也可以降低误判率
经实验测试 VHTB 算法的误判率和中止率较 VHB 算法有了明显的降低
(2) True Bloom 和 Hash Bloom 是事务存储中常用的冲突检测算法,而这两种算法各有其