Computer-Assisted Parallel Program Generation

Computer-Assisted Parallel Program Generation

Shigeo Kawata (Utsunomiya University, Japan)
Copyright: © 2018 |Pages: 11
DOI: 10.4018/978-1-5225-2255-3.ch398

Abstract

Parallel computation is widely employed in scientific researches, engineering activities and product development. Parallel program writing itself is not always a simple task depending on problems solved. Large-scale scientific computing, huge data analyses and precise visualizations, for example, would require parallel computations, and the parallel computing needs the parallelization techniques. In this Chapter a parallel program generation support is discussed, and a computer-assisted parallel program generation system P-NCAS is introduced. Computer assisted problem solving is one of key methods to promote innovations in science and engineering, and contributes to enrich our society and our life toward a programming-free environment in computing science. Problem solving environments (PSE) research activities had started to enhance the programming power in 1970's. The P-NCAS is one of the PSEs; The PSE concept provides an integrated human-friendly computational software and hardware system to solve a target class of problems.
Chapter Preview
Top

Introduction

Parallel computation is widely employed in scientific researches, engineering activities and product development. Parallel program writing itself is not always a simple task depending on problems solved. Large-scale scientific computing, huge data analyses and precise visualizations, for example, would require parallel computations, and the parallel computing needs the parallelization techniques. In this Chapter a parallel program generation support is discussed, and a computer-assisted parallel program generation system P-NCAS is introduced.

Computer assisted problem solving is one of key methods to promote innovations in science and engineering, and contributes to enrich our society and our life toward a programming-free environment in computing science. Problem solving environments (PSE) research activities had started to enhance the programming power in 1970’s. The P-NCAS is one of the PSEs; The PSE concept provides an integrated human-friendly computational software and hardware system to solve a target class of problems (Kawata, 2014). For example, a PSE generates a computer program automatically to solve differential equations (Boonmee et al., 1998a; Boonmee et al., 1998b; Fujio et al., 1998; Fujita et al., 2000; Gallopoulos, et al., 1991; Gallopoulos et al., 1994; Hirayama et al., 1988; Houstis et al., 1992; Kawata et al., 2000; Okochi et al., 1994; Rice et al., 1984; Umetani, 1985). In the PSE concept, human concentrates on target problems, and a part of problem solving, which can be solved mechanically, is performed by computers or machines or software.

The concept of the computer-assisted program generation has been opening the new style of the computer programing to reduce the programing hard task. Huge computer software may include errors and bugs. The errors or malfunction of the software infrastructure may induce uncertainty and accordingly serious accidents in our society (Einarsson, 2005; Kawata et al, 2012). The programing process tends to include mechanical parts, that means, mechanically programmable parts. When the application area of the software is limited in a reasonable size, a part of the software would be mechanically generated. For example, scientific research-oriented programs would have a similar program structure depending on the numerical scheme.

P-NCAS supports scientists and engineers to generate parallel programs for problems described by partial differential equations (PDEs). P-NCAS presents a remarkable capability of visualization and steering of all the processes required for the generation of parallel programs. In P-NCAS users input problem description information including PDEs, initial and boundary conditions, discretization scheme, algorithm and also comments on the problem itself as well as the parallelization information. P-NCAS supports a domain decomposition method for the parallelization, and the SPMD (single program multi data) model is employed. In P-NCAS users can see and edit all the information through the visualization and editing windows. The program flow is also visualized by a Problem Analysis Diagram (PAD). Even through the flow visualization window users can modify the program flow. Finally P-NCAS outputs the corresponding parallel program in the C language, and at the same time a document for the program including the problem itself, the program flow, the PDEs, the initial and boundary conditions, the discretization method, the numerical algorithm employed and the variable definitions.

Key Terms in this Chapter

Parallel Computing: Computations performed in parallel on distributed computers or processors. Parallel computing program needs a special treatment to divide computations into many sub-computations on the distributed computers or processors. Special parallel computers would need special programing technique to divide the task into many sub-tasks or to achieve the communication among processors or computers if needed.

Scientific Simulation: Computation to describe a real world in computer.

PSE (Problem Solving Environment): Defined as “A system that provides all the computational facilities necessary to solve a target class of problems. It uses the language of the target class and users need not have specialized knowledge of the underlying hardware or software”. An example typical PSE generates a computer program automatically to solve differential equations. PSE provides integrated human-friendly computational services and facilities. At present PSE covers a rather wide area, for example, program generation support PSE, education support PSE, CAE software learning support PSE, grid/cloud computing support PSE, job execution support PSE, e-Learning support PSE, uncertainty management in scientific computing, and PSE for PSE generation support. A parallel computing support PSE, P-NCAS is introduced in this Chapter.

Complete Chapter List

Search this Book:
Reset