Меню
Главная
УСЛУГИ
Авторизация/Регистрация
Реклама на сайте
 
Главная arrow Информатика arrow Информационные технологии в экономике и управлении
< Предыдущая   СОДЕРЖАНИЕ   Следующая >

Разработка параллельных методов вычислений

Разработка алгоритмов параллельных вычислений является сложной научно-технической задачей, так как помимо чисто математических вопросов построения алгоритмов и исследования их сходимости следует обязательно учитывать архитектуру вычислительного устройства, для которого разрабатывается тот или иной алгоритм. Естественно, что есть некоторые базовые требования к разработке алгоритмов.

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

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

Общая схема разработки параллельного алгоритма

Рис. 5.6. Общая схема разработки параллельного алгоритма

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

• следует определить необходимую для решения полной задачи вычислительную систему и произвести распределение набора подзадач между процессорами системы.

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

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

Распределение подзадач между процессорами является завершающим этапом разработки параллельного метода вычислений. Управление распределением нагрузки (пользовательская балансировка) возможна только для вычислительных систем с распределенной памятью; для многопроцессорных систем с общей памятью распределение нагрузки обычно производится автоматически.

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

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 
Предметы
Агропромышленность
Банковское дело
БЖД
Бухучет и аудит
География
Документоведение
Журналистика
Инвестирование
Информатика
История
Культурология
Литература
Логика
Логистика
Маркетинг
Медицина
Менеджмент
Недвижимость
Педагогика
Политология
Политэкономия
Право
Психология
Религиоведение
Риторика
Социология
Статистика
Страховое дело
Техника
Товароведение
Туризм
Философия
Финансы
Экология
Экономика
Этика и эстетика