2.7 Linux

supports the complete GNU programming environment including gcc and g++, g77, gdb, gprof, and emacs as well as compiler-compiler tools such as lex, yacc, and bison. It provides the X Windows user interface and window managers. It supports remote access, copying, procedure calls and communication stacks with sockets. Linux provides a complete file system and NFS for distributed files.
Linux is a powerful, flexible, and extensible environment that is as sophisticated and robust as any operating system widely available. It had been difficult to bring it up on a PC node. However, over the last couple of years, this process has been made much easier through a series of tools and distributions. One can even buy hardware with Linux pre-installed. Nonetheless, as with any powerful tool, some effort is required to get full capability and performance.
2.8 Message Passing for Interprocessor Communication
In order to effectively use a Beowulf, an application must contain parallelism. That is, it must be possible to make progress simultaneously on many fronts, so that many processors can pool their efforts and reach a solution more quickly. Ideally, applications would be structured so that as additional processing elements are added, the overall execution time would decrease proportionally. In order to write applications that have this property, a model of parallel computation must be adopted by the programmer. The most widely used model is referred to as message passing, or formerly, communicating sequential processes.
In the message passing model, a process executes on each node of the system. It performs operations primarily on data local to its node, i.e., stored within its memory or sometimes its secondary storage. Frequently, for the process to continue, it requires data from other parts of the computation being performed by other processors. Messages are transmitted containing the required information. Both data passing and synchronization among concurrent processes is accomplished in this manner. Information is not shared between processes or processors except by explicit interaction through messages.
Several message passing interfaces for concurrent programs have been developed. Of these, PVM and MPI are the most widely used. MPI is the product of a broad effort to provide a standardized programming interface and derived much from the earlier PVM. All commercial MPPs support the MPI programming model, providing a set of libraries to enable a common programming framework. The basic set of functions incorporated by MPI provide for an unprecedented degree of portability across platforms. Although it contains over one hundred functions,

 



How to Build a Beowulf
How to Build a Beowulf: A Guide to the Implementation and Application of PC Clusters (Scientific and Engineering Computation)
ISBN: 026269218X
EAN: 2147483647
Year: 1999
Pages: 134

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