《陳鵬飛 & 張鈞宇--基于eBPF的內核智能.pdf》由會員分享,可在線閱讀,更多相關《陳鵬飛 & 張鈞宇--基于eBPF的內核智能.pdf(24頁珍藏版)》請在三個皮匠報告上搜索。
1、基于eBPF的內核智能第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m中 國 西安中山大學 計算機學院 陳鵬飛&張鈞宇 基于eBPF的內核智能 基于eBPF的實時神經網絡的實現(DSN24)動機:內核中實現神經網絡的必要性和優勢方案:低開銷和高性能的神經網絡的實現第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m大綱 內核智能指的是在操作系統內核中加入智能化的程序,使其具備一定程度的自主學習、推理和決策能力,以增強系統在運行性能、安全防護和可觀測性等方面的功能,
2、同時不會破壞當前系統運行的穩定性和安全性第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m內核智能 eBPF 能夠在 Linux 內核中完全動態和沙盒化地執行程序,無需對內核代碼進行任何更改,為內核智能的實現提供了天然的生長土壤 目前已經有相關的探索方案:Electrode1:利用eBPF實現分布式協議的消息廣播等,提高協議的吞吐量DINT2:利用eBPF將頻繁事務操作卸載到內核,降低網絡棧帶來的通信開銷第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m基于eBP
3、F的內核智能1 Zhou,Y.,Wang,Z.,Dharanipragada,S.and Yu,M.,2023.Electrode:Accelerating Distributed Protocols with eBPF.In 20th USENIX Symposium on Networked Systems Design and Implementation(NSDI 23).2 Zhou,Y.,Xiang,X.,Dharanipragada,M.K.S.and Yu,M.,2023.DINT:Fast In-Kernel Distributed Transactions with eBP
4、F.Yang Zhou,p.1.進一步的智能:讓內核擁有自我思考的能力?第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m中 國 西安基于eBPF的實時神經網絡的實現第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m中 國 西安第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o meBPF+Neural Network in Kernel=?Why?公有云服務的劇增強調了實時網絡檢測和防御的重要性 運行
5、在用戶態的模型忽略了實時網絡測量的開銷 基于規則的主動防御工具需要在查詢開銷和防御等級之間取舍第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m實時網絡檢測和防御第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m基于用戶態的實時網絡檢測問題:大量的上下文切換開銷 CPU:tcpdump(29-100%),libpcap(2-5%)上下文切換:可達每秒1k次,和帶寬成線性關系,最終導致丟包第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p
6、f t r a v e l.c o mCPUCPU開銷開銷問題:用戶態實時抓包工具的開銷上下文切換開銷上下文切換開銷 測量條件:1-128個并發流,均以最大速率傳輸 CPU開銷:0.54-1.64%,包含抓包、特征提取和神經網絡推理 內存開銷:5KB,包括神經網絡參數等第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o meBPF+Neural Network in Kernel=低開銷 eBPF 能夠在 Linux 內核中動態和沙盒化地執行用戶定義程序 類似的方案(eBPF+?in kernel):決策樹 1(Decision T
7、ree,DT)線性支持向量機 2(Linear Support Vector Machine,LSVM)基于int8量化的神經網絡 3(Neural Network with int8 Quantization,NN-int8)第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m基于eBPF的實時網絡測量1 Maximilian Bachl,Joachim Fabini,and Tanja Zseby.A flow-based ids using machine learning in ebpf.arXiv preprint ar
8、Xiv:2102.09980,2021.2 NEMALIKANTI ANAND,MA SAIFULLA,and Pavan Kumar Aakula.High-performance intrusion detection systemusing ebpf with machine learning algorithms.2023.3 Takanori Hara and Masahiro Sasabe.On practicality of kernel packet processing empowered by lightweight neural network and decision
9、tree.In 2023 14th International Conference on Network of the Future(NoF),pages 8997.IEEE,2023.案例:入侵檢測 DT:指數級的內存開銷,實時檢測時間(IPF)不確定 SVM:擬合能力不足 NN-int8:int8量化顯著降低模型精度第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o meBPF+NN in Kernel=低開銷+高性能 概念漂移(Concept Drift)在線模型產生關鍵性錯誤更新時保證安全(競爭條件+熱更新)eBPF的編程
10、限制1M 指令數量512B ??臻g:選擇最重要的特征 競爭條件多核執行eBPF程序eBPF Spin Lock的限制和開銷第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m被當前工作忽略的挑戰概念漂移概念漂移 用戶態訓練和量化(NN Training&Parameters Quantization):訓練:利用Pytorch等框架訓練NN量化:將模型參數從浮點數轉換成整數 參數熱更新(Parameters Hot Updating):解決了內核態-用戶態熱更新參數的讀寫競爭條件問題第 二 屆 中 國 e B P F 開 發 者
11、大 會W W W.e b p f t r a v e l.c o m我們的方案 特征提取和流特征更新(Packet Feature Extraction&Flow Feature):實時提取packet特征并更新flow的特征 NN推理(Inference):Flow結束后根據其特征進行推理僅使用整數實現第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m我們的方案 過濾器(Host Filter):丟棄來自之前識別為進行異常的主機的數據包 異常主機記錄與糾正:NN檢測結果被記錄到Host Filter中人工干預修正第 二 屆 中
12、 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m我們的方案 目前實現的是Multilayer Perceptron(Linear+ReLU)eBPF不支持浮點數運算,需要對推理過程進行量化:基本思想:使用定點數的方式存儲浮點數模型參數的離線量化:round =round 預處理的實時量化:eBPF不支持有符號數除法(1)=0,=0round ,0第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m實現方案神經網絡推理 推理過程的實時量化:Linear Layer:當=2時,除法
13、可以通過邏輯右移位來實現=1 =1=11,ReLU:=relu 1第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m實現方案神經網絡推理 6,32,32,2的三層MLP被eBPF verifier拒絕加載 基本思想:MLP=Linear Layer+ReLU的鏈式組合每一層使用一個eBPF program表示,使用Tail Call調用下一層 NN的深度受到最大Tail Call層數(33)的限制第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m實現方案突破指令數
14、的限制=1 =relu 1 無顯式eBPF Spin Lock解決熱更新時的讀寫競爭條件 基本思想:兩階段加載NN Updating:加載新的神經網絡參數(Ready)到內核的閑置存儲空間(Idle)Index Updating:更新正在使用的參數(Running)的指針(NN Index),使其指向Idle第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m實現方案神經網絡參數的熱更新 兩個常用的Hook點:XDP和TC eXpress Data Path(XDP):只能過濾RX數據包 Traffic Control(TC):在
15、XDP之后觸發,可以處理RX和TX數據包額外的內存分配和socket隊列等待的開銷,性能上不如XDP 選用XDP作為eBPF掛載點利用DT給出特征重要性排序選取Top 6個特征的提取算法在XDP中實現(Destination Port,Total Forward Packets,Total Length of Forward Packets,Forward Packets Length Min,Max,Std)第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m實現方案eBPF掛載點的選取 內核智能的實現有效增強了當前內核的能力 eBPF技術給內核智能的實現注入了強大活力 目前關于基于eBPF的內核智能的探索方興未艾第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m結論謝謝大家!第 二 屆 中 國 e B P F 開 發 者 大 會W W W.e b p f t r a v e l.c o m中 國 西安