SlideShare a Scribd company logo
1 of 88
Суперкомпьютеры и КПД паровоза Вл.В.Воеводин Заместитель директора НИВЦ МГУ, член-корреспондент РАН, [email_address] Всероссийская молодежная школа “ Суперкомпьютерные технологии и высокопроизводительные вычисления в образовании, науке и промышленности ” ННГУ – 31   октября 2009 г.
 
[object Object],[object Object],Компьютер  NEC “Earth Simulator” , 2002г. ( #1 Top500  в  2003-2005  г.)
[object Object],[object Object],[object Object],[object Object],Компьютер  IBM Blue Gene ( #1 Top500  в  200 7 г.)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Компьютер  IBM “RoadRunner” ( #1 Top500  в  2008-2009  г.)
Характеристики суперкомпьютеров    IBM RoadRunner, 6562 AMD Opteron DC + 12240 IBM Cell, 1105 Tflop/s,  ОП = 98  TB    SGI Altix Ice 8200, 51200 CPUs, Intel Xeon 2.66 GHz QC,  487 Tflop/s,  ОП =  51   TB , диски = 900  TB    IBM Blue Gene,  212992 CPUs, PowerPC 440,  478 Tflop/s,  ОП =  74 TB    Cray XT4, 38642 CPUs, AMD Opteron 2.3 GHz QC,  266 Tflop/s,  ОП =  77 TB,  диски  =  340 Т B
 
Эффективность работы компьютера. Что это? Пиковая производительность компьютера ,   R peak Реальная производительность , R max   число операций   в программе время работы компьютера R max  = Эффективность  = R max R peak
Производительность компьютеров. Тест  Linpack Тест  Linpack –  решение системы линейных алгебраических уравнений с плотной матрицей. 1. Матрица 100*100, фиксированный текст программы. 2.  Linpack TPP:  матрица 1000*1000, можно менять метод и  текст программы. Сложность  :   2n 3 /3+2n 2 . 3 .  High Performance Linpack:  матрица любого размера, множество дополнительных параметров.
http://www.top500.org
Top500  ,  Linpack , эффективность
N max  –  размер задачи, на которой достигается   максимальная реальная производительность  R max   N half  –  размер задачи, на которой достигается половина максимальной производительности  R max /2   Эффективность работы компьютеров
Что снижает эффективность работы реальных компьютеров?
FPGAs GP-GPU Cell … … Векторные Многоядерные Классические Компьютеры с общей памятью ( SMP ) Компьютеры с распределенной памятью Распределенные вычислительные среды Высокопроизводительные  компьютерные системы
Компьютеры с общей памятью ( Hewlett-Packard Superdome ) ,[object Object],[object Object],[object Object],[object Object]
Причины снижения производительности компьютеров с общей памятью ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Закон Амдала где:   –  доля последовательных операций, p  – число процессоров в системе.  S   ≤   1    +   (1 –   ) p S  1 
Сбалансированность вычислительной нагрузки процессоров 4 процессора 16 процессоров 64 процессора 1 3 4 2 1 3 4 2 1 2
Компьютеры с распределенной памятью (семейство  Cray XT ) Используемые процессоры: T3D/T3E – DEC ALPHA , XT3/XT4/XT5 – AMD Opteron. Топология коммуникационной сети: трехмерный тор. Семейство:  T3D, T3E, T3X, XT3, XT4, XT5 Cray T3D –  начало 90-х годов Cray XT5 –  на октябрь 2009 г. второе место в  Top500
Компьютеры с распределенной памятью (вычислительные кластеры) Возможность формирования архитектуры кластера с учетом характерных особенностей решаемых задач
Компьютеры с распределенной памятью (вычислительные кластеры) Латентность и пропускная способность сети – основные параметры коммуникационной сети кластеров
Что снижает производительность   компьютеров с распределенной памятью? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Топология  FatTree
Комплексная программа  приемо-сдаточных испытаний высокопроизводительных компьютеров!
Эффективность неоднородных системы ?
Графические процессоры и  HPC (http://gpu.parallel.ru)
Векторно-конвейерные компьютеры  ( Cray C90, NEX SX )
Векторно-конвейерные компьютеры  ( Cray C90, NEX SX )
Что снижает производительность   векторно-конвейерных компьютеров? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Что снижает производительность   векторно-конвейерных компьютеров? Производительность CRAY C90 на операции  a i  = b i +c i *d, n=1000 . Влияние конфликтов в памяти for( i = 0; i < n*k; i +=k) a[i] = b[i]+c[i]*d;
Что снижает производительность   векторно-конвейерных компьютеров? ( Влияние конфликтов в памяти ) Описание массива  X( 41 , 41 ,N)   Do i = 1, n Do j = 1, n Do k = 1, n X(i,j,k) = X(i,j,k) + P(k,i)* Y(k,j) Реальное описание массива:  X( 40 , 40 ,N) X(i,j,k)  X(i,j,k+1)   расстояние 40*40 = 1600 =  64 *25 . Решение? X(N 1 ,N 2 ,N 3 ) Фортран: хранение массивов  “ по столбцам ” : X(i,j,k)  X(i +1 ,j,k)   расстояние 1 , X(i,j,k)  X(i,j+1,k)   расстояние  N 1 , X(i,j,k)  X(i,j,k+1)   расстояние  N 1 *N 2 .   
Пользователь: почему? ,[object Object],[object Object],Производительность:  20  Mflop / s на Cray C90  do k = 1, 1000 do j = 1, 40 do i = 1, 40 A(i,j,k) = A(i-1,j,k)+B(j,k)+B(j,k)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Производительность:  700  Mflop / s на Cray C90  Пользователь: почему? do k = 1, 1000 do j = 1, 40 do i = 1, 40 A(i,j,k) = A(i-1,j,k)+B(j,k)+B(j,k)
Что снижает производительность   процессоров?
Высокая эффективность приложений ( Linpack, 2GB, 16GB )
Компьютерный дизайн лекарств ( Intel -fast,  исследование эффективности,  Clovertown 2.66GHz ) КПД процессора на задаче:  4 %  !!! Реальная производительность,  Mflops
Анализ эффективности программ
Процессорный полигон НИВЦ МГУ 15 серверов  Intel   (Pentium D, Xeon EMT,  Dempsey, Woodcrest, Clowertown … ), 6   серверов  AMD (Opteron single/dual/quad), 1 сервер  IBM (Power5), 22 сервера, 1-2  U 35 процессоров, 79 ядер 597 Гфлопс, 150 Гбайт ОП
Процессорный полигон НИВЦ МГУ –  набор тестов  “Stream”  +   компиляторы GNU Compilers, Intel Compilers ,  Portland Group Inc. Compilers, PathScale EKOPath Compiles Suite , Absoft Fortran. AMD Opteron 244 a i  = b i a i  = q * b i a i  = b i  + c i a i  = b i  + q * c i
Процессорный полигон НИВЦ МГУ –  набор тестов  “Stream”  +   компиляторы PathScale GNU Intel
Процессорный полигон НИВЦ МГУ –  анализ работы компиляторов
Опции компилятора  PGI   ( FLO52   benchmark, Mflops )
Искусство компиляции … Intel Xeon 5130, 2.0 GHz
АНАЛИЗ АЛГОРИТМИЧЕСКОГО ПОДХОДА    АНАЛИЗ СТРУКТУРЫ ПРИКЛАДНОЙ ПРОГРАММЫ    АНАЛИЗ ЭФФЕКТИВНОСТИ СИСТЕМ РАЗРАБОТКИ ПО    АНАЛИЗ ЭФФЕКТИВНОСТИ СИСТЕМНОГО ПО  АНАЛИЗ КОНФИГУРАЦИИ КОМПЬЮТЕРА Анализ эффективности программ    
Реальная производительность,  Mflops Анализ эффективности программ
АНАЛИЗ АЛГОРИТМИЧЕСКОГО ПОДХОДА    АНАЛИЗ СТРУКТУРЫ ПРИКЛАДНОЙ ПРОГРАММЫ    АНАЛИЗ ЭФФЕКТИВНОСТИ СИСТЕМ РАЗРАБОТКИ ПО    АНАЛИЗ ЭФФЕКТИВНОСТИ СИСТЕМНОГО ПО  АНАЛИЗ КОНФИГУРАЦИИ КОМПЬЮТЕРА Анализ эффективности программ    
 
Что влияет на производительность   узлов кластеров? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Производительность на базовых операциях Производительность,  Mflops
Масштабирование по частоте  CPU ? Производительность,  Mflops 2,66 1,6 X * =
Реальное масштабирование   на практике… Производительность,  Mflops
Реальное масштабирование   на практике… Clowertown   –   1 , 6 GHz 1 , 066 GHz Clowertown   –   2 , 66 GHz 1 , 333 GHz CPU   /   FSB –  это число тактов процессора на каждый такт работы системной шины: для  Clowertown 1,6 GHz  –  это  1 ,5  для  Clowertown 2,66 GHz   –  это  2 1,5  / 2  =  0 , 75  – замедление работы с памятью (2,66 / 1,6 ) * 0,75 = 1,24 – реальное ускорение   CPU     FSB
Теория и практика масштабирования Производительность,  Mflops
Эффективность, % КПД работы процессоров …
КПД работы процессоров …
Процессоры и массивы…
Умножение матриц ( параллельная структура и распределение данных ) Do i = 1, n Do j = 1, n Do k = 1, n A(i,j) = A(i,j) +  B(i,k) * C(k,j) End do End do End do B(i,k) C(k,j)
Умножение матриц ( Intel -fast, run-time,  перестановка циклов,  Woodcrest 2) Реальная производительность,  Mflops i,j,k i,k,j j,i,k j,k,i k,i,j k,j,i
Умножение матриц (перестановка циклов, сравнение с  i,j,k ) T ijk /T xyz
Сравнение компиляторов :   Intel  и  PGI (умножение матриц , PGI/Intel )
Простой пример. Исходный текст for (   i   =   1;   i   <   N;   i++)  {   for (   j   =   1;   j   <   N;   j++)  {   for (   k   =   1;   k   <   N;   k++) { DSUM [i][k] =  DSUM [i][k] + S[k]   *   A[k][j][i] + P[i][j]   *   A[k][j][i–1] +   P[i][k]   *   A[k][j–1][i] + P[j][k]   *   A[k–1][j][i];   }   } }
Простой пример. Эффект от преобразований (перестановка циклов, раскрутка , Intel  - fast )
Простой пример. Эффект от преобразований (перестановка циклов, раскрутка , PGI )
Сравнение компиляторов :   Intel  и  PGI (простой пример , PGI/Intel )
Выбор опций компилятора  Intel   (мезомасштабная модель атмосферы)
Выбор компилятора под задачу и платформу (компиляторы:  GNU, Intel, PGI,  задача:   вычислительная гидродинамика,  Flo52 )
Характеристики работы  программно-аппаратной среды ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Мониторинг работы программ (использование дисков)
Исследование динамических свойств программ
Исследование динамических свойств программ
Исследование динамических свойств программ
Исследование свойств программ
Сертификация эффективности  параллельных программ •  Эффективность последовательная •  Эффективность параллельная Объекты исследования: Задача – Алгоритм – Программа – Системное ПО – Компьютер  Необходимы методика, технологии и программные инструменты сертификации эффективности и для пользователей, и для администраторов больших машин Необходима развитая инфраструктура ПО для решения задачи отображения программ и алгоритмов на архитектуру современных вычислительных систем
Технологии эффективного программирования  Intel Компиляторы Intel (языки C/C++, Fortran77/Fortran90)  поддерживают и различные уровни оптимизации для 32-х и 64-х разрядных приложений в одном пакете, и технологию параллельного программирования OpenMP, что позволяет создавать эффективные программы для современных многоядерных процессоров.  С компиляторами поставляется символьный отладчик Intel Debugger, который может работать в режимах совместимости с gdb или dbx и интегрируется с такими графическими оболочками для отладки, как ddd, Eclipse, Allinea. Отладчиком поддерживаются как многонитевые приложения OpenMP, так и написанные с использованием интерфейса native threads. Порожденные нити автоматически попадают под контроль отладчика, причем большинство его команд можно применять либо к одной, либо ко всем нитям одновременно.
Технологии эффективного программирования  Intel Анализатор Intel VTune  позволяет находить и устранять узкие места, препятствующие повышению производительности программы, за счет сбора, анализа и отображения данных вплоть до отдельных функций, модулей и команд. Замеряя производительность различных участков кода и помогая интерпретировать результаты замеров, VTune позволяет быстро найти участки для оптимизации. Поддерживаются многонитевые приложения для различных операционных систем и разных сред разработки.
Технологии эффективного программирования  Intel Библиотека Intel Math Kernel Library  (MKL)  широко используется для решения вычислительно сложных задач, где от платформ Intel требуется максимальная производительность. К функциональным возможностям этой библиотеки можно отнести модули линейной алгебры (BLAS, Sparse BLAS, LAPACK и пакет Sparse Solvers), функции быстрых преобразований Фурье (FFT), векторные математические функции (VML), генераторы случайных чисел.
Технологии эффективного программирования  Intel Анализатор Intel Thread Checker  позволяет упростить разработку и сопровождение многопоточных приложений. В паре с  Intel Thread Profiler  он призван решить большинство проблем, связанных с многопоточностью. Выявляет недетерминировано работающие участки кода, являющиеся причиной трудно находимых &quot;плавающих&quot; ошибок. Определяет ситуации неопределённости порядка записи данных, потерянные нити, блокировки, потерю сигналов, неверно отмененные блокировки. Поддерживает стандарты OpenMP, POSIX и Windows API. Вообще говоря, Intel Thread Checker не зависит от компилятора, способен работать с любым исполняемым файлом, но в сочетании с компилятором Intel проводит более глубокий анализ.
Технологии эффективного программирования  Intel Инструменты для программирования кластеров объединены в  пакет Intel Cluster Tools . Сюда входит библиотека Intel MPI, оптимизированная параллельная математическая библиотека Intel Cluster MKL и специальный инструмент  Intel Trace Analyzer & Collector , предназначенный для создания эффективных масштабируемых параллельных программ.
Технологии эффективного программирования  Intel Хорошим вариантом тестирования производительности системы является использование  пакета Intel MPI Benchmarks , ранее известного под названием Pallas MPI Benchmarks. Пакет измеряет базовые характеристики кластерной системы, а также показывает эффективность основных функций MPI, предназначенных для реализации коллективных операций и передачи сообщений между двумя процессами, односторонних операций, функций для выполнения операций ввода/вывода и ряда других.
Технологии эффективного программирования  Intel Хорошим вариантом тестирования производительности системы является использование  пакета Intel MPI Benchmarks , ранее известного под названием Pallas MPI Benchmarks. Пакет измеряет базовые характеристики кластерной системы, а также показывает эффективность основных функций MPI, предназначенных для реализации коллективных операций и передачи сообщений между двумя процессами, односторонних операций, функций для выполнения операций ввода/вывода и ряда других.
HPC- издания  Intel Press Programming with Hyper-Threading Technology … Scientific Computing on Itanium®-based Systems… The Software Optimization Cookbook, Second Edition… The Software Vectorization Handbook… Multi-Core Programming…  Intel® Integrated Performance Primitives… Programming with Intel® Extended Memory 64 Technology…  VTune™ Performance Analyzer Essentials
Алгоритмическая эффективность ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Intel Core Duo 2.6  ГГц: 8 цифр – 0.1 сек 10 цифр – 10 сек 12 цифр – 30 мин Задача о числе счастливых билетиков :
Задача Алгоритм Метод Программа Компилятор Компьютер Предметная сторона Компьютерная сторона Решение задачи на компьютере Технологии программирования UPC Chapel X10 Fortress Titanium ZPL … Эффективность, переносимость, продуктивность CUDA OpenCL MPI OpenMP
Эффективность?  HPC-образование…  ,[object Object],[object Object],[object Object],[object Object]
Эффективность?  HPC-образование… ,[object Object],[object Object],[object Object],[object Object],*1 2* :)) А время осталось неизменным!!! :((
 
 
Суперкомпьютеры и КПД паровоза Вл.В.Воеводин Заместитель директора НИВЦ МГУ, член-корреспондент РАН, [email_address] Всероссийская молодежная школа “ Суперкомпьютерные технологии и высокопроизводительные вычисления в образовании, науке и промышленности ” ННГУ – 31   октября 2009 г.

More Related Content

What's hot

Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Mikhail Kurnosov
 
Лекция 11: Программирование графических процессоров на NVIDIA CUDA
Лекция 11: Программирование графических процессоров на NVIDIA CUDAЛекция 11: Программирование графических процессоров на NVIDIA CUDA
Лекция 11: Программирование графических процессоров на NVIDIA CUDAMikhail Kurnosov
 
CUDA Course 2010 at MSU
CUDA Course 2010 at MSUCUDA Course 2010 at MSU
CUDA Course 2010 at MSUlarhat
 
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ontico
 
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Mikhail Kurnosov
 
11 встреча — Введение в GPGPU (А. Свириденков)
11 встреча — Введение в GPGPU (А. Свириденков)11 встреча — Введение в GPGPU (А. Свириденков)
11 встреча — Введение в GPGPU (А. Свириденков)Smolensk Computer Science Club
 
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)Mikhail Kurnosov
 
Параллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахПараллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахAlex Tutubalin
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213
 
"Лавриненко Ярослав" HPC GPU CUDA
"Лавриненко Ярослав" HPC GPU CUDA"Лавриненко Ярослав" HPC GPU CUDA
"Лавриненко Ярослав" HPC GPU CUDAOleg Nazarevych
 
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системpianist2317
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213
 
Обзор некоторых современных SoC
Обзор некоторых современных SoCОбзор некоторых современных SoC
Обзор некоторых современных SoCMSU GML VideoGroup
 
Как мы храним 75 млн пользователей (Денис Бирюков)
Как мы храним 75 млн пользователей  (Денис Бирюков)Как мы храним 75 млн пользователей  (Денис Бирюков)
Как мы храним 75 млн пользователей (Денис Бирюков)Ontico
 
Кластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможностиКластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможностиAlexey Demidchuk
 
Java Platform Performance BoF
Java Platform Performance BoFJava Platform Performance BoF
Java Platform Performance BoFDmitry Buzdin
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Mikhail Kurnosov
 
Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...Mikhail Kurnosov
 

What's hot (20)

Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
 
Simd
SimdSimd
Simd
 
Лекция 11: Программирование графических процессоров на NVIDIA CUDA
Лекция 11: Программирование графических процессоров на NVIDIA CUDAЛекция 11: Программирование графических процессоров на NVIDIA CUDA
Лекция 11: Программирование графических процессоров на NVIDIA CUDA
 
CUDA Course 2010 at MSU
CUDA Course 2010 at MSUCUDA Course 2010 at MSU
CUDA Course 2010 at MSU
 
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
 
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
 
11 встреча — Введение в GPGPU (А. Свириденков)
11 встреча — Введение в GPGPU (А. Свириденков)11 встреча — Введение в GPGPU (А. Свириденков)
11 встреча — Введение в GPGPU (А. Свириденков)
 
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
 
Параллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахПараллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартах
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
"Лавриненко Ярослав" HPC GPU CUDA
"Лавриненко Ярослав" HPC GPU CUDA"Лавриненко Ярослав" HPC GPU CUDA
"Лавриненко Ярослав" HPC GPU CUDA
 
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и систем
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
Лекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и системЛекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и систем
 
Обзор некоторых современных SoC
Обзор некоторых современных SoCОбзор некоторых современных SoC
Обзор некоторых современных SoC
 
Как мы храним 75 млн пользователей (Денис Бирюков)
Как мы храним 75 млн пользователей  (Денис Бирюков)Как мы храним 75 млн пользователей  (Денис Бирюков)
Как мы храним 75 млн пользователей (Денис Бирюков)
 
Кластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможностиКластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможности
 
Java Platform Performance BoF
Java Platform Performance BoFJava Platform Performance BoF
Java Platform Performance BoF
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
 
Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...
 

Viewers also liked

якобовский - введение в параллельное программирование (1)
якобовский - введение в параллельное программирование (1)якобовский - введение в параллельное программирование (1)
якобовский - введение в параллельное программирование (1)Michael Karpov
 
российские суперкомпьютеры (развитие)
российские суперкомпьютеры (развитие)российские суперкомпьютеры (развитие)
российские суперкомпьютеры (развитие)Michael Karpov
 
якобовский - введение в параллельное программирование (2)
якобовский - введение в параллельное программирование (2)якобовский - введение в параллельное программирование (2)
якобовский - введение в параллельное программирование (2)Michael Karpov
 
Поговорим про ошибки (Sumit)
Поговорим про ошибки (Sumit)Поговорим про ошибки (Sumit)
Поговорим про ошибки (Sumit)Michael Karpov
 
Before U Leave Office
Before U Leave OfficeBefore U Leave Office
Before U Leave OfficeAbhijit Ghosh
 
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014)
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014) Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014)
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014) Michael Karpov
 
