Beowulf (computing)
Encyclopedia
A Beowulf cluster is a computer cluster of what are normally identical, commodity-grade computers networked into a small local area network
with libraries and programs installed which allow processing to be shared among them. The result is a high-performance parallel computing
cluster from inexpensive personal computer
hardware.
The name Beowulf originally referred to a specific computer built in 1994 by Thomas Sterling
and Donald Becker
at NASA
. The name comes from the main character in the Old English epic poem Beowulf
, which was bestowed by Sterling because the titular hero is described as having "thirty mens' heft of grasp in the grip of his hand".
There is no particular piece of software that defines a cluster as a Beowulf. Beowulf clusters normally run a Unix-like
operating system, such as BSD
, Linux
, or Solaris, normally built from free and open source software
. Commonly used parallel processing libraries include Message Passing Interface
(MPI) and Parallel Virtual Machine
(PVM). Both of these permit the programmer to divide a task among a group of networked computers, and collect the results of processing. Examples of MPI software include OpenMPI or MPICH
. There are additional MPI implementations available.
Beowulf systems are now deployed worldwide, chiefly in support of scientific computing.
in 1998.
s, and at least one BSD, that are designed for building Beowulf clusters. These include:
A cluster can be set up by using Knoppix bootable CDs in combination with OpenMosix
. The computers will automatically link together, without need for complex configurations, to form a Beowulf cluster using all CPUs and RAM in the cluster. A Beowulf cluster is scalable to a nearly unlimited number of computers, limited only by the overhead of the network.
Provisioning of operating systems and other software for a Beowulf Cluster can be automated using software, Open Source Cluster Application Resources
(OSCAR) for example. OSCAR installs on top of a standard installation of a supported Linux distribution on a cluster's head node.
Local area network
A local area network is a computer network that interconnects computers in a limited area such as a home, school, computer laboratory, or office building...
with libraries and programs installed which allow processing to be shared among them. The result is a high-performance parallel computing
Parallel computing
Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
cluster from inexpensive personal computer
Personal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...
hardware.
The name Beowulf originally referred to a specific computer built in 1994 by Thomas Sterling
Thomas Sterling (computing)
Dr. Thomas Sterling is currently a Professor of Computer Science at Louisiana State University, a Faculty Associate at California Institute of Technology, and a Distinguished Visiting Scientist at Oak Ridge National Laboratory. He received his PhD as a Hertz Fellow from MIT in 1984...
and Donald Becker
Donald Becker
right|thumbnail|Donald Becker is a developer, well-known for writing many of the Ethernet drivers for the Linux operating system. Thousands of computers around the world routinely use his drivers to connect to the Internet....
at NASA
NASA
The National Aeronautics and Space Administration is the agency of the United States government that is responsible for the nation's civilian space program and for aeronautics and aerospace research...
. The name comes from the main character in the Old English epic poem Beowulf
Beowulf
Beowulf , but modern scholars agree in naming it after the hero whose life is its subject." of an Old English heroic epic poem consisting of 3182 alliterative long lines, set in Scandinavia, commonly cited as one of the most important works of Anglo-Saxon literature.It survives in a single...
, which was bestowed by Sterling because the titular hero is described as having "thirty mens' heft of grasp in the grip of his hand".
There is no particular piece of software that defines a cluster as a Beowulf. Beowulf clusters normally run a Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
operating system, such as BSD
Berkeley Software Distribution
Berkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, or Solaris, normally built from free and open source software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...
. Commonly used parallel processing libraries include Message Passing Interface
Message Passing Interface
Message Passing Interface is a standardized and portable message-passing system designed by a group of researchers from academia and industry to function on a wide variety of parallel computers...
(MPI) and Parallel Virtual Machine
Parallel Virtual Machine
The Parallel Virtual Machine is a software tool for parallel networking of computers. It is designed to allow a network of heterogeneous Unix and/or Windows machines to be used as a single distributed parallel processor. Thus large computational problems can be solved more cost effectively by...
(PVM). Both of these permit the programmer to divide a task among a group of networked computers, and collect the results of processing. Examples of MPI software include OpenMPI or MPICH
MPICH
MPICH is a freely available, portable implementation of MPI, a standard for message-passing for distributed-memory applications used in parallel computing...
. There are additional MPI implementations available.
Beowulf systems are now deployed worldwide, chiefly in support of scientific computing.
Development
The following is the definition of a Beowulf cluster from the original "how-to", which was published by Jacek Radajewski and Douglas Eadline under the Linux Documentation ProjectLinux Documentation Project
The Linux Documentation Project is an all-volunteer project that maintains a large collection of GNU and Linux-related documentation and publishes the collection online. It began as a way for hackers to share their documentation with each other and with their users, and for users to share...
in 1998.
Operating systems
Currently there are a number of Linux distributionLinux distribution
A Linux distribution is a member of the family of Unix-like operating systems built on top of the Linux kernel. Such distributions are operating systems including a large collection of software applications such as word processors, spreadsheets, media players, and database applications...
s, and at least one BSD, that are designed for building Beowulf clusters. These include:
- MOSIXMOSIXMOSIX is a distributed operating system. Although early versions were based on older UNIX systems, since 1999 it focuses on Linux clusters and grids...
, geared toward computationally intensive, IO-low, applications - ClusterKnoppixClusterKnoppixClusterKnoppix is a specialized Linux distribution based on the Knoppix distribution, but which uses the openMosix kernel.Traditionally, clustered computing could only be achieved by setting up individual RSH keys, creating NFS shares, editing host files, setting static IPs, and applying kernel...
, based on KnoppixKnoppixKnoppix, or KNOPPIX , is an operating system based on Debian designed to be run directly from a CD / DVD or a USB key , one of the first of its kind for any operating system. Knoppix was developed by Linux consultant Klaus Knopper. When starting a program, it is loaded from the removable medium... - KerrighedKerrighedKerrighed is an open source single-system image cluster software project. The project started in October 1998 at the Paris research group The French National Institute for Research in Computer Science and Control.-Background:...
- Rocks Cluster DistributionRocks Cluster DistributionRocks Cluster Distribution is a Linux distribution intended for high-performance computing clusters. It was started by National Partnership for Advanced Computational Infrastructure and the SDSC in 2000 and was initially funded in part by an NSF grant but is currently funded by the followup NSF...
- Scyld
- DragonFly BSDDragonFly BSDDragonFly BSD is a free Unix-like operating system created as a fork of FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and a FreeBSD developer between 1994 and 2003, began work on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on July...
- QuantianQuantianQuantian OS is a remastering of Knoppix/Debian for computational sciences. The environment is self-configuring and directly bootable CD/DVD that turns any PC or laptop into a Linux workstation...
, a live DVD with scientific applications, based on Knoppix and ClusterKnoppix
A cluster can be set up by using Knoppix bootable CDs in combination with OpenMosix
OpenMosix
openMosix was a free cluster management system that provided single-system image capabilities, e.g. automatic work distribution among nodes. It allowed program processes to migrate to machines in the node's network that would be able to run that process faster...
. The computers will automatically link together, without need for complex configurations, to form a Beowulf cluster using all CPUs and RAM in the cluster. A Beowulf cluster is scalable to a nearly unlimited number of computers, limited only by the overhead of the network.
Provisioning of operating systems and other software for a Beowulf Cluster can be automated using software, Open Source Cluster Application Resources
Open Source Cluster Application Resources
Open Source Cluster Application Resources is a Linux-based software installation for high-performance cluster computing.OSCAR allows users to install a Beowulf type high performance computing cluster. Beowulf Clusters are scalable performance clusters based on commodity hardware, on a private...
(OSCAR) for example. OSCAR installs on top of a standard installation of a supported Linux distribution on a cluster's head node.
See also
- Alewife (multiprocessor)Alewife (multiprocessor)Alewife was a cache coherent multiprocessor developed in the early 1990s by a group led by Anant Agarwal at the Massachusetts Institute of Technology...
- Grid computingGrid computingGrid computing is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files...
- Kentucky Linux Athlon TestbedKentucky Linux Athlon TestbedThe Kentucky Linux Athlon Testbed is a 64+2 node Beowulf cluster built by the University of Kentucky College of Engineering in 2000. The cluster used entirely off the shelf components. It is capable of over 64 GFLOPS using ScaLAPACK, and approximately 22.8 GFLOPS using the standard...
- Platform LSF
- Portable Batch SystemPortable Batch SystemPortable Batch System is the name of computer software that performs job scheduling. Its primary task is to allocate computational tasks, i.e., batch jobs, among the available computing resources...
- SLURMSlurmSlurm commonly refers to:* Slurm, fictional soft drink in the Futurama universe.* Simple Linux Utility for Resource Management...
- Stone SoupercomputerStone SoupercomputerThe Stone Soupercomputer was a Beowulf-style computer cluster built at the US Oak Ridge National Laboratory in the late 1990s.-History:A group of lab employees including William W. Hargrove and Forrest M. Hoffman had applied for a grant to build a cluster in 1996, but it was rejected.Software was...
- Sun Grid EngineSun Grid EngineOracle Grid Engine, previously known as Sun Grid Engine , previously known as CODINE or GRD , is an open source batch-queuing system, developed and supported by Sun Microsystems...