Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Распределение по процессорам.





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

Целью распределения является максимальное сокращение времени выполнения. Можно представить себе 2 стратегии:

1. Размерность задач, способных выполняться параллельно, на разных процессорах, чтобы повысить параллельность.

2. Размерность задач, требующих значительных коммуникаций, на 1 процессоре, чтобы повысить локальность.

 

Разумеется, эти 2 стратегии могут конфликтовать. В таком случае приходится оценивать плюсы и минусы и выбирать. Кроме того, ограничения по ресурсам могут ограничивать количество задач, выполняемых на 1 процессоре.

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

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

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

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

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

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







Дата добавления: 2015-08-12; просмотров: 376. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Studopedia.info - Студопедия - 2014-2026 год . (0.009 сек.) русская версия | украинская версия