"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012Michael Karpov
 
Как мы готовим продукты
Как мы готовим продуктыКак мы готовим продукты
Как мы готовим продуктыMichael Karpov
 
(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиков(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиковMichael Karpov
 
Elementos de La Tabla Periódica
Elementos de La Tabla PeriódicaElementos de La Tabla Periódica
Elementos de La Tabla Periódicakevingabrielabrego
 
desde el centinela
desde el centinela desde el centinela
desde el centinela bere201991
 
Estrategia MAP Honduras
Estrategia MAP Honduras Estrategia MAP Honduras
Estrategia MAP Honduras RUTAslideshare
 
Crisis Eurozone
Crisis EurozoneCrisis Eurozone
Crisis Eurozonecelistro
 
Nanmmra-vela2012
Nanmmra-vela2012Nanmmra-vela2012
Nanmmra-vela2012Hari Govind
 
Valores que vive en la familia
Valores que vive en la familiaValores que vive en la familia
Valores que vive en la familiaYurannii Peñña
 
Calificacion de auditores en bpm colombia
Calificacion de auditores en bpm colombiaCalificacion de auditores en bpm colombia
Calificacion de auditores en bpm colombiaNombre Apellidos
 

Viewers also liked (20)

якобовский - введение в параллельное программирование (1)
якобовский - введение в параллельное программирование (1)якобовский - введение в параллельное программирование (1)
якобовский - введение в параллельное программирование (1)
 
Sulimov 2009 10_30
Sulimov 2009 10_30Sulimov 2009 10_30
Sulimov 2009 10_30
 
российские суперкомпьютеры (развитие)
российские суперкомпьютеры (развитие)российские суперкомпьютеры (развитие)
российские суперкомпьютеры (развитие)
 
якобовский - введение в параллельное программирование (2)
якобовский - введение в параллельное программирование (2)якобовский - введение в параллельное программирование (2)
якобовский - введение в параллельное программирование (2)
 
Поговорим про ошибки (Sumit)
Поговорим про ошибки (Sumit)Поговорим про ошибки (Sumit)
Поговорим про ошибки (Sumit)
 
Before U Leave Office
Before U Leave OfficeBefore U Leave Office
Before U Leave Office
 
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014)
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014) Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014)
Из третьего мира - в первый: ошибки в развивающихся продуктах (AgileDays 2014)
 
