黄色片一级-国产农村妇女精品一二区-毛片一区二区三区-免费一级大片-亚洲伊人色-香蕉视频导航-精品综合网-91精品综合-91禁国产-日韩精品视频在线观看免费-av电影一区二区-亚洲黄色a级片-欧美色图888-男生桶女生鸡鸡-欧美bbbbbbbbbbbb精品-潘金莲肉床伦理-国产精品久久久久久久久果冻传媒-欧洲三级在线-天天综合日韩-亚洲区偷拍-国产视频资源-老司机av福利-日韩成人av网址-蓝导航福利-亚洲熟妇国产熟妇肥婆-国产91视频免费看-国产真人做爰毛片视频直播-欧洲黄色一级视频-国产91精品免费-久操这里只有精品

美國(guó)服務(wù)器Linux系統(tǒng)多核并行編程技術(shù)介紹

目前主流的美國(guó)服務(wù)器 Linux 系統(tǒng)主機(jī)都是馮諾依曼架構(gòu),即共享內(nèi)存的計(jì)算模型,這種過程計(jì)算模型對(duì)并行計(jì)算并不友好。這種架構(gòu)中,有如下設(shè)計(jì)特點(diǎn): 1 )多個(gè)美國(guó)服務(wù)器 CPU 核改

美國(guó)服務(wù)器Linux系統(tǒng)多核并行編程技術(shù)介紹

來源:美國(guó)服務(wù)器 作者:美聯(lián)科技小編Zoe 瀏覽量:155
2020-02-27
0

目前主流的美國(guó)服務(wù)器Linux系統(tǒng)主機(jī)都是馮諾依曼架構(gòu),即共享內(nèi)存的計(jì)算模型,這種過程計(jì)算模型對(duì)并行計(jì)算并不友好。這種架構(gòu)中,有如下設(shè)計(jì)特點(diǎn):

1)多個(gè)美國(guó)服務(wù)器CPU核改善處理器的計(jì)算處理能力

2)多級(jí)cache改善美國(guó)服務(wù)器CPU訪問主存的效率

3)各個(gè)CPU都有本地內(nèi)存(NUMA(非一致性內(nèi)存訪問)),進(jìn)一步改善CPU訪問主存的效率

4store buffer模塊改善cache write由于應(yīng)答延遲而造成的寫停頓問題

5invalidate queue模塊改善使無效應(yīng)答的時(shí)延,把使無效命令放入queue后就立即發(fā)送應(yīng)答

6)外設(shè)DMA支持直接訪問主存,改善美國(guó)服務(wù)器CPU使用效率

這些硬件體系設(shè)計(jì)特點(diǎn)也引入很多問題,最大的問題就是cache一致性問題和亂序執(zhí)行問題。cache一致性問題由cache一致性協(xié)議MESI解決,MESI由硬件保證,對(duì)軟件來說是透明的。

MESI協(xié)議保證所有CPU對(duì)單個(gè)cache line中單個(gè)變量修改的順序保持一致,但不保證不同變量的修改在所有CPU上看到的是相同順序。這就造成了亂序。不僅如此,亂序的原因還有很多:

1store buffer引起的延遲處理,會(huì)造成亂序

2invalidate queue引起的延遲處理,會(huì)造成亂序

3)編譯優(yōu)化,會(huì)造成亂序

4)分支預(yù)測(cè)、多流水線等CPU硬件優(yōu)化技術(shù),會(huì)造成亂序

5)外設(shè)DMA,會(huì)造成數(shù)據(jù)亂序

這種情況造成,就連簡(jiǎn)單的++運(yùn)算操作的原子性都無法保證,而這些問題必須采用多核并行編程新的技術(shù)手段來解決。

多核并行編程關(guān)鍵技術(shù)

1、鎖技術(shù)

美國(guó)服務(wù)器Linux kernel提供了多種鎖機(jī)制,如自旋鎖、信號(hào)量、互斥量、讀寫鎖、順序鎖等。各種鎖的簡(jiǎn)單比較如下:

1)自旋鎖,不休眠,無進(jìn)程上下文切換開銷,可以用在中斷上下文和臨界區(qū)小的場(chǎng)合

2)信號(hào)量,會(huì)休眠,支持同時(shí)多個(gè)并發(fā)體進(jìn)入臨界區(qū),可以用在可能休眠或者長(zhǎng)的臨界區(qū)的場(chǎng)合

3)互斥量,類似與信號(hào)量,但只支持同時(shí)只有一個(gè)并發(fā)體進(jìn)入臨界區(qū)

4)讀寫鎖,支持讀并發(fā),寫寫/讀寫間互斥,讀會(huì)延遲寫,對(duì)讀友好,適用讀側(cè)重場(chǎng)合

5)順序鎖,支持讀并發(fā),寫寫/讀寫間互斥,寫會(huì)延遲讀,對(duì)寫友好,適用寫側(cè)重場(chǎng)合

鎖技術(shù)雖然能有效地提供并行執(zhí)行下的競(jìng)態(tài)保護(hù),但鎖的并行可擴(kuò)展性很差,無法充分發(fā)揮多核的性能優(yōu)勢(shì)。鎖的粒度太粗會(huì)限制擴(kuò)展性,粒度太細(xì)會(huì)導(dǎo)致巨大的系統(tǒng)開銷,而且設(shè)計(jì)難度大,容易造成死鎖。以下技術(shù)手段或指導(dǎo)原則能解決或減輕這些問題的風(fēng)險(xiǎn):

