[Gluster-devel] timer wheel for object expiry?
Venky Shankar
yknev.shankar at gmail.com
Tue Dec 16 15:27:47 UTC 2014
Hey folks,
For BitRot[1] there's a need to track objects (files) for inactivity
for a certain period of time (after release()). I was considering
using timer wheel[2] to track object expiry as it's proven to be
scalable and used by the linux kernel. This could even be beneficial
as GlusterFS timer subsystem which is currently add:O(N)/expiry:O(1).
I have a test code (that works at seconds granularity) and borrows
much of the code from the linux kernel. I've put it up here:
https://github.com/vshankar/timer-wheel
The other option would be to use rbtree, but I guess the "cascading"
logic in timer wheel is much more simpler and suited for
cancellations.
Thoughts?
Venky
More information about the Gluster-devel
mailing list