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

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

Upload: openfest-team

Post on 21-Dec-2014

1.121 views

Category:

Technology


3 download

DESCRIPTION

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

TRANSCRIPT

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, вторник