成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

內存瘋狂換頁!CPU怒批OS

商務辦公
瓶頸我是CPU一號車間的阿Q,前一陣子我們廠里發生了一件大喜事,老板拉到了一筆投資,準備擴大生產規模。

[[332148]]

 

本文轉載自微信公眾號「 編程技術宇宙 」,作者軒轅之風 。轉載本文請聯系編程技術宇宙公眾號。

內存訪問

瓶頸我是CPU一號車間的阿Q,前一陣子我們廠里發生了一件大喜事,老板拉到了一筆投資,準備擴大生產規模。

不過老板挺摳門的,拉到了投資也不給我們漲點工資,就知道讓我們拼命干活,壓榨我們的勞動力。

老板說了,投資的錢要用來添置設備,招聘新員工,咱們原來就有八個車間了,這一下直接double,變成了十六個!我們的工資要是也能double就好了···

 

現在我們變成了一個16核的CPU啦!

原以為我們生產效率也能double,沒想到卻遇到了新的問題。

我們CPU里面各個車間訪問內存都要通過內存控制器和總線系統,有時候碰到幾個車間都要訪問內存,就得要競爭。

 

以前我們八個車間的時候競爭情況還不是很激烈,大家互相謙讓一下也就罷了。現在變成了十六個車間都要過獨木橋,這競爭一下就激烈了,尤其是我們這幫老員工基本不會讓著新來的,為了此事經常發生不愉快。

內存訪問出現了瓶頸,這性能自然是折損嚴重。

NUMA架構

老板把這一切都看在眼里,私下里找了我、二號車間的虎子還有總線主任開了個小會。

 

“你們幾個都是廠里的核心員工,對廠里目前的問題你們怎么看?”,老板問我們幾個。

我和虎子互相瞅了瞅,都沒說話。

這時總線主任開口了:“老板,現在的問題是訪問內存的路只有一條,大家都要來擠,難免會發生摩擦,影響工作性能。要想從根本解決問題,最好再建一條路”

“再建一條路,什么意思?”

“我建議把新擴建的那8個車間獨立出去,建一個分廠。然后再把內存分一下,讓兩個廠各管理一部分。一來可以減少新老員工之間的矛盾,二來可以減少大家訪問內存擁擠造成的資源浪費。再說了,萬一以后繼續擴大規模還可以繼續用這個辦法”,總線主任繼續說到。

 

領導正低頭思索,我倒是想到了一個問題:“主任,要是我們一號核執行的線程要訪問的內存頁面不在我們廠管理的內存上,在他們分廠怎么辦呢?”

“嗯,這樣的話,兩個廠之間需要通信,如果訪問的內存不在自己管轄的范圍,就要互相幫忙傳遞一下”

老板拍了下桌子:“好主意!就這么辦!”

第二天,老板召集16個車間的代表,總線主任,還有操作系統那邊負責內存管理的代表小李,一起開了一個大會,會上正式通過了新的技術方案。

 

還給這項技術取了一個名字:NUMA(Non Uniform Memory Access),非一致性內存訪問。

 

現有的16個車間拆分成兩個CPU工廠,叫做兩個NUMA節點(Node),每個節點直接連接一部分內存,兩個節點之間有專門的的inter-connect通道。各節點直接訪問自己管理的內存叫Local Access,通過inter-connect通道訪問其他分廠管理的內存叫做Remote Access。很顯然,前者的訪問速度要比后者快得多,所以這也是這項技術名字的由來:非一致性內存訪問。

新的組織架構調整過后,廠里的工作效率提升不少,矛盾摩擦也少了很多,又可以愉快的干活了。

操作系統支持

我們的組織架構調整了,操作系統那邊可忙壞了。為了支持我們新的架構,操作系統不得不配合著做一些調整。

首先是緩存的問題,操作系統的進程&線程調度管理部門需要注意盡量不要跨NUMA節點進行調度線程,不能讓一個線程一會兒在隔壁分廠運行,一會兒又在我們廠運行,這樣建立的緩存就失效了。

 

還有就是內存親和性的問題了,為了能得到更快的內存訪問速度,操作系統的內存管理部門制定了一個內存分配策略,線程在哪個NUMA節點內執行,那就把內存分配到那個節點直接連接的內存中,避免跨節點的內存訪問。

還別說,操作系統這么一優化調整,工作效率真是提升了不少呢。

然而好景不長,就因為這個調整,新的問題又雙叒叕出現了~~~

MySQL的問題

