Is it possible, or feasible, or even sensible to consider hardware acceleration for MD RAID?
I am referring more here to RAID6 type levels where there is a computation overhead. My thinking is that it is still disks that will provide the greater bottleneck, but I am surmising.
As has been pointed out in the answers, this should simply mean getting a hardware RAID card. The advantage of MD over hardware is to avoid the need for hardware of course - it is software RAID. However, another advantage of MD is avoiding vendor lock-in. My understanding is that you cannot move disk sets between different hardware RAID vendor products and have any hope they will work without starting over. Whereas with MD you can move disks between machines without issue.
Having hardware that can boost the performance of MD RAID without having to resort to a wipe, rebuild and restore would be beneficial in some cases.
Sorry, are you really asking if there's a hardware version of software RAID? well...yes, it's called hardware RAID.
Your problem with high I/O wait on writes is that you have no write cache. Software RAID really doesn't offer that, whereas a hardware RAID controller has a battery-backed (BBWC) or flash-backed (FBWC) cache module to buffer incoming writes. The writes go to DRAM and are flushed to disk later, reducing write latency. In this case, your writes incur the disk pool's latency.
Short answer: No.
If you're thinking "hardware acceleration", you're thinking hardware RAID with a suitable controller w/battery-backed flash.
MDADM is considered something to be used if you either can't afford to have a RAID controller that suits your needs (or has enough channels, for example) or you can't feasibly stuff one in the box itself which is the case with say, your average desktop. Yes, desktops can have hardware RAID too, but MDADM is designed for retro-fitting RAID on hardware without support otherwise.
So, if you want faster RAID, get a card. There is no purpose on putting a hardware RAID card on top of MDADM.
Some Linux-powered NAS systems offering software RAID include hardware to accelerate RAID5 and RAID6 operations. For example, several low-power NAS devices running on older ARM System-on-Chips made by Marvell come with the "Marvell XOR engine" which provides hardware offload of XOR operations.
From the Linux mail archives:
Newer devices with Marvell SoCs include a new hardware block that also offers hardware acceleration of RAID6 operations.
The referenced document outlines a method of using a general purpose GPU accelerator to increase the performance of RAID systems, by using it to carry out parity calculations.
If a driver was written for MD that could use OpenCL / CUDA, then it could potentially increase the performance of software RAID by an order of magnitude.
So the answer is yes, it is feasible.
Link