I am a research student from India working on QoS for distributed storage systems. I was
studying the implementation of mClock in ceph for my research purposes. I am stuck with
some doubts. It would be really helpful if someone can clarify some of them.
If possible please help me understand these. Also please correct me if anything is wrong
* I was checking
, there it
was mentioned that dmClock is implemented in ceph. But when I checked the master branch of
ceph, rho and delta are not sent from the client and add_request() function is called with
null_req_params. Is dmClock implemented in some other branch of ceph?
* When an MOSDRepOp is received in an OSD node, PullPriorityQueue::add_request() is
called with a client id that corresponds to the primary OSD which sent the MOSDRepOp. Why
actual client which sent the MOSDOp is not taken as the client id? Is there any particular
reason for this?
* When an MOSDRep has reached the primary osd node, it goes to the mclock queue. When
it is dequeued and MOSDRepOps are sent to replica nodes, these requests will again have to
wait in replica node's mclock queue(client id corresponds to primary osd). Will this
cause an inefficiency since it waits two times in queues?