Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТОГОВЫЙ ВАРИАНТ ШПОРЫ.docx
Скачиваний:
7
Добавлен:
23.09.2019
Размер:
814.05 Кб
Скачать

Вопрос 39. Основные подходы к проектированию языков параллельного программирования

Программирование задач для таких вычислительных установок получило название параллельного программирования, а соответствующие языки называют языками параллельного программирования. Под параллельным программированием будем понимать

создание объектов - параллельных программ, каждая из которых есть организованная

совокупность модулей с возможностями одновременного выполнения и взаимодействия.

Рассмотрим основные пути, по которым идут при создании ЯПП.

Можно выделить два подхода к проектированию ЯПП. При так называемом параллельно-последовательном подходе ЯПП должен иметь средства для явного указания параллельных ветвей и порядка следования участков параллельности. При выполнении программы управление переходит от одного участка параллельности к другому, каждый раз ветвясь на требуемое чисто независимых управлений. Переход между участками программы осуществляется только тогда, когда все независимые управления достигнут конца своих ветвей.

При асинхронном подходе параллельные ветви явно не задаются, и лишь в некоторые моменты времени при выполнении программы выясняется возможность (готовность) выполнения отдельного фрагмента задачи независимо от других фрагментов.

Язык программирования - это формальный язык связи человека с компьютером, предназначенный для описания данных и алгоритмов их обработки. В отличие от языка общения между людьми он не должен допускать двусмысленностей и неопределенностей. Вот некоторые требования к ЯП:

  • ясность, простота и согласованность понятий языка с простыми и регулярными правилами их конструирования;

  • ясность структуры программы, написанной на ЯП. с возможностями их модификации:

  • естественность в приложениях: иметь для реализации задачи подходящие структуры данных, операции, управляющие структуры и естественный синтаксис;

  • легкость расширения за счет моделирования простыми средствами сложных структур, имеющихся в конкретных задачах;

  • богатое внешнее обеспечение: средства тестирования, отладки, редактирования, хранения;

  • эффективность создания, трансляции, тестирования, выполнения и использования программ.

КОС обладает всеми свойствами, присущими объектно-ориентированному подходу:

  • инкапсуляция объектных компонент скрывает от пользователя сложности их реализации, делая видимым лишь предоставляемый интерфейс;

  • наследование позволяет совершенствовать компоненты, не нарушая целостности объектной оболочки;

Что касается языков параллельного программирования, то к ним могут быть предъявлены дополнительные требования. В частности. ЯПП должен:

  • иметь средства максимального выражения в про1рамме присущего данной задаче

естественного параллелизма: быть независимым от структуры конкретного компьютера, в частности от числа процессоров, доступных для программ, от времени выполнения отдельных ветвей программы и т. д.; обладать простотой диспетчеризации параллельных программ, записанных на нем; обеспечить простоту записи (преобразования) программ на ЯПП по заданным последовательным алгоритмам.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]