high performance computing

34
Пресметување со високи перформанси Изработил: Марјан Николовски

Upload: marjan-nikolovski

Post on 11-May-2015

261 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: High Performance Computing

Пресметување со високи перформанси

Изработил: Марјан Николовски

Page 2: High Performance Computing

Содржина

• Вовед и дефиниција• Архитектура и харвер• Оперативни системи• Алатки, библиотеки и јазици за развој

на ПВП базиран софтвер• Анализа на ТОП 500• Експеримент• Заклучок

Page 3: High Performance Computing

Вовед и дефиниција

• Пресметување со високи перформанси – дефиниција

• Употреба– Предвидување на временска прогноза– Финансиски анализи– Генетски инженеринг– Енергетски анализи– Анализа на податоци во податочните

центри

Page 4: High Performance Computing

• Дефиниција– “Суперкомпјутер е компјутер кој што

извршува број на операции илјадници пати побрзо од еден обичен персонален компјутер” – релативност

Архитектура и хардвер

Page 5: High Performance Computing

• Дефиниција– Кластер е конфигурација од повеќе

компјутери кои работат заедно• Компоненти

– Индивиуални компјутери или јазли– Мрежа која ги поврзува компјутерите– Софтвер кој овозможува компјутерите да

си ја поделат својата работа преку мрежата

Архитектура и хардвер

Page 6: High Performance Computing

• Структура– Симетрична

• Индивидуалност на јазли• Кластер базиран софтер

– Асиметрична• Централен сервер за координација• Дистибуиран податочен систем

– Проширена• Асиметрична структура со подобрен

мониторинг на јазлите

Архитектура и хардвер

Page 7: High Performance Computing

• Системи базирани на магистрала со споделена меморија

• Мемориски дистрибуирани системи

Архитектура и хардвер

Page 8: High Performance Computing

КПЕ 1 КПЕ 2 КПЕ N...

МеморијаВ/И

Системи базирани на магистрала со споделена меморија

Архитектура и хардвер

Page 9: High Performance Computing

Мемориски дистрибуирани системи

Архитектура и хардвер

Page 10: High Performance Computing

• Системи базирани на магистрала со споделена меморија– Архитектура

• Единствен мемориски пристап (UMA)• Неуниформен мемориски пристап (NUMA)• Низи од процесори

Архитектура и хардвер

Page 11: High Performance Computing

ЕМП Архитектура ЕМП – архитектура на единствен мемориски пристап

КПЕ 1 КПЕ 2 КПЕ N...

Меморија

Кеш Кеш Кеш...

Архитектура и хардвер

Page 12: High Performance Computing

РМП Архитектура

КПЕ 1 КПЕ 2 КПЕ N...

Кеш Кеш Кеш...

Меморија Меморија Меморија...

Архитектура и хардвер

Page 13: High Performance Computing

Низи од процесори

КПЕ 1 1 КПЕ 1 2 КПЕ 1 N...

КПЕ 2 1 КПЕ 2 2 ...

КПЕ 3 1 КПЕ 3 2 ...

КПЕ 4 1 КПЕ 4 2 КПЕ M N...

...

...

Архитектура и хардвер

Page 14: High Performance Computing

• Недостатоци– Проблем со скалирање– Проблем со грануларност– Тестно грло е меморијата

Архитектура и хардвер

Page 15: High Performance Computing

• Мемориско-дистрибуирани системи– Архитектура

• Клиент - сервер• 3-нивоовска архитектура• Рамноправни системи• Просторно базирана архитектура

Архитектура и хардвер

Page 16: High Performance Computing

• Недостатоци– Отежната меѓупроцесорска комуникација– Проблем со дистрибуирани техники на

конкурентност (монитори, семафори, координатори, трансакции)

– Латентност

Архитектура и хардвер

Page 17: High Performance Computing

Архитектура и хардвер

• СпоредбаСМП ДМС

Комуникација Брза, на ниво на магистрала.

Може да се јави латентност при честа комуникација. Латентноста влијае на пресметковната моќ

Скалабилност Проблем со скалабилност. Дизајнот на системот не може да се промени.

Скалабилни. Лесно може да се додадат нови јазли.

Синхронизација Синхронизација на ниво на процесор.

Синхронизацијата е оставена на програмерот.

Механизми за конкурентност Постојат на најниско ниво, ги нуди оперативниот систем(мутекси, семафори).

Механизмите се имплементираат на повисоко ниво од страна на програмерот.

Надежност Проблем настанува доколку откаже одредена компонента од системот

Системот може да работи доколку откаже некој јазол

Page 18: High Performance Computing

• ОС користени кај СМП– Било која Linux базирани дистрибуција– Windows XP, Vista, 7

• ОС користени кај МДС– Linux базирани

