Skip to main content

software RAID on old vs. new CPUs


The Linux kernel has several software RAID algorithms, and selects the one that is fastest on your CPU. Isn't that always the same algorithm then ? No, definitely not. Newer CPUs have additional instructions that help speed things up. And it's not just clock speed that matters, memory bandwidth plays an important role too.

  • On an old Pentium II Xeon 450 MHz, raid5 uses p5_mmx, and raid6 uses mmxx2. Software raid6 calculations are 72% slower than raid5.
  • On a Pentium IV Xeon 1.5 GHz, raid5 using pIII_sse, and raid6 uses sse2x2. Software raid6 calculations are 12% slower than raid5.
  • On an AMD Athlon XP2000+ (1.6 GHz), raid5 uses pIII_sse, raid6 uses sse1x2. Software raid6 calculations are 42% faster than raid5.
On 64-bit systems, no relevant instructions are different between generations so far:
  • On a AMD Athlon64 XP3400 (2.4 GHz), raid5 uses generic_sse, raid6 uses sse2x4 (raid6 44% slower than raid5).
  • On a Xeon 5160 3GHz, raid5 uses generic_sse, raid6 uses sse2x4 (raid6 15% slower than raid5).
  • Same algorithms on a Xeon X5450 3GHz (raid6 20% slower than raid5).
  • Same algorithms on a Xeon E5430 2.66GH (raid6 18% slower than raid5).
  • Same algorithms again on a Xeon X5650 2.66GHz (raid6 15% slower than raid5).

Comments

Anonymous said…
Very interesting!
Do you know what it's been used when running on an Intel® Atom™ Processor D510 1.66GHz (Dual-Core) 32Bit??

Cheers,
Didier
Bert de Bruijn said…
@deinoscloud: the QNAP Linux kernel doesn't report it in dmesg, apparently. I did try to find that info, of course :-) What did you expect ? ;-)
Bert de Bruijn said…
@deinoscloud: found it: on the Atom CPU in my QNAP raid 5 uses pIII_sse, measured at 5120 MB/s, and raid6 uses sse2x2, measured at 1082 MB/s.
These are the same algorithms as on the 32-bit Pentium IV CPU I tested. Performance for raid5 is 2.5x higher for comparable clock speed, but raid6 performance is only half.
The raid5 performance is far above
Of course, being a NAS device, the CPU in the QNAP is basically free to do this, so the CPU overhead is not slowing down other tasks, as long as it doesn't become a bottleneck. And with 4 cores available to spread other tasks over, I don't see it becoming a bottleneck soon.
Anonymous said…
Awesome. Thx for the info!

Popular posts from this blog

Volkswagen UHV bluetooth touch adapter & its problems

My Volkswagen car has the "universal cellphone preparation" UHV built-in. This is the main part of a car kit, but requires an additional adapter for connecting to a cellphone. At first, I was using an adapter for my good old Nokia 6310, even after I changed to the Nokia E71. Connecting was easy: pair the phone with the "VW UHV" bluetooth entity, and done. This has the phone connected to the car kit at all times, so even non-call-related functions use the car audio system (e.g. voice recognition). But progress will have its way, no matter what happens. So in comes the "bluetooth touch adapter". Instead of a phone-specific adapter, this is a small touchscreen device that slots into the UHV dashboard mount. Connecting a phone is very different now: the Bluetooth Touch Adapter connects to the "VW UHV" device via bluetooth the phone connects to "Touch Adapter" device, also via bluetooth The device doesn't allow step 2 if step 1 didn'...

Which vSphere version is my VM running on?

Several years ago, I created a list of ESXi versions with matching VM BIOS identifiers. The list is now complete up to vSphere 7. Your Linux runs on a VMware VM, but on which ESXi version? Even without access to the host nor vCenter, you can see for yourself: run "dmidecode" and look at lines 10, 11 and 12. The BIOS release date, the address and the runtime size are unique for each ESXi version. Starting from 7.0 U3, no address and size is reported, and the "Phoenix Technologies LTD" name changed to "VMware, Inc.". Look up your result in the following table: ESXi version   BIOS release date   Address   Size ESX 2.5 04/21/2004 0xE8480 97152 bytes ESX 3.0 04/17/2006 0xE7C70 99216 bytes ESX 3.5 01/30/2008 0xE7910 100080 bytes ESX 4 08/15/2008 0xEA6C0 88384 bytes ESX 4U1 09/22/2009 0xEA550 88752 bytes ESX 4.1 10/13/2009 0xEA2E0 89376 bytes ESXi 5 01/07/2011 0xE72C0 101696 bytes ESXi 5.1 06/22/2012 0xEA0C0 89920 bytes ESXi 5.5 07...

Reset lost root password on vSphere ESXi 6.7

VMware's solution to a lost or forgotten root password for ESXi is simple: go to  https://kb.vmware.com/s/article/1317898?lang=en_US  and you'll find that "Reinstalling the ESXi host is the only supported way to reset a password on ESXi". If your host is still connected to vCenter, you may be able to use Host Profiles to reset the root password, or alternatively you can join ESXi in Active Directory via vCenter, and log in with a user in the "ESX Admins" AD group. If your host is no longer connected to vCenter, those options are closed. Can you avoid reinstallation? Fortunately, you can. You will need to reset and reboot your ESXi though. If you're ready for an unsupported deep dive into the bowels of ESXi, follow these steps: Create a bootable Linux USB-drive (or something else you can boot your server with). I used a CentOS 7 installation USB-drive that I could use to boot into rescue mode. Reset your ESXi and boot from the Linux medium. Ident...