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

CPU明明8個核,網卡為啥拼命折騰一號核?

新聞
大家好,我是CPU一號車間的阿Q!我們日常的工作就是不斷執行代碼指令,不過這看似簡單的工作背后其實也并不輕松。咱不能悶著頭啥也不管一個勁的只管執行代碼,還得和連接在主板上的其他單位打交道。

大家好,我是CPU一號車間的阿Q!

我們日常的工作就是不斷執行代碼指令,不過這看似簡單的工作背后其實也并不輕松。

咱不能悶著頭啥也不管一個勁的只管執行代碼,還得和連接在主板上的其他單位打交道。經常保持聯系的有鍵盤、鼠標、磁盤,哦對,還有網卡,這家伙最近把我惹到了,待會再說這事兒。

原以為內存那家伙已經夠慢的了,沒想到跟上面這幾位通個信比他更慢,咱CPU工廠的時間一刻值千金,不能干等著,耽誤工夫。后來廠里一合計,想了個叫中斷的辦法。

在我們車間裝了個大燈,這些單位想聯系我們辦事兒,就先給我們發一個中斷信號,大燈就會自動亮起。我們平時工作執行代碼指令的時候,每執行一條指令就會瞅一眼看看大燈有沒有亮起來。一旦發現燈亮了,就把手頭的工作先放一邊,去處理一下。

我們記性很差的,等會處理了完了還得回來接著原來的活繼續干,為了等會回來還能接的起來,走之前得把當前執行的這個線程的各個寄存器的值,執行到哪里了等等這些信息都保存在這個線程的棧里去。

不過有時候我們在執行非常重要的事情的時候,就不想被他們打斷。于是我們又在車間里那個eflags寄存器中設置了一個標記,如果是1我們才允許被打斷,如果是0那就算天王老子找我們也不管了。

哦不對,還有一種不可以屏蔽的中斷NMI,走得是綠色通道。不過我可不期望有這種事情發生,因為一般都沒有好事,不是電源斷電就是溫度過高,或者總線出了錯誤等這之類嚴重的事情。

8259A PIC

還有一個問題,找我們辦事兒的單位有很多,我們得要區分開來,到底是誰來消息了,而且要是他們一起來找,按什么樣優先級順序處理,也是一件頭疼的事情。

為此,廠里單獨組建了一個全資的子公司來負責這事兒,他就是可編程中斷控制器PIC,外號8259A,其他單位想聯系我們都得通過這個PIC,我們只需要和PIC進行對接就可以了。

我們給辦事單位都分配了一個編號,叫做中斷向量。我們還準備了一個表格叫中斷描述符表IDT,表格里記錄了很多信息,其中就有處理這個中斷號對應的函數地址。我們找PIC拿到編號后就執行處理函數就OK了。

這個表格有點大,足足有256項,咱CPU車間空間有限,放不下,就把它放在內存那家伙那里了,為了能快速找到這個表,專門添置了一個叫idtr的寄存器指向這個表格。

其實除了中斷,我們在執行指令的時候如果遇到了異常情況,也會去這個表里執行異常處理函數,最常見的比如遇到了除數是0,內存地址錯誤等等情況。

這種情況下,我們必須主動放下手里的活,去處理異常,所以我們也說異常是同步的,而中斷不知道什么時候發生,所以是異步的。

APIC

8259A干的挺不錯的,不過后來咱們廠擴大規模,從單核CPU變成了多核,他就有點應付不過來了。

終于有一天,廠里召開會議,把8259A給撤了,成立了一個新的全資子公司叫高級可編程中斷控制器APIC,名字就多了個高級兩個字,干的活還是一樣的。

不過你還別說,這兩個字還真不是吹噓,比8259A不知道高到哪里去了。

這個APIC的新公司一上臺,就成立了兩個部門,一個叫I/O APIC,負責接待那些要找我們辦事兒的單位,一個叫Local APIC,以外包的形式入駐到我CPU的各個車間工作,因為就挨著我們辦公,所以取名叫Local。

I/O APIC收到中斷信號以后,根據自己的策略就分發到對應的Local APIC,咱們八個車間就可以專心處理了,為我們省了不少事兒。

不僅如此,通過這個外包團隊,我們八個車間還能向彼此發起中斷請求,我們把這個叫做處理器間中斷Inter-Processor Interrupt,簡稱IPI。

中斷親和性

每當網絡中有數據包到來,網卡那家伙就發送一個中斷消息過來,告訴我們去處理。

不過最近不知道怎么回事,網絡數據量激增。咱們廠里明明有8個車間,他非得一個勁的只給我們發消息,搞得我們手頭的工作老是被打斷,忙得不可開交。

終于,我忍不住了,去找網卡那家伙理論了一番。不過他告訴我,這也不能怪他,分發給誰處理,那是APIC在負責。

想想也是,回頭我就去了APIC那里,要求他們分攤一點給別的車間處理。

APIC表示這他們做不了主,得讓廠里來決定。

沒過幾天,廠里開了個會,參會的有各車間代表、APIC負責人,還請了操作系統那邊的相關代表過來。

會上,大家為了此事爭執不休。

二號車間虎子:“阿Q,誰叫你們一號車間是Bootstrap Processor,你們就多辛苦一點嘛”

