Parallelisation in the Linux Kernel
?
?
W, K, P / S, J, N Jump to previous / next timestamp
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus
Keyboard Navigation
Global Keys
[, < / ], > Jump to previous / next episodeW, K, P / S, J, N Jump to previous / next timestamp
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)
Menu toggling
q Quotes r References f Filter y Link c CreditsIn-Menu and Index Controls
a
w
s
s
d
h
j
k
l
←
↑
↓
↓
→
Esc Close menu / unfocus timestamp
Quotes and References Menus and Index
Enter Jump to timestampQuotes, References and Credits Menus
o Open URL (in new tab)Filter Menu
x, Space Toggle category and focus nextX, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus
Filter and Link Menus
z Toggle filter / linking modeCredits Menu
Enter Open URL (in new tab)⏫
Previous: 'Syzygy'
⏫
0:01Welcome to the talk
0:01Welcome to the talk
0:01Welcome to the talk
0:35Outline
0:35Outline
0:35Outline
1:18Background: Working on Ksplice at Oracle1
1:18Background: Working on Ksplice at Oracle1
1:18Background: Working on Ksplice at Oracle1
1:47Background: Security, C and low-level machine programming
1:47Background: Security, C and low-level machine programming
1:47Background: Security, C and low-level machine programming
2:12Background: GPU driver bug
2:12Background: GPU driver bug
2:12Background: GPU driver bug
2:47Why Linux?
2:47Why Linux?
2:47Why Linux?
4:13How parallel?
4:13How parallel?
4:13How parallel?
5:19How parallel?: SGI Supercomputer with 6144 cores, running Linux
5:19How parallel?: SGI Supercomputer with 6144 cores, running Linux
5:19How parallel?: SGI Supercomputer with 6144 cores, running Linux
6:25Contention: 2-cores
6:25Contention: 2-cores
6:25Contention: 2-cores
7:32Contention: 4-cores
7:32Contention: 4-cores
7:32Contention: 4-cores
8:35The bathroom analogy
8:35The bathroom analogy
8:35The bathroom analogy
10:02Locking does not scale
10:02Locking does not scale
10:02Locking does not scale
10:43Real world example: Compiling the kernel
10:43Real world example: Compiling the kernel
10:43Real world example: Compiling the kernel
13:24Cache lines
13:24Cache lines
13:24Cache lines
14:18Cache hierarchy – MESI protocol2
14:18Cache hierarchy – MESI protocol2
14:18Cache hierarchy – MESI protocol2
15:22Cacheline bouncing – false sharing
15:22Cacheline bouncing – false sharing
15:22Cacheline bouncing – false sharing
17:00Atomic operations
17:00Atomic operations
17:00Atomic operations
19:04Spinlocks
19:04Spinlocks
19:04Spinlocks
20:39Spinlocks – Optimizations
20:39Spinlocks – Optimizations
20:39Spinlocks – Optimizations
22:59Queued spinlocks
22:59Queued spinlocks
22:59Queued spinlocks
23:37NUMA (Non-Uniform Memory Access)
23:37NUMA (Non-Uniform Memory Access)
23:37NUMA (Non-Uniform Memory Access)
24:36Queued spinlocks: Global spinning avoidance
24:36Queued spinlocks: Global spinning avoidance
24:36Queued spinlocks: Global spinning avoidance
26:51Queued spinlocks: Compact NUMA-Aware Locks3
26:51Queued spinlocks: Compact NUMA-Aware Locks3
26:51Queued spinlocks: Compact NUMA-Aware Locks3
27:48Reader–writer spinlocks
27:48Reader–writer spinlocks
27:48Reader–writer spinlocks
28:59RCU: Read–Copy–Update
28:59RCU: Read–Copy–Update
28:59RCU: Read–Copy–Update
30:10RCU linked lists
30:10RCU linked lists
30:10RCU linked lists
32:39RCU: grace period
32:39RCU: grace period
32:39RCU: grace period
34:30RCU: summary
34:30RCU: summary
34:30RCU: summary
35:26Seqlock
35:26Seqlock
35:26Seqlock
37:46VFS – Virtual File System
37:46VFS – Virtual File System
37:46VFS – Virtual File System
39:11Pathname lookup
39:11Pathname lookup
39:11Pathname lookup
40:00Pathname lookup: complications
40:00Pathname lookup: complications
40:00Pathname lookup: complications
43:52Conclusion
43:52Conclusion
43:52Conclusion
44:00Conclusion: Think in terms of cache lines
44:00Conclusion: Think in terms of cache lines
44:00Conclusion: Think in terms of cache lines
44:27Conclusion: Optimise for the common case and fall back
44:27Conclusion: Optimise for the common case and fall back
44:27Conclusion: Optimise for the common case and fall back
44:58Conclusion: Explore other ideas
44:58Conclusion: Explore other ideas
44:58Conclusion: Explore other ideas
45:39Conclusion: Linux parallelisation is state-of-the-art4
45:39Conclusion: Linux parallelisation is state-of-the-art4
45:39Conclusion: Linux parallelisation is state-of-the-art4
46:18Thank you
46:18Thank you
46:18Thank you
⏬
Next: 'Cyan, Inc. - The Directors behind Myst VR'
⏬