Разделы презентаций


Высокопроизводительные вычисления 1. 2. Базовые методы ускорения вычислений

Содержание

Факторы, определяющие время исполнения программных функцийСвойства аппаратно-программной платформыВозможности программиста в полной мере использовать свойства аппаратно-программной платформы: знание свойств, умение ими пользоваться в целях ускорения программ, Быстродействие используемых алгоритмовФункциональные возможности инструментальных

Слайды и текст этой презентации

Слайд 1Высокопроизводительные вычисления 1.2. Базовые методы ускорения вычислений основные понятия распараллеливания
Негода В.Н.,

д.т.н., профессор кафедры ВТ УлГТУ

Высокопроизводительные вычисления 1.2. Базовые методы ускорения вычислений основные понятия распараллеливанияНегода В.Н., д.т.н., профессор кафедры ВТ УлГТУ

Слайд 2Факторы, определяющие время исполнения программных функций
Свойства аппаратно-программной платформы
Возможности программиста в

полной мере использовать свойства аппаратно-программной платформы: знание свойств, умение ими

пользоваться в целях ускорения программ,
Быстродействие используемых алгоритмов
Функциональные возможности инструментальных средств программирования: оптимизаторы, профилировщики, высокоскоростные библиотеки функций
Свойства рабочей нагрузки, т.е. данных, вовлекаемых в обработку
Контекст процесса исполнения: характер фоновой нагрузки; механизмы диспетчеризации процессов, объемы данных, сохраняемых и восстанавливаемых при переключении задач
Требования к точности обработки данных

Факторы, определяющие время исполнения программных функцийСвойства аппаратно-программной платформыВозможности программиста в полной мере использовать свойства аппаратно-программной платформы: знание

Слайд 3Наиболее важные свойства аппаратно-программных платформ, влияющие на быстродействие программ
Параметры различных

видов памяти и механизмы их использования: кэш-память различных уровней, основная

память, дисковая память, механизмы виртуализации памяти
Различные виды параллельности и средства их использования
Инерционность системы ввода-вывода
Инерционность системных вызовов ОС
Накладные расходы на организацию параллельной обработки данных
Свойства средств поддержки измерения затрат времени
Свойства средств поддержки режима реального времени и режима разделения времени




Наиболее важные свойства аппаратно-программных платформ, влияющие на быстродействие программПараметры различных видов памяти и механизмы их использования: кэш-память

Слайд 4Два способа ускорения быстродействия машин
Повышение частоты + Увеличение памяти:

Увеличение частоты в к раз k*F => T/k
2.

Совершенствование архитектуры
 На одном из первых компьютеров мира - EDSAC, появившемся в 1949 году в Кембридже и имевшем время такта 2 микросекунды, можно было выполнить 2*n арифметических операций за 18*n миллисекунд, то есть в среднем 100 арифметических операций в секунду.
Современный персональный компьютер способен выполнять более 100 GFLOPS при частоте 3 Ггц (такт равен 0,33 нс).
За 67 лет производительность выросла более, чем в миллиард раз. При этом выигрыш в быстродействии, связанный с уменьшением времени такта с 2 микросекунд до 0,33 наносекунды , составляет лишь около 6000 раз. Архитектурное совершенствование дает прирост быстродействия в 1000000000/6000 = 166667 раз больше, нежели увеличение частоты.
Два способа ускорения быстродействия машинПовышение частоты + Увеличение памяти:   Увеличение частоты в к раз	 k*F

Слайд 5История параллельности: многоразрядность
IBM 701 (1953), IBM 704 (1955): разрядно-параллельная память,

разрядно-параллельная арифметика.
Все самые первые компьютеры (EDSAC, EDVAC, UNIVAC) имели разрядно-последовательную

память, из которой слова считывались последовательно бит за битом. Первым коммерчески доступным компьютером, использующим разрядно-параллельную память (на CRT) и разрядно-параллельную арифметику, стал IBM 701, а наибольшую популярность получила модель IBM 704 (продано 150 экз.), в которой, помимо сказанного, была впервые применена память на ферритовых сердечниках и аппаратное АУ с плавающей точкой.

История параллельности:  многоразрядностьIBM 701 (1953), IBM 704 (1955): разрядно-параллельная память, разрядно-параллельная арифметика. Все самые первые компьютеры

Слайд 6История параллельности: распараллеливание ввода-вывода
IBM 709 (1958): независимые процессоры ввода/вывода. Процессоры первых

