Instant OS Updates via Userspace Checkpoint-and-Restart
Sanidhya Kashyap, Changwoo Min, Byoungyoung Lee, Taesoo Kim, Pavel Emelyanov
Instant OS Updates via Userspace Checkpoint-and-Restart Sanidhya - - PowerPoint PPT Presentation
Instant OS Updates via Userspace Checkpoint-and-Restart Sanidhya Kashyap , Changwoo Min, Byoungyoung Lee, Taesoo Kim, Pavel Emelyanov OS updates are prevalent And OS updates are unavoidable Prevent known, state-of-the-art attacks
Sanidhya Kashyap, Changwoo Min, Byoungyoung Lee, Taesoo Kim, Pavel Emelyanov
– Security patches
– New I/O scheduler features
– Performance patches
– Warming cache (e.g., 120 GB) over the network
– Warming cache (e.g., 120 GB) over the network
Memcached
Memcached
Memcached
Memcached
Memcached
Memcached
2-3 hours of downtime
Memcached
Memcached
2-3 hours of downtime 2-10 minutes of downtime
Memcached
Memcached
2-3 hours of downtime 2-10 minutes of downtime
Memcached
Memcached
Memcached
Memcached
Memcached
Memcached
Memcached
Memcached Memcahed
Memcached
Memcached
Memcached Memcahed
1-10 minutes of downtime
1-10 minutes of downtime
1) Incremental checkpoint
1) Incremental checkpoint 2) On-demand restore
1) Incremental checkpoint 2) On-demand restore 3) FOAM: a snapshot abstraction
1) Incremental checkpoint 2) On-demand restore 3) FOAM: a snapshot abstraction 4) PPP: reuse memory without an explicit dump
1) Incremental checkpoint 2) On-demand restore 3) FOAM: a snapshot abstraction 4) PPP: reuse memory without an explicit dump
Timeline S1
Naive checkpoint
downtime
Timeline S1 S1
Naive checkpoint Incremental checkpoint
downtime
Timeline S1 S1 S2
Naive checkpoint Incremental checkpoint
downtime
Timeline S1 S1 S2 S3
Naive checkpoint Incremental checkpoint
downtime
Timeline S1 S1 S2 S3
Naive checkpoint Incremental checkpoint S4
downtime downtime
– Individual lookups to fjnd the relevant pages – Individual page mapping to enable on-demand restore
2 4 3
– 1st iteration
all 4 pages (1, 2, 3, 4) are dumped →
– 2nd iteration
2 pages (2, 4) are dirtied →
1
– Individual lookups to fjnd the relevant pages – Individual page mapping to enable on-demand restore
3 2 4
– 1st iteration
all 4 pages (1, 2, 3, 4) are dumped →
– 2nd iteration
2 pages (2, 4) are dirtied →
1
– One-to-one mapping between the address space and the
– No explicit lookups for the pages across the snapshots – A few map operations to map the entire snapshot with address
– Rely on the concept of holes supported by modern fjle systems
1) Incremental checkpoint 2) On-demand restore 3) FOAM: a snapshot abstraction 4) PPP: reuse memory without an explicit dump
Running Checkpoint In-kernel switch Restore Running
Running
Memcached
2 4 3 1
Running Checkpoint In-kernel switch Restore Running
2 4 3 1
Checkpoint
Memcached
Running Checkpoint In-kernel switch Restore Running
2 4 3 1
In-kernel switch
Memcached
Memcached
Running Checkpoint In-kernel switch Restore Running
2 4 3 1
Restore
Memcached
2 4 3 1 Memcached
Running Checkpoint In-kernel switch Restore Running
2 4 3 1
Running
Memcached Memcached
2 4 3 1 Memcached
Running Checkpoint In-kernel switch Restore Running
2 4 3 1
Running
Memcached Memcached
2 4 3 1 Memcached
Running Checkpoint In-kernel switch Restore Running
2 4 3 1
Running
Memcached Memcached Memcached
2 4 3 1 Memcached
Running Checkpoint In-kernel switch Restore Running
Running
Memcached
2 4 3 1 Memory actively used
Running Checkpoint In-kernel switch Restore Running
Checkpoint
2 4 3 1 Memcached Reserve the memory in the OS
Running Checkpoint In-kernel switch Restore Running
In-kernel switch
Memcached
2 4 3 1 Memcached Reserve the same memory in the new OS
Running Checkpoint In-kernel switch Restore Running
Restore
Memcached
2 4 3 1 Memcached Implicitly map the memory region
Running Checkpoint In-kernel switch Restore Running
Running
Memcached Memcached
2 4 3 1 Memcached Memory again in use
Running Checkpoint In-kernel switch Restore Running
Running
Memcached Memcached Memcached
2 4 3 1 Memcached
Memory again in use
– Works at the namespace level
– A mini boot loader that bypasses BIOS while booting
– e.g., layout change in data structure
kpatch failure scenarios
50 100 150 190 200 210 220 230 240 250 Bandwidth (MB) Timeline (sec) Basic - SSD
50 100 150 190 200 210 220 230 240 250 Bandwidth (MB) Timeline (sec) Incremental checkpoint - SSD
50 100 150 190 200 210 220 230 240 250 Bandwidth (MB) Timeline (sec) On-demand restore - SSD
50 100 150 190 200 210 220 230 240 250 Bandwidth (MB) Timeline (sec) FOAM - SSD
50 100 150 190 200 210 220 230 240 250 Bandwidth (MB) Timeline (sec) Basic - RP-RAMFS
50 100 150 190 200 210 220 230 240 250 Bandwidth (MB) Timeline (sec) Incremental checkpoint - RP-RAMFS
50 100 150 190 200 210 220 230 240 250 Bandwidth (MB) Timeline (sec) On-demand restore - RP-RAMFS
50 100 150 190 200 210 220 230 240 250 Bandwidth (MB) Timeline (sec) FOAM - RP-RAMFS
50 100 150 190 200 210 220 230 240 250 Bandwidth (MB) Timeline (sec) PPP
Basic - SSD Incremental checkpoint - SSD On-demand restore - SSD FOAM - SSD Basic - RP-RAMFS Incremental checkpoint - RP-RAMFS On-demand restore - RP-RAMFS FOAM - RP-RAMFS 200 210 220 230 240 250 Timeline (sec) PPP
– New data abstraction for application C/R – Fast in-kernel switching technique – A simple mechanism to persist the memory
– New data abstraction for application C/R – Fast in-kernel switching technique – A simple mechanism to persist the memory
10 20 30 40 50 60 70 80 90 8 16 24 32 40 48 56 64 72 Downtime (sec) WSS (GB) with 50% write FOAM - SSD
10 20 30 40 50 60 70 80 90 8 16 24 32 40 48 56 64 72 Downtime (sec) WSS (GB) with 50% write Out of memory error FOAM - SSD FOAM - RP-RAMFS
10 20 30 40 50 60 70 80 90 8 16 24 32 40 48 56 64 72 Downtime (sec) WSS (GB) with 50% write Out of memory error FOAM - SSD FOAM - RP-RAMFS PPP