Find out latest experiments and advancement on the Edge Cluster project
Running at lower clock speed
- Antoine Dubourg
CPU Boost or the marketing strike
The race for the fastest CPU isn't new. It started almost the day the first CPU went live. We all want faster processing!
To achieve faster speed, the usual trick is getting a higher clocking of the circuitry. That's the 'easy' way to pump out more processing
from a CPU.
Still, this usually comes at a cost: power consumption.
To make the transistors flip faster, you usually need to drive them stronger. And if you drive them stronger, you make them hotter.
When you should avoid CPU Boost?
If you are planning to run intensive and hour long workload with all CPU cores at full load, you should really disable the CPU Boost feature.
I did extensive benchmark between non boosted CPU versus boosted CPU for all core workload and the verdict is that the increased consumed power, which as
a reminder translate to heat, isn't really interesting to grab. For example AMD Ryzen 8840U in boost mode will clock at 4000Mhz with all core running
at 100%. This is only 700MHz above the base clock of 3300MHz. But on the TDP metric (ie: how much watt), it goes from 27W to 45W...
That is, 18W are necessary to grab 700MHz of additionnal clocking. This is a huge power consumption increase for a somewhat marginal gain.
If we do the ratio between base clocking and boost clocking: 122Mhz/Watt for base clocking, 89Mhz/Watt for boost clocking.
Is it worthy? Not from my point of view. Better run cool!
When you should use CPU Boost?
If the intented usage is peak performance with single core, using the CPU Boost mode of the CPU make sense. That is, this make sense only
if you do not run all the cores at 100%... The boost mode will push the clocking of the core well beyond 4GHz for a short time and it will settle back
to some 'safe' frequency if the workload lasts a bit.
That's the marketing strike. To win the race, the boost mode allows peak performance for a (very) short time and once the thermal catch up, the frequency is simply lowered to avoid destruction...
What's the consequences for Edge Cluster?
Technically, the enclosure has been designed for supporting boost mode. Tests have been carried to asses the thermal behaviour under extreme load and boost enabled.
All the internal fans run at 100%, full throttle to cool 'around' the boards. It can be somewhat noisy. Small enclosure usually do not play well with cooling but this additional cooling proven useful: no thermal throttling, all cores kept running at 4000Mhz.
Tests also have been carried without the additional cooling capacity. The boards would then meet the thermal throttling fate after some minutes of processing with the frequency oscillating between 3300Mhz and 4000Mhz...
As a conclusion, the idea behind the Edge Cluster micro server is to have a high number of cores in a small enclosure. Boost mode is technically interesting for discrete single threaded workload, read high peak usage spaced in time making use of a single core.
This is antinomic to the Edge Cluster micro server: 32 cores/64 threads designed for multi threaded workloads. Sure, it can be used for single thread workloads but that would be somewhat wasteful.
Power consumption
- Antoine Dubourg
How many Watt in a network cabinet?
The target location for installing an Edge Cluster micro server is inside 19" network cabinet commonly found in almost every office building.
Those network cabinet usually lacks any meaningful active cooling capacity, that is, you cannot install devices consuming too much power inside.
A typical 9U or 12U network cabinet is rated from 200W to 400W with passive cooling.
That's quite a small power envelope that can be quite easily reached with a handful of devices.
By installing additional fans, the power envelope can raise up to 800W with 200CFM air flow.
This adds quite some headroom to what can be installed inside the cabinet.
But nobody want to install fans inside a network cabinet unless there is no other mean to achieve a decent mean temperature inside.
Measuring power consumption of the Edge Cluster
To estimate the power consumption of any device, the only real way to do it precisely is to simply meter the actual power draw on the wall outlet.
By metering at this location, you include every components consuming power: drive, memory, cpu, ethernet adapter, power supply...
And as most should know, Watt = heat.
This measure has to be made when running the computer with intensive workload that stimulate everything: memory, drive, network, cpu to reach
the highest device power consumption.
To put the Edge Cluster in a situation of high load, a Proxmox cluster has been installed on the 4 nodes and a virtual machine has been created on each
node to run Flamenco, the official Blender render farm tool.
A Flamenco manager VM has also been created on the first cluster node to drive the Flamenco workers.
As a computing task, the BMW27 demo file has
been used as a reference. There is numerous forum threads where users share their result which can be handy to compare the Edge Cluster
computing power. More on that later!
The Flamenco manager has been tasked to render one thousand frames of this demo file with all resulting image stored to some network storage.
Edge Cluster power consumption
140W
When all 4 nodes are running their CPU at 100% load, the maximum power consumption at the wall outlet was 140W which equates to 35W per node. This consumption were measured with 16GB RAM and a single NVMe drive per node.
The test has been made with CPU Boost disabled from the BIOS. This Boost mode is totally pointless from an efficiency point of view. Some preliminary tests have been made to asses the worthiness of the Boost mode.
When Boost is disabled, the maximum CPU frequency is 3300MHz when all cores are running. With Boost enabled, the steady core frequency that can be achieved raises to 4000MHz, a 700MHz increase in frequency. But the
power cost to gain those 700Mhz of additional processing capacity comes by a quite important CPU power consumption raise. The TDP of the CPU raised from 27W at 3300MHz to 45W at 4000MHz, that's 18W for 700Mhz. I let you choose if that
extra power consumption is worthy or not!
By default, the Edge Cluster will be delivered with Boost disabled. The additional cooling capacity installed inside the Edge Cluster allows running the four node at full pace with Boost enabled. This additional cooling is enough
to cancel CPU thermal throttling.
And how well (or bad!) did the Flamenco benchmark?
Edge Cluster runs cool enough to be safely installed in a network cabinet. That's a good start.
But how well it managed the Blender test scene rendering? Being cool is nice, but can it do any meaningful work at the same time?
The mean render time per frame was measured at 168s which is a pretty common result. But the most important is not how fast, it is how efficient
the computation has been made. Is the Edge Cluster green?
From first principle, lets use Joule as a metric. One of its definition is W.s or Watt per second. For computing a single image, that's 168 second multiplied
by 35W or 5880J or 0.00163333KWh.
Edge Cluster featuring 8840U CPU is a four nodes computer. This make the rendering of a single frame, if we average the distributed rendering to 42s per image for 140W total consumption.
Edge Cluster versus AMD EPYC 9354
The AMD EPYC 9354 is a 32 cores/64 threads CPU. It has the same amount of CPU core if we sum up the 4 Edge Cluster AMD Ryzen 8840U nodes. Both run about at the same clock speed of 3300Mhz.
Advertised TDP down (non Boost!) of the AMD EPYC 9354 is 240W, if we add up additional power consumption (ram, drives, network, power supply etc...),
the total power envelope of a comparably sized system (with respect to CPU core count) is around 300W.
As there is no raw benchmark data available for the BMW27 render scene, we will just use the raw data from Blender Benchmarking
to compare both systems.
System
Watt
Score
Watt/Score
Edge Cluster 8840U x4
140W
680 (170 x 4)
0.206
EPYC 9354
300W (estimated)
843
0.355
Edge Cluster is about 1.75x more energy efficient than the EPYC 9354 for such workload. Also, it is almost impossible to install such CPU inside
a 19" 1U enclosure with 255mm depth.
Is the Edge Cluster green?
Yes. Greener than most server.
If your constraints are:
Low power consumption
Decent processing capacity
Workload can be distributed
Tight installation space
Need to be run at the edge of the network
The Edge Cluster micro server is probably a weapon of choice.
USB4NET - Building a fast link between boards
- Antoine Dubourg
USB4, the ludicrous speed
Edge Cluster micro server will feature a private network making use of the USB4 ports available on the ASRock 4x4 8840U or ASRock 4x4 AI350. USB4NET encapsulate TCP/IP traffic inside USB4 frames.
Some benchmarks on the internet showed that you can reach from 11 to 26Gbps link speed over USB4.
This private network running above 10Gpbs speed can be useful with Proxmox for example:
shuffling VM files between nodes without impairing front facing 2.5GbE/1GbE ports can be really handy.
Still, this feature comes with some limits which rings back to the 80s with 10Base5 Ethernet over coaxial cable.
Boards are daisy chained, each one having two links pointing to its siblings:
Host A <-> Host B
Host B <-> Host C
Host C <-> Host D
Host D <-> Host A
Each host can communicate directly with two siblings and 1 hop for the remaining host. And for the network to fully work, all hosts need to be up and running!
Routing tables on each host must be setuped to allow communication. An article will be written on the subject at a later time.
USB4NET custom PCB
Bridging boards could have been done with ordinary USB4 80Gbps cable but the Edge Cluster enclosure is somewhat tightely packed.
Ordinary cable wouldn't have fit inside without extensive rework of the enclosure.
Thus, custom PCBs have been specifically designed to be installed right at the back of the ASRock 8840U USB-C ports.
Boards will be linked together with 4 pairs of TwinAx 90 Ohm wire. Those cables are designed to carry high frequency signal and preserve their integrity.
The maximum distance is between host A and D with about 33cm of travel which is well below the maximum allowed distance of 80cm.
Preview render in KiCAD 9.0 of the PCB that will bridge hosts togheter.
Edge Cluster USB4NET - A cost saving feature
10GbE network can be extremely expansive in our current application case. We first need a solution to
add 10GbE ports which can be solved with M.2 NGFF 10GbE adapter. This option isn't cheap at all.
Connecting the four boards with 10GbE network adapter would cost about 1500€.
Still, it is not exactly the same league on every aspect:
Pro
10GbE Switch allows direct access between boards
No routing configuration needed between hosts
Con
Expansive
Additionnal power consumption (ie: each M.2 boards + 5 ports switch)
One more layer of cable management
USB4NET, a real feature or a gadget?
It all depends on the intented usage of the Edge Cluster micro server. Still, if anything involves shuffling large amount of data
between hosts without impairing the front facing Ethernet ports, the Edge Cluster USB4NET feature can seriously help here.
Interested? Want to know more?
Drop your email in the form below. We will get back to you as soon as possible.