嵌套事务内存研究

来源 :天津大学 | 被引量 : 0次 | 上传用户:ebugdoor
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
用户应用程序中的并发性正在逐渐增长,现代计算机包含了单核多线程和单芯片多核的功能。如何有效地在多核处理器体系结构下开发出高性能、可移植的并行程序,降低并行程序的开发难度,提高并行程序的设计开发效率成为并行计算领域的一个关键性问题。传统的用户应用程序使用细粒度锁的互斥方式达到同步,但是这种方式容易形成死锁和具有不可组合性、优先级反转和护航效应等问题。非阻塞算法避免了这些限制,且保证线程的延迟或者失败不会阻碍系统整体上向前执行,但同样难于实现和应用。事务内存技术基于数据库管理系统中成功的并发处理经验,能够高效地完成内存级并发读写操作。事务内存系统的核心是冲突检测。本文对国内外在事务内存方面所做的研究与探索进行了总结与分析,研究了现有的软件和硬件事务内存系统的设计方法和冲突检测机制,分析了各自的优缺点。在此基础上,本文首创了适用于所有事务内存系统的冲突检测数学模型。可组合性是现代软件工程的基础,嵌套事务内存正是事务内存可组合性的表现。本文通过对传统并行程序设计方法进行分析,并结合事务内存的现有理论提出了在内存访问层次的嵌套事务内存模型。该模型与硬件无关,定义了平面事务、闭合事务和开放事务在各种操作下的语义,描述了事务所能见的内存状态、内存访问冲突、提交与夭折动作。在该模型的基础上,本文深入研究和分析了开放事务语义,并且提出了适用嵌套事务内存系统的优先级竞争管理算法,将此算法应用于本系统后可以有效地提高单位时间内事务执行的数目。在以上工作的基础上,本文使用C++编程语言实现了一个嵌套事务内存系统。该系统具有良好的可扩展性、友好的编程接口,能从真正意义上简化并行程序设计的开发过程,提高并行程序的开发效率。
其他文献
科学研究中大量的数据是以公式的形式描述的, W3C定义了一种标准的数学标记语言MathML,用于完成数学公式的描述。MathML是一种结构化的层次分明的树型数据结构,便于搜索引擎
目前我国的检验信息的管理普遍落后:一方面检验信息只能以纸张的形式传递,患者不能远程查询检验结果,患者以前所做的检验记录没有保存,需要重复检验,也不能给以后的诊断提供参考。
遗传算法(Genetic Algorithm,简称GA)是20世纪70年代由Holland提出的一种模仿生物进化过程的有效的优化方法,能根据已有的知识积累,按照概率寻优机制进行全局搜索未知空间,而且还
随着Web服务量的急剧增长,如何从庞大的服务群中高效地找到所需功能的Web服务以及如何在功能相似的Web服务中找到最佳服务成为了值得关心的问题,而这些正是Web服务发现的任务。
随着当前最先进的无线通信和移动计算机技术的发展,移动环境下查询处理中的表连接涉及到不同站点之间的操作,这些站点包括固定服务器和移动计算机。由于节省电源的需要以及移
全球化时代人类追求沟通的便利,信息的表示与处理方式都在发生极大的变迁。继可扩展标记语言之后,资源描述框架作为一种可以为机器所理解的新型知识表达语言,日益广泛地被应用于
语音信号值守是一种常见的工作,被广泛应用在电信、医疗和军事等诸多领域。这项工作可能要长时间地面对噪声环境,而且根据业务数据性质的不同,重要的数据必须实现自动录制。
计算网格被用来解决广域网中分布的资源共享、互联和互操作问题。随着数据密集型应用的飞速发展,数据呈爆炸式增长,数据网格技术应运而生,而且正成为网格技术的另外一个研究
变形,顾名思义就是采用某种方法使一个物体(源)在视觉上连续变化到另一个物体(目标),又称为形状融合、形状插值或形状平均。平面图形变形技术一直是计算机图形学中的重要研究课
时间是客观世界普遍存在的一种元素,它无处不在,渗透在现代生活的各个领域,所有的信息都无可避免地具有相应的时态属性。比如在工资管理系统中存在各种的工资政策,而这些政策与人