- •Понятия эвм и вс. Понятие архитектуры вс
- •Архитектура как набор взаимодействующих компонентов. Архитектура как интерфейс между уровнями физической системы
- •Теория эволюции компьютеров. Закон Мура. Дуализм в развитии техники Теория эволюции компьютеров
- •Дуализм в развитии техники
- •Механическая эра вычислений
- •Счетно-аналитические машины
- •Общее описание и анализ вычислительной машины eniac
- •Общее описание и анализ вычислительной машины edvac Анализ eniac
- •Принципы фон-Неймана. Поколения эвм
- •Многоуровневая компьютерная организация. Уровни для прикладных и системных программистов
- •Многоуровневая компьютерная организация
- •Архитектура системы команд
- •Cisc и risc архитектуры процессоров Архитектура системы команд
- •Cisc и risc архитектуры процессоров
- •Организация risc мп dec Alpha 21x64 Организация risc мп dec Alpha 21x64
- •Развитие архитектур современных мп. Расширение архитектуры x86 Развитие архитектур современных мп
- •Архитектура vliw
- •Архитектура epic
- •Технология ia-64
- •Предпосылки развития вс. Закон Гроша для вс
- •Модель вычислителя
- •Возможности совершенствования эвм
- •Модель коллектива вычислителей
- •Структура коллектива вычислителей
- •Алгоритм работы коллектива вычислителей
- •Принципы технической реализации модели коллектива вычислителей
- •Архитектурные свойства вс Архитектурные свойства вычислительных систем
- •Системы (языки) параллельного программирования Системы (языки) параллельного программирования
- •Параллельные модели программирования. Модель передачи сообщений. Реализация на основе mpi.
- •Параллельные модели программирования. Модель общей памяти. Реализация на основе OpenMp Системы (языки) параллельного программирования
- •1. По назначению (универсальные и специализированные)
- •2. По типу (многомашинные и многопроцессорные) (ниже)
- •3. По типу эвм или процессоров (однородные и неоднородные)
- •4. По степени территориальной разобщенности (сосредоточенные и распределенные)
- •6. По режиму работы вс (оперативные и неоперативные)
- •Многомашинные вс. Режимы работы. Отличия от многопроцессорных вс
- •Классификация Флинна архитектур
- •Основные классы вычислительных систем
- •Параллельные алгоритмы. Параллельная программа. Локальное и глобальное распараллеливание
- •Модель вычислений в виде графа "операции-операнды"
- •Показатели эффективности параллельных вычислений: ускорение, эффективность, масштабируемость
- •Оценка максимально достижимого параллелизма. Закон Амдала. Парадокс параллелизма
- •Многомашинные вс. Режимы работы. Отличия от многопроцессорных вс
- •Уровни комплексирования в вычислительных системах Многомашинные вс. Режимы работы. Отличия от многопроцессорных вс
- •Уровни комплексирования в вс
- •Алгоритмы маршрутизации. Методы передачи данных. Латентность и пропускная способность сети
- •Передача данных между двумя процессорами и широковещательная передача. Реализация точечных методов передачи и широковещательной рассылки в mpi
- •Сложные задачи. Масштабируемость параллельных вычислений. Функция изоэффективности
- •Системы с общей и распределенной памятью. Многоуровневая организация общей памяти
- •Память с чередованием адресов
- •Симметричные (smp) многопроцессорные вс. Архитектура типа uma, coma, numa
- •Мультипроцессор Sun Enterprise 10000
- •Мультипроцессоры numa
- •Векторные системы. Понятие вектора и размещение данных в памяти. Векторный процессор. Pvp-система
- •Структура векторного процессора Структуры типа "память-память" и "регистр-регистр". Ускорение вычислений в векторных системах
- •Вычислительная система star-100
- •Вычислительная система cray c-90
- •Матричные вычислительные системы. Обобщенная модель матричной вс. Интерфейсная вм. Контроллер массива процессоров
- •Вычислительная система illiac IV
- •Ассоциативная память. Ассоциативные вс Ассоциативная память
- •Систолические структуры Систолические структуры
- •Кластеры. Виды кластеров
- •Топологии кластеров. Кластер Beowulf
- •Топологии кластеров
- •Кластер Beowulf
- •Архитектура с массовой параллельной обработкой Системы с массовым параллелизмом (mpp-системы)
Сложные задачи. Масштабируемость параллельных вычислений. Функция изоэффективности
Сложные задачи. Масштабируемость параллельных вычислений. Функция изоэффективности
Эффективность функционирования вычислительных систем зависит от количества операций, которые требуется выполнить при решении задач и от числа вычислителей, на котором реализуются 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,
Sp = 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) между сложностью решаемой задачи и числом процессоров обычно называют функцией изоэффективности.