Составители:
Рубрика:
8
повторных запусках даже без модификации кода и исходных данных. Это является
следствием «гонок за данными» - одновременного и асинхронного доступа разных
процессов или потоков к общим переменным;
• необходимость заботиться о масштабируемости программы (масштабируемость –
это свойство вычислительной системы, компьютерной сети или процесса/процессов,
которое заключается в сохранении способности эффективно работать при
возрастании их сложности);
• необходимость заботиться о сбалансированной загрузке вычислительных узлов.
Модели параллельного программирования
В рамках параллельной модели программирования существуют различные подходы,
ориентированные на разные архитектуры высокопроизводительных вычислительных систем
и различные инструментальные средства. Перечислим некоторые из них.
Модель передачи сообщений
Основные особенности данного подхода:
• Программа порождает несколько задач.
• Каждой задаче присваивается свой уникальный идентификатор.
• Взаимодействие осуществляется посредством отправки и приема сообщений.
• Новые задачи могут создаваться во время выполнения параллельной программы,
несколько задач могут выполняться на одном процессоре.
Модель параллелизма данных
Основные особенности данного подхода:
• Одна операция применяется к множеству элементов структуры данных. Программа
содержит последовательность таких операций.
• "Зернистость" вычислений мала.
• Программист должен указать транслятору, как данные следует распределить между
задачами.
Модель общей памяти
В модели общей (разделяемой) памяти задачи обращаются к общей памяти, имея общее
адресное пространство и выполняя операции считывания/записи. Управление доступом к
памяти осуществляется с помощью разных механизмов, таких, например, как семафоры. В
рамках этой модели не требуется описывать обмен данными между задачами в явном виде.
Это упрощает программирование. Вместе с тем особое внимание приходится уделять
соблюдению детерминизма, таким явлениям, как «гонки за данными» и т. д.
Законы Амдала
Законы Амдала составляют теоретическую основу оценок достижимой производительности
параллельных программ. Они сформулированы для некоторой идеализированной модели
Страницы
- « первая
- ‹ предыдущая
- …
- 6
- 7
- 8
- 9
- 10
- …
- следующая ›
- последняя »