Linux 核心專題�《Concurrency Primer》校訂和範例撰寫
Yu-Ting Shi 施宇庭
MS in Intelligent Computing, NCKU
Outline
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
1
任務目標
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
2
任務一:修訂並行程式設計 — 執行順序
Memory Consistency Models
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
3
任務一:修訂並行程式設計 — 執行順序
Seqeuntial Consistency
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
4
任務一:修訂並行程式設計 — 執行順序
Seqeuntial Consistency
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
5
任務一:修訂並行程式設計 — 執行順序
Hardware Memory Models – x86 Total Store Order (TSO)
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
6
任務一:修訂並行程式設計 — 執行順序
Hardware Memory Models – ARM Relaxed Memory Order
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
7
任務一:修訂並行程式設計 — 執行順序
The Math of Memory Ordering – Must-not-reorder Funct.
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
8
任務一:修訂並行程式設計 — 執行順序
The Math of Memory Ordering – Must-not-reorder Funct.
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
9
x86 total store order (TSO)
ARM relaxed memory model (RMO)
任務一:修訂並行程式設計 — 執行順序
The Math of Memory Ordering – Read-from Map Relation
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
10
任務一:修訂並行程式設計 — 執行順序
The Math of Memory Ordering – Happens-before
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
11
任務一:修訂並行程式設計 — 執行順序
The Math of Memory Ordering – Happens-before
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
12
任務一:修訂並行程式設計 — 執行順序
The Math of Memory Ordering – Memory Models
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
13
任務一:修訂並行程式設計 — 執行順序
Data-Race-Free Sequential Consistency (DRF-SC)
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
14
Program may have data race
Program without data race
任務一:修訂並行程式設計 — 執行順序
C11/C++11 Memory Consistency Models
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
15
任務二:將執行順序納入《Concurrency Primer》
Preparation for Contribution to Concurrency Primer
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
16
任務二:將執行順序納入《Concurrency Primer》
Pull Requests and Code Review
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
17
Thanks for listening
Linux 核心專題: 《Concurrency Primer》校訂和範例撰寫
18