Feeding the Beast

When frequency was all that mattered for CPUs, the main problem became efficiency, thermal performance, and yields: the higher the frequency was pushed, the more voltage needed, the further outside the peak efficiency window the CPU was, and the more power it consumed per unit work. For the CPU that was to sit at the top of the product stack as the performance halo part, it didn’t particularly matter – until the chip hit 90C+ on a regular basis.

Now with the Core Wars, the challenges are different. When there was only one core, making data available to that core through caches and DRAM was a relatively easy task. With 6, 8, 10, 12 and 16 cores, a major bottleneck suddenly becomes the ability to make sure each core has enough data to work continuously, rather than waiting at idle for data to get through. This is not an easy task: each processor now needs a fast way of communicating to each other core, and to the main memory. This is known within the industry as feeding the beast.

Top Trumps: 60 PCIe Lanes vs 44 PCIe lanes

After playing the underdog for so long, AMD has been pushing the specifications of its new processors as one of the big selling points (among others). Whereas Ryzen 7 only had 16 PCIe lanes, competing in part against CPUs from Intel that had 28/44 PCIe lanes, Threadripper will have access to 60 lanes for PCIe add-in cards. In some places this might be referred to as 64 lanes, however four of those lanes are reserved for the X399 chipset. At $799 and $999, this competes against the 44 PCIe lanes on Intel’s Core i9-7900X at $999.

The goal of having so many PCIe lanes is to support the sort of market these processors are addressing: high-performance prosumers. These are users that run multiple GPUs, multiple PCIe storage devices, need high-end networking, high-end storage, and as many other features as you can fit through PCIe. The end result is that we are likely to see motherboards earmark 32 or 48 of these lanes for PCIe slots (x16/x16, x8/x8/x8/x8, x16/x16/x16, x16/x8/x16/x8), followed by a two or three for PCIe 3.0 x4 storage via U.2 drives or M.2 drives, then faster Ethernet (5 Gbit, 10 Gbit). AMD allows each of the PCIe root complexes on the CPU, which are x16 each, to be bifurcated down to x1 as needed, for a maximum of 7 devices. The 4 PCIe lanes going to the chipset will also support several PCIe 3.0 and PCIe 2.0 lanes for SATA or USB controllers.

Intel’s strategy is different, allowing 44 lanes into x16/x16/x8 (40 lanes) or x16/x8/x16/x8 (40 lanes) or x16/x16 to x8/x8/x8x8 (32 lanes) with 4-12 lanes left over for PCIe storage or faster Ethernet controllers or Thunderbolt 3. The Skylake-X chipset then has an additional 24 PCIe lanes for SATA controllers, gigabit Ethernet controllers, SATA controllers and USB controllers.

Top Trumps: DRAM and ECC

One of Intel’s common product segmentations is that if a customer wants a high core count processor with ECC memory, they have to buy a Xeon. Typically Xeons will support a fixed memory speed depending on the number of channels populated (1 DIMM per channel at DDR4-2666, 2 DIMMs per channel at DDR4-2400), as well as ECC and RDIMM technologies. However, the consumer HEDT platforms for Broadwell-E and Skylake-X will not support these and use UDIMM Non-ECC only.

AMD is supporting ECC on their Threadripper processors, giving customers sixteen cores with ECC. However, these have to be UDIMMs only, but do support DRAM overclocking in order to boost the speed of the internal Infinity Fabric. AMD has officially stated that the Threadripper CPUs can support up to 1 TB of DRAM, although on close inspection it requires 128GB UDIMMs, which max out at 16GB currently. Intel currently lists a 128GB limit for Skylake-X, based on 16GB UDIMMs.

Both processors run quad-channel memory at DDR4-2666 (1DPC) and DDR4-2400 (2DPC).

Top Trumps: Cache

Both AMD and Intel use private L2 caches for each core, then have a victim L3 cache before leading to main memory. A victim cache is a cache that obtains data when it is evicted from the cache underneath it, and cannot pre-fetch data. But the size of those caches and how AMD/Intel has the cores interact with them is different.

AMD uses 512 KB of L2 cache per core, leading to an 8 MB of L3 victim cache per core complex of four cores. In a 16-core Threadripper, there are four core complexes, leading to a total of 32 MB of L3 cache, however each core can only access the data found in its local L3. In order to access the L3 of a different complex, this requires additional time and snooping. As a result there can be different latencies based on where the data is in other L3 caches compared to a local cache.