компьютеров сами управляли вводом/выводом. Однако скорость работы самого быстрого внешнего

устройства, а по тем временам это магнитная лента, была в 1000 раз меньше скорости процессора, поэтому во время операций ввода/вывода процессор фактически простаивал. В 1958г. к компьютеру IBM 704 присоединили 6 независимых процессоров ввода/вывода, которые после получения команд могли работать параллельно с основным процессором, а сам компьютер переименовали в IBM 709. Данная модель получилась удивительно удачной, так как вместе с модификациями было продано около 400 экземпляров, причем последний был выключен в 1975 году - 20 лет существования!

История параллельности:  распараллеливание ввода-выводаIBM 709 (1958): независимые процессоры ввода/вывода. Процессоры первых компьютеров сами управляли вводом/выводом. Однако

Слайд 7История параллельности: конвейер команд
ATLAS (1963): конвейер команд. Впервые конвейерный принцип выполнения

команд был использован в машине ATLAS, разработанной в Манчестерском университете.

Выполнение команд разбито на 4 стадии: выборка команды, вычисление адреса операнда, выборка операнда и выполнение операции. Конвейеризация позволила уменьшить время выполнения команд с 6 мкс до 1,6 мкс. Данный компьютер оказал огромное влияние, как на архитектуру ЭВМ, так и на программное обеспечение: в нем впервые использована мультипрограммная ОС, основанная на использовании виртуальной памяти и системы прерываний.

История параллельности:  конвейер командATLAS (1963): конвейер команд. Впервые конвейерный принцип выполнения команд был использован в машине

Слайд 8История параллельности: независимые функциональные устройства
CDC 6600 (1964): независимые функциональные устройства.

Фирма Control Data Corporation (CDC) при непосредственном участии одного из

ее основателей, Сеймура Р.Крэя (Seymour R.Cray) выпускает компьютер CDC-6600 - первый компьютер, в котором использовалось несколько независимых функциональных устройств. Для сравнения с сегодняшним днем приведем некоторые параметры компьютера:
время такта 100нс,
производительность 2-3 млн. операций в секунду,
оперативная память разбита на 32 банка по 4096 60-ти разрядных слов,
цикл памяти 1мкс,
10 независимых функциональных устройств.

История параллельности:  независимые функциональные устройстваCDC 6600 (1964): независимые функциональные устройства.  Фирма Control Data Corporation (CDC)

Слайд 9История параллельности: независимые функциональные устройства
CDC 6600 (1964): независимые функциональные устройства.

Фирма Control Data Corporation (CDC) при непосредственном участии одного из

ее основателей, Сеймура Р.Крэя (Seymour R.Cray) выпускает компьютер CDC-6600 - первый компьютер, в котором использовалось несколько независимых функциональных устройств. Для сравнения с сегодняшним днем приведем некоторые параметры компьютера:
время такта 100нс,
производительность 2-3 млн. операций в секунду,
оперативная память разбита на 32 банка по 4096 60-ти разрядных слов,
цикл памяти 1мкс,
10 независимых функциональных устройств.
IA-64, видео-процессоры, арифметические сопроцессоры и масса независимых контроллеров ввода-вывода
История параллельности:  независимые функциональные устройстваCDC 6600 (1964): независимые функциональные устройства.  Фирма Control Data Corporation (CDC)

Слайд 10История параллельности: конвейерные независимые функциональные устройства
CDC 7600 (1969): конвейерные независимые

функциональные устройства. CDC выпускает компьютер CDC-7600 с восемью независимыми конвейерными функциональными

устройствами - сочетание параллельной и конвейерной обработки. Основные параметры:
такт 27,5 нс,
10-15 млн. опер/сек.,
8 конвейерных ФУ,
2-х уровневая память.
История параллельности:  конвейерные независимые функциональные устройстваCDC 7600 (1969): конвейерные независимые функциональные устройства. CDC выпускает компьютер CDC-7600

Слайд 11История параллельности: матричные процессоры
ILLIAC IV (1974): матричные процессоры.
Проект: 256 процессорных

элементов (ПЭ) = 4 квадранта по 64ПЭ, возможность реконфигурации: 2

