【摘 要】
:
随着多核处理器的广泛应用,并发编程成为软件开发的主流方式,但是并发编程给程序员带来了很大的挑战。传统的并发编程主要是用锁机制来保证共享资源的互斥访问,锁机制是一种
论文部分内容阅读
随着多核处理器的广泛应用,并发编程成为软件开发的主流方式,但是并发编程给程序员带来了很大的挑战。传统的并发编程主要是用锁机制来保证共享资源的互斥访问,锁机制是一种常用的同步手段。但是粗粒度锁性能较差;而细粒度锁性能较好,但使用过于复杂,容易出错,编写简单高效的代码非常困难,容易导致死锁和优先级倒置等问题。软件事务内存(STM)并发机制将对共享存储复杂的同步访问控制转嫁给底层系统开发者,从而大大减轻高层程序员开发并发程序的负担,但是STM并发机制往往设计得十分精妙,在实现时极易出错。因而它作为系统软件的一部分,形式化验证其实现的正确性对提高并发软件的可靠性和安全性有着重要意义。STM算法在实现策略上有多种不同的选择方式,已有的研究工作表明基于锁的STM算法在性能上具有明显优势。本文以一个经典的基于锁的高性能STM算法TL2为验证目标,首先采用并发程序间的精化关系来刻画基于TL2的底层细粒度代码是某个具体的高层抽象原子事务代码块的正确实现,然后通过基于依赖保证的并发程序模拟技术证明两个程序间具有精化关系,完成基于TL2算法的两个有代表性的具体实例的验证,总结TL2算法满足的不变式,为完成TL2算法的完整验证奠定基础。本文的主要贡献如下:(1)应用基于依赖保证的模拟技术验证了读集和写集相交、只读的两个典型事务的底层实现,即验证基于TL2的底层细粒度实现是对高层抽象原子事务代码的精化。(2)给出了TL2算法中底层细粒度程序执行具体状态和原子事务执行的抽象状态对应关系,并给出了两者对应关系满足的不变式,为完成整个TL2算法的形式化验证奠定了基础。
其他文献
合成生物学飞速发展,工程领域对设计外源基因引入载体细胞引导路径合成从而获得目标产物的需求大大增加,这已经是工业化生产中获得自然界中产量少的化合物的一个重要方法。人
计算机网络和无线通信技术的发展,推动了森林环境监测、医疗卫生和军事监控等无线传感网络应用的发展和普及。多数应用都对数据传输的延迟时间,即数据从源节点发出到被根节点
汽车尾气的排放是造成目前日益严重大气污染问题以及能源危机的一个重要原因,为此,大力发展电动车行业是如今的一个主要方向。随着这些电动车用户量的增加,有的地方已经开始
近年来随着嵌入式设备的日益普及,嵌入式软件的安全性越发显得重要。在一些关键领域,如航天、医疗、军事、核能等,如果嵌入式软件存在程序漏洞,有可能导致程序在非正常状态运
视频关键帧提取及其可视化展示有利于视频内容信息的快速查阅和筛选,本文提出了两种关键帧提取算法以及一种螺旋圈结构的视频内容可视化方法,设计开发了三个应用系统。 关键
随着多媒体信息技术的飞速发展,图像资源越来越多地出现在人们的工作和生活当中,如何能够快速确地在庞大的图像资源库中查询到所需信息已经成为计算机视觉领域的一个重大挑战
聚类分析作为数据挖掘的十大难题之一,是数据挖掘范畴的重点研究内容。其中,对高维数据的聚类更是研究者们探索的热点问题。最近的研究显示出传统的聚类算法可能因为高维数据
随着后基因组时代的到来,生命科学的研究内容呈高速发展态势,生物信息数据迅速增长。由于生物数据具有大规模性和复杂性的特征,因此,探索如何高效处理海量生物数据的生物信息学学
怎样从单幅运动模糊图像复原出清晰的图像,一直是数字图像处理领域中富有挑战的问题。图像复原的目的是尽可能的恢复出原始清晰图像,因此对图像质量进行评价是必要的。若图像中
云计算(Cloud Computing)是一种新型的分布式计算范式。它将计算任务分布在大量计算机构成的资源池上,使各种应用能够根据需求获取计算力、存储空间和各种软件服务。云计算用