High-Performance Distributed Computing


Techniques and technologies for high-performance distributed computing can affect a migration. High performance computing can change the underlying system architecture due to the requirements for computing power and network bandwidth. In addition, the potential distributed nature of high performance computing raises issues with the test and deployment teams , both of which now need to consider multiple computers rather than single computers.

With all the power now available on desktops and servers, the scientific and engineering community looks for a way to maximize the processing power of this commodity hardware and, potentially , the used cycles of these systems.

Two possible approaches are worthy of consideration:

  • High-performance cluster computing refers to a technique where large numbers of the workstations or servers (or a combination of the two) work together to perform jobs that, until recently, only supercomputers could perform.

  • Grid computing refers to using the network to link multiple computers so that tasks can be shared between them. Again, programmers and users can access significant computing power through the use of grid technologies. Furthermore, good use can be made of such CPU cycles, whereas before they would go to waste.

These two approaches are discussed further in the following sections.

Compute Clusters on Windows

High-performance compute clusters can include virtual computing jobs that divide the computing task and distribute that task to available workstations and servers. The individual computing tasks can run independently, or they might need to exchange information between tasks. Tasks that need to communicate and exchange information are often referred to as grid computing , which will be covered in more detail in the next section.

To create a compute cluster, the following types of services are needed:

  • Resource monitoring

  • Distributed job scheduling

  • High-performance, low-latency message passing service

  • Common scripting environment

  • Remote logon and execution

  • Remote file transfer

Tools in the Windows environment available to perform these functions include the following:

  • Interix shell scripts, Perl, and Windows Scripting Host (WSH) can support a common scripting language.

  • Remote Shell (rsh), remote login (rlogin), and Telnet support remote logon and execution.

  • File transfer protocol (FTP) and Remote Copy Protocol (RCP) support remote file transfers.

  • Platform Computing, Inc. offers a Window-based version of Load Sharing Facility (LSF) to support resource monitoring and job scheduling.

  • High-performance message passing is available by using the message passing interface (MPI).

High-performance compute clusters are not unique to Windows. There are implementations on both UNIX and Linux. A migration from UNIX or Linux to Windows might therefore include applications that need to target high-performance compute clusters.

For additional information about compute clusters, see the Cornell Theory Center (CTC) Web site ( http://www.tc.cornell.edu/ ).

Grid Computing

Grid computing is another way to exploit parallelism for computing- intensive problems by using cooperating computers on a network. With grid computing, applications split a task into smaller pieces that are sent to any number of computers. These computers send back answers to the controlling computer for merging into a complete solution.

For example, a corporation might use grid computing at night to take advantage of computers that otherwise run only screen saver programs.

A number of organizations offer screen savers that operate in this manner over the Internet to take advantage of an enormous amount of computing power on idle computers. The effect is to create the world s largest parallel computer. For more information about this, see:

  • Global Grid Forum, http://www.gridforum.org/

  • Grid Computing Info Centre (GRID Infoware), http://www.gridcomputing.com/

With the development of grid computing, a need was recognized for a standard way of communicating among the cooperating computers. Technologies evolved to pass messages between the cooperating computers. Two popular implementations are message passing interface (MPI) and parallel virtual machine (PVM) for both UNIX and Windows. PVM is older and has features that MPI does not, but MPI has become more popular in recent years and is the de facto standard for new projects.

PVM runs on Windows  9x, Windows  NT, Windows  2000, most UNIX implementations, Linux, and a host of other computers, including supercomputers. Because the implementation is the same on all computers, porting from UNIX to Windows is straightforward after getting the distribution.

For more information about PVM and to download the release, see the official PVM site, http://www.csm.ornl.gov/pvm/ .

Two versions of MPI exist for Win32, a shareware version and MPI Pro, a commercial, supported version from MPI Software Technology. Because both of these versions and the UNIX versions implement the same standard API, porting the code is not complicated. Any changes necessary are because of other things that the application does and not because of differences in MPI implementation. These products both use the Win32 subsystem. There is currently no MPI implementation for Interix.

For more information about MPI, see the MPI Software Technology Web site, http://www.mpi-softtech.com/ , and the Message Passing Interface Forum, http://www.mpi-forum.org/ .




UNIX Application Migration Guide
Unix Application Migration Guide (Patterns & Practices)
ISBN: 0735618380
EAN: 2147483647
Year: 2003
Pages: 134

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net