Аннотация:
Одна из основных проблем, делающих параллельное программирование ненадежным, трудозатратным, подверженным ошибкам, а программы трудно отлаживаемыми,–– недетерминированность процессов и результатов вычислений, когда несколько исполнений одной программы с одинаковыми входными данными могут выдавать разные результаты из-за другого порядка взаимодействия параллельных процессов. В связи с бурным ростом сложности программ для суперкомпьютеров, в последнее десятилетие приобретает популярность и становится всё более актуальной идея параллельных вычислений с детерминированностью, гарантированной языком и системой программирования.
В статье анализируется проблема, как сделать параллельное программирование как можно более детерминированным, и дается обзор некоторых подходов к ее решению. Также обсуждается задача разработки системы, предоставляющей возможность писать как детерминированный, так и недетерминированный код с гарантиями прикладному программисту, что его программа будет детерминированной.
Ключевые слова и фразы:модели параллельных вычислений, детерминированные программы, функциональное программирование, объектно-ориентированное программирование.
УДК:
519.685+519.682.2+004.032.22
Поступила в редакцию: 11.12.2017 Подписана в печать : 28.12.2017