1)按統(tǒng)一的層次順序使用鎖,解決死鎖問題

2)指數(shù)后退,解決活鎖/饑餓問題

3)范圍鎖,解決鎖驚群?jiǎn)栴}

4)優(yōu)先級(jí)繼承,解決優(yōu)先級(jí)反轉(zhuǎn)問題

2、原子技術(shù)

原子技術(shù)主要是解決cache不一致性和亂序執(zhí)行對(duì)原子訪問的破壞問題。主要的原子原語(yǔ)有:

1ACCESS_ONECE():只限制編譯器對(duì)內(nèi)存訪問的優(yōu)化

2)barrier():只限制編譯器的亂序優(yōu)化

3)smb_wmb():寫內(nèi)存屏障,刷新store buffer,同時(shí)限制編譯器和美國(guó)服務(wù)器CPU的亂序優(yōu)化

4smb_rmb():讀內(nèi)存屏障,刷新invalidate queue,同時(shí)限制編譯器和美國(guó)服務(wù)器CPU的亂序優(yōu)化

5smb_mb():讀寫內(nèi)存屏障,同時(shí)刷新store bufferinvalidate queue,同時(shí)限制編譯器和CPU的亂序優(yōu)化

6atomic_inc()/atomic_read()美國(guó)服務(wù)器整型原子操作

3無鎖技術(shù)

原子技術(shù)是無鎖技術(shù)中的一種,除此之外,無鎖技術(shù)還包括RCUHazard pointer等,這些無鎖技術(shù)都基于內(nèi)存屏障實(shí)現(xiàn)的:

1Hazard pointer主要用于對(duì)象的生命周期管理,類似引用計(jì)數(shù),但比引用計(jì)數(shù)有更好的并行可擴(kuò)展性。

2RCU適用的場(chǎng)景很多,其可以替代:讀寫鎖、引用計(jì)數(shù)、垃圾回收器、等待事物結(jié)束等,而且有更好的并行擴(kuò)展性。但RCU也有一些不適用的場(chǎng)景,如寫側(cè)重、臨界區(qū)長(zhǎng)、臨界區(qū)內(nèi)休眠等場(chǎng)景。

不過,所有的無鎖原語(yǔ)也只能解決讀端的并行可擴(kuò)展性問題,寫端的并行可擴(kuò)展性只能通過數(shù)據(jù)分割技術(shù)來解決。

4、數(shù)據(jù)分割技術(shù)

分割數(shù)據(jù)結(jié)構(gòu),減少共享數(shù)據(jù),是解決并行可擴(kuò)展性的根本辦法。對(duì)分割友好(即并行友好)的數(shù)據(jù)結(jié)構(gòu)有:

1)數(shù)組

2)哈希表

3)基樹/稀疏數(shù)組

4)跳躍列表

使用這些便于分割的數(shù)據(jù)結(jié)構(gòu),有利于通過數(shù)據(jù)分割來改善并行可擴(kuò)展性。除了使用合適的數(shù)據(jù)結(jié)構(gòu)外,合理的分割指導(dǎo)規(guī)則也很重要:

1)讀寫分割:把以讀為主的數(shù)據(jù)與以寫為主的數(shù)據(jù)分開

2)路徑分割:按獨(dú)立的代碼執(zhí)行路徑來分割數(shù)據(jù)

3)專項(xiàng)分割:把經(jīng)常更新的數(shù)據(jù)綁定到指定的CPU/線程中

4)所有權(quán)分割:按美國(guó)服務(wù)器CPU/線程個(gè)數(shù)對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行分割,把數(shù)據(jù)分割到per-cpu/per-thread

以上這些美國(guó)服務(wù)器Linux系統(tǒng)多核并行編程內(nèi)容,基本上涵蓋了Linux kernel中所有的并發(fā)編程關(guān)鍵技術(shù)。當(dāng)然并行編程還有很多其他技術(shù)沒有應(yīng)用到Linux kernel中的,如無副作用的并行函數(shù)式編程技術(shù)、消息傳遞、MapReduce等等。

關(guān)注美聯(lián)科技,了解更多IDC資訊!

部分文章來源與網(wǎng)絡(luò),若有侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)刪除!
主站蜘蛛池模板: 色姑娘综合网 | 男女靠逼视频 | 中文字幕在线播放 | 欧美久久久久久 | a天堂在线| 91美女视频 | 成人一区二区三区 | 天天干天天干 | 久久成人精品 | 手机在线看片 | 99成人| 日韩一级视频 | 无码人妻一区二区三区免费n鬼沢 | 高跟91白丝 | 欧美一区二区三区在线观看 | 17c在线观看 | 青青青在线视频 | av大帝| 青青在线 | 日韩精品在线播放 | 欧美日韩视频 | 欧美人与野| 欧美做受高潮6 | 欧美另类视频 | 黄色片一级| 艳妇乳肉豪妇荡乳av无码福利 | 免费毛片视频 | 九九热在线视频 | 国产一区二区三区在线 | 亚洲九九 | 精品一区二区三区三区 | 被c到喷水嗯h厨房交换视频 | 日韩少妇 | 久久久久国产 | 国产高清视频 | 婷婷五月花 | 国产又黄又爽 | 羞羞网站| 小受受扒开屁股挨网站 | 黄色激情小说 | 三上悠亚在线播放 | 97精产国品一二三产区 | 国产成人免费视频 | 青青草免费在线视频 | 亚洲激情网 | 欧美熟妇精品黑人巨大一二三区 | 中文字幕一区二区三区四区 | 特级毛片 |