When 5.1 was released I noticed the mention of “mClock” in the advanced settings of a vSphere host. I tried enabling it but failed miserably. A couple of weeks back I noticed the same advanced setting again, but this time also noticed it was enabled. So what is this mClock thingie? Well mClock is the new disk IO scheduler used in vSphere 5.5. There isn’t much detail on mClock by itself other than an academic paper by Ajay Gulati.
The paper describes in-depth why mClock was designed / developed, it primarily was to provide a better IO scheduling mechanism that allows for limits, shares and yes also reservations. The paper also describes some interesting details around how different IO sizes and latency is taken in to account. I recommend anyone who likes reading brain hurting material to take a look at it. I am also digging internally for some more human readable material, If I find out more I will let you guys know!
Sunny Dua says
Human Readable… LOL
dedwards737364 says
Ajay also has a paper published on purdue’s site dated Aug 2012 that has more visualization in presentation form. It seems to phrase the problem a little nicer and is a little more human readable ๐
https://www.cs.purdue.edu/homes/kompella/teaching/cs591dsn/Purdue-tech-talk-24-Aug-2012.pdf
John Nicholson. says
This explains IOPS throttling showing up randomly as a feature.
Sketch says
it has to be a “feature”, otherwise it would be a “bug” in the system.
Duncan Epping says
It is a feature for sure… Just poorly documented behaviour right now.
Carl Slaughter says
Duncan, how do I contact you, or can I. I have a question about my current config with 3 ESXi 5.5 hosts (64GB RAM) and one Dell 3200i That I am experiencing some latency issues that I cant figure out.
Marius Flage says
Carl,
check the option for disabling delayed ACK. That proved to be the night/day solution in our environment (5.5 and IBM StorWize V3700).
Check the following KB for how to enable this:
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1002598
Make sure you reboot each of the ESXi hosts for the changes to take effect.
– Marius
Aashish Parikh says
Brain-hurting ๐