"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012"Пользователи: сигнал из космоса". CodeFest mini 2012
"Пользователи: сигнал из космоса". CodeFest mini 2012
 
Как мы готовим продукты
Как мы готовим продуктыКак мы готовим продукты
Как мы готовим продукты
 
(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиков(Analyst days2012) Как мы готовим продукты - вклад аналитиков
(Analyst days2012) Как мы готовим продукты - вклад аналитиков
 
Elementos de La Tabla Periódica
Elementos de La Tabla PeriódicaElementos de La Tabla Periódica
Elementos de La Tabla Periódica
 
Dia1713
Dia1713Dia1713
Dia1713
 
desde el centinela
desde el centinela desde el centinela
desde el centinela
 
Estrategia MAP Honduras
Estrategia MAP Honduras Estrategia MAP Honduras
Estrategia MAP Honduras
 
Crisis Eurozone
Crisis EurozoneCrisis Eurozone
Crisis Eurozone
 
Nanmmra-vela2012
Nanmmra-vela2012Nanmmra-vela2012
Nanmmra-vela2012
 
Doc verde ref_adm_local
Doc verde ref_adm_localDoc verde ref_adm_local
Doc verde ref_adm_local
 
Valores que vive en la familia
Valores que vive en la familiaValores que vive en la familia
Valores que vive en la familia
 
Calificacion de auditores en bpm colombia
Calificacion de auditores en bpm colombiaCalificacion de auditores en bpm colombia
Calificacion de auditores en bpm colombia
 
Poligonos
PoligonosPoligonos
Poligonos
 

Similar to Efficiency vvv

Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Ontico
 
C++ весна 2014 лекция 2
C++ весна 2014 лекция 2C++ весна 2014 лекция 2
C++ весна 2014 лекция 2Technopark
 
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)Mikhail Kurnosov
 
