LiveCDUnionCompression

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.

  • Launchpad entry:

  • Packages affected:

Summary

This specification describes a method of reducing LiveCD memory usage by compressing the writable temporary file data created during a live session.

Rationale

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.

Use cases

Any use of the LiveCD under any conditions should show an improvement in memory usage; some improvements will be very minor.

Scope

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.

Design

LayerFS will be used for compression.

Implementation

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.

Unresolved issues

  • 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


CategorySpec

LiveCDUnionCompression (last edited 2008-08-06 16:29:22 by localhost)