That’s a treasure chest Mikael!
Not sure what that is due to. I was using a 24 bit file. But it could be something about my DAC (native DSD processing in 32 bit path) too.
@Mikael_Ollars spreadsheet is instructive. Certainly under some circumstances performance from i3 and i7 are similar. And actually, it almost doesn’t matter what the ‘speed’ rating is as long as it is manageable (>2). What’s really important is what one CPU is able to do when another CPU can’t do it. I’d love to see that.
I couldn’t come up with a scenario where the NUC8i7 couldn’t handle it. But I’ve seen a thread where upsampling to 5.1 signal path couldn’t be done.
Just added my NUC5i3 to the sheet, and with my library and the measurements taken last night, is giving as good equivalent results as the NUC8i3 (240Gb Kingston m.2 PCI) and NUC7i3 (with Samsung 970 Evo NVMe 250Gb m.2) listed, and just as good as the NUC7i5 (with Samsung 960 M2 SSD).
So it looks like, based on these measurements and statistics that ROCK doesn’t need the additional CPU performance of later NUC generations or faster i5 or i7 processors, or NVMe based SSDs - it is holding its own on a 15W 5th Gen NUC i3 CPU from 2015.
Plus I have still have a NUC5i3 for sale here (a spare, all built with the same components as measured here), advert updated to include these results see FS: NUC5i3 ROCK server
How come you have power measurements while upsampling but not idling?
I have no way of measuring power, as it is ROCK, but the NUC5i3 has a TPW of 15W, so it that will be the max.
Also even when doing this upsampling testing, did the fan come on - now the BIOS is set for Quiet operation, as I don’t want the fan on during normal playback.
So I ran these benchmarks with a Convolution file, from @grossmsj loaded into Roon Core, and replaying 24/88 Daft Punk Random Access Memories as a comparison to the NUC8i7 (4 Core machine)
Convolution Filter running on one Zone 43.6x
Convolution Filter running on two Zones 37.1x (on the original zone)
Convolution Filter running on three Zones 37X (on the original zone)
Convolution Filter running on four Zones 40x (on the original zone)
So that’s 4 zones, with DSP on each zone and no impact of each additional zone, and the NUC5i3 ROCK server has no problem supporting 4 playback zones with DSP!
Playback of Redbook file with Convolution DSP and PCM Upsampling (Power of 2) 15.8x (without Convolution DSP it was 21.1x)
Playback of Redbook file with Convolution DSP and PCM Upsampling (Max Rate) 12.7x (without Convolution DSP it was 15.3x)
Playback of DSD64 with Convolution DSP and PCM conversion to Max PCM rate is 7.3x (without Convolution DSP was 7.4x)
Playback of DSD128 with Convolution DSP and PCM conversion to Max PCM rate is 3.9x (without Convolution DSP it was 4.1x)
Playback of DSD256 with Convolution DSP and PCM conversion to Max PCM rate is 2.9x (without Convolution DSP was also 2.9x)
Playback of MQA 352.8KHz with Convolution DSP and conversion to Max PCM rate is 7.3x (without Convolution DSP was 8.6x)
Playback of 24/352.8 with Convolution DSP and conversion to Max PCM rate is 7.5x
(without Convolution DSP was 9x)
‘Upsampling’ 24/88.2 to DSD64 with Convolution DSP is 6.4x
‘Upsampling’ 24/88.2 to DSD128 with Convolution DSP is 4.3x
So final stress test
Zone 1: 24/88.2 with Convolution DSP ‘upsampled’ to DSD128: 4.3x
Zone 2: 24/352.8 with Convolution DSP converted to Max PCM 24/192: 7x
Zone 3: 16/44.1 with Convolution DSP with DSP Attentuating volume: 85.7x
Zone 4: 16/44.1 with Convolution DSP ‘upsampled to DSD64: 6.8x
So simultaneous 4 zone playback supported with Convolution DSP on each zone, with some level of DSP conversion, including DSD128 and DSD64 conversion on 2 of the zones.
Have I missed anything?
I think ROCK running on a NUC5i3 can do DSP!
No. I won’t accept it! It violates my preconceived ideas. Your NUC5i3 has special super powers.
Seriously, this is really helpful. You put a lot of work into this. I now have a healthy respect for how well the i3 can handle Roon.
Still glad I bought the i7.
Are you using more than one processing core?
In the DSD ‘upsampling’ I have the ‘enable use of multiple cores’ set.
I observed very predictable behaviour earlier in my tests, when you unset this option, i.e. processing speed was halved.
However the purpose of a multiple core processor is to allow the workload to be across multiple cores, instead of being bound to a single core.
It is an implementation of the Von Neumann computing architecture to be able to undertake this.
Other than that I am just letting RoonOS manage the hardware to get the job done, which it did!
And if you can get can get this level of processing done, with a 2 Core i3 based unit, why the need for anything more? You are just wasting your money on additional processing capacity you are not going to use.
That is good to know. I actually decommissioned my 5i5 because I wanted to be able to do more but I now appreciate that apart from upsampling DSD to the really big numbers I could have stuck with it. I never used the parallelize function.
Hopefully these benchmarks debunk the idea and preconceptions, particularly here on this forum, that you need the most latest NUC with the most powerful processor to run Roon Core using ROCK.
The Intel core CPU architecture, has probably not changed dramatically in the last 5 years, since the introduction of 14nm processes. From reading the notes on the different processor generations it looks they have worked on GPU performance to support the requirements of 4K & higher resolutions, higher RAM addressing and integrating WiFi & Bluetooth to ‘on chip’ processing.
Plus introductions fixes for the Security vulnerabilities discovered, with hardware fixes over initial BIOS updates.
It is only in the Cannon Lake, Whiskey Lake & Ice Lake series have Intel been trying to release on a shrunk 10nm die, but that hasn’t gone that well, with many of these being back on 14nm production, including the forthcoming Comet Lake, 10th Generation.
Plus I don’t believe these were released in NUC devices or supported by ROCK.
Of course, as a headless server you don’t need any of the display capabilities, GPU performance, graphics rendering, etc.
ROCK only uses wired networking so no WiFi or Bluetooth usage.
Plus we have seen that ROCK only needs 8GB for OS & DB, until the library is that massive that it starts crashing.
A music server will sit in a network behind a NAT unit and Firewall (whether discrete or the ISP’s provided router, but these are normally very low quality implementations & add huge network bottlenecks) so the hardware fixes to the Meltdown and Spectre vulnerabilities are not required.
So I would say, most of the later NUC generations have offered no significant improvement to ROCK performance (certainly not enough to warrant additional spend) and the additional performance of an i5 or i7 processor, at the higher processing speeds are unnecessary for the required application in the audio processing algorithms employed in the RoonOS. There is just extra heat to deal with, which is undesired in a music server environment, as it needs to be cooled which introduces additional electrical noise.
But a good exercise to undertake.
So, what do those processing speeds mean. What does 21.1X actually mean?
NUC Clone (HP 260 G3), i3 7130U, 8GB RAM, 256gb NVMe PCIe SSD.
I put on a basic parametric EQ to test out DSP and also see some of these processing figures you all throw up. Mine came out as 30.5x on the EQ.
Have had no issues with this device running ROCK
It is a measure of the load relative to consuming a full core.
Roon currently runs the DSP engine on one CPU core per zone–so “2.0x” means you’re using 50% of one CPU core to play music in this zone.
21.1x is a fraction of this, circa 5% of one CPU core for that zone.
Also to add to @simon_pepper’s good explanation, if you don’t see a processing speed, it means it’s negligible to the system.
NUC5i3 (£200 used). 70k tracks in library, one zone, DSP - handles all PCM rates, DSD can get up to 256 just, 128 is more stable though - processing speed around 2 in that mode, much higher with PCM
This explains why I sometimes don’t see it come up. Suggesting my NUC clone is more than enough for my needs for now.
This is very helpful @Phil_Wright. It shows an ‘edge case’ where computing power is limited.
High bit-rate DSD AND some form of signal processing seems to put a real hurtin’ on the processor.
I don’t have any DSD 256 to put it to a test on a NUC8i7. I’d bet it would be somewhat similar with one core, but separation would happen with multiple endpoints playing same.
To clarify, I have very little high res music, so I’m talking about the NUC’s ability to upsample to high PCM and DSD. I should have added that in normal use I don’t have any EQ or similar.
I was a bit nervous getting the 5i3 but had to do something as my previous 2010 Mac mini had finally conceded defeat. So far it’s fine though - does everything I need it to and handles more than I expected it to.
So if I upsample a 24-bit FLAC to DSD256 with a convolution filter, I’m running around 2X on a NUC8i7. That same file without DSD256 upsampling, but with convolution is around 90X.
If I simply run a DSD64 file with convolution only it runs around 3.7X and drops to ~1.7X with upsampling to DSD256. Why anyone would want to do that is beyond me. But putting DSD and convolution together requires some grunt. Even so, the i3 is up to the challenge!