Hi, Would anybody be able to comment on this idea, as to whether or not it’s feasible. I was wondering if it would be possible for all incoming writes to be written to the cache tier regardless of whether or not the object is currently residing there. This would avoid the requirement for a block to be promoted before it can be appended in the cache tier and would hopefully improve write latency for objects currently located in the EC tier. Objects which are updated in the cache tier would then be flushed at a later date, based on the pool flushing parameters. Objects which have been fully overwritten could be directly flushed down to the EC tier and overwrite the existing object. Flushing partially updated objects would involve reading the existing object from the EC pool, merging them and then writing it back down. The only problem I see is dealing with reads to any partially updated objects and I’m struggling to think of a good solution. Perhaps the object could be split into smaller blocks and some sort of bitmap could track their dirty status. Any blocks which are requested that haven’t been marked in the bitmap would be redirected to the base EC tier. Comments from anyone are welcome, Nick |
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com