0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是eBPF,eBPF為何備受追捧?

OSC開(kāi)源社區(qū) ? 來(lái)源:OSC開(kāi)源社區(qū) ? 2023-05-06 11:41 ? 次閱讀

eBPF 的全稱是 extended Berkeley Packet Filter,它被稱之為 “革命性” 的內(nèi)核技術(shù),可以在 Linux 內(nèi)核中運(yùn)行沙盒程序,而無(wú)需更改內(nèi)核源代碼或加載內(nèi)核模塊。它提供了一種通用執(zhí)行引擎,可以基于系統(tǒng)或程序事件高效安全地執(zhí)行特定代碼,就像在實(shí)時(shí) (JIT) 編譯器和驗(yàn)證引擎的幫助下進(jìn)行本機(jī)編譯一樣。如今,eBPF 被廣泛用于各種場(chǎng)景:在現(xiàn)代數(shù)據(jù)中心和云原生環(huán)境中提供高性能網(wǎng)絡(luò)和負(fù)載平衡,以低成本提取細(xì)粒度的安全可觀測(cè)性數(shù)據(jù),幫助應(yīng)用程序開(kāi)發(fā)人員跟蹤應(yīng)用程序,為性能故障排除、預(yù)防性應(yīng)用程序和容器運(yùn)行時(shí)安全實(shí)施提供見(jiàn)解等等。一些項(xiàng)目如 Facebook 公司的高性能 4 層負(fù)載均衡器 Katran,IO Visor 項(xiàng)目開(kāi)源的 BCC、 BPFTrace 和 Kubectl-Trace,以及 CloudFlare 公司開(kāi)源的 eBPF Exporter 和 bpf-tools 都使用了該技術(shù)。

eBPF 為何備受追捧?

用云杉網(wǎng)絡(luò) VP 向陽(yáng)的話來(lái)說(shuō):“ eBPF 最重要(沒(méi)有之一)的特點(diǎn)是安全性” 。他表示,以往必須編寫內(nèi)核模塊才能做到的工作現(xiàn)在基本都能做到。但關(guān)鍵性的區(qū)別在于,eBPF 代碼會(huì)經(jīng)過(guò) Verifier 嚴(yán)格的驗(yàn)證,杜絕了死循環(huán)、內(nèi)存泄露等問(wèn)題。它會(huì)確保內(nèi)核運(yùn)行的安全,使得企業(yè)愿意在運(yùn)行關(guān)鍵業(yè)務(wù)的生產(chǎn)系統(tǒng)中開(kāi)啟此能力,從而釋放前所未有的內(nèi)核可編程性。

eBPF 對(duì)可觀測(cè)性技術(shù)的影響更是革命性的,一方面這個(gè)場(chǎng)景下 eBPF 的「安全性」體現(xiàn)的更加淋漓盡致,它甚至不會(huì)對(duì)數(shù)據(jù)進(jìn)行任何的修改; 另一方面 eBPF 的「零侵?jǐn)_」特性使得云原生應(yīng)用實(shí)現(xiàn)全景、全棧的可觀測(cè)性成為現(xiàn)實(shí)。隨著云基礎(chǔ)設(shè)施的迭代和發(fā)展、微服務(wù)的拆分,業(yè)務(wù)中的編程語(yǔ)言構(gòu)成越來(lái)越復(fù)雜、服務(wù)間通信路徑涉及到的團(tuán)隊(duì)越來(lái)越多。與此同時(shí),現(xiàn)有的可觀測(cè)性方案往往要求打樁插碼,為開(kāi)發(fā)者帶來(lái)了巨大的工作量,因此如何為所有業(yè)務(wù)支撐團(tuán)隊(duì)呈現(xiàn)一個(gè)全景、全棧的可觀測(cè)性視圖成為急需解決的一個(gè)問(wèn)題。

eBPF 采集的數(shù)據(jù)能覆蓋系統(tǒng)、網(wǎng)絡(luò)、應(yīng)用等多個(gè)層面,能回答基礎(chǔ)設(shè)施的性能瓶頸位置,也能回答應(yīng)用程序中的代碼函數(shù)熱點(diǎn),在這方面表現(xiàn)出了得天獨(dú)厚的優(yōu)勢(shì)。云杉網(wǎng)絡(luò)開(kāi)源的云原生可觀測(cè)性平臺(tái) DeepFlow 就充分利用了 eBPF 技術(shù)。借助 eBPF 的零侵?jǐn)_性和安全性優(yōu)勢(shì),開(kāi)發(fā)者無(wú)需修改任何一行代碼、無(wú)需改變?nèi)魏我粋€(gè)運(yùn)行參數(shù)、甚至無(wú)需重啟任何一個(gè)進(jìn)程,即可實(shí)現(xiàn)全景、全棧的分布式追蹤、全景應(yīng)用拓?fù)?、全棧性能指?biāo)能力,覆蓋各類語(yǔ)言的應(yīng)用、各類云原生基礎(chǔ)設(shè)施,為云原生環(huán)境下的可觀測(cè)性帶來(lái)了革命性的創(chuàng)新。

