Copyright (慣C) 2019, 2022 宅色夫 ==直播錄影 (上)== ==直播錄影 (中)== ==直播錄影 (下)== 目標設定 排程器 (scheduler) 是任何一個多工作業系統核心都具備的機制,但彼此落差極大,考量點不僅是演算法,還有當應用規模提升時 (所謂的 scalability) 和涉及即時處理之際,會招致不可預知的狀況 (non-determinism),不僅即時系統在意,任何建構在 Linux 核心之上的大型服務都會深受衝擊。為此,Linux 核心的排程器經歷多次變革,已非僅是挑選下一個可執行的行程 (process),而是顧及公平 (fairness)、交互反應 (interactiveness)、多核處理器的負載平衡、進階電源管理、即時處理能力等議題。 在本講座中,我們會探討 Completely Fair Scheduler (CFS) 前後的變化,並提及 SCHED_DEADLINE 和 Energy-Aware Scheduling 等等實作。預計涵蓋:
5/23/2023Lock-Free 和 Lock-Less 的分野 許多文件、程式碼和技術討論會看到 lock-free 和 lockless 字眼,例如 DPDK Programmer’s Guide 就在一份文件中存在上述二個術語。二者的差異是什麼呢? lock-free: 強調以系統的觀點來看,只要執行足夠長的時間,至少會有一個執行緒會有進展 (progress) lockless: 避免使用 lock 達到安全無誤地操作共用資料 二者有重疊,但重點的議題不同:lockless 著重在實作層面,即不使用 lock 的前提,該如何確保共用資料的正確呢?但不使用 lock 的程式未必會達到 lock-free。更具體來說,下方 Compare-and-swap 搭配迴圈進行等待的程式碼,屬於是 lockless,但不是 lock-free: // Atomically perform UpperBound =max(UpperBound,y) void RecordMax(int y) {
5/22/2023本共筆是 jserv 因應教學需要,對 傅立葉分析之掐死教程 一文所做的改編,原文資訊如下: :::warning 作者: 韓昊 / 知乎: Heinrich / 微博: @花生油工人 知乎專欄: 與時間無關的故事 謹以此文獻給大連海事大學的吳楠、柳曉鳴、王新年,及張晶泊老師。 ::: 改編訴求: 採納台灣慣用術語,並透過 HackMD 用 LaTeX 重新排版;
5/21/2023Copyright (慣C) 2020 宅色夫 ==直播錄影== Source 點題 呂紹榕 (Louie Lu) 說 「寫程式三大錯覺:我懂浮點數、我懂 Unicode、我懂時區」
5/21/2023