Нейронные сети в высокопроизводительных вычислениях
Нейронные сети в высокопроизводительных вычисленияхНейронные сети в высокопроизводительных вычислениях
Нейронные сети в высокопроизводительных вычисленияхSkolkovo Robotics Center
 
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000Cisco Russia
 
Конструкция и компоновка персонального компьютера
Конструкция и компоновка персонального компьютераКонструкция и компоновка персонального компьютера
Конструкция и компоновка персонального компьютераAlexandr Konfidentsialno
 
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray ChapelЛекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray ChapelMikhail Kurnosov
 
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Alexey Paznikov
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213
 
Работа с Big Data
Работа с Big Data Работа с Big Data
Работа с Big Data MATLAB
 
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыVsevolod Shabad
 
Современные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO StorageСовременные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO StorageDEPO Computers
 
Hpc 2.26.03.2013.
Hpc 2.26.03.2013.Hpc 2.26.03.2013.
Hpc 2.26.03.2013.Boris Kizko
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213
 
16 процессоры и память эвм лекция
16 процессоры и память эвм лекция16 процессоры и память эвм лекция
16 процессоры и память эвм лекцияSergey Lomakin
 
Язык параллельного программирования Cray Chapel
Язык параллельного программирования Cray ChapelЯзык параллельного программирования Cray Chapel
Язык параллельного программирования Cray ChapelMikhail Kurnosov
 
