My name is Keith Millette. If you’ve spent time on the xx network Discord channel you may know me as Lord Vetinari. A few weeks ago I joined the xx network team to set up a node lab in South Korea. The node lab will serve as an empirical environment for the xx network teams to test code, software delivery methods, and gather useful metrics. The goals of the lab are to finalize the deployment strategy and to recommend tried and tested hardware to those of you who submitted applications to be node runners. xx network aims to set node runners up for success from the very start.
Much time has passed since the initial specs were published. In the planning stages of the GPU nodes, Benjamin Wenger calculated the BetaNet node requirements and published them in early 2018. The specs suggested an AMD Ryzen 2700x GPU, Nvidia RTX 2070 GPU, 16 GB RAM, ASRock AB350 Pro4 and 1TB of storage which would cost about $1600. After discussing this configuration with the developers of cMix and xxBFT, all agreed that the lab should house nodes built using budget to mid-range components. We aim to determine the minimum requirements and the most cost effective configurations. We intend to prove the xx network is not like other blockchains. Expensive and overpowered nodes are not a requirement.
Here’s a breakdown of the hardware we’ve selected to use in the lab:
I’m using the AMD Ryzen 3700x rather than the 2700x. The disruption to the global supply chain and reduced price made this the best option. I chose to include the Intel i7-9700K processor because they do meet the specs and we want people who have Intel CPUs to be able to use them.
I’m using some ATX and mATX form factor motherboards from multiple manufacturers. I’m using four different chipsets with the AMD CPUs, the A320, B350, B450, and X370. And with the Intel CPUs, the Z370 and B360 chipsets. This allows us to recommend the widest range of motherboards to meet the requirements of the network and also the budget of the node runners.
The GPUs are still limited to the RTX family of Nvidia GPUs due to the fact the Nvida Turing architecture has 32 bit multiplication units in its shaders which massively improve the performance of precomputation. In the lab I chose to use the RTX 2070 from many manufacturers so as to meet the computational requirements and also node runners’ budget. I also selected an RTX 2060 and GTX 1660 ti to test the lower boundary.
As for memory and storage capacity both cMix and the blockchain have different requirements and to determine the appropriate amount we settled on 8-32 GB of RAM using 4 or 8 GB modules. During testing I will be using 512GB Samsung EVO SDDs but we will ultimately recommend each node to use an enterprise level SSD due to write endurance.
In all there will be 10 nodes used for the in-house testing.
In the end, we expect to be able to recommend configurations for an individual node that will cost less than previously projected.
I, and the rest of the xx network team, look forward to working with the community on setting up and deploying the xx network BetaNet. I’ll be detailing what you will and won’t need as far as hardware and network requirements so as to bring BetaNet to fruition.
Also ready and waiting for instruction. Hoping that network requirements go back to 500Mbps as my provider has had to limit things with people streaming so much with the Covid epidemic… or I’m going to have to find a way to colocate a machine whilst locked down!
I think that one way to help and support the network a greater number of people we will have to upgrade the equipment to cheaper ones, make the network safe has to be suitable for all users in need of powerful equipment and very high price
Thanks for joining me here. There’s no concrete date set yet. However, the lab will speed up the in-house testing.
Great! We’re very interested to see how budget cards compare to more expensive cards. We have a feeling most GPUs are created equally when it comes to cMix.
Bandwidth rate is going to be tested but no promises. I didn’t mention it in the post but on my to-do list is to build and document how to get a node into a 1U rack-mount chassis specifically for node runners who decide to co-locate.
One of the upgrades we made as a result of what we learned from AlphaNet was a partial rewrite of how the nodes communicate and we moved to a streaming model which allows for comms and computation to both occur on a batch of data simultaneously. Using the node lab, we will test how this impacts required bandwidth, but I am hopeful it will allow us to reduce the network requirements.
That sounds interesting… it’d certainly be easier in the early days to run the thing from home. The line is dedicated so I’d have the whole 500Mbps… in 3 months or so it should go back up to a gig so if beta can be slower that helps me!
Thanks for the update Keith, glad to see you officially onboard the xx network team. From your great contribution to the Discord channel, I’m confident you’ll do a terrific testing job in the Node Lab.
For the time being the nodes are currently in the cases you see above. That is an actual picture of node01 through node04. I do have 2 other style cases because some of the graphics cards are just enormous.
As far as cooling goes, heat isn’t much of an issue. The nodes don’t need to be workhorses. Despite popular belief multi-GPU mining style rigs are not required.
Hi! Will there be some form of competition between the nodes? A scoring system? Or will you just count uptime? Will a node with a faster hardware and lower latency have any advantages over another node?
You mean p.5:
Unlike other decentralized protocols, in Elixxir,
groups of nodes are unmanipulatably
organized into small ephemeral Teams. Elixxir
teams are temporary and only exist to mix a
single batch of messages. The teams are
formed in an unmaipulatable manner by
Praxxis’ xx consensus. Teams independently
agree to process all messages beforehand,
then mix and decrypt them, delivering the
results to the recipients and payments to Praxxis’ xx consensus. Following
completion, the team disbands and member nodes become available to be placed
on a new random team.