Анализ и моделирование производительности трафаретных вычислений на мультипроцессоре Константин Калгин kalgin@ssd.sscc.ru Институт Вычислительной Математики.

Презентация:



Advertisements
Похожие презентации
Летняя школа по параллельному программированию 2012 Название проекта: Клеточно-автоматное моделирование синхронного режима разделения фаз с помощью MPI.
Advertisements

Система автоматизации распараллеливания: отображение на мультипроцессор Выполнил: студент 528 группы Лойко Михаил Юрьевич Научный руководитель: профессор,
Смешанная модель параллельных вычислений OpenMP&MPI в программе газовой динамики Быков А.Н., Жданов А.С. (РФЯЦ-ВНИИЭФ, Россия) 17 мая 2013 г.
Эффективная параллельная реализация асинхронных клеточно-автоматных алгоритмов Калгин Константин ИВМиМГ СО РАН
Интернет Университет Суперкомпьютерных технологий Лекция 1 Основные понятия Учебный курс Введение в параллельные алгоритмы Якобовский М.В., д.ф.-м.н. Институт.
Многопоточное программирование в OpenMP Киреев Сергей ИВМиМГ.
Выполнил студент группы А Буренков Сергей Александрович. Научный руководитель к.т.н., доцент Шамаева Ольга Юрьевна. ОРГАНИЗАЦИЯ И ИССЛЕДОВАНИЕ ПАРАЛЛЕЛЬНО-ПОСЛЕДОВАТЕЛЬНЫХ.
Система автоматизации распараллеливания: DVM-эксперт Блюменберг Э.П. 528 Научный руководитель: профессор В.А. Крюков.
Клеточно-автоматные модели диффузионного процесса Участники проекта: Кузнецов Дмитрий, Михайлов Александр, Спешилов Константин. Руководитель: Медведев.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Томский политехнический университет.
Метод Годунова для численного моделирования газодинамических течений Титов Павел Андреевич Куликов Игорь Михайлович Терёшин Илья Дмитриевич.
Московский государственный университет им.М.В.Ломоносова Институт вычислительной математики РАН Воеводин В.В., Воеводин Вл.В. СУПЕРВЫЧИСЛЕНИЯ:
Разработка 4-х канального контроллера оперативной памяти DDR3 SDRAM с интерфейсом AXI Студент: Кожин А.С., ФРТК, 515 гр. Научный руководитель: д.т.н.,
Оптимизация алгоритмов сигнальной обработки для процессоров с архитектуройЭльбрус Московский Физико-Технический Институт Автор : Павлов Антон Научный руководитель.
Кафедра ЮНЕСКО по НИТ1 Эффективность и ускорение параллельных программ параллельное программирование.
ПАРАЛЛЕЛЬНАЯ ФИЛЬТРАЦИЯ ИЗОБРАЖЕНИЙ Фурсов В.А., Попов С.Б. Самарский научный центр РАН, Самарский государственный аэрокосмический университет, Институт.
Интернет Университет Суперкомпьютерных технологий Отладка эффективности OpenMP- программ. Учебный курс Параллельное программирование с OpenMP Бахтин В.А.,
1 МФТИ Потери производительности Параллельные алгоритмы Якобовский Михаил Владимирович д.ф.-м.н. Институт математического моделирования РАН, Москва.
«МЭС 2014»1 Аппаратное ускорение цифрового моделирования Зайцев Виктор Сергеевич Белорусский государственный университет Кафедра математической.
Технология Фрагментированного Программирования Летняя школа по параллельному программированию Отдел МО ВВС ИВМиМГ СО РАН 2009 г.
Транксрипт:

Анализ и моделирование производительности трафаретных вычислений на мультипроцессоре Константин Калгин Институт Вычислительной Математики и Математической Геофизики лаборатория Синтеза Параллельных Программы

Трафаретные вычисления Stencil computations Явная разностная схема Синхронный клеточный автомат

Типичный график эффективности (размер задачи не изменяется) E p = T 1 / (T p * p) Накладные расходы (коммуникации, сеть) Суперлинейное ускорение «Попадаем» в кэш Слишком малый домен Большие накладные расходы III «Пожелания»

Постановка задачи Проанализировать и построить модель производительности трафаретных вычислений для ccNUMA архитектур в случае, когда домен помещается в кэш ( зона II) T = T seq + T bar + T comm Тестирование : Intel Westmere (2 x 6 ядер ) nks30t, SL_q Intel SandyBridge (2 x 8 ядер ) mvs1p1 Вычислительные схемы 2D: 5- и 9- точечные невзвешенные и взвешенные средние float и double

Общие условия замера времени На каждом ядре запускается счёт это выравнивает частоту ядер ( TurboBoost) Перед замерами времени 0.5 с процессор работает вхолостую это выравнивает частоту (SpeedStep) Время измеряется в тактах rdtsc наиболее точный таймер имеет минимальные накладные расходы В качестве результата берётся среднее по 1000 запускам отсеиваются значения на 50% превосходящие минимум это позволяет минимизировать влияния системных прерываний Компиляция : icpc -O3 -march=native -fno-inline -unroll0

Последовательная реализация A - время вызова процедуры, реализующей итерацию B - время, затрачиваемое на переход с одной строки домена на другую ( двумерная область ) С - время обработки одного узла домена T seq (x,y) = A + By + Cxy ~10ns ~2ns ~0.5-2ns

Барьер Замер времени : последовательная реализация + барьер, без коммуникаций/копирований Типы барьера : OpenMP (#pragma omp barrier) Ожидания на volatile переменных Локальная синхронизация ( не барьер ) + ещё много вариантов ( иерархический, атомарные операции, потоковая запись ) тестируется на студентах в рамках курса « Эфф. прогр. мультипроцессоров » 500 | | | 250 ns

Latency,Westmare, Intel Свой кэш Свой сокет Чужой сокет

Границы (5nbh,a=0,float) private shared private shared y y x 60 | ns 3 | ns 0.8 | ns 60 | ns 0.4 | 1.5 L | 0.8 L2-L3 x xx

Заключение Построенная модель позволяет описывать время исполнения последовательной реализации с точностью 2-3% Традиционно используемый барьер встроенный в OpenMP достаточно медленный и даёт существенный вклад на малых доменах (L1), полученная реализация работает в пять ( L1) и в два ( L2/L3) раз быстрее Построена модель времени межъядерного взаимодействия на границах доменов, выявлены оптимальные способы деления счетной области (shared/private) Дальнейшие планы Расширить модель до MPI версии ( между узлами ) Автоматизировать получение оптимального деления на домены Сравнить производительность с типовыми реализациями OpenMP/MPI