Sei sulla pagina 1di 3

A Beowulf cluster is a computer capable of running a Unix-like operating

cluster of what are normally identical, system, with standard Ethernet


commodity-grade computers networked adapters,
into a small local area network with Difference between beowulf cluster and
libraries and programs installed which cluster of workstations (cow)
allow processing to be shared among One of the main differences between
them. Beowulf and a Cluster of
The result is a high-performance parallel Workstations (COW) is that Beowulf
computing cluster from behaves more like a single machine
inexpensive personal rather than many workstations. In most
computer hardware. cases client nodes do not have
Cluster means ,a group of similar keyboards or monitors, and are accessed
objects growing closely together. only via remote login or possibly serial
The name Beowulf originally referred to terminal.
a specific computer built in 1994 Beowulf nodes can be thought of as a
by Thomas Sterling and Donald CPU + memory package which can be
Becker at NASA. plugged into the cluster, just like a CPU
The name "Beowulf" comes from the or memory module can be plugged into
main character in the Old English epic a motherboard.
poem Beowulf. Overview of Beowulf
The Borg, a 52-node Beowulf cluster Beowulf is not a special software
package, new network topology, or the
latest kernel hack.
Beowulf is a technology of clustering
computers to form a parallel, virtual
supercomputer.
Although there are many software
packages such as kernel modifications,
PVM and MPI libraries, and
configuration tools which make the
Beowulf architecture faster, easier to
configure, and much more usable.
one can build a Beowulf class machine
using a standard Linux distribution
without any additional software.
If you have two networked computers
which share at least the /home file
system , and trust each other to execute
remote shells (rsh),
Structure
Development of Beowulf cluster
Beowulf is a multi-
computer architecture which can be used
for parallel computations.
Beowulf is a multi-
computer architecture which can be used
for parallel computations.
It is a system built using commodity
hardware components, like any PC
has, since the mid-1990s, largely been supplanted
by the much more successful MPI standard for
Cluster layout: message passing on parallel machines. PVM is free
software, released under both the BSD License and
the GNU General Public License.

PVM is a software system that enables a collection


of heterogeneous computers to be used as a
coherent and flexible concurrent computational
resource, or a "parallel virtual machine".

The individual computers may be shared- or local-


memory multiprocessors, vector supercomputers,
specialized graphics engines,
or scalar workstations and PCs, that may be
interconnected by a variety of networks, such
Parallel Virtual Machine (PVM) is as Ethernet or FDDI.
a software tool for parallel networking
of computers. It is designed to allow a network of PVM consists of a run-time environment and
heterogeneous Unix and/or Windows machines to library for message-passing, task and resource
be used as a single distributed parallel processor. management, and fault notification. While PVM
Thus large computational problems can be solved will not automatically make a commercial software
more cost effectively by using the aggregate power package run faster, it does provide a powerful set
and memory of many computers. The software is of functions for manually parallelizing an existing
very portable; the source code, available free source program, or for writing new
through netlib, has been compiled on everything parallel/distributed programs.
from laptops to Crays.[2]
The PVM software must be specifically installed
PVM enables users to exploit their existing on every machine that is to be used in a given
computer hardware to solve much larger problems "virtual machine". There is no "automatic"
at less additional cost. PVM has been used as an installation of executables onto remote machines in
educational tool to teach parallel programming but PVM, although simply copying
has also been used to solve important practical the pvm3/lib and pvm3/bin directories to
problems.[2] It was developed by the University of another similar machine (and
Tennessee, Oak Ridge National
setting $PVM_ROOT and $PVM_ARCH ) is
Laboratory and Emory University. The first
sufficient for running PVM
version was written at ORNL in 1989, and after
programs. Compiling or building PVM programs
being rewritten by University of Tennessee,
requires the full PVM installation.
version 2 was released in March 1991. Version 3
was released in March 1993, and supported fault
User programs written in C, C++, or Fortran can
tolerance and better portability.
access PVM through provided library routines.
PVM was a step towards modern trends
PVM also supports broadcasting (PVM_bcast)
in distributed processing and grid computing but
which sends to all processes in a group
and multicasting (PVM_mcast) which sends to a MPI library functions include, but are not limited
specific list of processes. to, point-to-point rendezvous-type send/receive
operations, choosing between a Cartesian or graph-
like logical process topology, exchanging data
between process pairs (send/receive operations),
Message Passing Interface (MPI) is a combining partial results of computations (gather
standardized and portable message-passing system and reduce operations), synchronizing nodes
designed by a group of researchers from academia (barrier operation) as well as obtaining network-
and industry to function on a wide variety related information such as the number of
of parallel computing architectures. The standard processes in the computing session, current
defines the syntax and semantics of a core of processor identity that a process is mapped to,
library routines useful to a wide range of users neighboring processes accessible in a logical
writing portable message-passing programs topology, and so on. Point-to-point operations
in C, C++, and Fortran. There are several well- come in synchronous, asynchronous, buffered,
tested and efficient implementations of MPI, many and ready forms, to allow both relatively stronger
of which are open-source or in the public domain. and weaker semantics for the synchronization
These fostered the development of a parallel aspects of a rendezvous-send. Many
software industry, and encouraged development of outstanding[clarification needed] operations are possible in
portable and scalable large-scale parallel asynchronous mode, in most implementations.
applications.
MPI-1 and MPI-2 both enable implementations
that overlap communication and computation, but
practice and theory differ. MPI also
The MPI interface is meant to provide essential specifies thread safe interfaces, which
virtual topology, synchronization, and have cohesion and coupling strategies that help
communication functionality between a set of avoid hidden state within the interface. It is
processes (that have been mapped to relatively easy to write multithreaded point-to-
nodes/servers/computer instances) in a language- point MPI code, and some implementations
independent way, with language-specific syntax support such code. Multithreaded collective
(bindings), plus a few language-specific features. communication is best accomplished with multiple
MPI programs always work with processes, but copies of Communicators,
programmers commonly refer to the processes as
processors. Typically, for maximum performance,
each CPU (or core in a multi-core machine) will be
assigned just a single process. This assignment
happens at runtime through the agent that starts the
MPI program, normally called mpirun or mpiexec.

Potrebbero piacerti anche