最近一段時間,發生了一件怪事,不知道怎么回事,我們分廠管轄的內存很快耗光了,但隔壁分廠管理的內存還有很多空間。

操作系統不去分配那邊的內存頁面,卻讓我們一個勁的把內存頁面swap到硬盤上去,騰挪空間。我們花了大量時間在這上邊,搞得我們業績下滑,還比不上隔壁分廠那幫新人。

 

終于有一天,忍不了了,我伙同廠里幾個老家伙,把操作系統內存管理部門的小李又叫來了。

“你們怎么回事,就不能分配隔壁二號節點分廠管轄的內存嗎,明明還有那么多空間,卻讓我們忙個不停”,我有點生氣。

小李滿臉無辜的說到:“不瞞你們各位,前幾天有人來我們Linux帝國開設了一家新公司,叫MySQL,這家伙是個吃內存大戶啊,一上來就要吃掉幾十G,你們廠管轄的內存大半都被它給吃掉了”

 

虎子問到:“這跟我們有什么關系,你別推卸責任啊”

“上次我來開會,你們不是搞了個什么NUMA架構嗎,訪問本地連接的內存要比訪問遠程內存快一些嘛,所以我們制定了內存親和性策略嘛,線程在哪個NUMA節點執行,就把內存分配到哪個節點直接連接的內存,想著這樣能提升性能嘛”,小李繼續委屈的說到。

“那也不能死腦筋啊,訪問遠程內存雖然比不上訪問本地內存快,那也比一個勁的把頁面從內存和硬盤上換來換去的強啊,你真是好心辦壞事!”

被我們這樣一說,小李也意識到了這樣做的問題,“我回去反饋一下大家的意見,調整一下我們的策略”

過了幾天,操作系統那邊上了新的內存分配策略,將內存均勻的分配到各個NUMA節點,我們再也不用坑次坑次的把數據從內存和硬盤之間搬來搬去了。

 

NUMA雖好,可要是用得不好,只會徒增煩惱啊~

 

責任編輯:武曉燕 來源: 編程技術宇宙
相關推薦

2020-12-23 10:48:18

LinuxOSCPU

2021-01-18 10:53:48

LinuxOSCPU

2017-12-28 12:38:29

Windows微軟服務器

2021-09-08 09:59:32

LinusGitHubLinux

2009-05-20 11:03:27

打字通假冒產品金山

2025-02-18 09:18:28

2021-06-28 10:37:33

Windows 11操作系統微軟

2015-03-04 11:43:27

信息安全航空信息安全

2019-12-10 14:51:00

CPU緩存內存

2018-05-11 08:42:22

運營商流量提速降費

2021-07-10 07:49:52

PythonRARMacOS

2018-12-06 12:58:50

CPU內存模塊

2019-07-10 05:08:05

CPU內存分頁管理

2014-06-13 09:57:18

瘋狂iOS游戲打飛機

2017-09-14 11:49:21

內存攢機存儲

2023-01-11 14:38:15

谷歌GPT

2020-05-15 14:31:07

CPU分頁交換虛擬內存

2011-08-23 17:42:39

vmstat中文man

2021-11-30 06:32:19

Redis宕機集群

2024-11-19 11:27:53

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区 | 国产精品久久久久久模特 | 日韩不卡一区二区 | 日韩视频在线免费观看 | 一区二区不卡视频 | 性xxxxx| 欧美一级二级在线观看 | 天天操天天天干 | 亚洲在线一区二区三区 | 亚洲视频一区在线观看 | www.788.com色淫免费 | 亚洲精品视频三区 | 一区二区视频 | 精品欧美在线观看 | 国产99久久 | 亚洲精品久久久久久宅男 | 最新国产视频 | 狠狠色综合久久丁香婷婷 | 中文字幕日韩欧美一区二区三区 | 欧美日韩亚洲系列 | 亚洲高清在线观看 | 久久久精品一区二区三区 | 久久国产高清 | jav成人av免费播放 | 美女午夜影院 | 国产999精品久久久 精品三级在线观看 | 国产精品视频二区三区 | 一级黄色录像毛片 | 99久久精品免费 | 99re热这里只有精品视频 | 日韩视频精品在线 | 亚洲自拍偷拍视频 | 亚洲www啪成人一区二区 | 黄色毛片在线观看 | 欧美在线色 | 亚洲精品粉嫩美女一区 | 精品乱码久久久久 | 成人精品鲁一区一区二区 | 精品一区二区久久久久久久网精 | 欧美一区二区免费 | 日韩精品无码一区二区三区 |