Start a Conversation

This post is more than 5 years old

Solved!

Go to Solution

2820

February 7th, 2018 02:00

Shared Host I/O Limit

Hello,

using a Unity 450F, i am wondering how a shared host i/o limit applies to the following example:

we have two LUNs sharing a Host I/O Limit of absolute 10000 IOPS.

How will the system limit the access?

a) Each LUN has a max. IOPS of 10000 (resulting in 20000 IOPS possible, but only 10000 per LUN)

b) All LUNs with the limit share the 10000 IOPS

Thanks in advance.

3 Posts

February 7th, 2018 02:00

I just watched the Video "EMC Unity - Host I/O Limits" on YT and found out that the limit is shared between the resources.

2018-02-07 11_32_34-EMC Unity - Host I_O Limits - YouTube.png

Moderator

 • 

239 Posts

February 7th, 2018 03:00

Correct. It would be a total limit of 10K IOPS for those LUNs.

So if they are performing very similarly, they might do around 5K iOPS each, but the overall limit of 10K will never be passed on these LUNs (or this LUN group as a whole).

Andre @ Dell EMC

3 Posts

February 7th, 2018 05:00

Thanks, but what happens in this case if one LUN is using most of the limit?

Will the system respect FC Queue lengths for load balancing or

distribute the available Host I/O evenly?

February 8th, 2018 01:00

If one LUN is using most of the limit, then the remaining LUNs will only be able to use the remainder of the limit.  The shared limit is an upper limit on all the resources assigned to that limit.  Unity will not control how each LUN is using that limit, only that the LUNs as a combined group do not exceed the limit.

Moderator

 • 

239 Posts

February 8th, 2018 03:00

Let me give you a very practical example from my lab here:

I have a VM with two RDM disks, which are obviously two LUNs, one on SPA, one on SPB.

I have IOmeter running IO equally to both disks.

Without Host IO limits, they are doing over 20k IOPS each.

If I stick a shared HostIO limit on these two, say for 10k, it splits them half way and allocates 5k IOPS to each.

So now I have the 2 LUNs doing 5k IOPS each for a total shared of 10k.

So from experience, I don't think one very busy LUN would starve the other member of it's "group". To test my theory, I changed the IO workload on the two LUNs as follows:

- Paused HostIO limits

- Changed IOmeter to send way more IO to one LUN than the other.

- So now I have one LUN running at around 25k IOPS, and the other running at 7K ish.

- I set the same HostIO limit of 10k shared to see if the system will split them up proportionally to what they are doing without limits, or half way at 5k again each.

- The result is another 50-50 ish break half way with each LUN doing around 5k IOPS. There is a slight difference now whereas before it was an exact 50-50 split. So it might be a slightly proportional split, but seems minimal.

This was just a quick test here and doesn't mean this will always be the behavior.

You'll have to test in your environment to see how it behaves.

In any case, it's like Chris said. HostIO limits (shared) will give you X resources to be split up between the members. And I don't think one busy LUN will starve out the other members. From my experience there seems to be an attempt to split the shared value equally, but as I said it may not always be the case.

Does this help?

February 8th, 2018 07:00

Thanks Andre, that is useful.  I've just tested it on a UnityVSA and seen similar results.

No Events found!

Top