验证并发的数据结构

来源 :武汉大学 | 被引量 : 0次 | 上传用户:eagleqizha
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
面对多核处理器技术的不断革新,为充分地利用多核资源提升程序的性能,设计和实现高并发的数据结构变得越来越重要。为获得更多的并发和更好的性能,程序开发者会尽可能的采用细粒度同步技术来实现并发数据结构。然而这些数据结构通常复杂灵巧、易出错、可靠性难以保证。因此,形式化验证并发数据结构对提高并发软件的可靠性和安全性有着重要意义。可线性化是一个主流的并发数据结构安全性标准。本文针对并发数据结构可线性化标准及其验证方法方面进行了深入研究。本文分析了可线性化标准的局限性,在此基础上提出了强可线性化标准。验证并发数据结构强可线性化最困难的部分还是验证可线性化。正如Khyzha所说的一样,尽管有大量的可线性化验证技术,要验证复杂并发数据结构的可线性化仍是一项极具挑战性的任务。本文致力于提供简单易用的方法验证并发数据结构的可线性化,具体做了如下几个方面的工作:(1)本文首先分析了可线性化的二个局限性:1)可线性化给用户带来的是观察精化的保证,而不是观察等价的保证;2)即使客户端以和并发数据结构方法非交互的方式直接访问数据结构,可线性化的观察精化保证也会被破坏。针对以上二个局限,提出了并发数据结构的强一致性标准—强可线性化,并证明了强可线性化蕴含观察等价和即使在一个允许客户端以兼容的方式直接访问数据结构的程序模型下,强可线性化的观察等价保证也不会被破坏。本文选择客户端的执行路径作为客户的观察行为,这不仅使得客户能够观察到客户端程序的最终状态,也使得客户能够观察到相关的时态属性。对于强可线性化的一种特例,即并发数据结构的实现和规约有相同状态空间的强可线性化(称这个规约为顺序规约),本文揭示了并发数据结构相对顺序规约的强可线性化与相对其它抽象模型的强可线性化之间的联系。直观上讲,顺序规约可视为并发数据结构最大化的原子抽象,即要证明一个并发数据结构相对一个更抽象的模型是强可线性化的,可简化证明顺序规约和这个抽象模型的相关联系。因为顺序规约和这个抽象模型的方法都是原子的,显然证明后者比证明前者容易的多。(2)提出了基于抽象约简的可线性化验证方法,并应用该方法验证了MS无锁队列、DGLM队列、HSY栈、数据对快照(Pair Snapshot)、基于惰性链表的集合(Lazy Set)、基于乐观锁的集合(the Optimistic List)等这些灵巧复杂的并发数据结构。本文提出的基于抽象约简的可线性化验证方法与其它基于Lipton约简的可线性化验证方法不同之处在于:1)基于抽象的约简仅要求满足抽象语义的子路径是可约简的,而不要求整个路径是可约简的;2)把路径约简从单路径扩展到双路径;3)对于不可约简的读方法,通过可达性证明把读方法转化成一个可达点,可线性化证明化简到证明写方法与可达点的约简性。总之,基于抽象约简的可线性化验证方法既保持了Lipton约简的简单、直观、易用性,同时也将Lipton约简方法应用到更多复杂灵巧的数据结构中。(3)对于一个可线性化的并发数据结构的封装扩展,证明了要验证这个扩展后的并发数据结构的可线性化,可证明由抽象方法代替它里面的具体方法后生成的并发数据结构的可线性化。因为抽象方法都是原子的,证明后者要比验证前者容易的多。依据这个结论,本文使用基于抽象约简的可线性化验证方法验证了一个基于封装扩展的并发哈希表。(4)对于一个采用抵消优化机制的并发栈,证明了只要正常的并发执行(即非抵消优化机制参与的并发执行部分)是可线性化的,那么并发栈就是可线性化的。利用这个结论,可以简化采用抵消优化机制的并发栈的可线性化证明。(5)提出了基于先于偏序关系属性的并发队列和并发栈的可线性化验证方法,并证明了它们是完备的。该方法将并发队列/栈的可线性化证明化简到验证入队/栈操作与出队/栈操作间的先于偏序关系属性,并发数据结构的设计与实现者容易快速的掌握和应用这个方法。本文应用这两个方法验证了HW队列(the Herlihy-Wing queue)、时间戳队列(the Time-Stamped queue)、篮式队列(Baskets Queue)、LCRQ队列和时间戳栈(the Time-Stamped stack)等这些基于抽象约简方法不能处理的、极具挑战性的并发数据结构。
其他文献
从少量到大量,从陆上到海上,从交流接入到直流接入,无论何种形式,风电正在快速发展。传统电源(火电或水电)的份额因而持续性减小,对电网的运行带来挑战。本文为经由高压直流输电系统(HVDC)接入的海上风电场和陆上交流电网提供了一种无需通信的控制策略,实现如下功能:(1)故障穿越能力(FRT);(2)电网发生永久性故障时,系统设备不受损;(3)小干扰发生时,电能质量达标。主要内容包括三个部分:1.针对经
学位
《“十四五”旅游业发展规划》指出,要加快完善旅游管理专业教育质量标准,进一步推进专业结构的细化和调整。然而由于当前旅游学科发展的不足,削弱了其在旅游专业建设方面的支撑力度,也制约了旅游专业本科教育的质量与水平。大学生学习投入作为当前高等教育领域的研究热点,是高校整体素质不断提升的前提和核心。鉴于此,为将旅游管理专业学生学习投入水平拔至新高度,加强旅游学科建设,进而完善旅游人才的管培体系,本研究在对
学位
小学高年级学生即将升入初中,这一阶段正是他们学习习惯与学习态度逐渐定型的关键阶段,学生如果存在学业拖延的情况,会对他们的身心健康发展产生不利影响。针对部分小学高年级学生的学业拖延情况,文章结合小学生的心理发展特征,以时间管理为切入点,研究分析时间管理团体辅导对小学高年级学生学业拖延的干预方案,希望能有效改善小学生学业拖延的现象。
期刊
第一部分6-thio-dG单药短期及长期处理对端粒酶阴性的人骨肉瘤细胞的作用研究目的:骨肉瘤作为最常见的恶性间叶细胞来源的原发性侵袭性骨肿瘤,目前的治疗效果并不令人满意,其中原因之一为内源性或获得性的化疗抵抗(包括对目前已在骨肉瘤的治疗中广泛应用的核苷酸药物甲氨蝶呤及核苷酸类似物吉西他滨的抵抗),且骨肉瘤中端粒酶阴性和端粒酶阳性的比例几乎相等,而端粒酶阴性与骨肉瘤的不良预后相关。已有研究表明6-硫
学位
目的:Menin是由MEN1基因编码的一种蛋白质,促进混合谱系白血病基因融合蛋白(MLL-FP)诱导的白血病发生。小分子menin-MLL抑制剂(MIs)可破坏menin/MLL相互作用,抑制MLL-FP诱导的白血病。目前尚不清楚MIs是否影响menin其他方面的生物学功能,本研究旨在白血病细胞中研究MIs如何影响menin的蛋白稳定及下游调控功能。方法:选择MLL-FP白血病细胞系MV4;11和
学位
<正>【政策出台】为进一步规范老年人能力评估工作,青海省民政厅根据《青海省推进养老服务发展的若干措施》(青政办[2020]30号)精神,结合民政行业标准《老年人能力评估》和本省实际,于近期制定了《青海省老年人能力综合评估办法》(青民发[2020]126号,下称《评估办法》),并从2020年12月1日起实施。
期刊
<正>在课堂教学过程中加强重视时间管理工作,要充分结合学生实际情况以及具体教学方向等角度进行全面分析和探究,以此保障时间管理工作方案符合具体教学目标,提升整体教学效率。在小学数学课堂教学过程中,结合时间管理现状进行充分探究,构建灵活性、针对性较强的教学方案,不仅可以有效提升整体教学效率,同时还能提升学生自我管理能力,进而达到发展学生核心素养的教育目的。
期刊
在布雷顿森林体系崩溃之后,区域性的国际金融危机和世界性金融危机表明,跨境资本流动是加剧开放经济体经济波动的重要因素,并且由跨境资本流动诱发金融危机跨境传递成为现代金融危机的典型特征之一。随着我国确定了新时代需要形成全面开放新格局的目标,资本账户开放和金融业对外开放成为进一步深化经济对外开放的重要举措,然而资本账户开放加剧了跨境资本流动的波动性,由此引发的经济波动和金融风险积聚成为未来的潜在隐忧。鉴
学位
税收是财政作为国家治理基础和重要支柱的三大基石之一,税制改革对于建立现代财政制度具有重要的意义。中国作为世界上最大的发展中国家和转型国家,税收制度也在经历着不断的调整。与大多数发展中国家类似,中国是一个以商品流转税为主体税种的国家,在2011年,中国的增值税和营业税规模分别为2.42万亿和1.36万亿,占到全部税收收入的27.04%和15.24%,占到地方政府全部税收收入比重的14.57%和32.
学位
在线医疗社区作为传统线下医疗服务的补充和延伸,在近年来得到迅猛的发展。与此同时,由于用户注册成本低、在线医疗社区同质化严重、市场竞争激烈等原因,导致了在线医疗社区用户黏性低、流失率高、用户参与度和积极性下降等问题。针对这些问题,在线医疗社区也采用了与其他虚拟社区类似的措施,鼓励社区成员地参与,例如采用经济激励的方式。然而在线医疗社区与其他虚拟社区有很大的差异。首先,作为提供医疗产品服务的平台,它具
学位