If you are already at least a little familiar with what’s inside the computer on your desk, and with the fact that a network connects it to other computers (and the Internet) and its the software that makes the computer do things, then the concepts of cluster or high performance computing will already be somewhat familiar to you. All the basics are still there: processors, disk, memory, and so on. The primary difference is one of scale: there’s more of everything in a cluster.
Just as with the computer on your desk, the processor is the brain of a cluster. Unlike most of the other computers you’re likely to deal with on a routine basis, however, clusters have more than just one or two processors. In fact, they’re likely to have dozens or, in the case of those giant computers the federal government uses, tens of thousands.
When people talk about the size of an HPC cluster they are usually referring to how many processors, or how many cores, it has. Of course you know what a processor is already; if you aren’t familiar with the term core, you may want to read What’s a cluster?.
A cluster for your business is likely to have only a few dozen cores, but it could have up to a couple hundred depending upon your requirements.
Each processor needs memory associated with it to provide a place for the processor to do its work. You are probably familiar with term RAM, and you may know how much RAM your laptop or desktop has (probably 1 or 2 GB).
The amount of memory you’ll need for your cluster is strongly driven by the requirements of your application, and this is one of the areas in which benchmarking really pays off. After you have installed your cluster and find that you are starting to outgrow its capabilities (for example, it starts to be a little slower than you’d like as the size of your problems grows), you may be able to get a little more useful life out of it by simply increasing the amount of RAM in your system.
Requirements will vary strongly with the application, but a reasonable starting place as you are thinking about building your own cluster is 1 GB of RAM per core (not processor) in your cluster.
The RAM in your cluster provides the temporary workspace for processors to do their work; when they are finished with a computation, though, they’ll need a place to write out the answer permanently. This place is the hard disks, controlled by the file system on your cluster.
File system architecture can be complex, and its best to look to the advice of your cluster provider here. Some of the factors that will influence the kind of file system you need are how many processors are in your cluster and how those processors will need to access files (do they all have to read one file at the same time, or will they be writing thousands of files all at once?). How many disks you’ll need depends again upon your application and problems you’ll be solving.
Read on to find out about the computer networks that enable all of these parts to work together » Working together: communications networks