How to Build a Supercomputer
Are you in need of a machine that can deliver hundreds of trillions of floating-point calculations per second? Or are you in need of a bar story about how the supercomputer in your basement flipped a breaker? Building your own High Performance Compute cluster, a.k.a. supercomputer, is a challenge any expert geek with a weekend of free time and some cash to burn can tackle. Technically speaking, a modern, multi-processor supercomputer is a network of computers working together in parallel to solve a problem. This article will briefly describe each step in the process, focusing on hardware and software.
First determine the hardware components and resources needed.You will need one head node, at least a dozen identical compute nodes, an Ethernet switch, a power distribution unit, and a rack. Determine the electrical demand, cooling and space required. Also decide on what IP address you want for your private networks, what to name the nodes, what software packages you want installed, and what technology you want to provide the parallel computing capabilities (more on this later).
- Though the hardware is expensive, all software listed in this how-to is free, and most are open source.
- If you would like to see how fast your supercomputer would theoretically be, use this tool:
Build the compute nodes.You will need to assemble the compute nodes or acquire pre-build servers.
- Choose a computer server chassis that maximizes space, cooling, and energy efficiency.
- Oryou can utilize a dozen or so used, outdated servers - whose whole will outweigh the sum of their parts yet save you a sizable lump of cash. All processors, network adapters, and motherboards should be identical for the whole system to play together nicely. Of course, don't forget about RAM and storage for each node and at least one optical drive for the head node.
Install the servers into the rack.Start from the bottom, so the rack isn't top heavy. You will need a friend to help you with this - the dense servers can be very heavy and guiding them into the rails that hold them into the rack is difficult.
Install the Ethernet switch above the server chassis.Take this moment to configure the switch: allow for jumbo frame sizes of 9000 bytes, set the IP address to the static address you decided on in step 1, and turn off unnecessary routing protocols such as SMTP Snooping.
Install the PDU (Power Distribution Unit).Depending on how much current your nodes may need at maximum load, you may need 220 volts for high performance computing.
With everything installed, you can begin the configuration process.Linux is the de facto OS for HPC clusters–not only is it the ideal environment for scientific computing, but it doesn't cost a thing to install it on hundreds or even thousands of nodes. Imagine how much it would cost to install Windows on all those nodes!
- Begin with installing the latest version of the motherboard BIOS and firmware, which should be the same on all nodes.
- Install your preferred linux distro on each node, with a graphical UI for the head node. Popular choices include CentOS, OpenSuse, Scientific Linux, RedHat, and SLES.
- This author highly recommends using the Rocks Cluster Distribution. In addition to installing all the tools necessary for a compute cluster to function, Rocks uses a great method for 'distributing' many instances of itself to the nodes very quickly using PXE boot and the Red Hat 'Kick Start' procedure.
Install the message-passing interface, resource-manager, and other necessary libraries.If you didn't install Rocks in the previous step, you will have to manually setup the necessary software to enable the parallel computing mechanisms.
Network the compute nodes together.The head node sends the compute tasks to the compute nodes, which in turn must send the result back, as well as sending messages to each other. The faster the better.
- Use a private ethernet network to connect all the nodes in the cluster.
- The head node can also act as a NFS, PXE, DHCP, TFTP, and NTP server over the Ethernet network.
- You must separate this network from public networks, which ensures that broadcast packets don't interfere with other networks in your LAN.
Test the cluster.The last thing you may want to do before releasing all this compute power to your users is test it's performance. The HPL (High Performance Lynpack) benchmark is a popular choice for measuring the computational speed of the cluster. You will need to compile it from source with all possible optimizations your compiler offers for the architecture you chose.
- You must, of course, compile from source with all possible optimization options for your platform. For example, if using AMD CPUs, compile with Open64 with -0fast optimization level.
- Compare your results on TOP500.org to compare your cluster to the fastest 500 supercomputers in the world!
QuestionHow do I connect my laptop to my nodes to install a supercomputer?wikiHow ContributorCommunity AnswerIf you want to use your laptop as the head node of your supercomputer, just connect it to your ethernet switch via a cable (Wi-Fi is much too slow). Make sure you use a Gigabit (T1000) switch and use all cat6 cables. The laptop must, of course, be running the same Linux operating system as the rest of the cluster, and any laptop is likely to be rather underpowered compared to other processors that might be used. Remember, only software specifically written for distributed computers (parallel computing) will see any benefit from such a system.Thanks!
QuestionHow hot can a supercomputer get?wikiHow ContributorCommunity AnswerIt really depends on how the power distribution is set up. Too much power can heat it up much more. Not having a good cooling method can also cause heat. Make sure you have a good power distribution method, even if you have to pay more -- it is better than short circuiting your nodes.Thanks!
QuestionDo all of the nodes have to have the same CPU chipset?wikiHow ContributorCommunity AnswerIt is better that all nodes have the same CPU processing capability. In that way you can easily compute the processing time and also the processing power of the cluster. It also reduces the amount of resources that waste. For example, if there are different CPUs in two nodes, one node may be faster than another. The result is that, in the heavy computing jobs, the faster CPU must wait for the slower one, and this costs extra resources and time.Thanks!
QuestionCan I link inexpensive, low-power Windows 10 desktops together to make a "mini" supercomputer?wikiHow ContributorCommunity AnswerIt is certainly possible to link a number of ordinary PCs together to make a small cluster. However, I do not think that you would be able to do this easily using the existing Windows operating systems as I don't think anyone has really pursued this (probably due to reasons of cost and proprietary issues). You could, however, easily use the same PCs, without affecting the existing O/S either by installing Linux as a "dual boot" system or installing it on multiple USB memory sticks and booting the PCs from them. Linux is really the only choice for doing this as it is the system on which most work has been done in this field, with some versions being specifically designed for clusters.Thanks!
QuestionHow do I calculate the total voltages of a supercomputer?wikiHow ContributorCommunity AnswerYou need a piece of paper unless you can keep all the numbers in your head. Gather the nodes or pre-build servers and look at their power consumption. If you followed the steps correctly, you should have the same nodes or pre-build servers, so the power output is the same. Now, count how many nodes or pre-build servers you have and then multiply the power output by how many nodes you have. Finally, add 9.Thanks!
QuestionWhat software will I need to install on a supercomputer?wikiHow ContributorCommunity AnswerAny software that will work on each individual node.The best software that is free is linux.Thanks!
QuestionCan I use the Ubuntu server edition?wikiHow ContributorCommunity AnswerIt is definitely viable to use Ubuntu. It all depends on personal preference. Theoretically, you could use any Linux distro you want.Thanks!
QuestionWhat can these be used for practically?Top AnswererPretty much everything, just faster and more "accurate" than a typical PC. The ones you hear about are for extremely complex math, networking, and/or hosting.Thanks!
QuestionHow much will it cost?Top AnswererThe price can reach a number nobody would like to see, especially for a high end, scientific engineering computer, but it differs depending on what it will be used for.Thanks!
QuestionWhat can I use as a head node and compute nodes? Where can I buy this?wikiHow ContributorCommunity AnswerYou could try finding one on eBay.Thanks!
Could I play Fortnite on this computer?
How to build a studio computer?
||This is a great example of how commercial-grade computer hardware can be clustered together to build one of the world's fastest supercomputers.|
- For really high network speeds, look into the InfiniBand network interfaces. Be prepared to pay premium prices though.
- IPMI can make administration of a large cluster a breeze by providing KVM-over-IP, remote power cycling, and more.
- Use Ganglia to monitor the computational loads on the nodes.
- Make sure your infrastructure can handle the load.
Upload a picture for other readers to see.
In other languages:
Português: , Italiano: , Русский: , Français: , Español: , Deutsch: , Bahasa Indonesia:
Video: AMD LET ME BUILD THEIR NEW 80 VEGA SUPERCOMPUTER…
If you just dont mesh, do your best to be cordial
How to Come up from a Back Bend
McDonalds is about to roll out a purple sweet potato milkshake
Sepora by OPI Nailed It Nail Polish Set
These Curly Haired Celebrities Helped Me Fall in Love With My Curly Hair Again
Lana Del Rey Long Curly Hairstyles 2013
4 Ways to Two Step
5 Reasons Youre Not Losing Your Baby Weight
Net-a-Porter Adopts a New Fur-Free Policy
12 Chic Neon Street Style Looks to Inspire a BrighterWeekend
How to Clean Moldy Grout
Clever Grooming Hacks For Guys With Small Heads
How to Start Archery
Does This Six-Pack Pregnancy Take It Too Far