很多人都在關(guān)注 eBPF 介入后,應(yīng)用程序性能會(huì)有所損耗。向陽(yáng)認(rèn)為,由于 eBPF 程序會(huì) Hook 至內(nèi)核函數(shù)中執(zhí)行,它帶來(lái)的性能開(kāi)銷與應(yīng)用程序本身的資源消耗相關(guān)。如果應(yīng)用本身邏輯非常簡(jiǎn)單,例如時(shí)延不到 1ms,此時(shí) eBPF 介入帶來(lái)的耗時(shí)占比會(huì)比較明顯。但對(duì)于大量的業(yè)務(wù) —— 通常會(huì)有復(fù)雜的計(jì)算邏輯、更長(zhǎng)的耗時(shí),在生產(chǎn)環(huán)境上的經(jīng)驗(yàn)是大多只會(huì)引入 1%~5% 的性能影響。

另一方面,DeepFlow 也希望通過(guò)自身的開(kāi)源來(lái)推進(jìn) eBPF 應(yīng)用的繁榮,這樣也能更加促進(jìn) eBPF 技術(shù)自身的性能優(yōu)化。而 DeepFlow 自身的持續(xù)測(cè)試機(jī)制也會(huì)在每次代碼合入之后進(jìn)行自動(dòng)化的性能影響評(píng)估,讓用戶清晰的知道影響到底有多大。eBPF 技術(shù)還在不斷發(fā)展,還有什么可能性有待挖掘?2023 年 5 月 28 日, GOTC 2023 eBPF 分論壇將于上海舉行,將一覽無(wú)余地展現(xiàn) eBPF 技術(shù),并分享如何將其結(jié)合到實(shí)際工作中。

與此同時(shí),GOTC 2023 很榮幸邀請(qǐng)到向陽(yáng)成為該分論壇的聯(lián)合出品人。早在清華大學(xué)攻讀計(jì)算機(jī)系博士學(xué)位期間,向陽(yáng)就實(shí)現(xiàn)了世界上第一個(gè)全球 BGP 路由劫持實(shí)時(shí)監(jiān)測(cè)系統(tǒng),獲得了網(wǎng)絡(luò)測(cè)量領(lǐng)域國(guó)際頂級(jí)會(huì)議 IMC 頒發(fā)的社區(qū)貢獻(xiàn)獎(jiǎng),這也是該獎(jiǎng)項(xiàng)首次頒發(fā)給中國(guó)大陸科研人員。

畢業(yè)后,向陽(yáng)即加入了云杉網(wǎng)絡(luò),如今作為云杉網(wǎng)絡(luò)的研發(fā) VP,負(fù)責(zé) DeepFlow 產(chǎn)品。正是在他的帶領(lǐng)下,云杉網(wǎng)絡(luò)將 eBPF 技術(shù)深度應(yīng)用于 DeepFlow 之中。全球開(kāi)源技術(shù)峰會(huì)(Global Open-source Technology Conference),簡(jiǎn)稱 GOTC,是由開(kāi)放原子開(kāi)源基金會(huì)、 Linux 基金會(huì)亞太區(qū)、上海浦東軟件園和開(kāi)源中國(guó)聯(lián)合發(fā)起的,面向全球開(kāi)發(fā)者的一場(chǎng)盛大開(kāi)源技術(shù)盛宴。5 月 27 日至 28 日,GOTC 2023 將于上海舉辦為期 2 天的開(kāi)源行業(yè)盛會(huì)。大會(huì)將以行業(yè)展覽、主題發(fā)言、特別論壇、分論壇的形式展現(xiàn),與會(huì)者將一起探討元宇宙、3D 與游戲、eBPF、Web3.0、區(qū)塊鏈等熱門技術(shù)主題,以及開(kāi)源社區(qū)、AIGC、汽車軟件、開(kāi)源商業(yè)化、開(kāi)源教育培訓(xùn)、云原生等熱門話題,探討開(kāi)源未來(lái),助力開(kāi)源發(fā)展。