Пути увеличения эффективности реализации алгоритмов машинного обучения
Пути увеличения эффективности реализации алгоритмов машинного обученияПути увеличения эффективности реализации алгоритмов машинного обучения
Пути увеличения эффективности реализации алгоритмов машинного обученияAndrew Babiy
 
Hpc 1.24.02.2013.
Hpc 1.24.02.2013.Hpc 1.24.02.2013.
Hpc 1.24.02.2013.Boris Kizko
 

Similar to Efficiency vvv (20)

Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
 
C++ весна 2014 лекция 2
C++ весна 2014 лекция 2C++ весна 2014 лекция 2
C++ весна 2014 лекция 2
 
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)Семинар 1. Многопоточное программирование на OpenMP (часть 1)
Семинар 1. Многопоточное программирование на OpenMP (часть 1)
 
Нейронные сети в высокопроизводительных вычислениях
Нейронные сети в высокопроизводительных вычисленияхНейронные сети в высокопроизводительных вычислениях
Нейронные сети в высокопроизводительных вычислениях
 
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
 
Конструкция и компоновка персонального компьютера
Конструкция и компоновка персонального компьютераКонструкция и компоновка персонального компьютера
Конструкция и компоновка персонального компьютера
 
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray ChapelЛекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
 
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
Работа с Big Data
Работа с Big Data Работа с Big Data
Работа с Big Data
 
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
 
Современные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO StorageСовременные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO Storage
 
Hpc 2.26.03.2013.
Hpc 2.26.03.2013.Hpc 2.26.03.2013.
Hpc 2.26.03.2013.
 
OpenACC short review
OpenACC short reviewOpenACC short review
OpenACC short review
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
16 процессоры и память эвм лекция
16 процессоры и память эвм лекция16 процессоры и память эвм лекция
16 процессоры и память эвм лекция
 
Язык параллельного программирования Cray Chapel
Язык параллельного программирования Cray ChapelЯзык параллельного программирования Cray Chapel
Язык параллельного программирования Cray Chapel
 
supercluster
superclustersupercluster
supercluster
 
Пути увеличения эффективности реализации алгоритмов машинного обучения
Пути увеличения эффективности реализации алгоритмов машинного обученияПути увеличения эффективности реализации алгоритмов машинного обучения
Пути увеличения эффективности реализации алгоритмов машинного обучения
 
Hpc 1.24.02.2013.
Hpc 1.24.02.2013.Hpc 1.24.02.2013.
Hpc 1.24.02.2013.
 

More from Michael Karpov

EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...Michael Karpov
 
Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)Michael Karpov
 
Save Africa: NASA hackathon 2016
Save Africa: NASA hackathon 2016 Save Africa: NASA hackathon 2016
Save Africa: NASA hackathon 2016 Michael Karpov
 
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...Michael Karpov
 
(2niversity) проектная работа tips&tricks
(2niversity) проектная работа   tips&tricks(2niversity) проектная работа   tips&tricks
(2niversity) проектная работа tips&tricksMichael Karpov
 
Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)Michael Karpov
 
Hpc Visualization with WebGL
Hpc Visualization with WebGLHpc Visualization with WebGL
Hpc Visualization with WebGLMichael Karpov
 
Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)Michael Karpov
 
сбор требований с помощью Innovation games
сбор требований с помощью Innovation gamesсбор требований с помощью Innovation games
сбор требований с помощью Innovation gamesMichael Karpov
 
Зачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile командеЗачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile командеMichael Karpov
 
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile командеMichael Karpov
 
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile командеMichael Karpov
 
Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010Michael Karpov
 
How to give a great research talk
How to give a great research talkHow to give a great research talk
How to give a great research talkMichael Karpov
 
20090720 writing a_paper
20090720 writing a_paper20090720 writing a_paper
20090720 writing a_paperMichael Karpov
 
суперкомпьютерные технологии в задачах прогноза погоды
суперкомпьютерные технологии в задачах прогноза погодысуперкомпьютерные технологии в задачах прогноза погоды
суперкомпьютерные технологии в задачах прогноза погодыMichael Karpov
 

More from Michael Karpov (20)

EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
EdCrunch 2018 - Skyeng - EdTech product scaling: How to influence key growth ...
 
Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)Movement to business goals: Data, Team, Users (4C Conference)
Movement to business goals: Data, Team, Users (4C Conference)
 
Save Africa: NASA hackathon 2016
Save Africa: NASA hackathon 2016 Save Africa: NASA hackathon 2016
Save Africa: NASA hackathon 2016
 
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
Один день из жизни менеджера. Тактика: хорошие практики, скрытые опасности и ...
 
(2niversity) проектная работа tips&tricks
(2niversity) проектная работа   tips&tricks(2niversity) проектная работа   tips&tricks
(2niversity) проектная работа tips&tricks
 
Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)Как сделать команде приятное - Михаил Карпов (Яндекс)
Как сделать команде приятное - Михаил Карпов (Яндекс)
 
Hpc Visualization with WebGL
Hpc Visualization with WebGLHpc Visualization with WebGL
Hpc Visualization with WebGL
 
Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)Hpc Visualization with X3D (Michail Karpov)
Hpc Visualization with X3D (Michail Karpov)
 
сбор требований с помощью Innovation games
сбор требований с помощью Innovation gamesсбор требований с помощью Innovation games
сбор требований с помощью Innovation games
 
Зачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile командеЗачем нам Это? или Как продать agile команде
Зачем нам Это? или Как продать agile команде
 
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде
 
"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде"Зачем нам Это?" или как продать Agile команде
"Зачем нам Это?" или как продать Agile команде
 
HPC Visualization
HPC VisualizationHPC Visualization
HPC Visualization
 
Hpc Visualization
Hpc VisualizationHpc Visualization
Hpc Visualization
 
Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010Высоконагруженая команда - AgileDays 2010
Высоконагруженая команда - AgileDays 2010
 
How to give a great research talk
How to give a great research talkHow to give a great research talk
How to give a great research talk
 
20090720 writing a_paper
20090720 writing a_paper20090720 writing a_paper
20090720 writing a_paper
 
Tbb описание
Tbb   описаниеTbb   описание
Tbb описание
 
Tbb лр1
Tbb   лр1Tbb   лр1
Tbb лр1
 
суперкомпьютерные технологии в задачах прогноза погоды
суперкомпьютерные технологии в задачах прогноза погодысуперкомпьютерные технологии в задачах прогноза погоды
суперкомпьютерные технологии в задачах прогноза погоды
 

