当前位置:主页 > 科技论文 > 计算机论文 >

基于软件内存事务的高性能服务器设计

发布时间:2021-01-24 08:31
  本世纪初,摩尔定律的失效加速了多核处理器的问世和不断普及,硬件并行化的发展反过来也推动了工业界对软件并发性的研究。软件内存事务是用软件的方法对内存操作进行封装,以事务的原子性与隔离型来保证并行程序执行逻辑的一种方法。较之于传统上基于互斥锁的多线程编程方法,软件内存事务具有编程接口易用,不产生死锁等优点。软件内存事务主要可分为基于锁的实现和无锁的实现,本文分别详细介绍了两大类中的几个典型实现,并对它们各自的优缺点进行了分析和比较。经过研究我们发现,现实中的程序运行压力并不是恒定不变的,尤其对服务器程序而言,其处理压力往往会在短时内出现剧烈波动。我们还发现,能够使软件内存事务的性能达到最优化的参数往往取决于目标状态的运行时压力,如写入型事务占事务总数的比例,在内存地址上的访问竞争度等。在现有的软件内存事务的实现中普遍缺乏对运行时压力变化做出反应和调整的机制,于是我们提出了一种基于运行时压力检测和动态策略调整的软件内存事务实现:PA-TinySTM。PA-TinySTM主要由压力探测前端,动态调整模块,TinySTM主体和反馈信息处理后端四大部分组成。压力探测前端在事务进入执行前对事务执行速... 

【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校

【文章页数】:74 页

【学位级别】:硕士

【部分图文】:

基于软件内存事务的高性能服务器设计


HybridTM中撤销事务的操作混合型内存事务的一种简单实现框架,是强制所有处于活动状态的事务在系

示意图,结构示意图,硬盘,页面


14图 1-2 TxFlash 结构示意图如图 1-1 所示是 TxFlash 设备的总体结构示意图。控制器 Controller 的作行逻辑并保证事务的原子性,隔离性和状态恢复。实际数据和控制元数据 Flash 包中[12]。与硬盘类似,基于 NAND Flash 芯片设计的 SSD 提供了永久性的数据存。但与硬盘不同的是,Flash 芯片没有块移动的机制,因此具有和硬盘截然性能特性。单个 SSD 由连接在同一个控制器上的 Flash 包组成,控制器使态内存来缓存 IO 请求和维护内部数据结构。Flash 包由多个 Flash 面(Plane,每个 Flash 面由上千个块(Block)组成。在 Flash 块的内部,由许多 4K的页面组成。除了数据块之外,Flash 页面上还有独立的元数据块,对每个小的页面,都有一块对应的 128 字节元数据用作校验和和错误校对。Flash

示意图,数据结构,示意图,事务


FSTM 事务首先取得其所有已用可写模式打开打开过程中遵循一定的顺序(通常是基于虚拟地址空间的排中使用原子的 Compare-and-Swap 指令,每执行一条 CAS针置换为指向当前事务描述符的指针,该指针的最低位用一个并发对象还是一个事务描述符。如果有竞争访问存在A)在获取并发对象时会发现对象头中该指针指向了另一并)的描述符,这时,递归互助策略会驱使 A 帮助 B 提交完在于该互助策略不会陷入循环链而死锁。图 2-5 所示是 FSTM 的基本结构组成。在成功的完成获取操作阶段(Acquire Phase)后,事务会自动其只读列表中对该对象进行验证,这一过程也是利用原子的校验过程包括以下几个步骤:确认对象头指针仍然指向对图 2-5 FSTM 数据结构示意图

【参考文献】:
期刊论文
[1]一种基于目录的软件事务性内存实现算法[J]. 张小强,彭林,彭元喜,谢伦国.  计算机研究与发展. 2008(09)
[2]OpenCMP:一个支持事务存储模型的多核处理器模拟器[J]. 何裕南,安虹,郭锐,梁博.  计算机科学. 2007(01)



本文编号:2996940

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2996940.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户3c6a2***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com