Did some more testing, and the results are interesting.
HARDWARE
CPU: Intel Xeon 2276G (6 Core/12 Thread 3.8Ghz CPU, 12146 Passmark, P630 iGPU, Coffee Lake)
RAM: 64GB DDR4
DISK: 2x 1.2TB Intel P3600 RAID0 (content saved on RAM/transcoding in RAM)
GPU: Nvidia GTX 1080p 8GB
SOURCE FILE
Video h264 1080P 15763kbps
Audio DCA DTS 5.1 1536 kbps
TEST
24x Simultaneous transcodes to 8mbps 1080P
COMPARISON
Quick Sync Video vs Nvidia NVENC
Note// To remove disk performance from the equation - content was saved on 64GB ramdisk and transcoding also occured in RAM.
RESULTS
QSV
Starts to buffer at around 20 transcodes - with significant IOWAIT - despite files and transcoding stored in RAM. System load is minimal (2-3), and user/system CPU usage is also minimal (20%).
See streams buffering and transcode speeds less than 1.0 for reference.
NVENC
Streams 24x Transcodes with no buffering. All files sitting in throttled transcode
SUMMARY
Whilst QSV performs adequately for less than 20 transcodes - and CPU usage remains low throughout the test - QSV transcoding generates noticeable IOWAIT despite disk activity being minimal. IOWAIT increases in step with the number of transcodes running. It does not occur once a particular threshold is met- instead it builds slowly as transcodes are added. Once IOWAIT hits approx 60% transcodes begin to buffer.
It is important to remember that IOWAIT isn’t specifically disk related.
The exact same test on NVENC does not see this same IOWAIT side effect, running on the same hardware, same disks, same transcode setup. As a result - 24 simultaneous transcodes run without buffering.