квадранта по 128ПЭ или 1 квадрант из 256ПЭ, такт 40нс, производительность 1Гфлоп.
Работы начаты в 1967 году, к концу 1971 изготовлена система из 1 квадранта, в 1974г. она введена в эксплуатацию, доводка велась до 1975 года;
центральная часть: устройство управления (УУ) + матрица из 64 ПЭ.
УУ это простая ЭВМ с небольшой производительностью, управляющая матрицей ПЭ; все ПЭ матрицы работали в синхронном режиме, выполняя в каждый момент времени одну и ту же команду, поступившую от УУ, но над своими данными.
ПЭ имел собственное АЛУ с полным набором команд, ОП - 2Кслова по 64 разряда, цикл памяти 350нс, каждый ПЭ имел непосредственный доступ только к своей ОП.
Сеть пересылки данных: двумерный тор со сдвигом на 1 по границе по горизонтали.
Несмотря на результат в сравнении с проектом: стоимость в 4 раза выше, сделан лишь 1 квадрант, такт 80нс, реальная производительность до 50Мфлоп.
История параллельности:  матричные процессорыILLIAC IV (1974): матричные процессоры.Проект: 256 процессорных элементов (ПЭ) = 4 квадранта по

Слайд 12История параллельности: векторно-конвейерные процессоры
CRAY 1 (1976): векторно-конвейерные процессоры В 1972 году

С.Крэй покидает CDC и основывает свою компанию Cray Research, которая

в 1976г. выпускает первый векторно-конвейерный компьютер CRAY-1: время такта 12.5нс, 12 конвейерных функциональных устройств, пиковая производительность 160 миллионов операций в секунду, оперативная память до 1Мслова (слово - 64 разряда), цикл памяти 50нс. Главным новшеством является введение векторных команд, работающих с целыми массивами независимых данных и позволяющих эффективно использовать конвейерные функциональные устройства.
История параллельности:  векторно-конвейерные процессорыCRAY 1 (1976): векторно-конвейерные процессоры В 1972 году С.Крэй покидает CDC и основывает

Слайд 13Основные понятия распараллеливания: уровни параллелизма и гранулярность
Уровни параллелизма:
Уровень заданий

– несколько независимых заданий одновременно выполняются на разных процессорах.
Уровень программ

– части одной задачи выполняются на множестве процессоров.
Уровень команд – разные фазы нескольких команд выполняются одновременно на различных стадиях конвейера.
Уровень данных машинной команды – бит-последовательные и бит-параллельные операции; параллельно-последовательная обработка; обработка нескольких операндов в одной команде.  
Гранулярность – отношение объема вычислений к объему коммуникаций между параллельными ветвями.
Крупнозернистый параллелизм – слабая зависимость между ветвями параллельных вычислений (тысячи исполненных команд на одну операцию обмена).
Среднезернистый параллелизм – средняя зависимость (сотни команд на одну операцию обмена).
Мелкозернистый параллелизм – единицы и десятки команд обработки на одну операцию обмена между параллельными ветвями.

Основные понятия распараллеливания:  уровни параллелизма и гранулярностьУровни параллелизма: Уровень заданий – несколько независимых заданий одновременно выполняются

Слайд 14Основные метрики параллелизма: профиль параллелизма
Степень параллелизма (DOP – Degree of

Parallelism) – это число участвующих в вычислениях процессоров.
Профиль параллелизма

программ - изменение во времени степени
параллелизма.

Основные метрики параллелизма:  профиль параллелизмаСтепень параллелизма (DOP – Degree of Parallelism) – это число участвующих в

Слайд 15Основные понятия распараллеливания: общий объем вычислительной работы и средний параллелизм
Общий

объем вычислительной работы W в интервале времени от стартового момента

ts до момента завершения te пропорционален площади под кривой профиля:
W = T*∫ D(t)dt ≈ T*Σ Di ,
где T – длительность кванта времени, интервал интегрирования и множество индексов i определяются из ts и te
Cредний параллелизм
A = ( ∫ D(t)dt ) / (te - ts) ≈ ( Σ Di )/ m,
где m = (te - ts) / T




Основные понятия распараллеливания:  общий объем вычислительной работы и средний параллелизмОбщий объем вычислительной работы W в интервале

Слайд 16Основные понятия распараллеливания: Степень ускорения - Speedup
Ускорение (speedup) за счет

параллельного выполнения:
S(n) =T(1)/T(n),
где T(1) – время исполнения

