自主學(xué)習(xí)丨大創(chuàng)項(xiàng)目:基于性能分析的云原生軟件故障檢測(cè)
必贏3003no1線路檢測(cè)中心重視學(xué)生實(shí)踐能力、創(chuàng)新思維及團(tuán)隊(duì)精神的培養(yǎng),鼓勵(lì)推動(dòng)學(xué)生參與創(chuàng)新創(chuàng)業(yè)項(xiàng)目,推進(jìn)學(xué)院拔尖創(chuàng)新人才的培養(yǎng)工作,推進(jìn)“五個(gè)融合”。在2022年大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(以下簡(jiǎn)稱大創(chuàng)項(xiàng)目)結(jié)題答辯中,有三個(gè)項(xiàng)目組被評(píng)定為優(yōu)秀。學(xué)院公眾號(hào)特推出大創(chuàng)項(xiàng)目優(yōu)秀小組系列推送,希望必贏3003no1線路檢測(cè)中心全體學(xué)生以此為榜樣,積極參與科研訓(xùn)練實(shí)踐。
01隊(duì)伍介紹
項(xiàng)目名稱:
基于性能分析的云原生軟件故障檢測(cè)

▲該項(xiàng)目小組結(jié)題答辯現(xiàn)場(chǎng)
隊(duì)伍名稱:self-motivated
隊(duì)員介紹:
單詩雯,必贏3003no1線路檢測(cè)中心2020級(jí)本科生,對(duì)操作系統(tǒng)、日志生成、機(jī)器學(xué)習(xí)等方面比較感興趣。
李陽姿,必贏3003no1線路檢測(cè)中心2020級(jí)本科生,興趣愛好有點(diǎn)廣泛,挺喜歡學(xué)習(xí)和敲代碼,比較關(guān)注操作系統(tǒng)和智能軟件工程等研究方向。
韓寶欣,必贏3003no1線路檢測(cè)中心2020級(jí)本科生,對(duì)云計(jì)算、云原生系統(tǒng)、無服務(wù)計(jì)算方向比較感興趣。
陳智翔,必贏3003no1線路檢測(cè)中心2020級(jí)本科生,對(duì)操作系統(tǒng)、軟件工程和人工智能方向比較感興趣。
練芷璐,必贏3003no1線路檢測(cè)中心2020級(jí)本科生,對(duì)人工智能、云服務(wù)、自然語言處理方向比較感興趣。
隊(duì)伍口號(hào):肝到最后一刻!
02項(xiàng)目背景
近年來,云服務(wù)行業(yè)發(fā)展迅速(如下圖)。隨著用戶的增加,需要存儲(chǔ)的數(shù)據(jù)也呈爆發(fā)式增長。這對(duì)設(shè)備內(nèi)存的要求較高,而過去基于云服務(wù)內(nèi)存的研究和工作在開銷和效率方面都存在著不足

