Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ОС.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
194.44 Кб
Скачать

1.3. Понятие параллельных алгоритмов

Для функционирования вычислительной системы, как правило, задача представляется в виде параллельного алгоритма.

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

В отличие от последовательного алгоритма, параллельный предусматривает одновременное выполнение множества операций в пределах одного шага вычислений.

Параллельный алгоритм составляет основу параллельной программы, которая влияет на алгоритм функционирования вычислительной системы. Программа, реализующая параллельный алгоритм, называется параллельной программой, а формальный язык – параллельным.

Замечание: не все задачи можно представить в виде параллельного алгоритма. Такая методика подходит в целом для решения сложной многокритериальной задачи.

Методы и алгоритмы решения задач, как правило, последовательные. Деятельность по созданию параллельных алгоритмов программ называется параллельным программированием.

Качество параллельного алгоритма (его эффективность) определяется применяемым методом распараллеливания.

Существует два основных подхода по распараллеливанию задач:

1) локальное;

2) глобальное (крупноблочное).

Первый подход ориентирован на расщеплении сложной задачи на предельно простые блоки (операции, операторы). Он в целом не приводит к параллельным алгоритмам, эффективно реализуемым коллективом вычислителей. Процесс распараллеливания трудоемок. Параллельные алгоритмы структурно неоднородны и различаются объемами вычислений на различных этапах.

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

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

1.4. Принципы технической реализации модели коллектива вычислителей

1) Модульность (modularity) – формирование вычислительной системы из унифицированных элементарных модулей;

2) Близкодействие (short range interaction) – каждый модуль может обмениваться через посредников друг с другом. Взаимодействие с удаленным модулем (вершинами) осуществляется транзитно через промежуточные вершины. Замечание: принцип дает возможность реализовать управление вычислительной системой вне зависимости от количества составляющих модулей.

3) Локальность – состояние вычислителя:

на очередном временном шаге зависит от состояния на предыдущем шаге непосредственно связанных с ним вычислителей, где – номер вычислителя.

4) Асинхронность функционирования – порядок срабатывания модулей определяется не с помощью меток времени, а достижением значений переменных.

5) Децентрализованность управления – в системе нет выделенного модуля, который функционирует как единый центр управления.

6) Распределенность ресурсов – в системе нет единого ресурса, используемого другими вычислителями в режиме разделения времени.

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