基于軟件內(nèi)存事務(wù)的高性能服務(wù)器設(shè)計(jì)
發(fā)布時(shí)間:2021-01-24 08:31
本世紀(jì)初,摩爾定律的失效加速了多核處理器的問(wèn)世和不斷普及,硬件并行化的發(fā)展反過(guò)來(lái)也推動(dòng)了工業(yè)界對(duì)軟件并發(fā)性的研究。軟件內(nèi)存事務(wù)是用軟件的方法對(duì)內(nèi)存操作進(jìn)行封裝,以事務(wù)的原子性與隔離型來(lái)保證并行程序執(zhí)行邏輯的一種方法。較之于傳統(tǒng)上基于互斥鎖的多線程編程方法,軟件內(nèi)存事務(wù)具有編程接口易用,不產(chǎn)生死鎖等優(yōu)點(diǎn)。軟件內(nèi)存事務(wù)主要可分為基于鎖的實(shí)現(xiàn)和無(wú)鎖的實(shí)現(xiàn),本文分別詳細(xì)介紹了兩大類中的幾個(gè)典型實(shí)現(xiàn),并對(duì)它們各自的優(yōu)缺點(diǎn)進(jìn)行了分析和比較。經(jīng)過(guò)研究我們發(fā)現(xiàn),現(xiàn)實(shí)中的程序運(yùn)行壓力并不是恒定不變的,尤其對(duì)服務(wù)器程序而言,其處理壓力往往會(huì)在短時(shí)內(nèi)出現(xiàn)劇烈波動(dòng)。我們還發(fā)現(xiàn),能夠使軟件內(nèi)存事務(wù)的性能達(dá)到最優(yōu)化的參數(shù)往往取決于目標(biāo)狀態(tài)的運(yùn)行時(shí)壓力,如寫(xiě)入型事務(wù)占事務(wù)總數(shù)的比例,在內(nèi)存地址上的訪問(wèn)競(jìng)爭(zhēng)度等。在現(xiàn)有的軟件內(nèi)存事務(wù)的實(shí)現(xiàn)中普遍缺乏對(duì)運(yùn)行時(shí)壓力變化做出反應(yīng)和調(diào)整的機(jī)制,于是我們提出了一種基于運(yùn)行時(shí)壓力檢測(cè)和動(dòng)態(tài)策略調(diào)整的軟件內(nèi)存事務(wù)實(shí)現(xiàn):PA-TinySTM。PA-TinySTM主要由壓力探測(cè)前端,動(dòng)態(tài)調(diào)整模塊,TinySTM主體和反饋信息處理后端四大部分組成。壓力探測(cè)前端在事務(wù)進(jìn)入執(zhí)行前對(duì)事務(wù)執(zhí)行速...
【文章來(lái)源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:74 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
HybridTM中撤銷事務(wù)的操作混合型內(nèi)存事務(wù)的一種簡(jiǎn)單實(shí)現(xiàn)框架,是強(qiáng)制所有處于活動(dòng)狀態(tài)的事務(wù)在系
14圖 1-2 TxFlash 結(jié)構(gòu)示意圖如圖 1-1 所示是 TxFlash 設(shè)備的總體結(jié)構(gòu)示意圖?刂破 Controller 的作行邏輯并保證事務(wù)的原子性,隔離性和狀態(tài)恢復(fù)。實(shí)際數(shù)據(jù)和控制元數(shù)據(jù) Flash 包中[12]。與硬盤類似,基于 NAND Flash 芯片設(shè)計(jì)的 SSD 提供了永久性的數(shù)據(jù)存。但與硬盤不同的是,F(xiàn)lash 芯片沒(méi)有塊移動(dòng)的機(jī)制,因此具有和硬盤截然性能特性。單個(gè) SSD 由連接在同一個(gè)控制器上的 Flash 包組成,控制器使態(tài)內(nèi)存來(lái)緩存 IO 請(qǐng)求和維護(hù)內(nèi)部數(shù)據(jù)結(jié)構(gòu)。Flash 包由多個(gè) Flash 面(Plane,每個(gè) Flash 面由上千個(gè)塊(Block)組成。在 Flash 塊的內(nèi)部,由許多 4K的頁(yè)面組成。除了數(shù)據(jù)塊之外,F(xiàn)lash 頁(yè)面上還有獨(dú)立的元數(shù)據(jù)塊,對(duì)每個(gè)小的頁(yè)面,都有一塊對(duì)應(yīng)的 128 字節(jié)元數(shù)據(jù)用作校驗(yàn)和和錯(cuò)誤校對(duì)。Flash
FSTM 事務(wù)首先取得其所有已用可寫(xiě)模式打開(kāi)打開(kāi)過(guò)程中遵循一定的順序(通常是基于虛擬地址空間的排中使用原子的 Compare-and-Swap 指令,每執(zhí)行一條 CAS針置換為指向當(dāng)前事務(wù)描述符的指針,該指針的最低位用一個(gè)并發(fā)對(duì)象還是一個(gè)事務(wù)描述符。如果有競(jìng)爭(zhēng)訪問(wèn)存在A)在獲取并發(fā)對(duì)象時(shí)會(huì)發(fā)現(xiàn)對(duì)象頭中該指針指向了另一并)的描述符,這時(shí),遞歸互助策略會(huì)驅(qū)使 A 幫助 B 提交完在于該互助策略不會(huì)陷入循環(huán)鏈而死鎖。圖 2-5 所示是 FSTM 的基本結(jié)構(gòu)組成。在成功的完成獲取操作階段(Acquire Phase)后,事務(wù)會(huì)自動(dòng)其只讀列表中對(duì)該對(duì)象進(jìn)行驗(yàn)證,這一過(guò)程也是利用原子的校驗(yàn)過(guò)程包括以下幾個(gè)步驟:確認(rèn)對(duì)象頭指針仍然指向?qū)D 2-5 FSTM 數(shù)據(jù)結(jié)構(gòu)示意圖
【參考文獻(xiàn)】:
期刊論文
[1]一種基于目錄的軟件事務(wù)性內(nèi)存實(shí)現(xiàn)算法[J]. 張小強(qiáng),彭林,彭元喜,謝倫國(guó). 計(jì)算機(jī)研究與發(fā)展. 2008(09)
[2]OpenCMP:一個(gè)支持事務(wù)存儲(chǔ)模型的多核處理器模擬器[J]. 何裕南,安虹,郭銳,梁博. 計(jì)算機(jī)科學(xué). 2007(01)
本文編號(hào):2996940
【文章來(lái)源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:74 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
HybridTM中撤銷事務(wù)的操作混合型內(nèi)存事務(wù)的一種簡(jiǎn)單實(shí)現(xiàn)框架,是強(qiáng)制所有處于活動(dòng)狀態(tài)的事務(wù)在系
14圖 1-2 TxFlash 結(jié)構(gòu)示意圖如圖 1-1 所示是 TxFlash 設(shè)備的總體結(jié)構(gòu)示意圖?刂破 Controller 的作行邏輯并保證事務(wù)的原子性,隔離性和狀態(tài)恢復(fù)。實(shí)際數(shù)據(jù)和控制元數(shù)據(jù) Flash 包中[12]。與硬盤類似,基于 NAND Flash 芯片設(shè)計(jì)的 SSD 提供了永久性的數(shù)據(jù)存。但與硬盤不同的是,F(xiàn)lash 芯片沒(méi)有塊移動(dòng)的機(jī)制,因此具有和硬盤截然性能特性。單個(gè) SSD 由連接在同一個(gè)控制器上的 Flash 包組成,控制器使態(tài)內(nèi)存來(lái)緩存 IO 請(qǐng)求和維護(hù)內(nèi)部數(shù)據(jù)結(jié)構(gòu)。Flash 包由多個(gè) Flash 面(Plane,每個(gè) Flash 面由上千個(gè)塊(Block)組成。在 Flash 塊的內(nèi)部,由許多 4K的頁(yè)面組成。除了數(shù)據(jù)塊之外,F(xiàn)lash 頁(yè)面上還有獨(dú)立的元數(shù)據(jù)塊,對(duì)每個(gè)小的頁(yè)面,都有一塊對(duì)應(yīng)的 128 字節(jié)元數(shù)據(jù)用作校驗(yàn)和和錯(cuò)誤校對(duì)。Flash
FSTM 事務(wù)首先取得其所有已用可寫(xiě)模式打開(kāi)打開(kāi)過(guò)程中遵循一定的順序(通常是基于虛擬地址空間的排中使用原子的 Compare-and-Swap 指令,每執(zhí)行一條 CAS針置換為指向當(dāng)前事務(wù)描述符的指針,該指針的最低位用一個(gè)并發(fā)對(duì)象還是一個(gè)事務(wù)描述符。如果有競(jìng)爭(zhēng)訪問(wèn)存在A)在獲取并發(fā)對(duì)象時(shí)會(huì)發(fā)現(xiàn)對(duì)象頭中該指針指向了另一并)的描述符,這時(shí),遞歸互助策略會(huì)驅(qū)使 A 幫助 B 提交完在于該互助策略不會(huì)陷入循環(huán)鏈而死鎖。圖 2-5 所示是 FSTM 的基本結(jié)構(gòu)組成。在成功的完成獲取操作階段(Acquire Phase)后,事務(wù)會(huì)自動(dòng)其只讀列表中對(duì)該對(duì)象進(jìn)行驗(yàn)證,這一過(guò)程也是利用原子的校驗(yàn)過(guò)程包括以下幾個(gè)步驟:確認(rèn)對(duì)象頭指針仍然指向?qū)D 2-5 FSTM 數(shù)據(jù)結(jié)構(gòu)示意圖
【參考文獻(xiàn)】:
期刊論文
[1]一種基于目錄的軟件事務(wù)性內(nèi)存實(shí)現(xiàn)算法[J]. 張小強(qiáng),彭林,彭元喜,謝倫國(guó). 計(jì)算機(jī)研究與發(fā)展. 2008(09)
[2]OpenCMP:一個(gè)支持事務(wù)存儲(chǔ)模型的多核處理器模擬器[J]. 何裕南,安虹,郭銳,梁博. 計(jì)算機(jī)科學(xué). 2007(01)
本文編號(hào):2996940
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2996940.html
最近更新
教材專著