For TUNGSTEN, I plan to split the local storage manager into two layers; the physical manager and the logical managers. The physical manager takes a collection of block storage devices (such as hard disks), and a configuration giving advice on which disks to use for what, and provides an administrative interface for modifying said configuration and monitoring usage, and an interface to the logical managers. The latter interface provides access to a single unified associative data store; the local store is divided into regions for each volume mirrored on the local node (by a numeric volume ID), which are in turn divided into regions for each entity (by a numeric entity ID), which are in turn divided into regions for each object within the entity (by a numeric object ID), which may then be structured as the logical manager responsible for that object sees fit. The structure available to the logical manager within an object is a set of records, each with a key and a value. The physical manager provides the ability to create, abort, or commit transactions, and within a transaction, read, write, add, and remove records, including iterating through records by key range.
Check out this PDF:
It's a description of a new mass storage system designed for Plan 9. Venti offers permanent archival storage, with basically two operations:
- Given a block of up to 52KB of data (and some metadata, which is fairly irrelevant), the system returns an SHA1 hash of that data
Given an SHA1 hash, return the previously stored block of data with that hash.
One of the definite plusses of living in a proper village is that we have a local blacksmith.
Now, our house has a dual-fuel burner that, with a grate in, can burn coal, or without the grate is for wood. Sadly, the grate was a molten blob; it looked like somebody had tried to light a fire with liquid oxygen...
So we took it up to said blacksmith, who for a mere twenty pounds made it as good as new. We were given a bag of coal as a thank-you present from somebody, so using my military surplus trenching tool as an ash shovel and a pair of spoons as impromptu tongs, we've had coal fire for two days in a row now.
Why coal, you may ask, when we can go and pick up free firewood from the grounds? Well, the rate we get through wood makes it look doubtful we could manage purely on gathered wood, plus it saves a lot of time to not have to gather and chop the wood. We still need wood to get the fire started, so it's not like the wood will go to waste; but rather than buying extra wood, as we were, we'll spend less buying coal and take up less space storing it.
Indeed, we've used barely the top quarter of a small sack of coal so far; in the same time, we'd have burned up a fair pile of logs, involving more work feeding them in regularly, and more heat lost to evaporating the water in the wood. And I grew up with coal; it's familiar to me, and I find it easy to regulate.
However, when I went outside just now to put things on the compost heap, I realised that our house now has whiffs of the smell of coal smoke around it - smells that fondly remind me of visiting Wales!