Efficiency vvv

  • 1. Суперкомпьютеры и КПД паровоза Вл.В.Воеводин Заместитель директора НИВЦ МГУ, член-корреспондент РАН, [email_address] Всероссийская молодежная школа “ Суперкомпьютерные технологии и высокопроизводительные вычисления в образовании, науке и промышленности ” ННГУ – 31 октября 2009 г.
  • 2.  
  • 3.
  • 4.
  • 5.
  • 6. Характеристики суперкомпьютеров  IBM RoadRunner, 6562 AMD Opteron DC + 12240 IBM Cell, 1105 Tflop/s, ОП = 98 TB  SGI Altix Ice 8200, 51200 CPUs, Intel Xeon 2.66 GHz QC, 487 Tflop/s, ОП = 51 TB , диски = 900 TB  IBM Blue Gene, 212992 CPUs, PowerPC 440, 478 Tflop/s, ОП = 74 TB  Cray XT4, 38642 CPUs, AMD Opteron 2.3 GHz QC, 266 Tflop/s, ОП = 77 TB, диски = 340 Т B
  • 7.  
  • 8. Эффективность работы компьютера. Что это? Пиковая производительность компьютера , R peak Реальная производительность , R max число операций в программе время работы компьютера R max = Эффективность = R max R peak
  • 9. Производительность компьютеров. Тест Linpack Тест Linpack – решение системы линейных алгебраических уравнений с плотной матрицей. 1. Матрица 100*100, фиксированный текст программы. 2. Linpack TPP: матрица 1000*1000, можно менять метод и текст программы. Сложность : 2n 3 /3+2n 2 . 3 . High Performance Linpack: матрица любого размера, множество дополнительных параметров.
  • 11. Top500 , Linpack , эффективность
  • 12. N max – размер задачи, на которой достигается максимальная реальная производительность R max N half – размер задачи, на которой достигается половина максимальной производительности R max /2 Эффективность работы компьютеров
  • 13. Что снижает эффективность работы реальных компьютеров?
  • 14. FPGAs GP-GPU Cell … … Векторные Многоядерные Классические Компьютеры с общей памятью ( SMP ) Компьютеры с распределенной памятью Распределенные вычислительные среды Высокопроизводительные компьютерные системы
  • 15.
  • 16.
  • 17. Закон Амдала где:  – доля последовательных операций, p – число процессоров в системе.  S ≤ 1  + (1 –  ) p S  1 
  • 18. Сбалансированность вычислительной нагрузки процессоров 4 процессора 16 процессоров 64 процессора 1 3 4 2 1 3 4 2 1 2
  • 19. Компьютеры с распределенной памятью (семейство Cray XT ) Используемые процессоры: T3D/T3E – DEC ALPHA , XT3/XT4/XT5 – AMD Opteron. Топология коммуникационной сети: трехмерный тор. Семейство: T3D, T3E, T3X, XT3, XT4, XT5 Cray T3D – начало 90-х годов Cray XT5 – на октябрь 2009 г. второе место в Top500
  • 20. Компьютеры с распределенной памятью (вычислительные кластеры) Возможность формирования архитектуры кластера с учетом характерных особенностей решаемых задач
  • 21. Компьютеры с распределенной памятью (вычислительные кластеры) Латентность и пропускная способность сети – основные параметры коммуникационной сети кластеров
  • 22.
  • 24. Комплексная программа приемо-сдаточных испытаний высокопроизводительных компьютеров!
  • 26. Графические процессоры и HPC (http://gpu.parallel.ru)
  • 29.
  • 30. Что снижает производительность векторно-конвейерных компьютеров? Производительность CRAY C90 на операции a i = b i +c i *d, n=1000 . Влияние конфликтов в памяти for( i = 0; i < n*k; i +=k) a[i] = b[i]+c[i]*d;
  • 31. Что снижает производительность векторно-конвейерных компьютеров? ( Влияние конфликтов в памяти ) Описание массива X( 41 , 41 ,N) Do i = 1, n Do j = 1, n Do k = 1, n X(i,j,k) = X(i,j,k) + P(k,i)* Y(k,j) Реальное описание массива: X( 40 , 40 ,N) X(i,j,k) X(i,j,k+1) расстояние 40*40 = 1600 = 64 *25 . Решение? X(N 1 ,N 2 ,N 3 ) Фортран: хранение массивов “ по столбцам ” : X(i,j,k) X(i +1 ,j,k) расстояние 1 , X(i,j,k) X(i,j+1,k) расстояние N 1 , X(i,j,k) X(i,j,k+1) расстояние N 1 *N 2 .   
  • 32.
  • 33.
  • 36. Компьютерный дизайн лекарств ( Intel -fast, исследование эффективности, Clovertown 2.66GHz ) КПД процессора на задаче: 4 % !!! Реальная производительность, Mflops
  • 38. Процессорный полигон НИВЦ МГУ 15 серверов Intel (Pentium D, Xeon EMT, Dempsey, Woodcrest, Clowertown … ), 6 серверов AMD (Opteron single/dual/quad), 1 сервер IBM (Power5), 22 сервера, 1-2 U 35 процессоров, 79 ядер 597 Гфлопс, 150 Гбайт ОП
  • 39. Процессорный полигон НИВЦ МГУ – набор тестов “Stream” + компиляторы GNU Compilers, Intel Compilers , Portland Group Inc. Compilers, PathScale EKOPath Compiles Suite , Absoft Fortran. AMD Opteron 244 a i = b i a i = q * b i a i = b i + c i a i = b i + q * c i
  • 40. Процессорный полигон НИВЦ МГУ – набор тестов “Stream” + компиляторы PathScale GNU Intel
  • 41. Процессорный полигон НИВЦ МГУ – анализ работы компиляторов
  • 42. Опции компилятора PGI ( FLO52 benchmark, Mflops )
  • 44. АНАЛИЗ АЛГОРИТМИЧЕСКОГО ПОДХОДА  АНАЛИЗ СТРУКТУРЫ ПРИКЛАДНОЙ ПРОГРАММЫ  АНАЛИЗ ЭФФЕКТИВНОСТИ СИСТЕМ РАЗРАБОТКИ ПО  АНАЛИЗ ЭФФЕКТИВНОСТИ СИСТЕМНОГО ПО  АНАЛИЗ КОНФИГУРАЦИИ КОМПЬЮТЕРА Анализ эффективности программ    
  • 45. Реальная производительность, Mflops Анализ эффективности программ
  • 46. АНАЛИЗ АЛГОРИТМИЧЕСКОГО ПОДХОДА  АНАЛИЗ СТРУКТУРЫ ПРИКЛАДНОЙ ПРОГРАММЫ  АНАЛИЗ ЭФФЕКТИВНОСТИ СИСТЕМ РАЗРАБОТКИ ПО  АНАЛИЗ ЭФФЕКТИВНОСТИ СИСТЕМНОГО ПО  АНАЛИЗ КОНФИГУРАЦИИ КОМПЬЮТЕРА Анализ эффективности программ    
  • 47.  
  • 48.
  • 49. Производительность на базовых операциях Производительность, Mflops
  • 50. Масштабирование по частоте CPU ? Производительность, Mflops 2,66 1,6 X * =
  • 51. Реальное масштабирование на практике… Производительность, Mflops
  • 52. Реальное масштабирование на практике… Clowertown – 1 , 6 GHz 1 , 066 GHz Clowertown – 2 , 66 GHz 1 , 333 GHz CPU / FSB – это число тактов процессора на каждый такт работы системной шины: для Clowertown 1,6 GHz – это 1 ,5 для Clowertown 2,66 GHz – это 2 1,5 / 2 = 0 , 75 – замедление работы с памятью (2,66 / 1,6 ) * 0,75 = 1,24 – реальное ускорение CPU FSB
  • 53. Теория и практика масштабирования Производительность, Mflops
  • 54. Эффективность, % КПД работы процессоров …
  • 57. Умножение матриц ( параллельная структура и распределение данных ) Do i = 1, n Do j = 1, n Do k = 1, n A(i,j) = A(i,j) + B(i,k) * C(k,j) End do End do End do B(i,k) C(k,j)
  • 58. Умножение матриц ( Intel -fast, run-time, перестановка циклов, Woodcrest 2) Реальная производительность, Mflops i,j,k i,k,j j,i,k j,k,i k,i,j k,j,i
  • 59. Умножение матриц (перестановка циклов, сравнение с i,j,k ) T ijk /T xyz
  • 60. Сравнение компиляторов : Intel и PGI (умножение матриц , PGI/Intel )
  • 61. Простой пример. Исходный текст for ( i = 1; i < N; i++) { for ( j = 1; j < N; j++) { for ( k = 1; k < N; k++) { DSUM [i][k] = DSUM [i][k] + S[k] * A[k][j][i] + P[i][j] * A[k][j][i–1] + P[i][k] * A[k][j–1][i] + P[j][k] * A[k–1][j][i]; } } }
  • 62. Простой пример. Эффект от преобразований (перестановка циклов, раскрутка , Intel - fast )
  • 63. Простой пример. Эффект от преобразований (перестановка циклов, раскрутка , PGI )
  • 64. Сравнение компиляторов : Intel и PGI (простой пример , PGI/Intel )
  • 65. Выбор опций компилятора Intel (мезомасштабная модель атмосферы)
  • 66. Выбор компилятора под задачу и платформу (компиляторы: GNU, Intel, PGI, задача: вычислительная гидродинамика, Flo52 )
  • 67.
  • 68. Мониторинг работы программ (использование дисков)
  • 73. Сертификация эффективности параллельных программ • Эффективность последовательная • Эффективность параллельная Объекты исследования: Задача – Алгоритм – Программа – Системное ПО – Компьютер Необходимы методика, технологии и программные инструменты сертификации эффективности и для пользователей, и для администраторов больших машин Необходима развитая инфраструктура ПО для решения задачи отображения программ и алгоритмов на архитектуру современных вычислительных систем
  • 74. Технологии эффективного программирования Intel Компиляторы Intel (языки C/C++, Fortran77/Fortran90) поддерживают и различные уровни оптимизации для 32-х и 64-х разрядных приложений в одном пакете, и технологию параллельного программирования OpenMP, что позволяет создавать эффективные программы для современных многоядерных процессоров. С компиляторами поставляется символьный отладчик Intel Debugger, который может работать в режимах совместимости с gdb или dbx и интегрируется с такими графическими оболочками для отладки, как ddd, Eclipse, Allinea. Отладчиком поддерживаются как многонитевые приложения OpenMP, так и написанные с использованием интерфейса native threads. Порожденные нити автоматически попадают под контроль отладчика, причем большинство его команд можно применять либо к одной, либо ко всем нитям одновременно.
  • 75. Технологии эффективного программирования Intel Анализатор Intel VTune позволяет находить и устранять узкие места, препятствующие повышению производительности программы, за счет сбора, анализа и отображения данных вплоть до отдельных функций, модулей и команд. Замеряя производительность различных участков кода и помогая интерпретировать результаты замеров, VTune позволяет быстро найти участки для оптимизации. Поддерживаются многонитевые приложения для различных операционных систем и разных сред разработки.
  • 76. Технологии эффективного программирования Intel Библиотека Intel Math Kernel Library (MKL) широко используется для решения вычислительно сложных задач, где от платформ Intel требуется максимальная производительность. К функциональным возможностям этой библиотеки можно отнести модули линейной алгебры (BLAS, Sparse BLAS, LAPACK и пакет Sparse Solvers), функции быстрых преобразований Фурье (FFT), векторные математические функции (VML), генераторы случайных чисел.
  • 77. Технологии эффективного программирования Intel Анализатор Intel Thread Checker позволяет упростить разработку и сопровождение многопоточных приложений. В паре с Intel Thread Profiler он призван решить большинство проблем, связанных с многопоточностью. Выявляет недетерминировано работающие участки кода, являющиеся причиной трудно находимых &quot;плавающих&quot; ошибок. Определяет ситуации неопределённости порядка записи данных, потерянные нити, блокировки, потерю сигналов, неверно отмененные блокировки. Поддерживает стандарты OpenMP, POSIX и Windows API. Вообще говоря, Intel Thread Checker не зависит от компилятора, способен работать с любым исполняемым файлом, но в сочетании с компилятором Intel проводит более глубокий анализ.
  • 78. Технологии эффективного программирования Intel Инструменты для программирования кластеров объединены в пакет Intel Cluster Tools . Сюда входит библиотека Intel MPI, оптимизированная параллельная математическая библиотека Intel Cluster MKL и специальный инструмент Intel Trace Analyzer & Collector , предназначенный для создания эффективных масштабируемых параллельных программ.
  • 79. Технологии эффективного программирования Intel Хорошим вариантом тестирования производительности системы является использование пакета Intel MPI Benchmarks , ранее известного под названием Pallas MPI Benchmarks. Пакет измеряет базовые характеристики кластерной системы, а также показывает эффективность основных функций MPI, предназначенных для реализации коллективных операций и передачи сообщений между двумя процессами, односторонних операций, функций для выполнения операций ввода/вывода и ряда других.
  • 80. Технологии эффективного программирования Intel Хорошим вариантом тестирования производительности системы является использование пакета Intel MPI Benchmarks , ранее известного под названием Pallas MPI Benchmarks. Пакет измеряет базовые характеристики кластерной системы, а также показывает эффективность основных функций MPI, предназначенных для реализации коллективных операций и передачи сообщений между двумя процессами, односторонних операций, функций для выполнения операций ввода/вывода и ряда других.
  • 81. HPC- издания Intel Press Programming with Hyper-Threading Technology … Scientific Computing on Itanium®-based Systems… The Software Optimization Cookbook, Second Edition… The Software Vectorization Handbook… Multi-Core Programming… Intel® Integrated Performance Primitives… Programming with Intel® Extended Memory 64 Technology… VTune™ Performance Analyzer Essentials
  • 82.
  • 83. Задача Алгоритм Метод Программа Компилятор Компьютер Предметная сторона Компьютерная сторона Решение задачи на компьютере Технологии программирования UPC Chapel X10 Fortress Titanium ZPL … Эффективность, переносимость, продуктивность CUDA OpenCL MPI OpenMP
  • 84.
  • 85.
  • 86.  
  • 87.  
  • 88. Суперкомпьютеры и КПД паровоза Вл.В.Воеводин Заместитель директора НИВЦ МГУ, член-корреспондент РАН, [email_address] Всероссийская молодежная школа “ Суперкомпьютерные технологии и высокопроизводительные вычисления в образовании, науке и промышленности ” ННГУ – 31 октября 2009 г.

Editor's Notes

  1. В любом случае начинать нужно именно с признаков плохого исполнения. Но почему говорим о признаках? Потому что далеко не всегда можно однозначно восстановить причину. Например, во время исполнения программы замечен активный свопинг, чего быть не должно. Причин может быть масса: - пользователь перенес программу с другого компьютера, где памяти было больше, - пользователь увеличил параметры программы, - активизировался другой процесс, системный или пользовательский. ( СЛАЙД, CRON)
  2. В любом случае начинать нужно именно с признаков плохого исполнения. Но почему говорим о признаках? Потому что далеко не всегда можно однозначно восстановить причину. Например, во время исполнения программы замечен активный свопинг, чего быть не должно. Причин может быть масса: - пользователь перенес программу с другого компьютера, где памяти было больше, - пользователь увеличил параметры программы, - активизировался другой процесс, системный или пользовательский. ( СЛАЙД, CRON)
  3. Заметим, что Линпак обладает еще одним интересным свойством: с увеличением размера задачи производительность очень быстро выходит на высокие показатели. Это, в частности, объясняет и высокие места, которые занимает IBM Blue Gene в Top500… А что получится, если взять обычный язык высокого уровня, компилятор и попытаться самим получить эффективную программу?
  4. Что же такое архитектура современных параллельных вычислительных систем? FPGA- ускорители, FPGA- компьютеры – тема исключительно обширная, перспективная,
  5. RoadRunner, китайский петафлоп…
  6. Заметим, что Линпак обладает еще одним интересным свойством: с увеличением размера задачи производительность очень быстро выходит на высокие показатели. Это, в частности, объясняет и высокие места, которые занимает IBM Blue Gene в Top500… А что получится, если взять обычный язык высокого уровня, компилятор и попытаться самим получить эффективную программу?
  7. Как оценить качество исполнения программы? 100% загрузка процессора? Не всегда... Каковы признаки плохого или хорошего исполнения? Плохого – это понятно, это нужно определять. А хорошего? - пользователя время устраивает и это основное; - но устраивает ли такое исполнение администратора вычислительной системы? - к тому же, признаки хорошего исполнения – а может быть лучше уже и нельзя и не нужно больше тратить усилий...
  8. В любом случае начинать нужно именно с признаков плохого исполнения. Но почему говорим о признаках? Потому что далеко не всегда можно однозначно восстановить причину. Например, во время исполнения программы замечен активный свопинг, чего быть не должно. Причин может быть масса: - пользователь перенес программу с другого компьютера, где памяти было больше, - пользователь увеличил параметры программы, - активизировался другой процесс, системный или пользовательский. ( СЛАЙД, CRON)
  9. С помощью данного полигона было получено много исключительно интересного материала. В частности, была исследована скорость выполнения множества базовых операций на процессорах с различной архитектурой. Возьмем один из последних процессоров Интел - Clowertown
  10. Сколь важен аккуратный подбор компилятора видно и из следующего примера…
  11. Используя специальный инструментарий, определим динамические характеристики программы… Мфлопс, кэш-промахи Низкая эффективность – это не вина программиста. Во многих случаях эти данные ему и не видны, да и не простое это дело писать эффективные программы для современных компьютеров.
  12. А теперь давайте предположим, что возникла необходимость перейти на что-то более быстрое, например с Clowertown 1.6GHz на Clowertown 2.66GHz – но хотелось бы понять, какой реальный эффект мы получим от этого перехода? Хотелось бы верить, а так и принято думать, что выигрыш будет равен отношению частот…
  13. Не для всех фрагментов можно так же просто спрогнозировать производительность, но уже из этого примера видно, важна не только частота процессора, но и множество других характеристик. Ну хорошо, с анализом производительности не все так просто, но зато сами величины производительности (а они здесь в Мфлопсах) вроде бы не так уж и плохи. В самом деле, 4 00- 6 00-1 2 00 Мфлопс… Но посмотрим на КПД процессоров, для чего найдем отношение реальной производительности к пиковой.
  14. Картина удручающая… Может это именно эти сервера плохи?
  15. Да нет, у всех серверов / процессоров похожие проблемы, это скорее проблемы отрасли в целом... Причем обратите внимание, насколько сильная зависимость эффективности от числа используемых массивов, т.е. от интенсивности работы с памятью.
  16. И опять по разным процессорам картина повторяется… Становится понятным, что вопрос серьезный, но в решении этого вопроса участвует посредник – компилятор, от качества которого сильно зависит та самая эффективность. В рамках процессорного полигона было установлено 5 основных систем компиляции…
  17. Вроде бы в последовательной программе думать о распределении данных не нужно… Однако практика показывает, что это совсем не так. Зная информационную структуру алгоритма, можно легко определить, что для данного фрагмента все 6 возможных перестановок циклов являются эквивалентным преобразованием и дадут один и тот же результат. И степень локальности использования данных выходит на передний план. Посмотрим на время выполнения этих 6 вариантов.
  18. А может мы компилятор неправильно выбрали и компилятор Интела какие-то варианты плохо обработал?
  19. На данном слайде времена всех вариантов показаны в сравнении со стандартным вариантом, у которого порядок i,j,k. Если все шесть вариантов собрать вместе, то аналогичная картинка будет видна и в динамике. Шесть вариантов, шесть ступенек.
  20. Исследуем влияние компилятора, подберем необходимые ключи, и выберем наилучший вариант. А затем исследуем эффективность того варианта, который оказался лучшим.
  21. Объекты исследования: Задача – исследование поведения при различных входных наборах данных Алгоритм – степень параллельности, балансировка загрузки процессоров