Abstract:
One of the main problems that make parallel programming unreliable, labor-intensive, error-prone, and programs difficult to debug,
is the non-determinism of processes and results of computation,
when several runs of the same program with the same input data can produce different results because of different order of interaction of parallel processes.
In connection with the rapid growth in the complexity of programs for supercomputers, the idea of parallel computations with determinism, guaranteed by language and a programming system has become more popular in the last decade and is becoming more vital.
The problem of how to make parallel programming as deterministic as possible is analyzed.
An overview of some approaches to solving it is given.
The task of developing a system that provides an opportunity to write both deterministic and nondeterministic code with guarantees to the application programmer that his program is deterministic, is discussed. (In Russian).
Key words and phrases:parallel computation models,
deterministic programs,
functional programming,
object-oriented programming.