| Title | Compressed Caching for Linux |
|---|---|
| Student | Nitin Gupta |
| Mentor | Henri Han van Riel |
| Abstract | |
|
Hi All,
I'm doing project - Compressed Caching for Linux * For original(big) proposal see here: http://fedoraproject.org/wiki/SummerOfCode/2006/NitinGupta I will keep track of it here: http://linux-mm.org/CompressedCaching * Description, Compressed caching is division of main memory into two pools: An 'uncompressed cache' of pages in their natural, uncompressed representation, and a 'compressed cache' of pages in compressed form. It inserts a new level into the virtual memory hierarchy where a portion of main memory is allocated for the compressed cache and is used to store pages compressed by data compression algorithms. Storing a number of pages in compressed format increases effective memory size and this enlargement reduces the number of accesses to backing store devices, typically slow hard disks. This method takes advantage of the ever increasing gap between the CPU processing power and disk latency time, which is currently several orders of magnitude slower to access than main memory. This gap is responsible for underutilization of the CPU when the system needs exceed the available memory. Thus by increasing the effective size, number of disk access can be decreased resulting in increased CPU performance. * Significance This project will (hopefully) implement this compressed cahing feature for 2.6.x Linux kernels. This is useful even today when you can have tonnes of RAM very cheaply. In particular, its very useful for embedded devices. These are some other interesting scenarios: - OLPC project: Systems with very constrained memory. Really looking forward to this case!! - Low memory systems: Linux with graphical desktop managers like KDE, GNOME with OpenOffice on 128MB RAM system? - LiveCD environments: Here, the swap space might not even be available. Also, CD-ROM access is extremely slow. Thus, large no. of programs can be pre-fetched and compressed in memory resulting in much better performance. - Virtualized platform: Running several virtual machines simultaneously requires large amounts of memory. With compressed caching, guest OSs (Linux) will be able to run with lesser assigned memory thus allowing smoother operation for greater no. of virtual machines running simultaneously. I'm Lovin' it!! Cheers :-) Nitin Gupta |
|