Is parity-check/-rebuild single threaded?


hawihoney

Recommended Posts

How many disks are in your array that the CPU is pegged at 100% in this scenario?

 

im running a fairly small array with 4 disks and also have a cpu with high single clock performance so i never even noticed that it puts any load on the CPU, at which number of disks could this become the limiting factors instead of the drive speed itself?

Link to comment
  • 2 weeks later...

I just spent the last few months updating my Unraid system with an updated Supermicro case with 12GB SAS expanders, 12 more drive bays, bought new 2x 12gb HBAs, updated the CPU to lower power, lower speed (but with 4 more cores)...  Did all the testing, using old crappy drives, assuming they were the reason parity was slow.  Went ahead and moved over the real drives... the end result was 1/3 the speed of parity check, from ~24 hours to 3+ days...  Today I figured out that the parity check is single threaded.  Just bought some overkill CPUs that are twice the clockrate and 70% more power usage.  I'll try to reply once I get the CPUs replaced.

 

In short, it would be nice if the parity check/build was multithreaded.

Link to comment
  • 2 weeks later...
  • 4 months later...
On 3/3/2021 at 10:27 PM, trurl said:

Parity is completely I/O bound so CPU cycles aren't an issue except for very old CPUs on dual parity.

 

If you installed port multipliers that probably explains your slowdown.

I cannot agree with you. I have similar experience as jpporter. I have Ryzen 3700X thats not slow CPU, 2x1TB Samsung 980 PRO NVMe as chace drives and 3x12TB WD Gold HDDs one of them parity drive. Every time when parity check starts one thread is pegged to 100% and all my work must stop, shares are usually not accesible during that time and services like Plex or HOOBS are not working or at very limited speed/laggy. That includes shares which are only in cache drives(game libraries), because CPU is struggling with that kind of load. It would be awesome if this proces would be multitreaded, not because speeding up, i dont care how long it takes, but because I could access data. It's maybe issue just for Ryzen CPUs caused by architecture and one 100% pegged thread can cause this trouble. But I'm really unsatisfied by performance during parity check.

Link to comment

I would suggest taking a closer look at you system performance with something like Netdata, the unRAID dashboard is not particularly detailed about system performance. I would suspect you will find very high iowait and that your pegged core is mostly busy waiting for IO. Why that would bog down your entire system and what to do about it I unfortunately dont known.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.