排程器 (scheduler) 是任何一個多工作業系統核心都具備的機制,但彼此落差極大,考量點不僅是演算法,還有當應用規模提升時 (所謂的 scalability) 和涉及即時處理之際,會招致不可預知的狀況 (non-determinism),不僅即時系統在意,任何建構在 Linux 核心之上的大型服務都會深受衝擊。為此,Linux 核心的排程器經歷多次變革,已非僅是挑選下一個可執行的行程 (process),而是顧及公平 (fairness)、交互反應 (interactiveness)、多核處理器的負載平衡、進階電源管理、即時處理能力等議題。
3/28/2024目的: 檢驗學員對 bitwise 和 Entropy 的認知
3/28/2024檢驗學員對 bitwise 操作和記憶體管理的認知
3/28/2024在處理器邁向多核後,擴展性 (scalability) 是衡量資訊系統整體效能的關鍵議題。倘若有一台伺服器,內置 2 顆處理器核 (core),往往無法達到 2 倍單核處理器的工作能力,即便共同分擔工作使工作加速完成,然而處理器間需要進行協同溝通,後者一樣要耗佔執行處理的運算資源、記憶體的存取頻寬資源。因此,多核系統為了要讓效能盡可能獲得線性擴展,牽涉到底層的伺服器硬體連接架構,CPU 與記憶體間、CPU 與 CPU 間的傳輸頻寬是否夠大、傳遞是否夠快無延遲、傳輸路由是否夠有彈性等等,Linux 核心長期以來針對 scalability 做了大規模調整,本議程嘗試歸納整理。
3/28/2024or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up