OPERATING SYSTEM
Cluster works under RedHat Linux-7.1 with kernel 2.4.21 and openMosix-1. Experimental system of redundancy and renewal of the processes CHPOX (CHeckPointer fOr linuX) developed by the cluster workgroup also operates on the computing system.
Current system information:
Redhat Linux-7.1 distribution,
kernel - 2.4.21,
openMosix - 1,
glibc - 2.2.4.
CHPOX - 0.5-b.
PARALLEL PROGRAMMING INTERFACES
MPI (LAM and MPICH) and PVM are available on the computing cluster.
Installed versions:
LAM/MPI - 6.5.9.
MPICH - 1.2.4.
PVM - 3.4.3.
MAIN MATHEMATICAL LIBRARIES
ATLAS
ATLAS is both a research project and a software package. It's purpose is to provide portably optimal linear algebra software. The current version provides a complete BLAS API (for both C and Fortran77), and a very small subset of the LAPACK API.
SCALAPACK - 1.7
ScaLAPACK is a library of high-performance linear algebra routines for distributed-memory message-passing MIMD computers and networks of workstations supporting PVM and/or MPI. It uses ATLAS library and BLACS communication system.
FFTW - 2.1.3
FFTW is a subroutine library (on the base of LAM/MPI) for computing the Fast Fourier transformation.
PROGRAMMING LANGUAGES
С / С++
gcc/gcc-c++ - 2.96-85
Fortran-77
gcc-g77 - 2.96-85
f2c - 20000510-5 Fortran 77 -C converter
Pascal
p2c - 1.22 Pascal-C converter
AUTOMATIC PARALLELIZATION FACILITIES AND PARALLEL PROGRAMMING LANGUAGES
cilk
cilk - 5.3.1
Cilk is a language for multithreaded parallel programming based on ANSI C. Cilk is designed for general-purpose parallel programming, but it is especially effective for exploiting dynamic, highly asynchronous parallelism, which can be difficult to write in data-parallel or message-passing style.
Adaptor
adaptor - 7.0
ADAPTOR is a Fortran Compilation System that supports the analysis, translation and optimization of Fortran 90 programs with parallel and/or optimization directives. The ADAPTOR system is used as an HPF compiler that generates parallel Fortran programs using parallelism via MPI and/or Pthreads, an OpenMP compiler that generates parallel Fortran programs using PThreads, a Source-to-Source translation system for the optimization of Fortran codes for cache architectures.
mpc
mpC - версия 2.2.0
mpC is a high-level parallel language (an extension of ANSI C), designed specially to develop portable adaptable applications for heterogeneous networks of computers.
bert
bert-lite - версия 1.05
Automatic and efficient program parallelism analyzer for FORTRAN 77.
CLUSTER CONFIGURATION
All nodes of the computing cluster have the identical structure of directories and contain the identical set of software installed into the same directories. Therefore the maximum independence of nodes is provided and the volume of information broadcasted by the network is decreased.
Each user can access to the software opened for general use. Furthermore each user can install in his home directory (as well as in /mnt/work/ directory on each available node) software with access permissions established by the user. All nodes of the computing cluster have the identical structure of the user and group names and IDs.
The main purpose of the /mnt/work/ directories is to provide the work with large files and also to provide high I/O speed. Home directories have less available size. They are mainly used for reservation of important information requiring, for example, backup. Therefore home directories are located on Journaled File System (JFS) that has failure protection mechanism but low I/O speed.
Besides each node's file systems, the user can access to all file systems of all cluster nodes (except /proc and /dev). Such access is possible via MOSIX File System /mfs/ (man mosix) or via Network File System (NFS) /net/. The first method provides less network data transmission rate in comparison with the second one, but for the cases if it is necessary an access to one file from different nodes or if process executing I/O operations can migrate to the file location node, this method is more effective (man mfs, man dfsa).
User can run his own programs on any accessible node. An access to other nodes is provided without password input via rsh protocol. MOSIX system provides the uniform load of processors and uniform distribution of the total memory. The processes dynamically migrate when the load changes. It should note that this activity is clear enough for the user. Since the majority of the processes can migrate (man mosix), in most cases it is necessary to run all the processes of the parallel program on a single node. This helps to avoid crush of the parallel program during the disconnection of any node. To protect a program having one process, the system of redundancy and renewal of the processes CHPOX (CheckPointer fOr linuX) should be used.
Besides constantly functioning nodes it is possible to connect dynamically to the cluster any number of additional nodes. Only if MOSIX system is configured on new nodes their resources (CPU and memory) are used by cluster processes. New nodes of the computing cluster can be diskless and can load via network. Maximum number of nodes is restricted by 65535.