與此同時(shí),人工智能產(chǎn)業(yè)也飛速發(fā)展。越來越多領(lǐng)域如漏洞檢測(cè)、實(shí)時(shí)翻譯等和AI技術(shù)結(jié)合獲得了不錯(cuò)的效果。
我們項(xiàng)目組的成員都對(duì)操作系統(tǒng)和云服務(wù)的方向比較感興趣,在專業(yè)課中,我們也學(xué)習(xí)了人工智能的相關(guān)知識(shí)。我們認(rèn)識(shí)到,系統(tǒng)、高效地監(jiān)測(cè)并預(yù)測(cè)內(nèi)存使用情況是一個(gè)尚未成熟、需要不斷探索的領(lǐng)域,我們希望利用所學(xué)的知識(shí)在這一方面進(jìn)行創(chuàng)新。
03項(xiàng)目簡(jiǎn)介
本項(xiàng)目主要利用linux操作系統(tǒng)內(nèi)核技術(shù)來監(jiān)視、收集運(yùn)行于操作系統(tǒng)上層的目標(biāo)程序的運(yùn)行狀況并據(jù)此整合成對(duì)應(yīng)的數(shù)據(jù)集,隨后利用該訓(xùn)練集,通過人工智能算法構(gòu)建、訓(xùn)練機(jī)器學(xué)習(xí)模型來預(yù)測(cè)目標(biāo)程序未來的運(yùn)行時(shí)狀態(tài)。具體項(xiàng)目細(xì)節(jié)于下方敘述。
本項(xiàng)目采用eBPF內(nèi)核監(jiān)測(cè)技術(shù),非侵入式地收集目標(biāo)軟件運(yùn)行時(shí)的異常情況,并結(jié)合機(jī)器學(xué)習(xí)模型實(shí)現(xiàn)對(duì)目標(biāo)軟件的實(shí)時(shí)故障檢測(cè)。
在數(shù)據(jù)收集方面,我們利用kprobe跟蹤機(jī)制,從操作系統(tǒng)中獲取目標(biāo)軟件的缺頁異常情況。每當(dāng)進(jìn)入處理缺頁異常的系統(tǒng)調(diào)用之前,進(jìn)程會(huì)先下陷到預(yù)置的eBPF程序中進(jìn)行數(shù)據(jù)收集。內(nèi)核態(tài)數(shù)據(jù)被eBPF程序發(fā)送到環(huán)形緩沖區(qū),用戶態(tài)程序調(diào)用helper function對(duì)緩沖區(qū)進(jìn)行輪詢。每當(dāng)緩沖區(qū)出現(xiàn)數(shù)據(jù)時(shí),用戶態(tài)的回調(diào)函數(shù)將自動(dòng)被調(diào)用,并將數(shù)據(jù)寫入文件保存。同時(shí),我們采用開源工具收集目標(biāo)軟件工作集變化情況,作為訓(xùn)練模型的標(biāo)簽數(shù)據(jù)。

▲數(shù)據(jù)收集過程
在模型訓(xùn)練方面,我們首先進(jìn)行數(shù)據(jù)預(yù)處理,剔除部分不穩(wěn)定的異常數(shù)據(jù)后將剩余數(shù)據(jù)歸一化。我們把數(shù)據(jù)劃分為訓(xùn)練集、測(cè)試集和驗(yàn)證集,并采用LightGBM算法框架來訓(xùn)練模型。該框架基于GBDT(梯度提升決策樹)有著高效率的并行計(jì)算、更快的速度、更低的內(nèi)存消耗、更高的準(zhǔn)確度。同時(shí),我們采用NNI——一種微軟提供的自動(dòng)機(jī)器學(xué)習(xí)工具包,來對(duì)多個(gè)參數(shù)進(jìn)行調(diào)優(yōu),從而找到每個(gè)超參數(shù)的最優(yōu)區(qū)間和次優(yōu)區(qū)間。

▲模型
最終,我們結(jié)合eBPF技術(shù)和機(jī)器學(xué)習(xí)模型,對(duì)目標(biāo)軟件的工作集進(jìn)行實(shí)時(shí)預(yù)測(cè),從而實(shí)現(xiàn)故障檢測(cè)。我們的模型平均RMSE為0.0744,時(shí)間開銷僅為開源工具的1/65,實(shí)現(xiàn)了一個(gè)高效、高準(zhǔn)確性、非侵入式的軟件實(shí)時(shí)故障檢測(cè)方法。

▲模型效果圖(紅色是預(yù)測(cè)值,藍(lán)色是真實(shí)值)
04項(xiàng)目過程和成果
項(xiàng)目過程

