CPU Parallelism when Applying Image
Posted: Sat Dec 22, 2018 2:36 am
Is it possible to leverage CPU parallelism when extracting an WIM image onto an SSD target, especially in WIMBOOT mode, but with other modes as well?
This would be nice to peak out the underlying HDD while accelerating processing speed dramatically. One extraction per core would be amazing on SSDs and provide near-linear performance increase per CPU core. Currently only one CPU core is used.
Some suggestions based on my experience:
- 2 threads max on (S)HDD or RAID 0 array hosted on (S)HDDs.
- X div 2 threads max on SSD, where X is CPU core count - leaving one core per thread for decompression - in regular extraction onto SSD.
- X threads max on SSD, where X is CPU core count - in WIMBOOT extraction onto SSD.
Would it be possible to implement this feature in WIMLIB, is the current architecture permissive?
This idea would work only on those WIM files without solid compression, of course. Otherwise, it would be an exponential slowdown factor!
I would welcome any feedback...
This would be nice to peak out the underlying HDD while accelerating processing speed dramatically. One extraction per core would be amazing on SSDs and provide near-linear performance increase per CPU core. Currently only one CPU core is used.
Some suggestions based on my experience:
- 2 threads max on (S)HDD or RAID 0 array hosted on (S)HDDs.
- X div 2 threads max on SSD, where X is CPU core count - leaving one core per thread for decompression - in regular extraction onto SSD.
- X threads max on SSD, where X is CPU core count - in WIMBOOT extraction onto SSD.
Would it be possible to implement this feature in WIMLIB, is the current architecture permissive?
This idea would work only on those WIM files without solid compression, of course. Otherwise, it would be an exponential slowdown factor!
I would welcome any feedback...