On Aug 10, 2013, at 6:15 PM, "Alan M. Carroll" <a...@network-geographics.com> wrote:
> All; > > I have added a new section to the documentation, 'arch', for "Architecture". > Currently it contains just my writings on the cache implementation but others > are of course STRONGLY encouraged to contribute. This should not be API level > stuff but design / architecture stuff that explores the concepts, designs, > and interactions of components of ATS. I think it is also a good place for > writing up design suggestions for future implementation. Very cool. A few questions on the cache tiering: 1) Is the quality the same as a "tier level" ? If so, 4,294,967,296 different tiers seems incredibly excessive. 2) The Oracle logic doesn't seem to include a feature to evict from one tier when the object gets "promoted" to a higher tier. I don't know if this is required, but it seems reasonable to think that if I have RAM + SSD + Disk, once an object gets stored in the RAM cache, it's enough to keep it in rotational disk for the time being. 3) How are the different cache tiers implemented? Are they all using existing disk cache layouts (except for RAM cache)? I guess if that's the case, #2 above might not make a whole lot of sense (it'll churn out anyways in the cyclone). 4) It feels like we should redo the existing RAM + disk cache such that the default is two tiers and the promotion algorithms between the two tiers maps to our LRU or CFLUS implementations (but using this concept of tiers). That would imply that a cache tier can choose between at least 3 different types cache layouts. Cheers, -- Leif