Working with data in the Synhro educational programming language

Бесплатный доступ

The article is devoted to clarifying the concepts that are useful in preparing small multi-threaded programs for teaching parallel programming. The approach was formed in the process of creating the SYNHRO language. The priority is given to the paradigm of functional programming, which is popular in the preparation of prototypes of multi-threaded programs. A description of differences from the usual ideas that hinder the solution of problems of organizing parallel computing and extremely distributed systems from a number of threads interacting in terms of access to the values of variables, possibly located in a shared memory is given. A mechanism for the interaction of local and shared memory is proposed. The main models of organizing parallel computing are taken into account and a number of concepts and methods are refined, which changes during the transition from conventional programming to the representation of multi-threaded and multiprocessor programs. First of all, this is the overcoming of the dependence of the order of calculations on the sequence of occurrence of expressions in the program text. Further, the basic mechanism of influences on memory changes. Some of them are made more complex to prevent surprises due to asynchrony and weakening the imperativeness of executing elements of distributed systems. The concept of twin commands has been added to control the imperative synchronization of interacting devices, useful in resolving memory freeing issues.

Еще

Memory access discipline, functional programming, multi-threaded programs, data immutability, data recovery, memory freeing

Короткий адрес: https://sciup.org/147240876

IDR: 147240876   |   DOI: 10.14529/cmse230205

Статья научная