編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:eBPF,何以稱得上是革命性的內(nèi)核技術(shù)?

文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    環(huán)保又高效:365nm固化燈為何如此受歡迎?

    在追求綠色發(fā)展和高效生產(chǎn)的當(dāng)下,一款產(chǎn)品若能在滿足性能需求的同時(shí),還兼具環(huán)保與高效兩大優(yōu)勢(shì),無(wú)疑會(huì)受到市場(chǎng)的熱烈追捧。而在工業(yè)固化領(lǐng)域,365nm固化燈便是這樣一款備受矚目的產(chǎn)品。那么,為何
    的頭像 發(fā)表于 05-15 11:19 ?240次閱讀
    環(huán)保又高效:365nm固化燈<b class='flag-5'>為何</b>如此受歡迎?

    eBPF動(dòng)手實(shí)踐系列三:基于原生libbpf庫(kù)的eBPF編程改進(jìn)方案簡(jiǎn)析

    在上一篇文章《eBPF動(dòng)手實(shí)踐系列二:構(gòu)建基于純C語(yǔ)言的eBPF項(xiàng)目》中,我們初步實(shí)現(xiàn)了脫離內(nèi)核源碼進(jìn)行純C語(yǔ)言eBPF項(xiàng)目的構(gòu)建。libbpf庫(kù)在早期和內(nèi)核源碼結(jié)合的比較緊密,如今的libbpf庫(kù)更加成熟,已經(jīng)完全脫離內(nèi)核源碼
    的頭像 發(fā)表于 03-19 14:19 ?567次閱讀
    <b class='flag-5'>eBPF</b>動(dòng)手實(shí)踐系列三:基于原生libbpf庫(kù)的<b class='flag-5'>eBPF</b>編程改進(jìn)方案簡(jiǎn)析

    基于原生libbpf庫(kù)的eBPF編程改進(jìn)方案

    為了簡(jiǎn)化 eBPF程序的開(kāi)發(fā)流程,降低開(kāi)發(fā)者在使用 libbpf 庫(kù)時(shí)的入門難度,libbpf-bootstrap 框架應(yīng)運(yùn)而生?;趌ibbpf-bootstrap框架的編程方案是目前網(wǎng)絡(luò)上看到的最主流編程方案。
    發(fā)表于 03-19 14:19 ?417次閱讀
    基于原生libbpf庫(kù)的<b class='flag-5'>eBPF</b>編程改進(jìn)方案

    超聲波清洗機(jī)三大優(yōu)勢(shì)受市場(chǎng)追捧

    超聲波清洗機(jī)的三大清洗優(yōu)勢(shì)——高效清洗、節(jié)能環(huán)保和廣泛應(yīng)用,使得它在市場(chǎng)上備受追捧。隨著消費(fèi)者對(duì)產(chǎn)品質(zhì)量和環(huán)保要求的不斷提高,超聲波清洗機(jī)有望在未來(lái)市場(chǎng)中占據(jù)更大的份額。同時(shí),隨著技術(shù)的不斷創(chuàng)新和進(jìn)步,超聲波清洗機(jī)也將在清洗效率、環(huán)保性能、應(yīng)用領(lǐng)域等方面實(shí)現(xiàn)更大的突破和提
    的頭像 發(fā)表于 03-05 11:15 ?369次閱讀
    超聲波清洗機(jī)三大優(yōu)勢(shì)受市場(chǎng)<b class='flag-5'>追捧</b>

    數(shù)字孿生城市為何備受追捧?其應(yīng)用場(chǎng)景有多寬?

    從城市治理的角度來(lái)看,數(shù)字孿生城市相當(dāng)于真實(shí)世界的“操作系統(tǒng)”,有了它就可以遠(yuǎn)程對(duì)城市的每一個(gè)角落進(jìn)行監(jiān)測(cè)、智慧調(diào)度,無(wú)論是街道、社區(qū),還是商場(chǎng)、變電站乃至城市排水系統(tǒng),從而提升城市的治理效率。
    的頭像 發(fā)表于 02-23 10:29 ?219次閱讀
    數(shù)字孿生城市<b class='flag-5'>為何</b><b class='flag-5'>備受</b><b class='flag-5'>追捧</b>?其應(yīng)用場(chǎng)景有多寬?

    探索aarch64架構(gòu)上使用ftrace的BPF LSM

    筆者在MacBook M2上搭建Linux虛擬機(jī)上開(kāi)發(fā)eBPF程序時(shí),遇到一些LSM eBPF類型程序無(wú)法運(yùn)行的問(wèn)題,哪怕是5.15內(nèi)核的ubuntu server,依舊無(wú)法正常運(yùn)行。顯然
    的頭像 發(fā)表于 01-25 09:30 ?529次閱讀

    ?硅光芯片為何備受行業(yè)歡迎?

    21世紀(jì)初開(kāi)始,以英特爾和IBM為首的企業(yè)與學(xué)術(shù)機(jī)構(gòu)就開(kāi)始重點(diǎn)發(fā)展硅芯片光學(xué)信號(hào)傳輸技術(shù),期望有朝一日能用光通路取代芯片之間的數(shù)據(jù)電路,以延續(xù)摩爾定律。
    的頭像 發(fā)表于 12-15 12:27 ?761次閱讀

    RISC-V為何備受歡迎?

    要適用于所有實(shí)現(xiàn)技術(shù),包括 FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程邏輯門陣列)、ASIC(Application-Specific Integrated Circuit,專用集成電路)、全定制芯片,甚至未來(lái)的制造元件技術(shù)。
    的頭像 發(fā)表于 12-14 10:51 ?866次閱讀
    RISC-V<b class='flag-5'>為何</b><b class='flag-5'>備受</b>歡迎?

    什么是隔直電容,它們為何重要?(上)

    什么是隔直電容,它們為何重要?(上)
    的頭像 發(fā)表于 11-23 16:39 ?893次閱讀
    什么是隔直電容,它們<b class='flag-5'>為何</b>重要?(上)

    什么是隔直電容,它們為何重要?(下)

    什么是隔直電容,它們為何重要?(下)
    的頭像 發(fā)表于 11-23 15:58 ?1666次閱讀
    什么是隔直電容,它們<b class='flag-5'>為何</b>重要?(下)

    基于ebpf的性能工具應(yīng)用

    在實(shí)際的軟件開(kāi)發(fā)過(guò)程中,內(nèi)存問(wèn)題常常是耗費(fèi)大量時(shí)間進(jìn)行分析的挑戰(zhàn)之一。為了更有效地定位和解決與內(nèi)存相關(guān)的難題,一系列輔助工具應(yīng)運(yùn)而生,其中備受贊譽(yù)的Valgrind工具便是其中之一。事實(shí)上,筆者本人
    的頭像 發(fā)表于 11-08 16:19 ?322次閱讀
    基于<b class='flag-5'>ebpf</b>的性能工具應(yīng)用

    介紹一種基于eBPF的Linux安全防護(hù)系統(tǒng)

    針對(duì)操作系統(tǒng)、內(nèi)核安全,聯(lián)通云操作系統(tǒng)團(tuán)隊(duì)開(kāi)發(fā)了的一個(gè)基于 eBPF 的 Linux 安全防護(hù)系統(tǒng) safeguard,可以實(shí)現(xiàn)安全操作的審計(jì)攔截及安全防護(hù)功能。項(xiàng)目采用 libbpfgo 庫(kù)
    的頭像 發(fā)表于 11-07 17:43 ?721次閱讀
    介紹一種基于<b class='flag-5'>eBPF</b>的Linux安全防護(hù)系統(tǒng)

    Arduino開(kāi)發(fā)單片機(jī)和傳統(tǒng)的IAR、keil最大區(qū)別在哪?

    為何Arduino現(xiàn)在這么收追捧? 如何入門Arduino?有STM32 C語(yǔ)音基礎(chǔ),以前基本是IAR和keil
    發(fā)表于 11-07 08:14

    Ryzen CPU為何備受歡迎?

    Ryzen CPU 如此熱的主要原因有兩個(gè),尤其是現(xiàn)在。首先,像臺(tái)積電這樣的尖端晶圓工廠存在一個(gè)行業(yè)廣泛的趨勢(shì),即密度的提高超過(guò)了效率的提高。
    的頭像 發(fā)表于 10-31 10:47 ?540次閱讀

    ebpf的快速開(kāi)發(fā)工具--libbpf-bootstrap

    基于ubuntu22.04-深入淺出 eBPF 基于ebpf的性能工具-bpftrace 基于ebpf的性能工具-bpftrace腳本語(yǔ)法 基于ebpf的性能工具-bpftrace實(shí)戰(zhàn)
    的頭像 發(fā)表于 09-25 09:04 ?737次閱讀
    <b class='flag-5'>ebpf</b>的快速開(kāi)發(fā)工具--libbpf-bootstrap