On Thu, Sep 11, 2014 at 10:17:21PM -0400, [email protected] wrote: > I am a Masters student at Carnegie Mellon University specializing in > Systems (with special emphasis on Operating Systems and Storage Systems). > I have taken a class called Operating Systems Practicum > (https://www.cs.cmu.edu/~412/syllabus.html). The main objective of the > course is to add a feature to any Open Source systems-y product > (preferably an operating systems). > > I was browsing through NetBSD project wiki and came across this really > interesting project of Compressed Cache > (http://wiki.netbsd.org/projects/project/compressed-cache/). I would > really appreciate if I could get some insights on this project status. I > will mostly be working alone on this project and the timeframe I have is > around 2 months. > > I did some basic reading and have figured out that one approach to > implement this is to have a block device backed by kernel reserved memory. > This block device can used as a staging area for the compressed pages. The > interface can itself be provided through a VFS read/write semantics. > > I would really appreciate if I could get any pointers and help on this > project. Eagerly awaiting a response.
I don't think anyone's already working on this. Doing it with a block device (like the referenced Linux code) shouldn't be all that difficult and even without much background getting it done in a couple months is probably doable. The drawback of doing it as a block device that you swap to is that only anonymous memory pages will be sent to it; pages from files (which includes e.g. program text) won't. But maybe that's good enough; apparently the Linux world thought so. (But don't try doing it inside uvm -- that is not a beginner project...) -- David A. Holland [email protected]