三號車間代表:“你這話說的不合適,大家是一個Team,要互相幫助!要不這樣,既然有這么多單位要聯系我們,咱就分下工,比如一號車間負責網卡,二號負責磁盤,我們三號負責鍵盤,以此類推”

五號車間代表:“你想的倒是挺美哦,鍵盤一天能發多少中斷,網卡一天要發多少中斷,你凈挑輕松的干。這樣吧,咱就用隨機分發進行負載均衡你們覺得怎么樣?”

?八號車間代表:“隨機個啥啊,多麻煩,依我看吶咱8個車間就輪流來唄”

這時,領導問操作系統代表有沒有什么建議。

這代表站起身來,推了推眼鏡說到:“幾位有沒有聽過線程的CPU親和性?”

大家都搖了搖頭,問到:“這是個什么意思?”

“就是有些線程想綁定在你們之中的某一個核上面執行,不希望一會兒在這個核執行,一會兒在那個核執行”

我接過他的話:“好像是有這么回事兒,之前有遇到過,有個線程一直被分配到我們一號車間,不過我們對這個不用關心吧,執行誰不是干活啊,對我們都一個樣”

代表搖了搖頭,“唉,這可不一樣!你們每個核的一二級緩存都是自己在管理,要是換到別的核,這緩存多半就沒用了,又得重新來建立,這換來換去的豈不是瞎耽誤功夫嘛!對于一般的線程他們倒是不關心,但是有些線程執行大量的內存訪問和運算處理,又對性能要求很高的話,那就很在意這個問題了”

我們幾個都恍然大悟,紛紛點頭。

虎子起身問到:“那你們是如何實現這個親和性的呢?這跟我們今天的會議又有什么關系呢?”

代表繼續回答說到:“我先回答你的第一個問題。線程調度是我們操作系統完成的工作,我們提供了API接口,線程通過調用這些接口表明自己的親和性意愿,我們在調度的時候就能按照他們的意愿把線程分配給你們來執行?!?/p>

代表喝了一口水接著說到:“我再回答你的第二個問題。既然線程可以有親和性,那中斷也可以按照這個思路來分發啊!APIC默認有一套分發策略,但是也提供親和性的設置,可以指定誰哪些核來處理,這樣不用把規矩定死,靈活可變,豈不更好?”

剛說完,會議室門口突然出現一年輕少年,揮手將操作系統代表喚了出去。

接下來,我們詳細討論了這種方案的可行性,最后大家一致決定,就照這么辦,我們一起提出了一個叫中斷親和性的東西,操作系統那邊提供一個可配置的入口smp_affinity,可以通過設置各處理器核的掩碼來決定中斷交由誰來處理,APIC回去負責落地支持。

有了這套方案,再遇到網絡高峰期,咱們一號車間的壓力就有辦法緩解了。

我們剛剛達成一致,操作系統代表返回會議室,神色凝重的說到:“不好意思各位,操作系統那邊有點事情需要趕回去處理一下,先走一步了”

責任編輯:未麗燕 來源: SDNLAB
相關推薦

2020-06-28 09:12:31

CPU網卡中斷

2020-07-21 09:05:47

CPU1號核寄存器

2020-05-27 08:31:33

CPU寄存器緩存

2020-05-11 13:14:13

CPU寄存器緩存

2009-07-28 19:28:37

四核CPU多核

2009-04-18 14:52:54

雙核四核服務器

2018-06-20 11:13:00

Intel8核22核

2011-01-18 09:20:49

Linux嵌入式

2009-04-10 13:32:46

Nehalem多核intel

2009-08-27 10:26:42

12核CPU TDP

2021-10-29 06:46:42

CPU緩存TLB

2023-08-14 06:51:06

芯片蘋果

2021-09-16 18:29:17

CPU緩存虛擬

2023-07-03 07:06:17

CPU頻率單元

2021-11-29 10:34:33

汽車智能芯片

2013-12-18 11:04:57

CPU雙核

2009-09-17 14:25:49

通用CPU芯片龍芯一號

2023-11-10 15:47:06

線性回歸內核技巧

2010-09-28 14:24:15

AMD12核處理器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久99精品久久久97夜夜嗨 | 激情五月综合网 | 久久久久久久久久久福利观看 | 精品欧美一区二区三区久久久 | 亚洲欧美国产毛片在线 | 美女一级a毛片免费观看97 | 日日操夜夜操天天操 | 黑人精品 | 中文字幕国产日韩 | av免费网站在线观看 | 欧洲免费视频 | 天天弄天天操 | 91se在线| www亚洲免费国内精品 | 欧美视频在线看 | 天天干夜夜操 | 国产精品久久国产精品 | 午夜资源 | 九九九视频在线 | 亚洲精品久久久久久一区二区 | 成人免费av| av在线免费观看网址 | av片免费| 久久男人| 91中文视频| 亚洲图片一区二区三区 | 欧美日韩在线观看视频 | 日韩久草 | 一区二区不卡视频 | 亚洲福利一区 | 国产一级片在线播放 | 成人在线视频观看 | 在线观看国产视频 | 波多野结衣一区二区三区在线观看 | 亚洲网站免费看 | 极品电影院 | 欧美色999| 国产农村妇女毛片精品久久麻豆 | 午夜精品一区二区三区在线观看 | 成人在线精品视频 | 91久久久久 |