Language: Traditional Chinese (Taiwan)
2023-07-29, 10:50–11:20 (Asia/Taipei), TR 412-1
In the past few decades, event-driven architecture has become a common design paradigm for developing high-performance network servers, as it can efficiently handle concurrent requests using I/O multiplexing. However, the mitigation mechanisms for microarchitectural vulnerabilities such as Spectre and Meltdown have increased the overhead of already system call-intensive situations. Moreover, the synchronous execution blocking feature of traditional system calls makes it difficult to leverage advanced multi-core processors. To address these limitations and identify performance bottlenecks, this session will gradually analyze the evolution of the Linux I/O model and clarify the runtime of applications such as Redis and KeyDB. As a way to overcome these limitations, this session will also demonstrate the implementation of a specialized core module that improves the performance of event-driven network servers through I/O offloading. Our approach does not sacrifice high power consumption or security like kernel bypass techniques in exchange for high-performance throughput and latency. Additionally, we have conducted multiple experiments to compare our method with native systems, and the results show that our method improves bandwidth, latency, and power consumption without requiring the redesign or reimplementation of the entire application.
在過去的數十年,事件驅動架構 (event-driven architecture) 已成為開發高性能網路伺服器的常見設計典範,因為它可以善用多工 I/O 處理並發請求。然而,像 Spectre 和 Meltdown 一類的微架構漏洞的修補機制讓原本已經系統呼叫密集的情況,額外提高開銷。此外,傳統系統呼叫的同步執行阻塞 (blocking) 特性使其難以利用最先進的多核處理器。為了解決這些限制並識別性能瓶頸,本議程將逐步分析 Linux I/O 模型的演進並釐清運行時的應用程式,例 Redis 與 KeyDB。作為克服這些限制的方法,本議程亦會展示一個特化核心模組的實現,透過 I/O offloading 機制提高了事件驅動網路伺服器的性能。我們的方法不會像 kernel bypass 技術那樣犧牲高功耗或安全性以換取吞吐量和延遲的高性能。此外,我們進行了多次實驗,將我們的方法與原生的系統進行比較,結果顯示我們的方法改善了頻寬、延遲和功耗,並且不需要重新設計或重新實現整個應用程式。
中階
Target Audience –普羅大眾
Cheng is a computer science graduate with a master's and a bachelor's degree from National Cheng Kung University, Taiwan. His research interests are in system software and Linux kernel development. He has experience in system profiling and performance analysis of large-scale systems. He has published an academic paper in an international conference and presented several Linux-related topic in the conference held by Linux Foundation.
He has also interned as a silicon engineer at Google, where he contributed to improving the performance of simpleperf, a Android profiling tool. He is a self-motivated learner and a good team player. He is looking for a challenging and rewarding position in the field of system software engineering.
Reach out to me via linkedin: https://www.linkedin.com/in/eecheng/