🗊 Презентация Высокопроизводительные системы

Категория: Образование
Нажмите для полного просмотра!
Высокопроизводительные системы, слайд №1 Высокопроизводительные системы, слайд №2 Высокопроизводительные системы, слайд №3 Высокопроизводительные системы, слайд №4 Высокопроизводительные системы, слайд №5 Высокопроизводительные системы, слайд №6 Высокопроизводительные системы, слайд №7 Высокопроизводительные системы, слайд №8 Высокопроизводительные системы, слайд №9 Высокопроизводительные системы, слайд №10 Высокопроизводительные системы, слайд №11 Высокопроизводительные системы, слайд №12 Высокопроизводительные системы, слайд №13 Высокопроизводительные системы, слайд №14 Высокопроизводительные системы, слайд №15 Высокопроизводительные системы, слайд №16 Высокопроизводительные системы, слайд №17 Высокопроизводительные системы, слайд №18 Высокопроизводительные системы, слайд №19 Высокопроизводительные системы, слайд №20 Высокопроизводительные системы, слайд №21 Высокопроизводительные системы, слайд №22 Высокопроизводительные системы, слайд №23 Высокопроизводительные системы, слайд №24 Высокопроизводительные системы, слайд №25 Высокопроизводительные системы, слайд №26 Высокопроизводительные системы, слайд №27 Высокопроизводительные системы, слайд №28 Высокопроизводительные системы, слайд №29 Высокопроизводительные системы, слайд №30 Высокопроизводительные системы, слайд №31 Высокопроизводительные системы, слайд №32 Высокопроизводительные системы, слайд №33 Высокопроизводительные системы, слайд №34 Высокопроизводительные системы, слайд №35 Высокопроизводительные системы, слайд №36 Высокопроизводительные системы, слайд №37 Высокопроизводительные системы, слайд №38 Высокопроизводительные системы, слайд №39 Высокопроизводительные системы, слайд №40 Высокопроизводительные системы, слайд №41 Высокопроизводительные системы, слайд №42 Высокопроизводительные системы, слайд №43 Высокопроизводительные системы, слайд №44 Высокопроизводительные системы, слайд №45 Высокопроизводительные системы, слайд №46 Высокопроизводительные системы, слайд №47 Высокопроизводительные системы, слайд №48 Высокопроизводительные системы, слайд №49 Высокопроизводительные системы, слайд №50 Высокопроизводительные системы, слайд №51

Содержание

Вы можете ознакомиться и скачать презентацию на тему Высокопроизводительные системы. Доклад-сообщение содержит 51 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1


Высокопроизводительные системы Судаков А.А. “Параллельные и распределенные вычисления” Лекция 9
Описание слайда:
Высокопроизводительные системы Судаков А.А. “Параллельные и распределенные вычисления” Лекция 9

Слайд 2


План Типы высокопроизводительных систем Однопроцессорные системы SMP Векторные процессоры Массивно-параллельные системы NUMA системы Кластеры...
Описание слайда:
План Типы высокопроизводительных систем Однопроцессорные системы SMP Векторные процессоры Массивно-параллельные системы NUMA системы Кластеры Метакомпьютеры Основные характеристики

Слайд 3


Литература Когерентность кэша
Описание слайда:
Литература Когерентность кэша

Слайд 4


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

Слайд 5


Пути повышения производительности Использование новых физических эффектов Увеличение тактовой частоты Параллельные вычисления Использование большого...
Описание слайда:
Пути повышения производительности Использование новых физических эффектов Увеличение тактовой частоты Параллельные вычисления Использование большого количества вычислительных элементов на которых одновременно решаются различные части задачи

Слайд 6


Типы высокопроизводительных систем Однопроцессорные системы (UP) Симметричные многопроцессорные системы (SMP) Векторно-конвейерные системы (PVP) NUMA...
Описание слайда:
Типы высокопроизводительных систем Однопроцессорные системы (UP) Симметричные многопроцессорные системы (SMP) Векторно-конвейерные системы (PVP) NUMA системы Вычислительные кластеры Метакомпьютры

Слайд 7


