2025年8月9日 –, TR213
在處理器技術飛速發展的時代,單純提升頻率已無法滿足效能需求,多核處理器成為主流趨勢。然而,多核架構在帶來顯著效能提升的同時,也引入了共享資源同步的挑戰。如何在多核環境中高效管理資源存取,成為作業系統與應用程式設計的核心問題。自旋鎖(Spinlock)作為一種輕量級同步機制,在此扮演了關鍵角色。本演講將深入探討自旋鎖技術的演進與創新,帶領聽眾從開源技術的視角理解同步機制的過去、現在與未來,並提供實用的開源工具與知識,為自己的電腦打造高效能的自旋鎖!
演講內容分為以下三大主軸:
1. glibc 的 Pthread Spinlock:
介紹 glibc 中 Pthread Spinlock 的實現原理,剖析其在多核環境下的限制,幫助聽眾建立對自旋鎖基本概念的認識。
2. Linux Kernel的 QSpinlock:
探討 Linux 核心中 QSpinlock 的設計與運作機制,分析其如何改善傳統自旋鎖的問題,並討論其在高競爭場景下的不足之處。
3. RON Spinlock:
介紹實驗室開發的 RON Spinlock ,這是一種基於路由表(Routing Table)的自旋鎖,透過預計算核心間的最短環形路徑,生成高效的鎖定-解鎖順序,顯著降低核心間通訊成本與等待時間,在保證公平性的同時,還能以較低成本達到更高效能。
聽眾將從本演講中獲得自旋鎖技術的全面知識,並認識 RON Spinlock 的創新設計。我們將提供程式碼讓聽眾量測自己電腦的 core-to-core latency ,並根據結果建立專屬的 Routing Table ,在 user space 打造高效能自旋鎖。所有的相關程式碼與文件將上傳至GitHub,提供社群交流與應用。
本演講適合對作業系統、Linux 核心開發或多核同步技術有興趣的開發者與研究者,無論是初學者還是資深工程師,只要對開源技術與效能優化有熱情,都能從中獲益。本演講無需深厚的背景知識,但若具備基本的作業系統或 Linux 核心概念,將有助於更深入理解內容。
難易度:初學者
CCU OS Lab
主要研究方向為自旋鎖演算法,包含在多核心處理器架構上原子操作對 spinlock 演算法的效能影響分析,並以 C 語言為主要開發程式語言。
CCU oslab