Topic
  • 2 replies
  • Latest Post - ‏2016-01-24T16:20:30Z by The_Doctor
The_Doctor
The_Doctor
51 Posts

Pinned topic is DRAID single threaded on a v7000 ?

‏2016-01-14T16:20:07Z |

On a v7000, prior to DRAID, my preference (provided I had enough disks, etc.) was to allocate MDISKs in a pool in multiples of 4s.

Allegedly, regular raid MDISKs used a single threaded task, so to take maximum advantage of the 4 core processor in a v7000,  allocating MDISKs in multiples of 4 seemed like a good idea.  Couldn't always do it, but if the situation presented itself..... multiples of 4 was my preference.

 

Question..... how does this preference change with DRAID5 or DRAID6 ?  I won't have a lot of cases where I'll have enough disks to warrant allocating 4 MDISKs all with DRAID to a pool.  Is the idea of "multiples of 4" thrown out with DRAID ? is DRAID single threaded ? or ? 

 

And I get it.... even a single MDISK in a pool typically still preforms quite well for what it is.... a single MDISK..... so maybe my question is just a moot point.

 

Thx for any tips you can throw my way.

Updated on 2016-01-14T16:22:38Z at 2016-01-14T16:22:38Z by The_Doctor
  • IanBoden
    IanBoden
    4 Posts
    ACCEPTED ANSWER

    Re: is DRAID single threaded on a v7000 ?

    ‏2016-01-19T11:42:19Z  

    Hi,

     

    Distributed arrays use a single core for handling io, but some of the processing of that io is now offloaded to other cores. This means if driving io to only a single array then one core will be used more than the others, but the difference should be reduced. This change actually provides the same benefit to traditional arrays as it was a change to common code.

     

    However, core usage is a complicated topic, to drive a single array to the level where it is bottle-necked by the performance of the a single core you will typically need to use multiple volumes which will themselves be distributed over multiple cores and depending on the workload and which copy services are in use may dwarf the processing needed by RAID.

     

    My general advise would be to bare in mind that on a v7000 gen1 that multiples of 4 is nice, but forcing a config to use multiples of 4 when the system doesn't naturally fall out that way, is likely to be detrimental in some other way. The admin costs of maintaining a system that has been forced into some performance optimal configuration can outweigh the slight boost to performance that you get.

     

    It is slightly different when it comes to SSDs, due to their improved performance in large distributed arrays we start to hit other bottle-necks in the system before you get drive limited, so I would still recommend using distributed arrays to get the benefit of spares being active, but I wouldn't recommend going over the size you would typically put in a traditional array. The limit of 10 distributed arrays per IOGroup might mean having to stick with traditional for SSDs until we can improve things.

     

    We are currently considering improvements for both the mult-ithreading and the bottle-necks limiting large SSD arrays. Obviously I can't comment on when they may arrive, and I've no idea what cryptic text we might use to describe them on a roadmap.

     

    Hope that helps, but maybe it just raises more things to consider.

     

    Ian

    Updated on 2016-01-19T11:53:26Z at 2016-01-19T11:53:26Z by IanBoden
  • IanBoden
    IanBoden
    4 Posts

    Re: is DRAID single threaded on a v7000 ?

    ‏2016-01-19T11:42:19Z  

    Hi,

     

    Distributed arrays use a single core for handling io, but some of the processing of that io is now offloaded to other cores. This means if driving io to only a single array then one core will be used more than the others, but the difference should be reduced. This change actually provides the same benefit to traditional arrays as it was a change to common code.

     

    However, core usage is a complicated topic, to drive a single array to the level where it is bottle-necked by the performance of the a single core you will typically need to use multiple volumes which will themselves be distributed over multiple cores and depending on the workload and which copy services are in use may dwarf the processing needed by RAID.

     

    My general advise would be to bare in mind that on a v7000 gen1 that multiples of 4 is nice, but forcing a config to use multiples of 4 when the system doesn't naturally fall out that way, is likely to be detrimental in some other way. The admin costs of maintaining a system that has been forced into some performance optimal configuration can outweigh the slight boost to performance that you get.

     

    It is slightly different when it comes to SSDs, due to their improved performance in large distributed arrays we start to hit other bottle-necks in the system before you get drive limited, so I would still recommend using distributed arrays to get the benefit of spares being active, but I wouldn't recommend going over the size you would typically put in a traditional array. The limit of 10 distributed arrays per IOGroup might mean having to stick with traditional for SSDs until we can improve things.

     

    We are currently considering improvements for both the mult-ithreading and the bottle-necks limiting large SSD arrays. Obviously I can't comment on when they may arrive, and I've no idea what cryptic text we might use to describe them on a roadmap.

     

    Hope that helps, but maybe it just raises more things to consider.

     

    Ian

    Updated on 2016-01-19T11:53:26Z at 2016-01-19T11:53:26Z by IanBoden
  • The_Doctor
    The_Doctor
    51 Posts

    Re: is DRAID single threaded on a v7000 ?

    ‏2016-01-24T16:20:30Z  

    Appreciate your insight to my question.  I'll update my personal preferences accordingly.

     

    I hadn't considered SSDs when I created my DRAID question, but thx for pointing out the extra considerations needed for DRAID and SSDs.