Однопроцессорные ЭВМ Один процессор Общая шина Параллелизм на уровне инструкций за счет особенностей устройства процессора
Описание слайда:
Однопроцессорные ЭВМ Один процессор Общая шина Параллелизм на уровне инструкций за счет особенностей устройства процессора

Слайд 8


Скалярная обработка Один поток инструкций Одно функциональное устройство Все инструкции обрабатываются последовательно Каждая инструкция работает со...
Описание слайда:
Скалярная обработка Один поток инструкций Одно функциональное устройство Все инструкции обрабатываются последовательно Каждая инструкция работает со скалярными данными Скалярные данные – не массив Intel 8086

Слайд 9


Кэширование оперативной памяти Кэш – память с быстрым доступом (быстрее, чем из оперативной памяти) Кэш инструкций – память для инструкций (8-64K)...
Описание слайда:
Кэширование оперативной памяти Кэш – память с быстрым доступом (быстрее, чем из оперативной памяти) Кэш инструкций – память для инструкций (8-64K) Кэш данных – память (8-64K) Кэш первого, второго, третьего уровня L1 - 8-64K L2 128K-2M L3 4M Процессор из кэша может считывать и записывать данные порциями (строка кэша) обычно 128 байт Процессор может выполнять действия с кэшем не обращаясь к шине Возможна параллельная обработка данных процессором и передача по шине

Слайд 10


Предварительная выборка Если данные и инструкции находятся в кэше, то операции с ними выполняются очень быстро В процессорах используется различные...
Описание слайда:
Предварительная выборка Если данные и инструкции находятся в кэше, то операции с ними выполняются очень быстро В процессорах используется различные методы, чтобы увеличить вероятность того, что необходимые данные находятся в кэше – prefetch Предварительная загрузка Предсказание ветвлений Для максимального быстродействия Данные/код должны считываться/записываться порциями кратными размеру сроки кэша Данные/код должны помещаться в кэш и кэш должен быть загружен по максимому

Слайд 11


