Saturday, April 01, 2006

New OpenSolaris project: /dev/recycle

I've just heard of this project from a colleague of mine, Avril Dummkopf. To use one one of John Clingan's expressions, Avril is a non-blogging heathan, so I thought I'd share the details of Avril's new project announcement here.

For many years Solaris has had a device, /dev/null, which is used as a bit bucket. Anything written to /dev/null is thrown away, and reads return EOF. Another device exists, /dev/zero, which is similar except that it returns an endless stream of 0 bytes when read.

I think that this is wasteful, /dev/null especially so. So with a nod of inspiration to Sun's environmentally friendly UltraSPARC T1 processor and T1000 and T2000 servers, I am pleased to announce an OpenSolaris project to implement /dev/recycle, sponsored in part by GreenPeace.

The idea of this device is simple: rather than simply discarding unwanted bytes like /dev/null, data written to /dev/recycle is stored for later recycling: reads from /dev/recycle will be satisfied from this pool. (When the Trusted Extensions to Solaris are used, there is one recycling depot for each MAC label. Data with a given MAC label can only be read or written by a process at the same label.)

I've done some benchmarking, and compared to using /dev/null, using /dev/recycle will result in huge byte savings: on the order of terabytes per year. Bytes are a finite resource, so it just makes sense to recycle them where possible (software engineers have long appreciated the benefits of recycled--aka reusable--code).

I hear that the Mustang (Java 6) team is planning to replace Java's garbage collector with something that uses /dev/recycle. Given that Java currently performs automatic garbage collection, moving to the practice of of automatic recycling collection leveraging /dev/recycle will result in considerable byte savings, which is a Good Thing.

Please join the eco-device community on www.opensolaris.org for more details.

Looks pretting interesting to me, and I'm looking forward to contributing to this project.

1 Comments:

At 2/4/06 22:35, Anonymous Anonymous said...

I'm concerned that you're only looking at recycling local data. What if I run out? (I'm into refuse, reduce, recycle you know). My colleagues might have plenty of waste data to spare. I think there's a need for a distributed system whereby, for instance, a workgroup can pool it's waste data. Some form of /dev/recycle server would be needed. Furthermore, since we live in an era of dollar incentives, perhaps a deposit scheme could be implemented: 1c per gig of recycled data might be an attractive incentive and clear up some of our litter-strewn information superhighways. ;-)

 

Post a Comment

<< Home