eBPF技術(shù)實(shí)踐之virtio-net網(wǎng)卡隊(duì)列可觀測(cè)
在系統(tǒng)領(lǐng)域中,最具挑戰(zhàn)性的問(wèn)題通常是組件之間的邊界定位。其中,virtio-net前后端的定界尤為困....

系統(tǒng)中的latency是如何產(chǎn)生的
在當(dāng)今數(shù)字時(shí)代,手機(jī)已成為人們?nèi)粘I钪胁豢苫蛉保嗳蝿?wù)處理和實(shí)時(shí)響應(yīng)對(duì)于用戶體驗(yàn)越來(lái)越重要,搶占(....

PCIe配置優(yōu)化:提升系統(tǒng)性能的關(guān)鍵步驟
任何 PCI 設(shè)備都加載了某些屬性。其中一些屬性對(duì)性能至關(guān)重要。設(shè)備的 PCIe 屬性是通過(guò)系統(tǒng)和設(shè)....

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)核源碼....

基于Clickhouse構(gòu)建新一代日志存儲(chǔ)系統(tǒng)
服務(wù)重啟變得特別慢且 Sys cpu 被打滿,原因是在服務(wù)重啟的過(guò)程中需要并發(fā)的加載 HDFS 上 ....

分布式系統(tǒng)中Membership Change 源碼解讀
由于 Xline 使用 Raft 作為后端協(xié)議,因此想要為 Xline 添加動(dòng)態(tài)變更成員的能力,就需....

以太網(wǎng)存儲(chǔ)網(wǎng)絡(luò)的擁塞管理連載案例(七)
學(xué)習(xí)連接到遠(yuǎn)程 VTEP 的設(shè)備的 MAC 地址有兩種常見(jiàn)方法。第一種方法使用基于組播的泛洪學(xué)習(xí)機(jī)制....

以太網(wǎng)存儲(chǔ)網(wǎng)絡(luò)的擁塞管理連載案例(六)
消除或減少無(wú)損以太網(wǎng)網(wǎng)絡(luò)擁塞的高級(jí)方法與光纖通道結(jié)構(gòu)相同。幾十年來(lái),不同的傳輸類(lèi)型都采用了類(lèi)似的方法....

以太網(wǎng)存儲(chǔ)網(wǎng)絡(luò)的擁塞管理連載案例(五)
解決無(wú)損以太網(wǎng)網(wǎng)絡(luò)擁塞問(wèn)題的方法與光纖通道結(jié)構(gòu)相同。兩者都使用逐跳流量控制機(jī)制,只是實(shí)現(xiàn)方式不同而已....

以太網(wǎng)存儲(chǔ)網(wǎng)絡(luò)的擁塞管理連載方案(三)
在 OSI 模型的第 3 層,流量由 IPv4 或 IPv6 源地址和目標(biāo)地址標(biāo)識(shí)。如圖 7-5 所....

以太網(wǎng)存儲(chǔ)網(wǎng)絡(luò)的擁塞管理連載方案(二)
本節(jié)將從學(xué)術(shù)角度解釋如何計(jì)算無(wú)損以太網(wǎng)鏈路的headroom大小。該解釋基于 IEEE 802.1Q....

以太網(wǎng)存儲(chǔ)網(wǎng)絡(luò)的擁塞管理連載方案(一)
鏈路級(jí)流量控制(LLFC):LLFC 可在直接連接的設(shè)備之間對(duì)鏈路上的所有流量進(jìn)行流量控制。LLFC....

TCP發(fā)展受阻的原因是什么呢?RDMA和Linux TCP技術(shù)解析
在考慮今天如何開(kāi)始時(shí),我回顧了一下這兩天關(guān)于硬件和軟件之間分歧的主題演講。主要探討了擁塞控制如何在這....

探索aarch64架構(gòu)上使用ftrace的BPF LSM
筆者在MacBook M2上搭建Linux虛擬機(jī)上開(kāi)發(fā)eBPF程序時(shí),遇到一些LSM eBPF類(lèi)型程....
如何構(gòu)建APISIX基于DeepFlow的統(tǒng)一可觀測(cè)性能力呢?
隨著應(yīng)用組件的可觀測(cè)性逐漸受到重視,Apache APISIX 引入插件機(jī)制豐富了可觀測(cè)數(shù)據(jù)源。

Linux內(nèi)核中RCU的用法
在Linux內(nèi)核中,RCU最常見(jiàn)的用途是替換讀寫(xiě)鎖。在20世紀(jì)90年代初期,Paul在實(shí)現(xiàn)通用RCU....

分級(jí)RCU的基礎(chǔ)知識(shí)
雖然Linux更早版本中的經(jīng)典RCU,其讀端原語(yǔ)擁有出色的性能和擴(kuò)展性,但是寫(xiě)端原語(yǔ)則需要判斷預(yù)先存....

深入理解RCU:玩具式實(shí)現(xiàn)
也許最簡(jiǎn)單的RCU實(shí)現(xiàn)就是用鎖了,如下圖所示。在該實(shí)現(xiàn)中,rcu_read_lock()獲取一把全局....
深入理解Linux RCU:從硬件說(shuō)起之內(nèi)存屏障
上一篇文章我們談到了內(nèi)存Cache,并且描述了典型的Cache一致性協(xié)議MESI。Cache的根本目....

透過(guò)Tracepoint理解內(nèi)核 - 調(diào)度器框架和性能
sched_wake_idle_without_ipi. 如果target cpu上的任務(wù)設(shè)置了TI....
Linux內(nèi)核內(nèi)存規(guī)整總結(jié)
1.前言 伙伴系統(tǒng)作為內(nèi)核最基礎(chǔ)的物理頁(yè)內(nèi)存分配器,具有高效、實(shí)現(xiàn)邏輯簡(jiǎn)介等優(yōu)點(diǎn),其原理頁(yè)也盡可能降....

Linux下動(dòng)態(tài)庫(kù)相關(guān)知識(shí)
Linux 下有動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù),動(dòng)態(tài)庫(kù)以.so為擴(kuò)展名,靜態(tài)庫(kù)以.a為擴(kuò)展名。二者都使用廣泛。本文主....

宋牧春: Linux內(nèi)核內(nèi)存corruption檢查機(jī)制KASAN實(shí)現(xiàn)原理
因?yàn)閺奈也殚喌馁Y料來(lái)說(shuō),國(guó)內(nèi)沒(méi)有一篇文章說(shuō)KASAN的工作原理,國(guó)外也是沒(méi)有什么文章關(guān)注KASAN的....

Linux如何讓某一個(gè)線程排他性獨(dú)占CPU
本文主要討論在高實(shí)時(shí)要求、高效能計(jì)算、DPDK等領(lǐng)域,Linux如何讓某一個(gè)線程排他性獨(dú)占CPU;獨(dú)....

Linux系統(tǒng)文件讀寫(xiě)流程
本文用一個(gè)最簡(jiǎn)單的read(fd, buf, 4096)的代碼,分析它從開(kāi)始讀到讀結(jié)束,在整個(gè)Lin....

什么是DeepFlow?DeepFlow的協(xié)議能力解析
在本例中,被監(jiān)控 HTTP API 的響應(yīng)消息為 JSON 格式,當(dāng) API 出錯(cuò)時(shí) HTTP 協(xié)議....

Linux內(nèi)存管理學(xué)習(xí)筆記
最開(kāi)始的程序運(yùn)行時(shí)只能跑一個(gè)進(jìn)程的,那就不需要復(fù)雜的內(nèi)存管理,把我弄到固定的位置,然后這片區(qū)域都是我....