Пример замедления за счет не попадания в кэш Умножение двух матриц C=AB Cij=AikBkj for(i=0; i
Описание слайда:
Пример замедления за счет не попадания в кэш Умножение двух матриц C=AB Cij=AikBkj for(i=0; i

Слайд 12


Пример ускорения за счет кэширования Умножение двух матриц C=AB Cij=AikBkj for(i=0; i
Описание слайда:
Пример ускорения за счет кэширования Умножение двух матриц C=AB Cij=AikBkj for(i=0; i

Слайд 13


Конвейер (pipeline) Одну сложную операцию можно разбить на несколько простых Если сложную операцию необходимо выполнить с большим количеством входных...
Описание слайда:
Конвейер (pipeline) Одну сложную операцию можно разбить на несколько простых Если сложную операцию необходимо выполнить с большим количеством входных данных, то возможна параллельная обработка Первый результат получается за время сложной операции, а все остальные за время самой медленной стадии

Слайд 14


Пример конвейерной обработки В платформе P5 4 стадии конвейера IEEE сложение 6 стадий Сравнение порядков Нормализация Сложение мантисс Нормализация...
Описание слайда:
Пример конвейерной обработки В платформе P5 4 стадии конвейера IEEE сложение 6 стадий Сравнение порядков Нормализация Сложение мантисс Нормализация результата Проверка на исключительную ситуацию Округление При большом количестве входных данных можно получить ускорение в 4-10 раз

Слайд 15


Пример ускорения за счет конвейерной обработки loop unrolling Цикл - разные операции for (i=0; i
Описание слайда:
Пример ускорения за счет конвейерной обработки loop unrolling Цикл - разные операции for (i=0; i

Слайд 16


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

Слайд 17


Пример суперскалярной обработки (a+jb)*(c+jd)=ac-bd+j(bc+ad) Операции (10 последовательных операций) Загрузка a в регистр Загрузка b в регистр...
Описание слайда:
Пример суперскалярной обработки (a+jb)*(c+jd)=ac-bd+j(bc+ad) Операции (10 последовательных операций) Загрузка a в регистр Загрузка b в регистр Загрузка c в регистр Загрузка d в регистр ac bd ac-bd bc ad bc+ad

Слайд 18


Векторная обработка Функциональное устройство обрабатывает последовательно по одной инструкции Инструкции могут быть векторными – одна инструкция...
Описание слайда:
Векторная обработка Функциональное устройство обрабатывает последовательно по одной инструкции Инструкции могут быть векторными – одна инструкция сразу обрабатывает массив данных Массивы хранятся в векторных регистрах Операции с двумя векторными регистрами можно выполнить с помощью одной команды

Слайд 19


Пример векторной обработки Сложение двух массивов a[i]+b[i]=c[i] Последовательный вариант c[1]=a[1]+b[1] c[2]=a[2]+b[2] …. c[N]=a[N]+b[N] Порядка 4N...
Описание слайда:
Пример векторной обработки Сложение двух массивов a[i]+b[i]=c[i] Последовательный вариант c[1]=a[1]+b[1] c[2]=a[2]+b[2] …. c[N]=a[N]+b[N] Порядка 4N операций Загрузка 2N Сложение N Присвоение N

Слайд 20


Векторно-конвейерная обработка Конвейер очень эффективен для векторных операций c[]=a[]+b[] Процессор всегда работает эффективно для длинных...
Описание слайда:
Векторно-конвейерная обработка Конвейер очень эффективен для векторных операций c[]=a[]+b[] Процессор всегда работает эффективно для длинных последовательностей одинаковых операций

Слайд 21


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

Слайд 22


Intel Pentium Суперскаляр 2 целочисленных конвейера 1 с плавающей точкой Конвейер 5 стадий pre-fetch (PF), Decode stage 1(D1), Decode stage 2 (D2),...
Описание слайда:
Intel Pentium Суперскаляр 2 целочисленных конвейера 1 с плавающей точкой Конвейер 5 стадий pre-fetch (PF), Decode stage 1(D1), Decode stage 2 (D2), Execute (E), and Write back (WB). 2 целочисленных операции за такт

Слайд 23


Intel Pentium III Reordering – перестановка порядка выполнения SSE – streaming SIMD extension 1-2 FPU операции
Описание слайда:
Intel Pentium III Reordering – перестановка порядка выполнения SSE – streaming SIMD extension 1-2 FPU операции

Слайд 24


Intel Pentium 4 Кэш декодированных инструкций Увеличение количества стадий конвейера да 20 SSE2
Описание слайда:
Intel Pentium 4 Кэш декодированных инструкций Увеличение количества стадий конвейера да 20 SSE2

Слайд 25


MMX, SSE, SSE2, SSE3 MMX – multimedia extension 8 64-х битных векторных регистра (4 элемента вектора) для операций с целыми числами Нельзя...
Описание слайда:
MMX, SSE, SSE2, SSE3 MMX – multimedia extension 8 64-х битных векторных регистра (4 элемента вектора) для операций с целыми числами Нельзя использовать совместно с FPU SSE – streaming SIMD extension 8 128-и битных векторных регистра (4 элемента вектора) для операций с плавающей точкой одинарной точности Можно использовать совместно с MMX SSE2 Добавлены инструкции для интерпретации каждого регистра как 2 значения типа double SSE3 Добавлены операции с комплексными числами и др.

Слайд 26


Как работают SIMD расширения Данные записываются в векторные регистры Вызывается одна инструкция для выполнения операции с этими регистрами В...
Описание слайда:
Как работают SIMD расширения Данные записываются в векторные регистры Вызывается одна инструкция для выполнения операции с этими регистрами В зависимости от команды данные интерпретируются как байты, слова, float, double Операция выполняет с помощью векторно-конвейерной обработки

Слайд 27


Hyperthreading В суперскалярных процессорах с большим количеством стадий конвейера (Pentium 4, Xeon) на практике используется только 15% процентов...
Описание слайда:
Hyperthreading В суперскалярных процессорах с большим количеством стадий конвейера (Pentium 4, Xeon) на практике используется только 15% процентов функциональных элементов, остальные простаивают Для того, чтобы загрузить неиспользуемые стадии конвейеров было предложено на тех же функциональных элементах выполнять два потока команд Эта технология называется Hyperthreading или Jackson Technology Такие процессоры в системе видятся как два

Слайд 28


Когда Hyperthreading эффективен? Эффективен Более эффективная обработка прерываний Более эффективный ввод/вывод (дисковый, сетевой) Подкачка страниц...
Описание слайда:
Когда Hyperthreading эффективен? Эффективен Более эффективная обработка прерываний Более эффективный ввод/вывод (дисковый, сетевой) Подкачка страниц (работа в условиях нехватки памяти) Запуск приложений Отображение на память Более эффективное одновременное выполнение различных задач MIMD, MISD многопоточность Более эффективное использование кэша Не эффективен Одновременное выполнение одинаковых задач SIMD многопоточность (математика) При малом объеме кэша

Слайд 29


RISC процессоры RISC – reduced instruction set Уменьшение количества сложных инструкций За счет этого увеличение производительности Особенности...
Описание слайда:
RISC процессоры RISC – reduced instruction set Уменьшение количества сложных инструкций За счет этого увеличение производительности Особенности Увеличено количество регистров Увеличение количества конвейеров и простых стадий конвейеров Операции с памятью только чтение/запись Вся ответственность за оптимизацию ложится на компилятор Сложные операции выполняются медленно, но их мало CISC – complex instruction set Увеличение количества сложных инструкций Особенности Увеличение количества сложных функциональных устройств Больше инструкций для работы с памятью Меньше регистров Повышение «интеллектуальности» процессора Компилятор должен учитывать особенности процессора Сложные операции выполняются быстрее, но их меньше

Слайд 30


Характеристики UP процессоров Тактовая частота Количество операций за один такт Обычно 1-3 Производительность – количество операций в секунду...
Описание слайда:
Характеристики UP процессоров Тактовая частота Количество операций за один такт Обычно 1-3 Производительность – количество операций в секунду Пиковая: теоретически максимально-возможная Измеренная: измеренная определенным тестом

Слайд 31


Единицы производительности MIPS - миллион инструкций в секунду Характеристика для сравнения производительности разных процессоров FLOPS – количество...
Описание слайда:
Единицы производительности MIPS - миллион инструкций в секунду Характеристика для сравнения производительности разных процессоров FLOPS – количество операций с плавающей точкой в секунду Характеристика производительность при решении прикладных задач MFLOPS, GFLOPS, TFLOPS, PFLOPS

Слайд 32


Пиковая производительность Максимально теоретически возможная Наиболее точная характеристика процессора
Описание слайда:
Пиковая производительность Максимально теоретически возможная Наиболее точная характеристика процессора

Слайд 33


Пример расчета пиковой производительности Intel Xeon 2 операции с числами с плавающей точкой двойной точности (double) за одни такт Тактовая частота...
Описание слайда:
Пример расчета пиковой производительности Intel Xeon 2 операции с числами с плавающей точкой двойной точности (double) за одни такт Тактовая частота 2.4 ГГц R=2*2.4 = 4.8 GFLOPS Пиковой производительности достичь тяжело

Слайд 34


Измеренная производительность Измеренная производительность зависит от задачи Процессор эффективен только для определенных последовательностей команд...
Описание слайда:
Измеренная производительность Измеренная производительность зависит от задачи Процессор эффективен только для определенных последовательностей команд Для некоторых задач будет эффективнее одна система, а для некоторых другая Стандартные тесты hpl NAS

Слайд 35


Как использовать возможности параллельной обработки UP систем Машинные инструкции необходимо выполнять в оптимальной последовательности Компилятор...
Описание слайда:
Как использовать возможности параллельной обработки UP систем Машинные инструкции необходимо выполнять в оптимальной последовательности Компилятор должен учитывать особенности процессора

Слайд 36


Симметричные многопроцессорные системы (SMP) Несколько полностью эквивалентных процессоров, которые работают с общей памятью и подключены к общей шине
Описание слайда:
Симметричные многопроцессорные системы (SMP) Несколько полностью эквивалентных процессоров, которые работают с общей памятью и подключены к общей шине

Слайд 37


Особенности Преимущества Параллелизм на уровне процедур Многопоточные программы Быстрая обработка прерываний Повышение производительности...
Описание слайда:
Особенности Преимущества Параллелизм на уровне процедур Многопоточные программы Быстрая обработка прерываний Повышение производительности ввода/вывода Сложности Обеспечение синхронизации при обращениях к общей памяти Обеспечение когерентности кэшей Перестановка операций разными процессорами Увеличение количества существенно последовательных операций, таких как передача по общей шине Снижение эффективности при увеличении количества процессоров

Слайд 38


Синхронизация при обращениях к общей памяти При обращениях к общей данным возможны конфликты чтения-записи Результат двух одновременных операций...
Описание слайда:
Синхронизация при обращениях к общей памяти При обращениях к общей данным возможны конфликты чтения-записи Результат двух одновременных операций чтения и записи или двух одновременных операций записи не определен Две операции чтения могут выполняться одновременно

Слайд 39


Синхронизация Атомарные операции Неделимые операции – если выполняется атомарная операция с некоторыми данными, то другая атомарная операция с этими...
Описание слайда:
Синхронизация Атомарные операции Неделимые операции – если выполняется атомарная операция с некоторыми данными, то другая атомарная операция с этими данными одновременно с первой выполняться не может Осуществляется специальными машинными инструкциями или блокировками incl i Спин-блокировка Программынй код, который периодически в цикле проверяет условие доступности общей переменной Спин-блокировка самый быстрый тип блокировки, но тратит процессорное время

Слайд 40


Использование блокировок Процессор 1 Захват блокировки, ждем если уже захвачена Критический участок: обращение к совместно используемым данным...
Описание слайда:
Использование блокировок Процессор 1 Захват блокировки, ждем если уже захвачена Критический участок: обращение к совместно используемым данным Освобождение блокировки

Слайд 41


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

Слайд 42


Обеспечение когерентности кэшей Общий кэш Несколько процессоров имеют общий кэш и все данные в кэше синхронизированы Перехват (мониторинг шины, bus...
Описание слайда:
Обеспечение когерентности кэшей Общий кэш Несколько процессоров имеют общий кэш и все данные в кэше синхронизированы Перехват (мониторинг шины, bus snooping) При любых обращениях к данным по шине система мониторинга определяет какой процессор прочитал какие данные и нет ли соответствующих данных в кэше другого процессора, если есть, то возвращает их Каталог кэшей (cache directory) Обращения к памяти выполняются через каталог, в котором хранится информация о том, какие данные хранятся в кэше какого процессора Через каталог выполняется передача информации

Слайд 43


Перестановка порядка выполнения ввода-вывода Перестановка порядка Современные процессы могут переставлять местами операции чтения записи или...
Описание слайда:
Перестановка порядка выполнения ввода-вывода Перестановка порядка Современные процессы могут переставлять местами операции чтения записи или Компилятор может сохранять копии данных в регистрах и тоже переставлять порядок Перестановки порядка выполнения разными процессорами может привести к записи в память неправильных данных Отсрочка операции записи может привести к неправильной работе программ на разных процессорах На однопроцессорной системе такого произойти не может

Слайд 44


Барьеры Барьер – вид блокировки, который гарантирует, что все операции, которые идут до барьера гарантированно выполнятся после перехода через барьер...
Описание слайда:
Барьеры Барьер – вид блокировки, который гарантирует, что все операции, которые идут до барьера гарантированно выполнятся после перехода через барьер Барьер памяти Барьер чтения Барьер записи Обычно используется специальная машинная инструкция

Слайд 45


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

Слайд 46


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

Слайд 47


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

Слайд 48


Практические SMP системы Обычно до 8 процессоров Alpha до 64 процессоров Наиболее эффективные 2-4 процессора
Описание слайда:
Практические SMP системы Обычно до 8 процессоров Alpha до 64 процессоров Наиболее эффективные 2-4 процессора

Слайд 49


Оптимизация Существуют компиляторы с автораспараллеливанием OpneMP pthread SysV SHM, SEM
Описание слайда:
Оптимизация Существуют компиляторы с автораспараллеливанием OpneMP pthread SysV SHM, SEM

Слайд 50


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

Слайд 51


Вопросы ?
Описание слайда:
Вопросы ?



Похожие презентации
Mypresentation.ru
Загрузить презентацию