58
Д-р Христо Илиев, НИС при СУ "Св. Климент Охридски" Направи си сам СУперкомпютър OpenFest, МТЦ ИнтерпредСофия, 5–6 ноември 2011 г. 08 ноември 11, вторник

Направи си сам суперкомпютър

Embed Size (px)

DESCRIPTION

Суперкомпютър във физическият факултет на Софийски Университет - д-р Христо Илиев

Citation preview

Page 1: Направи си сам суперкомпютър

Д-р Христо Илиев, НИС при СУ "Св. Климент Охридски"

Направи си сам СУперкомпютър

OpenFest, МТЦ “Интерпред” София, 5–6 ноември 2011 г.

08 ноември 11, вторник

Page 2: Направи си сам суперкомпютър

За мен

• Физически факултет на СУ

• http://icaci.info

• hristo <при> icaci.info

• @hiliev

• xmpp:[email protected]

208 ноември 11, вторник

Page 3: Направи си сам суперкомпютър

“All science is either physics or stamp collecting.”-- Ernest Rutherford

J. B. Bricks, “Rutherford at Manchester” (1962)

08 ноември 11, вторник

Page 4: Направи си сам суперкомпютър

По-известни физици• John Atanasoff – доктор по теоретична физика

• John von Neumann – доктор по математика и физика

• Edsger Dijkstra – магистър по физика

• Donald Knuth – бакалавър по физика

• Dennis Ritchie – бакалавър по физика

• Brian Kernighan – бакалавър по инж. физика

• Richard Stallman – бакалавър по физика

408 ноември 11, вторник

Page 5: Направи си сам суперкомпютър

Суперкомпютър• Голям

• Бърз

• Енергоемък

• Скъп

• Много памет

• Паралелен

508 ноември 11, вторник

Page 6: Направи си сам суперкомпютър

608 ноември 11, вторник

Page 7: Направи си сам суперкомпютър

Закон на Мур

• Напасване на експерименталните наблюдения с показателна функция

•(Gordon Moore, CEO Intel, 1975)

•(David House, Intel)

• Инженерите на Intel упорито се опитват да поддържат законите в сила!

7

Ntran(t) = Ntran(t0)⇥ 2(t�t0)/2

OpW(t) = OpW(t0)⇥ 2(t�t0)/1,5

08 ноември 11, вторник

Page 8: Направи си сам суперкомпютър

Модел на времето• Флуидодинамика и термодинамика

• Диференциални уравнения ⇒ диференчни уравнения

• Симулиран обем = площ S × височина H

• Пространствена разделителна способност ∆L

• Времева стъпка ∆t

• Операции ~ (S×H)/(∆L)3 T/∆t

808 ноември 11, вторник

Page 9: Направи си сам суперкомпютър

flops

• floating-point operations per secondfloating-point operations → flops/s

• IEEE 754-2008

• единична точност (single, binary32)32 бита; 7 десетични знака

• двойна точност (double, binary64)64 бита; 15 десетични знака

908 ноември 11, вторник

Page 10: Направи си сам суперкомпютър

HPL• Стандартен начин да си ги мерим [суперкомпютрите]

• LINPACK тест на J. Dongara – A⋅x = y посредством гаусова елиминация с частичен избор на водещ елемент

• N := dim(A) = колкото позволява паметта

• HPL – паралелна MPI версия

• BLAS

• 2/3×N3 + 2×N2 DP ops

• Резултат в DP Gflops

1008 ноември 11, вторник

Page 11: Направи си сам суперкомпютър

Top500.org• Списък на 500-те най-бързи суперкомпютри в света

• 2 пъти годишно – юни и ноември

• Rpeak = Nядра × fтакт × R(R = 4 flops/Hz на повечето съвременни процесори)

• Rmax = максимална производителност според HPL

• Nmax = dim(A) за постигане на Rmax

• Rmax/Rpeak < 1 – паралелна ефективност

1108 ноември 11, вторник

Page 12: Направи си сам суперкомпютър

България в Top500• Blue Gene/P на ДАИТС (сега МТИТС)

• 8192 PowerPC 450 ядра @ 850 MHz

• Rmax = 23,42 Tflops; Rpeak = 27,85 Tflops

• 11.2008 г. – 126 място

• 06.2009 г. – 245 място

• 11.2009 г. – 377 място