в однопроцессорной системе (число квантов времени), T(n) – время в системе с n процессорами.
Обычно S(n) ≤ n. При S(n) = n говорят, что алгоритм показывает линейное ускорение.
Причины, по которым S(n) > n:
а) декомпозированные данные для размещения на процессорах могут иметь меньшее время доступа в силу свойств методов адресации, либо за счет уменьшения количества кэш-промахов;
б) в алгоритме имеются зависимости, обеспечивающие прекращение вычислений до завершения обработки всех данных (например, конъюнкция или дизъюнкция предикатов с существенно различающимися временем вычисления для случаев получения истинного или ложного значения).
Ускорение ограничивают: программные издержки, издержки из-за дисбаланса загрузки процессоров, коммуникационные издержки.

Основные понятия распараллеливания: Степень ускорения - SpeedupУскорение (speedup) за счет параллельного выполнения:  S(n) =T(1)/T(n), где T(1)

Слайд 17Основные понятия распараллеливания: эффективность и избыточность
Эффективность (efficiency) n-процессорной системы –

ускорение, приходящееся на один процессор: E(n) = S(n)/n = T(1)/(n*T(n)).

Обычно имеет место: 1/n ≤ E(n) ≤ 1.
Избыточность (redundancy) – величина, учитывающая накладные расходы на организацию параллельных вычислений в среде с n процессорами:
R(n) = O(n)/O(1) = 1/E(n) – 1,
где O(n) и O(1) – число операций, выполненных соответственно в среде с n процессорами и в однопроцессорной среде.
Справедливо неравенство 1 ≤ R(n) ≤ n.

Основные понятия распараллеливания: эффективность и избыточностьЭффективность (efficiency) n-процессорной системы – ускорение, приходящееся на один процессор: E(n) =

Слайд 18Распараллеливание: Закон Амдала (1967)

Распараллеливание: Закон Амдала (1967)

Слайд 19Распараллеливание: Закон Амдала

Распараллеливание: Закон Амдала

Слайд 20Распараллеливание: Закон Амдала

Распараллеливание: Закон Амдала

Слайд 21Распараллеливание: Закон Амдала – зависимость ускорения от доли f и

Распараллеливание: Закон Амдала – зависимость ускорения от доли f и n

Слайд 22Распараллеливание: Закон масштабируемого ускорения Густафсона-Барсиса

Распараллеливание: Закон масштабируемого ускорения Густафсона-Барсиса

Слайд 23Распараллеливание: Закон масштабируемого ускорения Густафсона-Барсиса

Распараллеливание: Закон масштабируемого ускорения Густафсона-Барсиса

Слайд 24Распараллеливание: Сопоставление ускорения по Амдалу и по Густафсону-Барсису
Пусть доля последовательной

части f = 0,1 // 10%

Распараллеливание: Сопоставление ускорения по Амдалу и по Густафсону-БарсисуПусть доля последовательной части f = 0,1 // 10%

Слайд 25Классификация параллельных систем по Флинну
Профессор Стенфорда Майкл Флинн в 1966

году предложил классифицировать параллельные системы по наличию параллельности в потоках

команд потоках обрабатываемых данных, а в 1972 добавлено еще основание по типу организации памяти:
SISD: Single Instruction & Single Data – одиночный поток команд и одиночный поток данных;
SIMD: Single Instruction & Multiple Data – одиночный поток команд и множественный поток данных;
MISD: Multiple Instruction & Single Data – одиночный поток команд и одиночный поток данных;
MIMD: Multiple Instruction & Multiple Data – одиночный поток команд и множественный поток данных;
SM-MIMD: Shared Memory MIMD – мультипроцессорные с общей памятью;
DM-MIMD: Distributed Memory MIMD – мультипроцессорные с распределенной памятью
Классификация параллельных систем по ФлиннуПрофессор Стенфорда Майкл Флинн в 1966 году предложил классифицировать параллельные системы по наличию

Слайд 26Архитектура базовых классов параллельных систем













а) SIMD; б) MISD; в) SIMD;

г) MIMD

Архитектура базовых классов параллельных система) SIMD; б) MISD; в) SIMD; г) MIMD

Слайд 27Архитектура параллельных систем с общей памятью SM-MIMD

Архитектура параллельных систем с общей памятью  SM-MIMD

Слайд 28Архитектура параллельных систем с общей памятью DM-MIMD

Архитектура параллельных систем с общей памятью  DM-MIMD

Слайд 29Организация межсоединений в параллельных системах

Организация межсоединений в параллельных системах

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика