contributed by < Ken-LuWeiRu
>
我很佩服學長的毅力。我在大學主修物理,暑假製作變壓器時幾乎要發瘋。進入資工領域後,我首次體會到「實做」的重要性:所有理論幾乎都可以在電腦上實作和測試。在碩二上學期老師的面試課程後,我下定決心選修 Linux 核心課程。 Lab-0 是我首次撰寫 C 語言的作業,我不斷勉勵自己不要放棄。
我已大致翻閱一遍教材,計劃之後再進行深入學習。
2004 年,cgroup v1 主要聚焦於提供靈活的資源管理機制,使系統管理員能夠在不同進程之間限制、分配和優先處理系統資源。cgroup v1 通過多個子系統來管理不同類型的資源,如 CPU、記憶體和 I/O,但這些子系統的獨立性導致了管理上的複雜性。2015 年,cgroup v2 提供了一個統一的、層次化的控制界面,使資源管理更為簡化和標準化。v2 版本提高了資源分配的效率,減少了配置的複雜性,並修正了 v1 中的一些不一致性和功能限制。
根據我瀏覽的文獻,現有研究主要集中在提高 cgroup 在各種設定下的性能,特別是在容器化和虛擬化環境中。文獻中也提到,cgroup 的資源隔離機制可被繞過,導致惡意容器能消耗遠超限制的資源,影響同一主機上其他容器的性能和安全性。基於此,我認為後續研究可以從以下三個方向進行:
後續我有興趣的專案依序如下,主要是考慮到我碩二了,希望可以找到一個有助於就業(在台南)且待遇優渥的主題:
ref:
2015, Effective Runtime Resource Management Using Linux Control Groups with the BarbequeRTRM Framework
2015, Cgroup++: Enhancing I/O Resource Management of Linux Cgroup on NUMA Systems with NVMe SSDs
2016, Improving I/O Resource Sharing of Linux Cgroup for NVMe SSDs on Multi-core Systems
2017, Taming memory related performance pitfalls in linux Cgroups
2018, Reducing Memory Interference Latency of Safety-Critical Applications via Memory Request Throttling and Linux Cgroup
2019, Houdini's Escape: Breaking the Resource Rein of Linux Control Groups
2023, LXC Container Between cgroups v1 and v2
select(2): I/O multiplexing
single-threaded web server
https://hackmd.io/@sysprog/linux-io-model
blocking I/O + select => 短時間內處理多個連線要求
TODO: lab0-c : 如果改用多執行緒,能否提升同時處理連線的數量?
bitwise operation
IEEE 754, assume float is 32-bit width
TODO: 將 16 換成 power of 2,在什麼範圍無法得到預期的結果?
EWMA: 第三週測驗題 Exponentially Weighted Moving Average (EWMA)
TODO: 重作 Homework4 (quiz3+quiz4),彙整其他學員的成果,強調 Linux 核心的應用案例 (要說明場景、原理,和對應程式碼的行為)