NOTE: This page is part of the Ubuntu Specification process. Please check the status and details in Launchpad before editing. If the spec is Approved then you should contact the Assignee, or another knowledgeable person, before making changes.
This specification describes a method of reducing LiveCD memory usage by compressing the writable temporary file data created during a live session.
Files created during LiveCD sessions have to go into RAM; however, RAM is limited and often scarce. By compressing these files we can reduce the amount of RAM used and potentially get a speed gain by increasing disk cache.
Any use of the LiveCD under any conditions should show an improvement in memory usage; some improvements will be very minor.
We are only concerned with the temporary storage overlain on the LiveCD file system. Other areas such as hard disks and USB devices are not handled in this way.
LayerFS will be used for compression.
When the LiveCD is initially brought up, the tmpfs used to store changes will be mounted at an indirect mount point. LayerFS will then be used to mount that mount point on the normal directory, with transparent compression. Boot-up will continue as normal.
LayerFS is not currently workable multi-threaded; it must be forced single-threaded (-s), which probably is responsible for some of the performance loss during writes. (Priority inheriting semaphores would probably help too...)
- LayerFS is not currently given a proper license; I have contacted the author, it seems he may be willing to LGPL it.
BoF agenda and discussion
LayerFS is http://north.one.pl/~kazik/pub/LZOlayer/