研究生: |
蔡濶光 Tsai, Kuo-Guang |
---|---|
論文名稱: |
eGossip: 透過拓展伯克利封包優化基於八卦協定的叢集中的資源利用率 eGossip: Optimizing Resource Utilization in Gossip-Based Clusters through eBPF |
指導教授: |
周志遠
Chou, Jerry |
口試委員: |
賴冠州
Lai, Kuan-Chou 李哲榮 Lee, Che-Rung |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2024 |
畢業學年度: | 112 |
語文別: | 英文 |
論文頁數: | 40 |
中文關鍵詞: | 拓展伯克利封包過濾器 、八卦協定 、內核旁路 |
外文關鍵詞: | Gossip protocol, XDP |
相關次數: | 點閱:31 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
擴展伯克利封包過濾器 (eBPF) 提供了一種直接在 Linux 核心中動態載入和 執行微程式的變革性方法,從而避免了核心重新編譯的需要。本文探討了 eBPF 在優化基於 gossip 的叢集環境中的資源使用方面的創新應用。我們的 主要重點是部署用於核心資料包克隆的 TC eBPF 掛鉤,旨在提高用戶空間廣 播的效率。這種方法在像 Gossip 這樣嚴重依賴用戶空間廣播機制的共識演 算法中尤其關鍵。我們探索了這種方法的實施,強調了它顯著提高廣播速度 的能力。我們的研究結果表明,在基於 Gossip 的系統中,CPU 使用率顯著 提高,降低了 29%,傳輸頻寬提高了 2.67 倍。這項研究展示了 eBPF 在減少 網路協定堆疊和系統呼叫開銷方面的潛力,從而顯著優化了分散式共識演算 法中典型的用戶空間廣播行為。
The Extended Berkeley Packet Filter (eBPF) presents a transformative approach to dynamic micro-program loading and execution directly within the Linux kernel, cir- cumventing the need for kernel recompilation. This paper explores the innovative application of eBPF in optimizing resource usage within gossip-based cluster en- vironments. Our primary focus is the deployment of TC eBPF hooks for in-kernel packet cloning, aiming to enhance the efficiency of user-space broadcasts. This ap- proach is particularly pivotal in consensus algorithms like Gossip, which heavily rely on user-space broadcast mechanisms. We explore the implementation of this method, highlighting its ability to boost broadcast speeds significantly. Our find- ings reveal a marked improvement in CPU utilization, which decreased by 29%, and in Transmit Bandwidth, which increased by a factor of 2.67, in Gossip-based systems. This research demonstrates the potential of eBPF in reducing the overhead of network protocol stacks and system calls, which significantly optimizes the typ- ical user-space broadcast behavior found in distributed consensus algorithms.
[1] AF_XDP document in kernel.org. Available online: https://www.kernel.org /doc/html/next/networking/af_xdp.html.
[2] Birman, K. The promise, and limitations, of gossip protocols. ACM SIGOPS Operating Systems Review 41, 5 (2007), 8–13.
[3] Cilium bpf2go Github project. Available online:https://pkg.go.dev/github. com/cilium/ebpf/cmd/bpf2go.
[4] Branco, M., Leitão, J., and Rodrigues, L. Bounded gossip: a gossip protocol for large-scale datacenters. In Proceedings of the 28th Annual ACM Sympo- sium on Applied Computing (2013), pp. 591–596.
[5] Butrovich, M., Ramanathan, K., Rollinson, J., Lim, W. S., Zhang, W., Sherry, J., and Pavlo, A. Tigger: A database proxy that bounces with user-bypass. Proceedings of the VLDB Endowment 16, 11 (2023), 3335–3348.
[6] Dadgar, A., Phillips, J., and Currey, J. Lifeguard: Local health awareness for more accurate failure detection. In 2018 48th Annual IEEE/IFIP Interna- tional Conference on Dependable Systems and Networks Workshops (DSN-W) (2018), IEEE, pp. 22–25.
[7] Dahlberg, R., Pulls, T., Vestin, J., Høiland-Jørgensen, T., and Kassler,
A. Aggregation-based certificate transparency gossip. arXiv preprint arXiv:1806.08817 (2018).
[8] Das, A., Gupta, I., and Motivala, A. Swim: Scalable weakly-consistent infection-style process group membership protocol. In Proceedings Inter- national Conference on Dependable Systems and Networks (2002), IEEE, pp. 303–312.
[9] Didona,D.,Pfefferle,J.,Ioannou,N.,Metzler,B.,andTrivedi,A.Understand- ing modern storage apis: a systematic study of libaio, spdk, and io_uring. In Proceedings of the 15th ACM International Conference on Systems and Stor- age (2022), pp. 120–127.
[10] Jelasity, M. Gossip-based protocols for large-scale distributed systems. PhD thesis, mi, 2013.
[11] Jelasity, M., Montresor, A., and Babaoglu, O. Gossip-based aggregation in large dynamic networks. ACM Transactions on Computer Systems (TOCS) 23, 3 (2005), 219–252.
39
[12] Karlsson, M., and Töpel, B. The path to dpdk speeds for af xdp. In Linux Plumbers Conference (2018), pp. 1–9.
[13] Kempe, D., Dobra, A., and Gehrke, J. Gossip-based computation of aggregate information. In 44th Annual IEEE Symposium on Foundations of Computer Science, 2003. Proceedings. (2003), IEEE, pp. 482–491.
[14] libbpf document in kernel.org. Available online:https://docs.kernel.org/bp f/libbpf/libbpf_overview.html.
[15] McCanne, S., and Jacobson, V. The bsd packet filter: A new architecture for user-level packet capture. In USENIX winter (1993), vol. 46, pp. 259–270.
[16] Ormándi, R., Hegedűs, I., and Jelasity, M. Gossip learning with linear mod- els on fully distributed data. Concurrency and Computation: Practice and Experience 25, 4 (2013), 556–571.
[17] Google pprof GitHub repository. Available online: https://github.com/goo gle/pprof.
[18] setsockopts document in Open Group. Available online: https://pubs.openg roup.org/onlinepubs/000095399/functions/setsockopt.html.
[19] Vieira, M. A., Castanho, M. S., Pacífico, R. D., Santos, E. R., Júnior, E. P. C., and Vieira, L. F. Fast packet processing with ebpf and xdp: Concepts, code, challenges, and applications. ACM Computing Surveys (CSUR) 53, 1 (2020), 1–36.
[20] Zhou, Y., Wang, Z., Dharanipragada, S., and Yu, M. Electrode: Accelerating distributed protocols with {eBPF}. In 20th USENIX Symposium on Networked Systems Design and Implementation (NSDI 23) (2023), pp. 1391–1407.
[21] Zhou,Y.,Xiang,X.,Dharanipragada,M.K.S.,andYu,M.Dint:Fastin-kernel distributed transactions with ebpf. Yang Zhou (2023), 1.
[22] Zhou, Z., Bi, Y., Wan, J., Zhou, Y., and Li, Z. Userspace bypass: Accelerat- ing syscall-intensive applications. In 17th USENIX Symposium on Operating Systems Design and Implementation (OSDI 23) (2023), pp. 33–49.