COSCUP 2025

郭明穎 (Duck Cone)

主要研究方向為自旋鎖演算法,包含在多核心處理器架構上原子操作對 spinlock 演算法的效能影響分析,並以 C 語言為主要開發程式語言。


Session

年8月9日
13:30
30 分鐘
自旋鎖大進化:為你的多核電腦量身打造高效同步術!
曾俊瑋, 郭明穎 (Duck Cone), 潘頤婕

在處理器技術飛速發展的時代,單純提升頻率已無法滿足效能需求,多核處理器成為主流趨勢。然而,多核架構在帶來顯著效能提升的同時,也引入了共享資源同步的挑戰。如何在多核環境中高效管理資源存取,成為作業系統與應用程式設計的核心問題。自旋鎖(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,提供社群交流與應用。

System Software
TR213