CP-PACS Software
The CP-PACS computer runs under the UNIX OSF/1 operating system. Each node processor, however, carries only a micro kernel based on Mach 3.0 in order to save memory for user application programs and to avoid performance degradation. The kernel handles memory control, inter-node communication, process scheduling, interrupt handling and I/O. The full UNIX interface and file server functions are implemented onthe IOU's. On of the IOU, named the SIOU, controls the whole system through the network.
The operating system has several new functions added for parallel processing; software partitioning of the processor array so that independent programs may be run on different partitions, and the generation of processes over a user-specified number of nodes to execute a parallel program.
The file system is logically structured to form a single tree for the entire CP-PACS computer. The file sets required to execute a single job can be distributed over the disks connected to the parallel IOU's so as to reduce I/O overheads. The logical and physical mapping of the file system is automatically controlled by the operating system.
FORTRAN90, C, C++ and assembly language are available for programming languages on the CP-PACS computer. Assembler code can be included as a subroutine in a FORTRAN or C code in order to maximize the performance.
FORTRAN90 and C compilers generate assembler codes which incorporate the PVP-SW enhancement. This feature of the compiler is realized using the technique of modulo scheduling and register coloring.
In FORTRAN90 and C programs, Remote DMA data transfer through the Hyper Crossbar network is made by calling special library routines for communications.
The Real-Time Performance Monitor allows an on-line check of the performance of the CP-PACS in applications. Various data, including the flops of each CPU and the busy rate of the network can be collected at regular intervals, and can be graphically diplayed on terminals.