Will Windows 8 bring any RAID 1 speed increases?

smayonak October 31, 2011

Will the upcoming Windows 8 bring any speed increases in RAID 1? UNIX systems have access to GEOM_MIRROR and in Linux, there’s MDADM. Both of these allow the computer to distribute reads across both disks – which doubles read rates.

Unless I’m missing something, aside from some very minimal performance tweaks, it would seem that Windows 8 is largely a cosmetic upgrade to Windows 7.

  1. Smayonak
    November 1, 2011 at 5:52 am

    My knowledge of the mechanics governing write distribution is primitive at best, so I defer to you in all technical matters, Mike. Anyway, that said, on my RAID 0 setup I get read times in single threaded programs that are double what they would be in a traditional disk configuration. This logically infers that even in single threaded operations, read speeds would be doubled in RAID 1 using software similar to GEOM or MDADM, since these permit the distribution of reads across drives, like in RAID 0.

    Thanks for the link. It would seem that its authors are referring to platter based RAID 1, in which case there's a high degree of bottle-necking. I was actually referring to SSD based RAID 1, in which case, you get double the read speeds, since the read operations are distributed across multiple drives possessing identical sets of data. Of course like in RAID 0 speeds are not exactly doubled - although in benching they do come out as nearly twice what a single drive would have scored. You were probably referring to this omission of mine.

    • Mike
      November 1, 2011 at 10:25 am

      Just because (almost) every controller doing RAID0 also can do RAID1 doesn't mean they are essentially the same - they are not. Hence you can't draw that conclusion.

      A RAID1 is a mirror across (n) drives. 
      A RAID0 is a stripe across (n) drives. 

      Therefor a RAID0 does striped writing & reading across multiple drives resulting in immediate increase (almost n-times of a single drive) in both write & read speeds. 
      Wherein for a RAID1 [writing is slower and] a single read is always performed from a single drive - naturally the one which responds the fastest to the read request.

      If you take a 2 disk setup...

      ...for RAID1 all drives contain the same data:
      disk1 = A + B + C
      disk2 = A + B + C

      .. for a RAID0 the data is striped across both drives:
      disk1 = A1 + A3 + B1 + B3 + B5 + C1 + C3
      disk2 = A2 + A4 + B2 + B4 + B6 + C2 + C4

      Now if you request to read a single file "A" the RAID1 will read it from only one drive which found the file first wherein the RAID0 obviously has to read it from both drives.

      That's the difference between distributed reading and striped reading.

      GEOM isn't capable to do striped reads for RAID1, neither is Linux Raid. Since MDADM is simply a management tool for Linux Raid it doesn't change that.

      For what it's worth Wikipedia (although they are sometimes wrong) also states that normal Linux software RAID 1 does not stripe reads within the Linux MD RAID10 description.

      • Smayonak
        November 1, 2011 at 3:59 pm

        I understand what you mean now. Thanks for explaining.

        In this link{http://www.tomshardware.com/forum/250390-32-does-raid-increase-read-speed,thread on Tom's Hardware} they explain why Linux and UNIX get doubled reads. You would probably understand the material with greater clarity than I. 

        Apparently, even Windows 7 gets increased read speeds even with a pure software RAID 1 (see the bottom of that page). That answers my original question at least - so Windows 7 does have some kind of additional support for RAID 1.

        I think the read increase is because RAID 1 is similar to RAID 0, except instead of striping the data across multiple disks, an exact duplicate is had on the other disk - so it's a simple matter to distribute reads between both and this increases reads. In an SSD it should double reads.

        • Mike
          November 1, 2011 at 4:43 pm

          Yep, I think were on the same page now :-)

          Most of the time I would say RAID1 is superior simply because you get the security with the mirror. In terms of speed they don't give each other much because the speed gain of parallel reads (RAID1) are countered by the slower write operations of paging (Win) or swapping (*NIX/Linux).

          It can very well be that Linux has a better implementation of RAID1 than Windows but I honestly don't know.

          As for the comments on TH forum ~ again, you have to be careful. They are often cryptic but most of the comments are about the [non-standard] Linux MD RAID10 I mentioned before. You can see this by the "far=2" comments which is a layout flag of this Raid.
          Basically it combines the functionality of RAID1 (mirror) and RAID0 (stripe) but unlike a nested RAID10 it doesn't require a minimum of 4 drives. Data-wise it would look something like this:

          disk1 = A1 + A2 + A3 + B1 + B2 + B3 ...
          disk2 = A1 + A2 + A3 + B1 + B2 + B3 ...

          So obviously it can benefit from both, distributed and striped reading and therefor outperforms any standard RAID0 or RAID1 implementation.

          You could get a similar effect with the Intel Matrix RAID which is supported by all ICH*R chipsets (the R is the key here).

  2. Mike
    October 31, 2011 at 8:47 pm

    As for RAID1 I agree that it really doesn't matter whether it's Software, Host/Fake/Chipset or Hardware RAID. 

    Unlike stated in the initial question all of them perform parallel reading not combined reading. That means for every read request the drive with the fastest response time is chosen.
    Obviously if one drive is busy the second one will be faster but there is no such thing as combined reading or doubling performance in RAID1.

    The only RAIDs doing that are striped arrays (RAID0,3,5,...) simply because the data is spread over multiple drives.

    • Smayonak
      October 31, 2011 at 8:54 pm

      RAID 1 doubles reads if you use MDADM in Linux or GEOM_MIRROR in UNIX systems. Windows doesn't offer anything comparable in RAID 1, which is what I was wondering about in W8. Hopefully W8 adds something useful.

      • Mike
        October 31, 2011 at 9:07 pm

        You have to be careful. 
        A RAID1 performs load balancing of the read threads across the drives. That means for a single (1) read thread you only get the performance from one drive.
        Only if you perform simultaneous reading (multiple read threads) you will see a gain in performance because the threads will be balanced across the drives.

        FreeBSD for example does use GEOM and they clearly state that RAID1 is the performance leader when it comes to massively parallel read processes, but offers little or no read performance benefit to a lightly loaded server or workstation which is usually only serving one request at a time.

        I doubt it's any different for MDADM because the problem you are facing is that RAID1 simply isn't a striped array. With seek time and the calculations required to put the file back to one outweighs the performance gains of a striped reading in such an array.

  3. Mike
    October 31, 2011 at 5:57 pm

    With all modern motherboards having a cheap "hardware RAID" controller onboard I don't see any reason for Microsoft to implement those features for the handful of Software RAID users.

    If you want the RAID benefits you should set them up on hardware level anyway and if the onboard controller is not sufficient or you want real performance you should get some LSI or Promise Raid controller anyway.

    • smayonak
      October 31, 2011 at 6:41 pm

      Thanks Mike. Chipset RAID and FakeRAID don't benefit read speeds in RAID 1, unfortunately, without some kind of OS support. Microsoft's refusal to include modern RAID software may have to do with the fact that the only drives that are going to benefit from speed buffs in RAID 1 are SSDs. And those are still very expensive. Read speeds don't improve much from RAID in platter based systems - I am told this is because of the latency bottleneck issue.

      There are a very large number of people out there who are unwilling to spend the $500 to repair a damaged hard drive, who might appreciate some kind of default disk redundancy in Windows. That market should easily be large enough that Microsoft should include support for it in a Windows release. The issue may be that consumers are not aware of the advantages of redundant drives.On the hardware RAID controller: There's very little reason to invest in a hardware RAID controller if the only operation you're going to perform is RAID 1. RAID 1 should easily be handled by the Southbridge or through minor offloading to the CPU.

    October 31, 2011 at 5:54 pm

    Hello, I would say, it is too early to compare windows 7 to windows 8.  We have to wait a little bit more until the beta is out and/or it is released to the public.  If you have noticed, there are many things that are supposed to be there when 8 is released that are not there now....one of them would be media center and who knows what else.  Who knows what the final product will include because after all this is only the developers preview.  I personaly like what I can see so far, with a few minor exceptions that can be pinned on the user.  Once final product is out, you can really find out what is new, what is cosmetic, etc.  One of the things I liked the most is the new task manager because in a way it is simpler but at the same time provides more information.  Also it seems to need less resources than 7, at least with what I have used it for. 

    I would also say that you have to take into consideration if the system is using software or hardware raid.   

  5. Jeff Fabish
    October 31, 2011 at 5:37 pm

    If Windows 8 will bring any RAID optimizations, Microsoft is not bragging about it. To the contrary, I'm seeing more threads about problems installing Windows 8 with RAID.

    • Smayonak
      October 31, 2011 at 6:45 pm

      That's unfortunate. It seems that Microsoft doesn't plan on adding anything exciting in W8. I had always hoped that they'd implement new kinds of storage formats, like a format comparable to ZFS, but it's pretty clear at this point that they probably won't. :-( Thanks for the info. 

Ads by Google