Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы Архитектура ВС.docx
Скачиваний:
59
Добавлен:
31.08.2019
Размер:
2.86 Mб
Скачать
  1. Сложные задачи. Масштабируемость параллельных вычислений. Функция изоэффективности

Сложные задачи. Масштабируемость параллельных вычислений. Функция изоэффективности

 

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

 

где V – количество операций, которые необходимо выполнить при решении задачи на ВС; n – число параллельных ветвей или число вычислителей, на которых решается задача, n≥2;

t(V,n) – время, затрачиваемое на:

  • синхронизацию параллельных ветвей алгоритма,

  • настройку (программирование структуры) системы,

  • реализацию обменов информацией между ветвями (вычислителями);

T(V,n) – время, расходуемое системой собственно на счет.

            На основе анализа задач и опыта их решения (с использованием методики крупноблочного распараллеливания) на вычислительных системах установлено, что при n =const показатель ε(V,n) асимптотически стремится к нулю с ростом объема операций в задаче, т.е. имеет место: ε(V,n) → 0 при V → ∞. Значения ε(V,n) будут практически удовлетворительными при выполнении неравенства

V ≥n*10k

где k – эмпирический коэффициент, k≥1. Очевидно, что имеет место зависимость k от быстродействия ν каналов связей между вычислителями: k→ 1 при ν → ν*, где 1/ν* – время обращения к локальной памяти в вычислителе. При удовлетворении неравенства достигается адекватное размещение параллельной программы на системе из n вычислителей (при произвольной структуре сети связей) и обеспечивается эффективное использование этих вычислителей.

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

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

                 Анализ масштабируемости параллельных вычислений

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

Оценим накладные расходы (total overhead), которые имеют место при выполнении параллельного алгоритма

T0 = pTp – T1

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

Tp = (T1+T0)/p,

S= T1/Tp = pT1/(T1+T0)

Используя полученные соотношения, эффективность использования процессоров можно выразить как

Ep = Sp/p = T1/(T1+T0) = 1/(1 + T0/T1)

Последнее выражение показывает, что если сложность решаемой задачи является фиксированной (T1=const), то при росте числа процессоров эффективность, как правило, будет убывать за счет роста накладных расходов T0. При фиксации числа процессоров эффективность использования процессоров можно улучшить путем повышения сложности решаемой задачи T1(предполагается, что при росте параметра сложности n накладные расходы T0 увеличиваются медленнее, чем объем вычислений T1). Как результат, при увеличении числа процессоров, в большинстве случаев можно обеспечить определенный уровень эффек4тивности при помощи повышения сложности решаемых задач. В этой связи, важной характеристикой параллельных вычислений становится соотношение необходимых темпов роста сложности расчетов и числа используемых процессоров.

Пусть E=const есть желаемый уровень эффективности выполняемых вычислений. Из выражения для эффективности можно получить

T0/T1 = (1-E)/E или

T1 = KT0, K=E/(1-E)

Порождаемую последним соотношением зависимость n=F(p) между сложностью решаемой задачи и числом процессоров обычно называют функцией изоэффективности.