• 06.2010 г. – изпада (Rmax[#500] = 24,67 Tflops)

1208 ноември 11, вторник

Page 13: Направи си сам суперкомпютър

Системна йерархия

13

СУРР

ОС и мидълуер

CPU (+ GPU) и памет

Комуникация

08 ноември 11, вторник

Page 14: Направи си сам суперкомпютър

Beowulf• Thomas Sterling и Donald Becker (NASA, 1994 г.)

• Стандартни компоненти

• Стандартна мрежова среда

• Unix-подобна ОС

• Мидълуер за паралелна обработка: MPI, PVM и др.

• Клъстери, ферми и мрежи от работни станции

1408 ноември 11, вторник

Page 15: Направи си сам суперкомпютър

Типичен клъстер

1508 ноември 11, вторник

Page 16: Направи си сам суперкомпютър

Нива на паралелизъм

• Много груб – SETI@Home, BOINC

• Груб – тривиално паралелни алгоритми

• Среден – MPI, PVM, DSM

• Фин – нишки, OpenMP, GPU

• Много фин – ILP, SIMD, GPU

1608 ноември 11, вторник

Page 17: Направи си сам суперкомпютър

Комуникация• Обмяна на данни между процесорите

• InfiniBand / 10 GbE

• Myrinet

• GigE (само за груб паралелизъм)

• Файлова система и сервизна мрежа

• InfiniBand / GigE

1708 ноември 11, вторник

Page 18: Направи си сам суперкомпютър

InfiniBand• Комутация на пакети (switched fabric)

• Ниска латентност за MPI ~µs

• Висока пропускателна способност

• DDR – 20 Gbps; QDR – 40 Gbps

• Скъпи кабели :)

• OpenFabrics Enterprise Distribution (OFED)

1808 ноември 11, вторник

Page 19: Направи си сам суперкомпютър

CPU или GPU?

• Цена и енергоемкост с/у универсалност

• CPU – универсални и енергоемки

• Intel E7-4870: <1 Gflops/W; >20 €/Gflops

• GPU – масивно паралелни и енергоефективни

• AMD/ATI HD6950: >3 Gflops/W; <0,5 €/Gflops

1908 ноември 11, вторник

Page 20: Направи си сам суперкомпютър

CPU

• Универсални

• Паралелни и последователни алгоритми

• Голям обем памет на ядро

• Многозадачен режим

• Бавен достъп до RAM

2008 ноември 11, вторник

Page 21: Направи си сам суперкомпютър

GPU

• Масивно паралелни SIMD

• Тесен клас силно паралелни по данни алгоритми

• Приставки (ускорители) към CPU

• Малък обем собствена RAM на ядро

• Тясно място – прехвърляне на данни от/до RAM на CPU

2108 ноември 11, вторник

Page 22: Направи си сам суперкомпютър

Програмни модели

• SIMD, ILP – неявна поддръжка чрез кодовия генератор на компилатора

• Нишки – OpenMP, ОС API, библиотеки

• DSM – ClOMP, vSMP, Unified Parallel C

• GPU – CUDA, CAL, OpenCL, OpenMP подобия

• Предаване на съобщения – MPI, PVM, Charm++

2208 ноември 11, вторник

Page 23: Направи си сам суперкомпютър

ОС• Практически всяка ОС с мрежов стек

• Unix

• UNICOS (Cray)

• IRIX (SGI)

• Solaris (Sun Microsystems)

• Linux (IBM, SGI, Cray, Beowulf)

• Mac OS X(System X на Virginia Tech, #3 в Top500 от 11.2003 г.)

• Windows 2008 HPC Server (Cray, Bull)

2308 ноември 11, вторник

Page 24: Направи си сам суперкомпютър

Мидълуер

• Предаване на съобщения

• Достъп до отдалечена памет

• Глобални операции

• Синхронизация

• Паралелен В/И

• Настройка и профилиране на паралелни приложения

2408 ноември 11, вторник

Page 25: Направи си сам суперкомпютър

Open MPI

• Реализация на MPI-1 и MPI-2

• Нов BSD лиценз

• Множество платформи и преносни среди

• Активна разработка

• http://www.open-mpi.org

2508 ноември 11, вторник

Page 26: Направи си сам суперкомпютър

Файлова система

• Общ изглед на файловата система посредством мрежово споделяне

• NFS – лесна за разгръщане, но с лоша мащабируемост

• Lustre – трудна за разгръщане, но с висока производителност и мащабируемост

2608 ноември 11, вторник

Page 27: Направи си сам суперкомпютър

Lustre• Високомащабируема паралелна файлова система за големи клъстерни инсталации

• GPL

• CMU → CFS → Sun → Oracle → Whamcloud

• Сървър за метаданни и множество блокови хранилища

• Поддръжка на InfiniBand свързаност

2708 ноември 11, вторник

Page 28: Направи си сам суперкомпютър

Управление на ресурсите• Голям брой отделни възли под управление на собствена ОС

(може и на различни ОС)

• Задачи

• Заделяне на ресурси

• Отдалечено стартиране на процеси

• Пренасочване на В/И

• Счетоводство на използваните ресурси(все някой /трябва да/ плаща)

2808 ноември 11, вторник

Page 29: Направи си сам суперкомпютър

Опашки

29

4 4

5 5 5 5

9 8 7

8 7

8 7

8

6

8

6

8

08 ноември 11, вторник

Page 30: Направи си сам суперкомпютър

Опашки

30

4 4

5 5 5 5

9 8 7

8 7

8 7

8

6

8

6

8

08 ноември 11, вторник

Page 31: Направи си сам суперкомпютър

Опашки

31

4 4

5 5 5 5

9 8

7

8

78

78

6

8

6

8

08 ноември 11, вторник

Page 32: Направи си сам суперкомпютър

Опашки

32

4 4

5 5 5 5

9

8

7

8

78

78

6

8

6

8

08 ноември 11, вторник

Page 33: Направи си сам суперкомпютър

Опашки

33

4 4

9

8

7

8

78

78

6

8

6

8

08 ноември 11, вторник

Page 34: Направи си сам суперкомпютър

Опашки

34

4 4

9

8

7

8

7

8

7

8

6

8

6

8

08 ноември 11, вторник

Page 35: Направи си сам суперкомпютър

СУРР

• TORQUE + Maui Cluster Scheduler

• Open Grid Scheduler

• Simple Linux Utility for Resource Management (SLURM)

• Condor

3508 ноември 11, вторник

Page 36: Направи си сам суперкомпютър

Open Grid Scheduler• Версия с отворен код на Oracle Grid Engine

• Началник-планировчик – qmaster/scheduler

• Изпълнители и пастири – execd, shepherd

• Набор от програми за мрежово взаимодействие с главния процес – qsub, qstat, qdel, qconf, qhost

• GUI – qmon

• Политики за честно споделяне на ресурсите

3608 ноември 11, вторник

Page 37: Направи си сам суперкомпютър

Поддръжка• Повече възли ≡ по-сложна поддръжка

• Блейд модули

• Мрежово зареждане на възлите от обща инсталация

• IPMI модули за отдалечена администрация

• Наблюдение на възлите

• xCAT за особено големи инсталации

3708 ноември 11, вторник

Page 38: Направи си сам суперкомпютър

Ganglia

• Софтуер с отворен код за наблюдение на мрежа от компютри

• gmond и gmetad

• Агрегация на историческа информация (rrd)

• Интеграция с gexec за отдалечено изпълнение

• http://ganglia.info/

3808 ноември 11, вторник

Page 39: Направи си сам суперкомпютър

3908 ноември 11, вторник

Page 40: Направи си сам суперкомпютър

PHYSON

• “Розовият” клъстер на СУ

• Роден и отгледан по дог. ВУ-Ф 205/2006, поддържан по ДО 02-136/2008, ДО 02-167/2008 и ДДВУ 02-42 с НФНИ

• ~ 170 хил. лв. компютри + инфраструктура

• Rpeak = 3,245 Tflops

• Научни пресмятания и обучение

• 13 проекта, 49 потребителя

4008 ноември 11, вторник

Page 41: Направи си сам суперкомпютър

PHYSON/MPI – възел

41

250 GB SATA22 бр. Intel Xeon E5420

16 GiB ECC FB-DIMM

Mellanox MT2520420 Gbps (DDR) HCA

2 x Intel GigE

08 ноември 11, вторник

Page 42: Направи си сам суперкомпютър

PHYSON/MPI – IB

42

SilverStorm 902424 x 20 Gbps

08 ноември 11, вторник

Page 43: Направи си сам суперкомпютър

PHYSON/MPI – NFS

43

24 x 1 GigE 2 x 1 GigE

4 x 500 GB SATA21.75 TB ZFS raidz

Intel C2D E6600

8 GiB DDR2

Netgear GS748TS 48 x 1 GigE

08 ноември 11, вторник

Page 44: Направи си сам суперкомпютър

PHYSON/MPI

• 32 ядра @ 2 GHz + 160 ядра @ 2,5 GHz

• 384 GiB RAM

• Rpeak = 1856 Gflops(повече от целия Top500 от 06.1993 г.)

• Rmax = 1507 Gflops = 81% от Rpeak

(Open MPI 1.3 + Intel MKL 10.0)

4408 ноември 11, вторник

Page 45: Направи си сам суперкомпютър

PHYSON/GPU• Едно Supermicro GPU шаси

• 1 бр. Xeon E5645

• 12 GiB ECC DDR3 RAM

• 2 бр. nVidia Tesla M2090 (512 ядра, 6 GiB GDDR5)

• 2 x 500 GB HDD RAID1

• 6 ядра (с HT) @ 2,4 GHz + 1024 ядра @ 1,3 GHz

• Rpeak = 1389 Gflops

4508 ноември 11, вторник

Page 46: Направи си сам суперкомпютър

PHYSON – FE

• Челен възел – вход към клъстера

• Единствен достъпен по SSH

• Xen гост виртуална машина върху cn001

• Сериозни потребителски ограничения/etc/security/limits.conf

4608 ноември 11, вторник

Page 47: Направи си сам суперкомпютър

PHYSON – FS• / – споделен r/o NFS с инсталация на операционната система

• /tmp и /var/volatile – tmpfs за локални цели

• /opt – споделен r/o NFS за приложни програми

• /home – споделен r/w NFS

• /work – споделен r/w NFS (бъдещ Lustre)

• /disk – директно закачен твърд диск

4708 ноември 11, вторник

Page 48: Направи си сам суперкомпютър

CRNCHR• За ужас на продавача:

• 1 бр. AMD Sempron 140

• 4 GiB DDR3 RAM

• 2 бр. Sapphire HD5870 (1600 VLIW5 ядра @ 875 MHz)

• ~ 1,5 хил. лв

• 10,8 DP Gflops (CPU) + 1120 DP Gflops (GPU)

• Rpeak = 1,131 Tflops

4808 ноември 11, вторник

Page 49: Направи си сам суперкомпютър

ATI/AMD HD5870• Ядро ATI Cypress

• 1600 поточни ядра @ 875 MHz (850 MHz реф.)

• 20 SIMD клъстера от по 16 VLIW5 процесора

• 2 FP MUL/ADD операции на такт

• 2800 SP Gflops / 560 DP Gflops

• 423 Mh/s

4908 ноември 11, вторник

Page 50: Направи си сам суперкомпютър

08 ноември 11, вторник

Page 51: Направи си сам суперкомпютър

Ценова ефективност

• Blue Gene/P – 193,90 лв/Gflops || 5,16 Gflops/kлв

• PHYSON/MPI – 86,21 лв/Gflops || 11,60 Gflops/kлв

• PHYSON – 52,39 лв/Gflops || 19,09 Gflops/kлв

• CRNCHR – 1,33 лв/Gflops || 751,9 Gflops/kлв

5108 ноември 11, вторник

Page 52: Направи си сам суперкомпютър

Суперкомпютингът някога беше скъп и недостъпен,но сега, при наличие на добро желание...

08 ноември 11, вторник

Page 53: Направи си сам суперкомпютър

08 ноември 11, вторник

Page 54: Направи си сам суперкомпютър

• 20 × HD5850 + 8 × HD6950

• Rpeak = 12,8 DP Tflops = 46% от Rpeak на BG/P

• 2,03 Gflops/W

• 1,14 лв/Gflops || 877,2 Gflops/kлв

• Източник: “Интернет”

5408 ноември 11, вторник

Page 55: Направи си сам суперкомпютър

“За бога, братя, не купувайте [Blue Gene]!”

08 ноември 11, вторник

Page 56: Направи си сам суперкомпютър

Благодарности• проф. дфзн Ана Пройкова

• HPRI-CT-1999-00026 (TRACS @ EPCC)

• ВУ-Ф 205/2006 (ACL)

• ДО 02-136/2008 (IRC-CoSiM)

• гл.ас. д-р Стоян Писов

• Боян Кроснов

5608 ноември 11, вторник

Page 57: Направи си сам суперкомпютър

Join the Theoretical Physics department, Luke, we have supercomputers...

and coffee!

08 ноември 11, вторник

Page 58: Направи си сам суперкомпютър

Благодаря ви завниманието!

<3

08 ноември 11, вторник