I7 6700k Slave Machine Sample Streaming Benchmarks

Discussion in 'Your DAW (Digital Audio Workstation)' started by rgames, Jun 22, 2016.

  1. tack

    tack Damned Dirty Ape

    2,404
    2,037
    Aug 3, 2013
    Well thanks :)

    Yeah, I do plan to do a similar analysis with DFD at some point. Like I wrote in the paper, DFD streaming hasn't been a pain point for me with Kontakt so the itch isn't too serious enough to scratch yet, but I'm certainly interested. I do think this will be quite library-dependent, so a proper analysis would require a sufficient number of libraries, which just makes it all the more time consuming.
     
  2. edgar_hsu

    edgar_hsu New Member

    7
    0
    Mar 13, 2015
    Have anyone tested NVME PCIe/SATA3 ssd with Eastwest's Play(especially Hollywood Strings diamond)?
     
  3. Stevie

    Stevie Senior Member

    1,341
    82
    Oct 20, 2007
    Can you elaborate on these icons? Sounds very handy!
    I have all power saving options disabled in the BIOS, because the high performance power scheme still seems to throttle down, which results in bad audio performance. What settings did you use to keep the machine at full speed?
     
  4. shmimptone

    shmimptone New Member

    8
    0
    May 24, 2018
    The DFD analysis, especially if done with a CPU hungry library, would help answer the question of what kind of chip to use in a new build, and whether one should err on the side of faster CPU or more cores. VEP support says that Vienna likes more cores (I asked them...) But sample loading, at least, is CPU bound. Threadripper, for example, is tempting. But I worry that the base clock speed is too low...
     
  5. tack

    tack Damned Dirty Ape

    2,404
    2,037
    Aug 3, 2013
    I basically just set them up like this.

    Like this. :)

    CPU frequency scaling is definitely a killer for audio latency. I'm surprised if you're still observing it in high performance mode because I thought that (i.e. "Minimum processor state" set to 100%) was default. Turning off core parking (as explained in the above link) I'm more dubious about -- I haven't tested its effect directly -- but disabling it fits with the high performance theme so I leave it in.

    How are you determining if the CPUs are throttling down? I use something like HWMonitor.


    And in Kontakt that initial sample loading is single threaded. And decompression isn't a cheap operation. So indeed, from the perspective of a single Kontakt instance, DFD streaming is going to do better with an 8700K compared to a 1950X. But for a project perspective with many Kontakt instances where decompression can be parallelized, the equation starts to shift. All those nuances complicate testing. :)
     
    Last edited: Jun 9, 2018
  6. shmimptone

    shmimptone New Member

    8
    0
    May 24, 2018
    re: use case, I'm looking to have multiple Kontakt instances running in VEP at the same time.

    Kontakt sample loading is single threaded. Kontakt sample streaming, I guess, can use multiple threads if you allow Kontakt to use multiple threads via its preferences. But I'm not sure if that means that each instance is multi-threaded...

    Given these parameters:

    - I've enabled Kontakt to use multiple threads
    - I've loaded multiple instances of Kontakt in VEP and I want lots of them (for some reason!) to play back at once

    ...would Kontakt sample decompression for a given Kontakt instance then be able to be parallelized across multiple cores? Or, does each Kontakt instance stick to only one core at a time while decompressing samples?

    If it's really the latter, then the Threadripper probably is a no go...
     
  7. Stevie

    Stevie Senior Member

    1,341
    82
    Oct 20, 2007
    Ah thanks man! :)
    Yes, it's definitely clocking down to around 1000 MHz for a short moment and then going up to 4000MHz again.
    The minimum processor state doesn't do anything here, apparently. That's why I turned all APM off (C-States). I'm using CPU-Z (same dev as HW monitor).
     
  8. tack

    tack Damned Dirty Ape

    2,404
    2,037
    Aug 3, 2013
    Each instance is multithreaded. It's hard to say exactly what those threads are being used for. Without debug symbols for Kontakt (something NI would never publicly distribute), the best I can do is infer design from very high level thread activity. Or I could try to wade through a disassembly, but ain't nobody got time for that!

    I had a bit of a poke at the DFD case. Looks that unlike with the patch loading scenario I tested previously, with DFD streaming there are two threads doing I/O. This is corroborated by the fact that the disk queue depth pretty much caps at 2 (even when streaming off rust). So a bit of parallelism here. Interestingly, I observe the same thing even when multiprocessor support is disabled.

    I believe voices are being processed across the thread pool. Whether or not sample decompression is as well, it's not clear. But the low disk queue depth during DFD does suggest to me that NVMe would help for the same reasons it did in the initial sample loading case: the poor parallelism means that even run-of-the-mill SSDs would be underutilized, but the very low latency of NVMe will improve overall throughput due to lower round-trip times to compensate for that design limitation.

    Now as to whether or not more cores will help the DFD case more than fewer/faster cores on a single Kontakt instance, my intuition right now is still no, because in the testing I described in that Kontakt Patch Load Performance doc, I didn't see any evidence that sample decompression was multi-threaded.

    On the other hand, in that testing for the patch loading case, I/O was clearly single threaded whereas in the DFD case I'm seeing two threads, so I stand to be wrong here. There's just no substitute for testing the actual thing. :)

    But once you have multiple instances of Kontakt, you get parallelism "for free." So through multiple Kontakt instances you'll be able to squeeze more life out of your flash storage (without needing to resort to the super low latencies of NVMe) and distribute decompression over more cores (even if it actually is single threaded within a single instance).

    All this collapses down to conventional wisdom when it comes to the question of more slower cores vs fewer faster cores: as long as the CPU's single core performance is good enough to run your most demanding single instance (whatever it is), then these days adding cores is the better price-performance ratio.

    The really hard part is knowing whether the 1950X (or whatever you were looking at) truly is fast enough for your single most demanding instrument without actually trying it. :)
     
  9. Sami

    Sami The Undisclosing

    360
    260
    Jul 23, 2017
    Undisclosed

    So lets say one had unlimited funds and wanted to buy a system which could run the entire huge template without slaves; would they go for something like the 1950x or the 7980xe supposing you could run both at the same clockspeed? Also, if we scale down the issue and take a cpu that has less cores than the 18-core skews but can run faster, say the 7940x at 4,7 instead of the 7960xe at 4,2. Who do you suppose will win there? Then there is the question of storage. Will all nvme make a difference here (probably for times, but for the scenario where you want everything on one system so you want to keep dfd buffers low to not fill up more ram)?. Also the question of latency. DAWbench testing puts the intel parts ahead at low latencies which is where we want to write at. And the DAW/VEPro locally? I guess Reaper is more efficient than say Cubase but how about the iMac pro/Hackintosh folks and Logic?

    Thanks for your estimation, this is obviously all hypothetical.
     
  10. shmimptone

    shmimptone New Member

    8
    0
    May 24, 2018
    Also, regarding NVMe drives, wouldn't they actually increase CPU load because they're faster? In your current test report, you say "the lower the disk access latency while reading a block, the busier we will be able to keep the CPU."

    So, the Threadripper might hypothetically be ok if I use SATA drives, and too slow if I use NVMe drives?

    (I'm hoping that I've got something wrong about that...)
     
  11. shmimptone

    shmimptone New Member

    8
    0
    May 24, 2018

Share This Page