• openMosix, OSCAR, ROCKS, PelicanHPC, CentOS

– Windows базирани • Windows HPC Server

Оперативни системи

Page 19: High Performance Computing

• Дизајн на ОС за потребите на процесирање со високи перформанси– Единечна системска слика– “Независно системска слика”

Оперативни системи

Page 20: High Performance Computing

• Единечна системска слика– Миграција на процеси– Статус на процеси– “Перзистирање” на процеси

Оперативни системи

Page 21: High Performance Computing

Работник 1 Работник 2 Работник 3 Работник N

ЕСС архитектура

Контролер

ЕСС базирана архитектура

Оперативни системи

Page 23: High Performance Computing

• MPI• OpenMPI• Erlang• C#• Java• Сите програмски јазици што подржуваат

мрежна комуникација и нишки

Алатки, библиотеки и јазици

Page 24: High Performance Computing

Алатки, библиотеки и јазици

Пресметај површина Пресметај површина Пресметај површина

<no send action> <no send action> <no send action>

Прими резултат

Испрати резултат Испрати резултат Испрати резултат

Сумирај резултат

Тек на извршување на примерот за пресметување на риманова сума

Page 25: High Performance Computing

Анализа на TOP 500

Компјутер Оперативен систем

Архитектура

Cray XT5-HE Opteron Six Core 2.6 GHz Linux MPPDawning TC3600 Blade, Intel X5650, NVidia Tesla C2050 GPU Linux ClusterBladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2 Ghz / Opteron DC 1.8 GHz, Voltaire Infiniband

Linux Cluster

Cray XT5-HE Opteron Six Core 2.6 GHz Linux MPPBlue Gene/P Solution CNK/SLES 9 MPPSGI Altix ICE 8200EX/8400EX, Xeon HT QC 3.0/Xeon Westmere 2.93 Ghz, Infiniband

Linux MPP

NUDT TH-1 Cluster, Xeon E5540/E5450, ATI Radeon HD 4870 2, Infiniband Linux ClustereServer Blue Gene Solution CNK/SLES 9 MPPBlue Gene/P Solution CNK/SLES 9 MPP

Page 26: High Performance Computing

• Процесно рударењe– Дефиниција на процесно рударење

• Рударење на процеси е техника која ги истражува бизнис процесите преку анализа на апликациски логови

– Експеримент• Паралелизација на алгоритам за процесно

рударењe

•Паралелизација на алгоритам за процесно рударењe

Експеримент

Page 27: High Performance Computing

Пример за апликациски лог

Експеримент

Page 28: High Performance Computing

Пример резултат од процесно рударење

Експеримент

Page 29: High Performance Computing

Експеримент

Секвенцијална имплементација Паралелна имплементација

Прочитај апликациски лог

Анализирај и изгради граф

Земи ги сите типови на случаи

Земи ги сите активност за

случај

Анализирај, синхронизирај, гради граф

Земи ги сите активност за

случај...

Page 30: High Performance Computing

Експеримент

375

200

Временски анализи во секунди

Паралелно извршување Секвенционално извршување

Резултат од извршување на секвенцијална и паралелна имплементација

Page 31: High Performance Computing

Експеримент

Граф на зависности, резултат од податочен лог

Page 32: High Performance Computing

• Проблеми и пристап– Паралелни верзии на алгоритми– Дистрибуирани верзии на алгоритми– Подобар хардвер– Дистрибуиран хардвер

•Паралелизација на алгоритам за процесно рударењe

Заклучок

Page 33: High Performance Computing

• Книги– High Performance Computing, Second Edition– High Performance Computing Paradigm and Infrastructure– High Performance Heterogeneous Computing– Parallel Computing Architectures, Algorithms and Applications– High Performance Linux Clusters with OSCAR, Rocks, OpenMosix, and MPI– Анализа и подобрување на имплементација на хевристик за процесно рударење– ProM Framework Tutorial– Genetic process mining– Bussiness process mining an industrial application– Genetic process mining an experimental evaluation

• Линкови– http://en.wikipedia.org/wiki/Symmetric_multiprocessing– http://www.networkworld.com/details/550.html?def– http://www.phy.ornl.gov/csep/ca/node21.html– http://en.wikipedia.org/wiki/Single-system_image– http://en.wikipedia.org/wiki/Distributed_operating_system– http://technet.microsoft.com/en-us/library/ff627850%28WS.10%29.aspx– http://en.wikipedia.org/wiki/OpenMosix– http://homepages.paradise.net.nz/frankkru/whatopenmosix/research_report.html– http://www.top500.org– http://processmining.org– http://en.wikipedia.org/wiki/Process_mining

»Паралелизација на алгоритам за процесно рударењe

Референци

Page 34: High Performance Computing