-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modify reducing reservation function to reflect rho effect in weight-based phase. #6
base: master
Are you sure you want to change the base?
Conversation
Is this change related to the delayed tag calculation? It seems to be working to address the same performance issue. |
Sorry for late replay. And yes, you are right. First, this change intended to reduce Rho times multiple increment of reservation tag in the distributed environment during a weight-based phase. If we used higher server_iops (see below Ex.) than default dmc_sim_100th configuration, we can obtain the following combination table. The result means that the current default DTC only option is a better way among above options in distributed environment. By supplement, the dmClock paper’s Rho, Delta based distribution method incurs some issues. Thus, I couldn't decide whether this Pull Request is a missing part for Enabling DO_NOT_DELAY_TAG_CALC case. Thanks.
|
Thank you for that detailed explanation. I'm very interested in your understanding of the situation and want to make sure I'm fully understanding the points you are making. So I hope you won't mind my asking additional questions. Does "RRE" refer to the new code in this pull request? And if so, does this code therefore increase the standard deviation of # of IOPS? And if so, is that good or bad from your perspective? I'm also trying to understand another aspect of the argument. You say, "For example, current running simulator shows higher reservation phase count than theoretical reservation phase count because current each server’s received Rho value is smaller than expected value." But it seems like the core effect of this pull request is to reduce the reservation tags even further in the reduce_reservation_tags function. So would this change in code increase the reservation phase count? Thank you! |
In my opinion, I think bspark found something missing point about reducing resv tag value. But that was a part of the problem. So, even he fixed wrong reducing problem but there was worse result in some cases because dmclock has another problem too. The another problem is low rho value. low rho value make more IOs be serviced by reservation because reservation tag increase slower than being expected. In the paper & code, the rho value is counted with just IOs completed by reservation phase. But the counting interval is between with every IOs(not IOs that will be serviced in reservation phase). I think it's not fair ratio calculation and it makes rho value be low. I think rho value counting method needs some changes or rho need to be removed and use delta instead of rho. bspark's code(RRE) reduce reservation tag but if wrong rho calculation is fixed it will be compensated and I believe there will be better result. First of all, we need to find some example configuration that can prove that current rho value counting method is wrong. If I find one I will notice it. |
Thank you for clarifying your understanding. Your argument that the rho values are too small makes sense. I'll hold off on merging this for the time being since it does exacerbate the problem. But if we can fix rho values, this code will likely be of value. |
89427a7
to
659942d
Compare
in weight-based phase. Signed-off-by: bspark <[email protected]>
659942d
to
d366392
Compare
Sorry for the late reply. Last week was a holiday. |
We modified reducing reservation tags procedure to reflect rho effect in the distributed environment during a weight-based phase.
And, this modification has also an effect that reduces IOPs fluctuation in the whole of distributed environment system.
Thank you.