基于操作語義的弱內(nèi)存模型描述及程序邏輯研究.pdf_第1頁
已閱讀1頁,還剩129頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、程序語言的內(nèi)存模型規(guī)定了在程序執(zhí)行的過程中內(nèi)存訪問是如何發(fā)生的。它作為橋梁將為程序員和語言實(shí)現(xiàn)連接起來,幫助程序員寫出正確的并發(fā)程序。在現(xiàn)實(shí)世界中,大多數(shù)的硬件和編譯系統(tǒng)都是基于弱內(nèi)存模型的假設(shè),即內(nèi)存訪問并不是嚴(yán)格按照程序順序執(zhí)行,以用來支持各類優(yōu)化。本文研究了弱內(nèi)存模型的設(shè)計(jì),并提出了可以支持在弱內(nèi)存模型上進(jìn)行程序驗(yàn)證的程序邏輯。具體來說,本文在弱內(nèi)存模型和程序邏輯方面做出了如下的貢獻(xiàn):
  首先,本文提出一種新的弱內(nèi)存模型O

2、HMM,這是Happens-before內(nèi)存模型(HMM)的變種。這個(gè)模型通過對(duì)一個(gè)簡單語言賦予具體的操作語義,并通過它在抽象機(jī)上的程序行為來模擬HMM。由于OHMM所允許的程序行為是通過操作語義自然生成的,所以它自然而然的避免了所謂的憑空出現(xiàn)(out-of-thin-air)的程序行為。另外一方面,OHMM使用一種我們稱之為重放的機(jī)制來允許某些符合一定條件的指令在抽象機(jī)上能夠多次執(zhí)行,來模擬現(xiàn)實(shí)世界中編譯器和處理器優(yōu)化中的投機(jī)執(zhí)行和優(yōu)

3、化??偟膩碚f,我們的模型對(duì)于無鎖程序的約束會(huì)比Java內(nèi)存模型(JMM)更加弱一些,因此我們將會(huì)允許更多的編譯器優(yōu)化算法在我們的模型上能夠使用。同時(shí),在OHMM上,程序行為在直觀上會(huì)比JMM更加自然。許多在JMM上可能出現(xiàn)但是明顯違反直觀認(rèn)識(shí)的程序,在我們的模型上就不再合法。我們希望OHMM可以成為可供類Java語言選擇的一種新內(nèi)存模型。
  其次,本文提出一種新的用于驗(yàn)證并發(fā)程序在TSO(Total Store Order)弱內(nèi)

4、存模型下正確性的程序邏輯。TSO模型所允許的弱行為是OHMM的子集。我們知道,TSO模型已經(jīng)被用作X86和SPARC-TSO處理器族的模型基礎(chǔ),并且在一些高級(jí)語言中也正在被提案作為其內(nèi)存模型的基礎(chǔ)。我們的邏輯對(duì)LRG(LocalRely-Guarantee)進(jìn)行擴(kuò)展,對(duì)其加入了關(guān)于TSO寫緩存的斷言,這可以讓我們對(duì)TSO模型中對(duì)外部線程不可見的局部的寫緩存的狀態(tài)進(jìn)行描述。如同LRG一樣,我們的程序邏輯支持對(duì)細(xì)粒度并發(fā)具有表達(dá)力強(qiáng)的rel

5、y/guarantee推理以及分離邏輯中的局部推理。同時(shí),我們?cè)谶壿嬌蠈?duì)TSO模型進(jìn)行進(jìn)一步抽象,把TSO共享內(nèi)存分為local和shared兩部分,這可以允許我們可以將那些在訪問時(shí)只有單個(gè)線程能夠訪問的內(nèi)存單元(邏輯上等同于local單元)的寫操作直接寫入內(nèi)存,不需要經(jīng)過寫緩存。我們使用這個(gè)邏輯證明了一些具有代表性的并發(fā)算法在TSO上的正確性,包括Peterson's lock算法,Simpson's four slot算法,conc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論