Cluster Newbie

Don't know a thing about clusters. Not to worry. Prodigious cluster scrivener Robert Brown is here to present the basics in a clear and concise set of introductory columns (and then some). Welcome to High-tech hardball.

Cluster Networking: TCP/IP Over Ethernet

Packets 'n' Protocols: Dark Secrets of Datagrams

Networks are critical components of parallel cluster supercomputers. While really advanced clusters (and big iron parallel supercomputers) use high performance dedicated function networks to connect processors and their associated memory, Beowulf-style cluster computers got their start with TCP/IP over humble Ethernet, and even today there are likely well over ten clusters running inexpensive TCP/IP over Ethernet to one cluster that uses a dedicated and expensive high end network.

Read more: Cluster Networking: TCP/IP Over Ethernet

The Network Is The Glue

Know the network, know the cluster.

In previous columns we looked briefly at compute node hardware for use in clusters and learned some basic cluster design principles. The most important of these was to focus on the problem at hand – getting the most work done for the least amount of money, effort, and time invested. This analysis means being able to resist the natural inclination to buy nodes with the highest possible clock speed to the exclusion of all else (unless you know for a fact that clock speed is the only important rate determining factor for your cluster and that the highest clock nodes buy you the most clock cycles per second, in aggregate, for your money, which is almost never true). We learned that there were actually quite a few very broad systems descriptors – CPU architecture, clock, memory architecture, disk, the network – any one of which might turn out to be "the" rate limiting resource that bottlenecks your application and determines the amount of work you get done for a given dollar investment.

Read more: The Network Is The Glue

Serious Cluster Design and Prototyping

Basic and (advanced) wisdom for those that venture down the cluster hardware path

Last time we started to review just how to go about building a serious cluster computer, beginning with a fairly complete discussion of the space, power, and cooling requirements for a cluster. If you read that column, you will recall that a lot of design decisions for the cluster's future space depend (unsurprisingly) on the kind of hardware you plan to put into it. Shelved tower units, rack mount single, dual, and even quad processor systems, and bladed computers all require very different amounts of physical space, electrical power per square foot of floor space, cooling per cubic foot of room volume.

Read more: Serious Cluster Design and Prototyping

Getting Serious: Cluster Infrastructure

Building Serious Clusters or Your Cluster Needs a Happy Home

Remember these words; location, location, location. Clusters need space, power, cooling, and network access. So far, this column has focused on getting you started on cluster computing, where by "started" I mean started at the very beginning with the basic ideas of parallel computing. If you've been reading along, you'll recall that we began by describing the very simplest of cluster designs, the "I already have a Network Of Workstations, presto-change-o and it's a NOW cluster" design. We then put this simple cluster to work with a threaded Perl task distribution script, learned about Amdahl's Law, and most recently how learned to write a "real" parallel application using PVM.

Read more: Getting Serious: Cluster Infrastructure

Serious Parallel Computing 3: A Real PVM Program

A very simple parallel application to get started with PVM

In the last two columns we learned a bit of the history of PVM (Parallel Virtual Machine), how to set up ssh as a remote shell that can be used by PVM to initiate remote PVM daemons within a cluster, and how to install and start up a "virtual machine" with PVM or its graphical front end, XPVM. We have done everything, in fact, but run an actual PVM task.

That's the the topic of this column. Today we will start with a very simple PVM job template, one that functionally duplicates our very first example based on perl (with threads) and ssh distributing a simple binary and using the shell itself to manage communications.

Before starting, whether or not you read the previous columns be sure that you have PVM installed on a large or small cluster and have ssh or rsh configured correctly so that PVM can be started from either the PVM console or the PVM GUI.

Read more: Serious Parallel Computing 3: A Real PVM Program

Search

Feedburner

Login Form

Share The Bananas


Creative Commons License
©2005-2012 Copyright Seagrove LLC, Some rights reserved. Except where otherwise noted, this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. The Cluster Monkey Logo and Monkey Character are Trademarks of Seagrove LLC.