亚洲国产婷婷六月丁香,亚洲av永久中文无码精品 ,亚洲av成人精品一区二区三区,亚洲av无码乱码在线观看富二代,亚洲av乱码一区二区三区香蕉

課程目錄:低延遲系統(tǒng)設(shè)計(jì)與深度優(yōu)化培訓(xùn)
4401 人關(guān)注
(78637/99817)
課程大綱:

  低延遲系統(tǒng)設(shè)計(jì)與深度優(yōu)化培訓(xùn)

 

 

 

第一部分:低延遲系統(tǒng)基礎(chǔ)

要點(diǎn):時(shí)間測(cè)量,感受納秒,CPU的旅行,常見(jiàn)操作的時(shí)間,低延遲系統(tǒng)的典型場(chǎng)景,高頻交易系統(tǒng)的特點(diǎn)、核心模塊和架構(gòu),網(wǎng)絡(luò)數(shù)據(jù)包,傳統(tǒng)網(wǎng)絡(luò)棧,影響延遲的因素,中斷,缺頁(yè)異常,系統(tǒng)調(diào)用,搶先式調(diào)度,NUMA,TLB,cache,精確測(cè)量時(shí)間的方法,RDTSC


第二部分:案例研究之DPDK概覽

要點(diǎn):源于INTEL,INTEL軟件團(tuán)隊(duì)簡(jiǎn)介,DPDK簡(jiǎn)要?dú)v史,版本,協(xié)議,DPDK的架構(gòu),設(shè)計(jì)思想,核心組件,驅(qū)動(dòng)層,KNI模塊,用戶空間的庫(kù),包處理過(guò)程,安裝,試驗(yàn)環(huán)境簡(jiǎn)介,研究和學(xué)習(xí)方法


第三部分:低延遲設(shè)計(jì)之內(nèi)核穿透

要點(diǎn):兩大空間,深挖系統(tǒng)調(diào)用,寄存器切換,棧切換,緩存溫度,內(nèi)核頁(yè)表隔離,Meltdown漏洞,案例分析之DPDK,解讀KNI驅(qū)動(dòng),案例分析之Solarflare,與傳統(tǒng)網(wǎng)絡(luò)訪問(wèn)的比較


第四部分:低延遲設(shè)計(jì)之回避中斷

要點(diǎn):中斷處理過(guò)程,中斷處理例程,硬件中斷,時(shí)鐘中斷,中斷親緣性,在Linux系統(tǒng)中設(shè)置中斷親緣性,任務(wù)調(diào)度,Tickless kernel,軟件中斷,Linux系統(tǒng)的軟件中斷,多CPU系統(tǒng)的中斷處理,矛盾重重的TLB-Shutdown中斷,Linux下的中斷處理,RES中斷,函數(shù)調(diào)用中斷,使用Kernelshark觀察線程的執(zhí)行軌跡和被中斷打斷的場(chǎng)景,案例解析




第五部分:內(nèi)存訪問(wèn)

要點(diǎn):內(nèi)存層次體系,cache,cache結(jié)構(gòu),cache hit和cache miss,提高cache hit的關(guān)鍵思想,局部性,空間局部性和時(shí)間局部性,如何編寫(xiě)cache友好的代碼,常用技巧,循環(huán)交換,C++的虛方法,頁(yè)表結(jié)構(gòu),頁(yè)表項(xiàng),頁(yè)錯(cuò)誤,Major Fault和Minor Fault,頁(yè)錯(cuò)誤導(dǎo)致的延遲,大內(nèi)存頁(yè)原理,Linux系統(tǒng)的大內(nèi)存頁(yè)支持,分配大內(nèi)存頁(yè),評(píng)估大頁(yè)的性能,案例分析之DPDK,配置大內(nèi)存頁(yè)


第六部分:低延遲設(shè)計(jì)之NUMA基礎(chǔ)

要點(diǎn): UMA和NUMA,硬件結(jié)構(gòu),Linux系統(tǒng)的NUMA支持,內(nèi)存布局,NUMA的軟件庫(kù)和API,numastat,跨節(jié)點(diǎn)訪問(wèn),節(jié)點(diǎn)距離,經(jīng)驗(yàn)數(shù)據(jù),實(shí)例分析

第七部分:低延遲設(shè)計(jì)之內(nèi)存池

要點(diǎn):內(nèi)核池和用戶態(tài)堆,堆簡(jiǎn)介,分配和釋放內(nèi)存的過(guò)程和開(kāi)銷,內(nèi)存池設(shè)計(jì)的方法,可利用的資源


第八部分:低延遲設(shè)計(jì)之共享內(nèi)存和相互通信

要點(diǎn):進(jìn)程間通信,線程間通信,共享內(nèi)存原理,使用共享內(nèi)存通信,polling機(jī)制,同步,自旋鎖,隊(duì)列,無(wú)鎖設(shè)計(jì),使用CPU的互鎖指令,案例分析


第九部分:低延遲設(shè)計(jì)之綁定CPU(Pinning)

要點(diǎn): 對(duì)稱多處理(SMP),設(shè)置親緣性,taskset API和工具,在C/C++程序中設(shè)置線程親緣性,如何選擇CPU,定義綁定策略,在VTune中觀察實(shí)際執(zhí)行線程的CPU,案例分析

第十部分:案例研究之DPDK包處理框架(1.5小時(shí))

要點(diǎn):兩種模式,Run-to-completion,流水線, 配置流水線,流水線實(shí)例解析,包轉(zhuǎn)發(fā),負(fù)載均衡,流水線結(jié)構(gòu)的可視化,DPDK的測(cè)試程序,解析DPDK的包處理過(guò)程,異?;A(chǔ),處理異常的佳實(shí)踐