How to intelligently pack OS in a container image?
summary
CoreOS OS images get split by RPM ownership, placed into container layers with overlays, and packed to minimize download deltas across upgrades. A deterministic algorithm groups RPMs by size and observed update frequency (mean and SD based), then forms layers under the kernel limit and merges partitions to stay within 128 bins. Results show about a 30% reduction in redundant data and over 100 MB saved aggregate on Fedora CoreOS upgrades, using 64 system layers while leaving space for customer layers.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 0:21Why containerize OS
- 1:03CoreOS requirements
- 3:31Problem statement
- 3:51OverlayFS storage
- 4:53OS files in layers
- 5:37Efficient layering design
- 7:23Bin packing problem
- 7:45Size-based layering evaluation
- 8:29Deep learning limitations
- 9:10Frequency-based classification
- 10:12Package partitioning
- 11:36Layer optimization steps
- 12:16Results and benefits
- 12:59ComposeFS improvements
- 13:43Q&A
related talks
24mCoreOS Demystified – The Specialized OS Powering OpenShift and Containers
48mFedora CoreOS: architectural walkthrough
28mFedora CoreOS - best host for your containers
24mSqueezing Fedora into IoT & clouds (Minimization)
44mWhat is Red Hat CoreOS?
26mFedora CoreOS Build Tooling
26mContainerize your Primary Workstation! - Fedora Silverblue
16mTaming the Linux Distribution Sprawl: A Journey to Standardization and...