項(xiàng)目成果
2022年5月,我們小組于2022 ICSS 國際會(huì)議上發(fā)表一篇名為《eBPF-based Working Set Size Estimation in Memory Managemen》的論文。
05成員感想
大創(chuàng)項(xiàng)目是我們?nèi)腴T科研的一個(gè)很好的鍛煉機(jī)會(huì)。在完成項(xiàng)目的過程中,我們對(duì)文獻(xiàn)閱讀的基本方法有所了解,掌握了一些常見工具和模型的使用,學(xué)會(huì)了通過自行閱讀文檔、翻閱問答網(wǎng)站等方法來解決遇到的問題。此外,我們也初次嘗試了項(xiàng)目材料文書寫作、參加學(xué)術(shù)會(huì)議和結(jié)項(xiàng)答辯等需要表達(dá)和展示的環(huán)節(jié),收獲頗豐。
——陳智翔
參加大創(chuàng)這一年來,我們感受到了科研的魅力,也在蘇老師的指導(dǎo)下體會(huì)到了發(fā)論文的樂趣。雖然過程難免有些辛苦,但結(jié)果總歸是讓人欣喜的。我在閱讀英文論文時(shí),面對(duì)很多陌生的專業(yè)詞匯總是倍感絕望;和組員一起進(jìn)行相關(guān)實(shí)驗(yàn)時(shí),查不到相關(guān)資料以及debug不出結(jié)果更是讓人抓狂。然而最終收到論文成功發(fā)布的郵件時(shí),我們還是感到了前所未有的驚喜。在整個(gè)過程中,小組成員的相互配合和組長的協(xié)調(diào)也十分重要。我們組內(nèi)配合默契,組長統(tǒng)籌安排合理,使得我們這一年來的工作進(jìn)行得十分順暢。總之,參加此次大創(chuàng)于我而言收獲頗豐,因此我在下一年里繼續(xù)報(bào)了名。
——韓寶欣
06導(dǎo)師介紹和寄語
導(dǎo)師介紹
蘇玉鑫

蘇玉鑫,助理教授,碩士生導(dǎo)師,中國計(jì)算機(jī)學(xué)會(huì)服務(wù)計(jì)算專委會(huì)執(zhí)行委員。2021年7月入選必贏3003no1線路檢測(cè)中心百人計(jì)劃,加入必贏3003no1線路檢測(cè)中心。主要研究方向?yàn)槿斯ぶ悄芘c系統(tǒng)軟件的融合,具體包括分布式系統(tǒng)、云計(jì)算、云原生系統(tǒng)、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、計(jì)算機(jī)視覺、云系統(tǒng)可靠性與智能運(yùn)維(AIOps)等。近年來在國際會(huì)議和期刊共發(fā)表20余篇論文,其中17篇發(fā)表于ASE、ICSE、ISSTA、FAST、CVPR、SIGIR、AAAI、IJCAI、CSUR、TKDE等軟件工程、操作系統(tǒng)、分布式系統(tǒng)、計(jì)算機(jī)視覺、人工智能、數(shù)據(jù)挖掘等領(lǐng)域CCF A類頂級(jí)會(huì)議與期刊。
導(dǎo)師寄語
項(xiàng)目組成員關(guān)注的基礎(chǔ)軟件可靠性問題,是當(dāng)前學(xué)科建設(shè)的重點(diǎn)研究方向,選題具有前瞻性與現(xiàn)實(shí)意義。成員通過廣泛地閱讀相關(guān)文獻(xiàn),積累背景知識(shí)以及了解掌握學(xué)術(shù)前沿現(xiàn)狀,創(chuàng)新地提出一種通過操作系統(tǒng)內(nèi)核,以非侵入式的方式監(jiān)測(cè)應(yīng)用程序內(nèi)存使用狀態(tài)的方法,進(jìn)而科學(xué)地建立了缺頁異常數(shù)量以及未來內(nèi)存工作集大小之間的關(guān)系。從實(shí)驗(yàn)效果來看,該項(xiàng)目組的成果從有效性、性能開銷等方面都相對(duì)優(yōu)于學(xué)術(shù)界已有的工作,具有較強(qiáng)的先進(jìn)性。并且可以直接應(yīng)用于現(xiàn)有云原生系統(tǒng)中,進(jìn)一步實(shí)現(xiàn)程序異常檢測(cè)功能,具有較強(qiáng)的現(xiàn)實(shí)意義。