Assembly Technology

The academic research project Assembly System (ASSY) integrates the researches of SSD team in parallel software for multicomputers. The basic goal of ASSY project is the development of parallel computing technologies and supporting their  Parallel Assembly Programming System (PAPS) common to different large block multicomputer systems (MCS). The parallel program created with this PAPS is assembled out of ready made modules (atomic fragments of computations). Each of them can be executed on at least one processor of the MCS. Executable code keeps the fragmentation, this provides the parallelization of the program along the  "seams" of assembling. If the volume of atomic fragments is small enough, then equal workload for each processor element of multicomputer can be assigned and dynamically re-balanced if necessary.
    The basic idea of assembly technology of parallel programming is.  First the atomic fragment of computations are programmed with conventional procedural language. After that the whole computation is assembled out these atomic fragments (see below the example of PIC realization with assembly technology - Implementation of PIC Method on MIMD Multicomputers with Assembly Technology). Compiler knows an algorithm of the problem assembling, this algorithm is parallelized only. Problem parallelization is permitted only along the seams of assembling. Therefore there is no algorithmic problems to parallelize assembly algorithm. As result a parallel program of high quality is compiled. If the atomic fragments of computations are small enough then for each processor element of multicomputer the appropriate workload can be assembled and good balance of workload is reached.
    Chief application area for PAPS now is parallel realization of approximating mathematical models in
physics and chemistry. Peculiarity of this area is that the atomic fragments of computation should be very
small containing usually the computations inside one cell of approximating mesh only. Therefore, key
problem in development of PAPS for this area is the development of excellent algorithms of the whole computation assembling.