One way or another we can only have a single thread sending writes to rocksdb. A lot of the prior optimization work on the write side was to get as much processing out of the kv_sync_thread as possible. That's still a worthwhile goal as it's typically what bottlenecks with high amounts of concurrency. What I think would be very interesting though is if we moved more toward a model where we had lots shards (OSDs or shards of an OSD) with independent rocksdb instances and less threading overhead per shard. That's the way the seastar work is going, and also sort of the model I've been thinking about for a very simple single-threaded OSD.
Doesn't rocksdb have pipelined writes? Isn't it better to just use that builtin concurrency instead of factoring in your own?
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com