Intel’s Skylake-X uses 1MB of L2 cache per core, leading to a higher hit-rate in the L2, and uses 1.375MB of L3 victim cache per core. This L3 cache has associated tags and the mesh topology used to communicate between the cores means that like AMD there is still time and latency associated with snooping other caches, however the latency is somewhat homogenized by the design. Nonetheless, this is different to the Broadwell-E cache structure, that had 256 KB of L2 and 2.5 MB of L3 per core, both inclusive caches.

The AMD Ryzen Threadripper 1950X and 1920X Review Silicon, Glue, & NUMA Too
Comments Locked

347 Comments

View All Comments

  • Pekish79 - Friday, August 11, 2017 - link

    Vraybench 1.0.5
  • SanX - Friday, August 11, 2017 - link

    *** AMD, make 2-chip mobos for upcoming multicore wars, you will double your profit from this at no cost for you +++
  • vicbee - Friday, August 11, 2017 - link

    Off subject: Having just read the article about nVidia's meteoric rise in profits, some of which directly attributed to high end "gamers" video cards purchased expressly for coin mining, I wonder if it and AMD are going to manufacture CPU's and GPU's specifically for that purpose and how that will affect the price of said parts...
  • Avro Arrow - Friday, August 11, 2017 - link

    Hi Ian, thanks for doing this article. It's important to see all possible outcomes because in the real world, anything is possible. I do have one question that has be puzzled. Why do you say that Threadripper only has 64 PCI-Express 3.0 lanes when it's been reported several times by everyone, including official AMD releases (and also including by you) that it has 64? I thought it might be just a typo but you state it in several places and in all of your specs. This is not a new thing so is there something about Threadripper that we don't know?
  • HotJob - Friday, August 11, 2017 - link

    Could someone explain to me what a "2P" system is from the competition section of the article?
  • coolhardware - Saturday, August 12, 2017 - link

    "2P" system = two processor system, i.e. a system with two physical CPU sockets and two CPUs installed.

    In the past a 2P (or 4P) system was really handy to get more cores especially back when 1 core, 2 core, and eventually 4 core CPUs were high end. In the consumer realm, way back, the Pentium II was the first 2P system I ever built and people even did it with Celerons as well:
    http://www.cpu-central.com/dualceleron/
    the Opterons were also fun for dual or quad processor systems including some SFF options like the ZMAX-DP socket 940 system.
    https://www.newegg.com/Product/Product.aspx?Item=N...

    Now fast forward with ThreadRipper already available at Amazon and NewEgg
    http://amzn.to/2wDqgWw (URL shortened)
    https://www.newegg.com/Product/Product.aspx?Item=N...
    I do not think I will ever be building a 2P or 4P system again!!!

    :-)
  • rvborgh - Friday, August 11, 2017 - link

    hi Ian,

    i think the Cinebench 11.5 benchmarks are incorrect for both ThreadRippers. ThreadRipper is almost equivalent to my Quad Opteron (48 core) system which scores 3229cb on R15... and 39.04 on Cinebench 11.5. if i downclock all cores to approximately 2.9 GHz i end up with around 3000cb in R15 and in the 36 range point range for 11.5.

    The fact that you are only scoring in the 18 range makes me wonder if you had the Threadripper set in some mode where it was only using 8 out of the 16 cores. Can you verify this... please? Thanks :) i would think you should see scores in the 36 range with 11.5.

    Other than this minor detail... great article.

    PS: i've had the same issues with software not liking NUMA on my quad opteron system as well... Cinebench especially does not like it.
  • Tchamber - Saturday, August 12, 2017 - link

    Hi, Ian. Thanks for the review. As usual it was in depth and informative. I'm in the middle of building a 1700x system now based on your review. I wanted to say you handle all the nay-Sayers, gloomy Gusses and negative Nacies with aplomb! I think most people's own slant colors how they see your reviews. I appreciate the consistency of what you do here. I took a look over at Ars, and they could be called AMD shills for all the positive things they say... Keep it up!
  • Tchamber - Saturday, August 12, 2017 - link

    P.S.
    I loved your Kessel Run reference, it tied in nicely with your Yoda quote.
  • B3an - Saturday, August 12, 2017 - link

    Too many plebs complaining about a lack of 3D rendering benches. The fact is a 16 core CPU is still much slower than GPU's at rendering. I'll be getting a 1950X but it wont even be used for rendering when i know for a fact that my two GPUs will still be much faster with things like Blender. Even a single high-end GPU will still easily beat the 1950X at these tasks.

    Seems like immature moron fanboys are crying over this stuff because they just want to see AMD at the top of the charts.

Log in

Don't have an account? Sign up now