首页> 中文学位 >基于操作语义的弱内存模型描述及程序逻辑研究
【6h】

基于操作语义的弱内存模型描述及程序逻辑研究

代理获取

目录

声明

摘要

插图索引

主要符号对照表

第一章 绪论

1.1 弱内存模型的设计

1.2 运用于弱内存模型的程序逻辑设计

第二章 背景知识介绍

2.1 顺序一致性模型

2.2 弱内存模型

2.2.1 TSO弱内存模型

2.2.2 Happens-Before弱内存模型

2.3 程序逻辑

第三章 基于操作语义的Happens-Before弱内存模型

3.1 OHMM非形式化的描述

3.1.1 OHMM语言

3.1.2 OHMM抽象机

3.1.3 事件执行顺序

3.1.4 历史记录和内存访问

3.1.5 重放事件

3.2 OHMM形式化定义

3.3 一些简单的例子

3.3.1 JMM中不允许但OHMM中允许

3.3.2 OHMM中禁止JMM中违反直观的例子出现

3.4 DRF-Guarantee性质证明

3.4.1 无数据竞争

3.4.2 带标签的弱操作语义

3.4.3 模拟关系(Simulation)

3.5 程序变换算法的正确性

3.5.1 程序变换

3.5.2 变换的正确性

3.6 相关工作

3.7 总结和弱点探讨

第四章 从OHMM到TSO弱内存模型

4.1 OHMM-TSO模型

第五章 用于TSO模型局部推理的程序逻辑

5.1 语言

5.1.1 TSO标准模型

5.1.2 ATSO内存模型

5.2 断言定义

5.3 逻辑系统

5.4 一些例子

5.4.1 Optimzed Implementation of Locks算法

5.4.2 Peterson’s Lock算法

5.4.3 Simpson’s Four Slot算法

5.4.4 Concurrent GCD算法

5.5 逻辑可靠性证明

5.5.1 TSO是ATSO的精化

5.5.2 逻辑系统在ATSO上的可靠性

5.6 相关工作和总结

第六章 结论

参考文献

附录

致谢

在读期间发表的学术论文与取得的研究成果

展开▼

摘要

程序语言的内存模型规定了在程序执行的过程中内存访问是如何发生的。它作为桥梁将为程序员和语言实现连接起来,帮助程序员写出正确的并发程序。在现实世界中,大多数的硬件和编译系统都是基于弱内存模型的假设,即内存访问并不是严格按照程序顺序执行,以用来支持各类优化。本文研究了弱内存模型的设计,并提出了可以支持在弱内存模型上进行程序验证的程序逻辑。具体来说,本文在弱内存模型和程序逻辑方面做出了如下的贡献:
  首先,本文提出一种新的弱内存模型OHMM,这是Happens-before内存模型(HMM)的变种。这个模型通过对一个简单语言赋予具体的操作语义,并通过它在抽象机上的程序行为来模拟HMM。由于OHMM所允许的程序行为是通过操作语义自然生成的,所以它自然而然的避免了所谓的凭空出现(out-of-thin-air)的程序行为。另外一方面,OHMM使用一种我们称之为重放的机制来允许某些符合一定条件的指令在抽象机上能够多次执行,来模拟现实世界中编译器和处理器优化中的投机执行和优化。总的来说,我们的模型对于无锁程序的约束会比Java内存模型(JMM)更加弱一些,因此我们将会允许更多的编译器优化算法在我们的模型上能够使用。同时,在OHMM上,程序行为在直观上会比JMM更加自然。许多在JMM上可能出现但是明显违反直观认识的程序,在我们的模型上就不再合法。我们希望OHMM可以成为可供类Java语言选择的一种新内存模型。
  其次,本文提出一种新的用于验证并发程序在TSO(Total Store Order)弱内存模型下正确性的程序逻辑。TSO模型所允许的弱行为是OHMM的子集。我们知道,TSO模型已经被用作X86和SPARC-TSO处理器族的模型基础,并且在一些高级语言中也正在被提案作为其内存模型的基础。我们的逻辑对LRG(LocalRely-Guarantee)进行扩展,对其加入了关于TSO写缓存的断言,这可以让我们对TSO模型中对外部线程不可见的局部的写缓存的状态进行描述。如同LRG一样,我们的程序逻辑支持对细粒度并发具有表达力强的rely/guarantee推理以及分离逻辑中的局部推理。同时,我们在逻辑上对TSO模型进行进一步抽象,把TSO共享内存分为local和shared两部分,这可以允许我们可以将那些在访问时只有单个线程能够访问的内存单元(逻辑上等同于local单元)的写操作直接写入内存,不需要经过写缓存。我们使用这个逻辑证明了一些具有代表性的并发算法在TSO上的正确性,包括Peterson's lock算法,Simpson's four slot算法,concurrent GCD算法以及lock的优化实现算法。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号