2011 Суперкомпьютерные технологии (Попова) (1186088)
Текст из файла
Суперкомпьютерныетехнологии.Лекционно-практический курсдля студентов 5 курса факультета ВМиК МГУоктябрь – декабрь 2011 г.Лекция 17 октября 2011 г.Н.Н. Поповадоцент кафедры АСВКpopova@cs.msu.suПлан лекции• Учебный план курса• Содержание и требования квыполнению практических заданий• Обзор технологий ПП, необходимыхдля выполнения заданий• Архитектура ВС pSeries 690 Регатта• Архитектура и программноеобеспечение ВС BlueGene/PУчебный планЛекции, семинары, выполнение практических заданий•Итоговая оценка: зачет• Форма отчетности: отчет в электронном виде.• Лекции - Обзор суперкомпьютерных систем и программныхтехнологий.с 7 октября по 28 октября• Семинарские занятияс 10 октября 2011 г.• Выполнение практических заданий на высокопроизводительныхсистемах:- IBM pSeries 690 Регатта (www.regatta.cs.msu.su)- IBM BlueGene/P (hpc.cmc.msu.ru )- «Ломоносов» (parallel.ru/cluster)Список TOP500 (Июнь, 2011 г.)Содержание курса• Лекции - Обзор суперкомпьютерных систем и технологийпараллельного программирования.Тема 1.
7 октября : «Архитектура и ПО ВС Регатта и BlueGene/P»Н.Н.ПоповаТема 2. 14 октября: «Архитектура и программное обеспечениесуперкомпьютера «Ломоносов»» А.КоржТема 3. 21 октября: «Технология OpenMP, гибридноеMPI/OpenMP программированине»В.А.Бахтин28 октября: «Технология OpenMP, гибридноеMPI/OpenMP программированине» Продолжение. В.А.Бахтин• Семинарские занятия – обсуждение и сдача практическихзаданий- с 10 октября 2011 г.- см. расписание компьютерных классовПримерный план семинарских занятий• 10 - 22 октября – выдача заданий, логинов, Регатта• 24 октября – 2 ноября – выполнение заданий на BlueGene/P• 2 ноября – 30 ноября – «Ломоносов»• 1 – 20 декабря– оформление и сдача отчетовПрактические задания.Базовое задание.•••••••Тема: Исследование эффективности решения систем линейныхуравнений Ax = b на параллельных ВС.Дано: матрица A, правая часть – вектор bТребуется:на основе представленной MPI-реализации параллельнойпрограммы провести оптимизацию параллельного алгоритма иисследовать его эффективностьВарианты методов: метод сопряженных градиентов, методсопряженных градиентов с предобусловливателем Якоби, методЯкоби, метод Гаусса-Зейделя, метод ГауссаДля каждого из вариантов базовая параллельная программа задаетсяпри выдаче задания.Требование к зачету: реализация задания нв вычислительныхсистемах IBM pSeries690 Регатта, BlueGene/P и «Ломоносов»Форма отчетности по курсу – отчет, представленный в электронномвиде, с контрольной сдачей отчета преподавателям.
Вместе сотчетом должны быть представлены тексты параллельныхпрограммИнформационные ресурсы позаданию• Методические материалы, инструкции:http://angel.cs.msu.su/~popova• Исходные тексты, методические материалы:regatta.cs.msu.su/~popova/SuperComp2011assignment1.tar.gz, assignment2.tar.gz, …Рекомендации по выполнению заданий• Оптимизация программ с использование оптимизирующихвозможностей компиляторов (анализ и настройкасоответствующих опций компиляторов).• Оптимизация с использованием расширенного набора MPIфункций (использование асинхронных передач,коллективных операций обмена, совмещенных операций идр.)• Гибридное MPI/OpenMP программирование cиспользованием директив OpenMP в MPI-программах.Также:• Модификация параллельного алгоритма• Использование библиотечных функций (BLAS, ESSL,PESSL,MKL, Lapack)• Разработка параллельной программыИсследование эффективности• Ускорение S• Эффективностьη• Пусть: T1 - время выполнения наилучшего последовательногоалгоритма,Tn – время выполнения параллельной программы на nпроцессорахT1S=TnT1Sη==nTn nГрафическое представление ускоренияГрафик эффективностиОбзор технологийпараллельногопрограммирования,необходимых для выполнениязаданийПО для выполнения задания (1)• Утилиты ОС для выхода удаленные машигныssh (UNIX-подобные системы)putty, WinSCP – Windows• Компиляция программ:xlc (IBM), icc (Intel), gccСкрипты для компиляции MPI- программmpicc - Регаттаmpixlc – BlueGene/P (MPI)mpixlc_r – BlueGene/P (MPI+OpenMP)mpicc, mpiicc – «Ломоносов»ПО IBM для выполнения задания (2)• Системы управления заданиями:LoadLeveler – IBM• Постановка задания в очередь на выполнениеmpisubmit– Регаттаmpisubmit.bg – BlueGene/Pllsubmit- BlueGene/P• Контроль за прохожлением задания:llq - LoadLevelerВычислительные системыp-series 690 Регатта••••••••16-процессорная SMP системаIBM Power4 процессоры1.3 GH - тактовая частота83 GFlops -максимальная производительность64 Gbytes ОЗУ32 KB L1 cache на процессор1.41 MB L2 cache (общий для 2-ух процессор.)128 MB L3 cache (общий для 8 процессоров)Архитектура IBM pSeries690 Regatta/Архитектура IBM pSeries690 Regatta.Процессор POWER4.IBM компиляторыПосл.MPIOpenMPMixedFortran 77xlfmpxlfxlf_rFortran 90xlf90mpxlf90xlf90_r mpxlf90_rFortran 95xlf95mpxlf95xlf95_r mpxlf95_rCccmpcccc_rmpcc_rxlcmpxlcxlc_rmpxlc_rxlCmpCCxlC_rmpCC_rC++mpxlf_rОпции компиляторов• Уровни оптимизации-Oбазовая оптимизация-O2то же, что -O-O3более агрессивная оптимизация-O4еще более агресcивнаяоптимизация: межпроцедурный анализ(IPA) , оптимизация с учетомособенностей архитектуры-O5агрессивный IPAIBM компиляторы (1)• -q64– если надо больше, чем 2GB– Просто увеличивает адресноепространство– -O5 -qarch=pwr4 -qtune=pwr4 и– -O3 (-qhot) -qarch=pwr4 -qtune=pwr4IBM компиляторы (2)• При использовании O3 или нижерекомендуется оптимизация подархитектуру (выполняетсяавтоматически для -O4 и -O5):-qarch=autoоптимизация под архитектуру-qtune=autoоптимизация под процессор-qcache=auto оптимизация под кэшОбщие рекомендации• Профилировка для определения hot spots (gprof)• Для ключевых функций – возможность замены набиблиотечные вызовы (ESSL)• Настройка опций компиляторов• Использование MASS & MASSV библиотек• Inlining часто используемых небольших функций• Ручная настройка программы:- оптимизация доступа к памяти- оптимизация использования сопроцессоров ифункциональных устройств- оптимизация I/OОпции компилятора для OpenMP• _r суффикс для имени компиляторовнапример, xlc_r• –qsmp=omp флаг– указание компилятору интерпретироватьOpenMP директивы• Автоматическое распараллеливание-qsmp– имеет смысл использоватьOpenMP• Автоматическое распараллеливание-qreport=smplist• Исходный текст• mycode.lst• Информация о распараллеленных циклах• Размер стека– По умолчанию 4 MB– Может быть увеличенаsetenv XLSMPOPTS $XLSMPOPTS\:stack=sizeгде size – размер в байтахМатематическая библиотека (1)• MASS library– Mathematical Acceleration SubSystem• sqrt, rsqrt, exp, log, sin, cos, tan, atan,atan2, sinh, cosh, tanh, dnint, x**y• Fortran и CМатематическая библиотека (2)• Опции:Fortran:C:-lmass-lmass -lm• Ускорение:explogsincomplex atan2.41.62.24.7Математическая библиотека (3)• Использование векторизованных функций– Требует незначительных изменений впрограмме– не переносимы– Дают хороший результат• Линковка с использованием –lmassv• Вызов функций:– Префикс к именам функций• vs для 4-byte вещественных чисел (singleprecision)• v для 8-byte вещественных чисел (doubleprecision)Математическая библиотека (4)• пример: одинарная точностьcall vsexp(y,x,n)– x вектор длины n– Y вектор длины n• ускорениеexplogsincomplex atan4-byte9.712.310.016.78-byte6.710.49.816.5LoadLeveler- Система управления заданиями на многопользовательскихсистемах, состоящих из нескольких вычислительных узлов- Оптимизирует использование имеющихся вычислительныхресурсов• Учет приоритета задач и пользователей• Динамическое распределение ресурсов• Допускается использование разнородныхвычислительных узлов• Используется для запуска как последовательных, так ипараллельных задач- Пользователь формулирует задания в виде командных файлов- Поддерживает очередь заданийОсновные команды LoadLeveler (1)llsubmit – постановка задачи в очередьПример:popova@regatta:~/SuperComp2011/assignment5$ llsubmit job.cmdllsubmit: The job "regatta.hpc.47739" has been submitted.mpisubmit – скрипт постановки в очередь MPI-программllq – просмотр текущего статуса очередиllcancel – удаление задачи из очередиОсновные команды LoadLeveler (2)Дополнительные команды(скрипты) LoadLevelerАвтоматически составляют командные файлы дляMPI и OpenMP задачompsubmit –n 4 –w 00:10:00 myprogmpisubmit –n 4 –w 00:10:00 myprogСхема выполнения заданий на системе Regatta••••••••Выход на удаленную систему.ssh –X ivanov@regatta.cs.msu.suКопирование файлов с заданием в текущий каталогcp ~popova/SC_2011/assignment_1.tar.gz .Распаковка архиваgzip –d assignment_1.tar.gztar –xvf assignment_1.tarКомпиляция программыmpicc –o ass1 cg.cПостановка в очередь на выполнениеmpisubmit –w 10:00 –n 8 ass1Просмотр состояния очередиllqУдаление задания из очереди в случае необходимостиllcancel <id>Копирование результатов на локальную машину.Материалы лекции• http://angel.cs.msu.su/~popova• www.ibm.com/software/awdtools/xlcpp/library/• IBM POWER4, IBM Journal of Research andDevelopment(Vol.
46, No. 1, Jan. 2002),www.research.ibm.com/journal/rd46-1.html• www.redbooks.ibm.comThe POWER4 Processor.Introduction and TuningGuide,SG24-7041-00, Nov. 2001http://www.mhpcc.edu/training/workshop/loadleveler/MAIN.htmlhttp://www.redbooks.ibm.com/abstracts/sg246038.htmlhttp://www.hlrn.de/doc/quickstart/qs_loadl.htmlАрхитектура и программное обеспечениемассивно-параллельной вычислительнойсистемыIBM Blue Gene / Phttp://hpc.cs.msu.suДополнительная информация на сайтеИстория проекта Blue Gene Blue Gene/L–Начинался как массивно-параллельный компьютер дляизучения фолдинга белков–Первый прототип был собран в 2004 г.– занял первую строчку в Top 500 с производительностью в 70.72Тфлоп/с–2-х ядерный чип Blue Gene/P–Продолжение линейки Blue Gene–Увеличена частота процессора и объем памяти–4-х ядерный чип–Самая большая система на основе Blue Gene/P установлена вГермании (JUGENE)– 1 Пфлоп/с пиковая, 825 Тфлоп/с реальная Blue Gene/Q–Ожидается в 2011 году, производительность ~20 Пфлоп/с–8-ядерный чип38Общая характеристика систем Blue GeneМассивно-параллельные системы сраспределенной памятьюВысокая плотность упаковки••–процессоры с низким энергопотреблением (40 W ~лампочка)Высокопроизводительный интерконект•–несколько комутационных подсистем для различныхцелейУльтра легкая ОС•–выполнение вычислений и ничего лишнегоСтандартное ПО Standard software•–Fortran/C/C++ и MPIBlue Gene/P1 стойка• 1024 четырехъядерных вычислительных узлов• 13.6 GF/s - производительность одноговычислительного узла• 13.9 Tflops - производительность 1 стойки• 2 GB - оперативная память одного узла• 2 TB - суммарная оперативная память• 8 узлов ввода/вывода• Размеры - 1.22 x 0.96 x 1.96• занимаемая площадь 1.17 кв.м.• энергопотребление (1 стойка) - 40 kW (max)BlueGene/P факультета ВМиК• пиковая производительность 27.8 Tflop/s• 2 стойки• 2048 4-ех ядерных узлов• общий объем ОЗУ 4 TB• http://hpc.cs.msu.ruКомпоненты Blue Gene/P• Основная единица – четырехядерный вычислительныйузел, ядро – PowerPC 450 850Mhz + память (2GB)• Плата = 32 вычислительных узла + до 2х узлов вводавывода• Стойка – 32 платы• Итоговое число ядер на стойку - 4096Характеристики вычислительного узла• 4 ядерный 32-битный процессор PowerPC 850Мгц– Двойное устройство для работы свещественными числами с плавающей точкой(double precision)– 2 Гб памяти– Работает под управлением облегченной ОС• Создание процессов и управление ими• Управление памятью• Отладка процессов• Ввод-вывод– Объем виртуальной памяти равен объемуфизической44Характеристики вычислительного узла– 3 режима использования ядер• SMP: 1 MPI процесс из 4SMP нитей, 2 Гб памяти• DUAL: 2 MPI процесса по2 SMP нити, 1 Гб памяти наMPI процесс• VNM: 4 MPI процесс45Компоненты Blue Gene/P• Помимо вычислительных узлов, в состав системы такжевходят:– узлы ввода-вывода– узел управления системой– не менее одного узла front end (через них осуществляетсядоступ пользователей к системе)– сеть, связывающая компоненты системы– специализированная сеть для сообщения междусервисным узлом и узлами ввода-выводаBlueGene/PServiceNode(Database)Blue GeneRacksFront End(login)Коммуникационные сети 3-мерный тор– Виртуальная аппаратная маршрутизация безбуферизации– 3.4 Гбит/с на всех 12 портах (5.1 ГБ/с наузле)– Аппаратные задержки: 0.5 мс междусоседними узлами, 5 мс между самымидалекими– Основная коммуникационная сеть–Используется в том числе для многихколлективных операций Коллективная сеть – дерево– Для глобальной коммуникации один-ко-всем(broadcast, reduction)– 6.8 ГБ/с на порт– Соединяет все вычислительные узлы и узлыввода-вывода– Используется для коллективных операций икоммуникатора MPI_COMM_WORLD Высокоскоростная сеть для глобальныхпрерываний– Для MPI_Barrier48Память• Оперативная память – до 2GB на вычислительный узел,пропускная способность 13.6GBps• Трёхуровневый кэш:– L1 – отдельный для каждого ядра, размер 32Kb– L2 – отдельный для каждого ядра, используется дляпредварительной выборки информации из кэша L1.Считывает\записывает по 16b за одно обращение.– L3 – разделен на две части по 4MB, доступ к ним имеют всечетыре ядра, для каждого есть канал чтения и каналзаписи.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.