Просмотр статьи

Номер журнала: 2019.3

Заголовок статьи: An approach to deterministic parallel programming system construction based on monotonic objects


Due to the explosive growth of the complexity of programs for multi-core processors and supercomputers, the idea of parallel computation with determinism guaranteed by the programming language and system is becoming increasingly significant. This paper analyzes the problem of making parallel programming as deterministic as possible and some of the existing approaches to its solution. It describes the principles of constructing the object-oriented programming system developed by the authors, which allows expert programmers to write both deterministic and non-deterministic code with guarantees to application de-velopers that their programs are deterministic. The system and its input language have two levels: the higher level is intended for application developers; the lower level is for devel-opers of class libraries referred to as monotonic. The input language of the higher-level subsystem is like a functional language with the possibility of creating and using immutable and monotonic objects. The libraries of monotonic classes ensure that all programs in the higher-level sublanguage that use only these classes are deterministic and idempotent when they are parallelized by asynchronous calls of all functions. Some representative applications implemented on this system are described.


A. I. Adamovich, A. V. Klimov

Ключевые слова

models of parallel computation, deterministic programs, functional programming, object-oriented programming, monotonic objects

Скачать полный текст