kas ir hpc? augstas veiktspējas skaitļošana. leo trukšāns. dpa konference 2014

Post on 18-Nov-2014

415 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Kas ir HPC?(augstas veiktspējas skaitļošana)

Leo TrukšānsLU DF lektors, LU MII pētnieks

leo.truksans@lu.lv

2014.05.10

Sadalīto aprēķinu pieejas

● Priekšnoteikums:– Uzdevumam jābūt sadalāmam paralēli

veicamos darbos

● Vienmēr jāsinhronizē darbus, rezultātus

Sadalīto aprēķinu pieejas

● Divas pieejas:

Kopīga atmiņa (shared memory)

Sadalīta atmiņa (distributed memory)

Kopīga atmiņa

● Viegli sinhronizēt● Dati vienuviet● Muteksi, semafori,

spoles, utt.● Saziņa starp

procesiem notiek nanosekundēs!

Kopīga atmiņa

● Sistēmas mērogo ar daudziem procesoriem, kodoliem

● Daudzus procesorus savieno ar īpašiem starpsavienojumiem

Sadalīta atmiņa

Populārākās stratēģijas:

● Pakešu skaitļošana (batch computing)– Darbs ir palaist lietotni ar daļējiem

datiem

– Lieto: Puduros (cluster), Režģos (grid)

● Ziņojumu apmaiņa (message passing)– Darbs ir pieprasījums lietotnes

“protokolā”

– Lieto: HPC

Pakešu skaitļošana

● Apjomīga uzdevuma sadalīšana neatkarīgos un to paralēla izpildīšana

Pakešu skaitļošanas elementi

● Fiziskā infrastruktūra● Puduris● GRID starpprogrammatūra (middleware)● Lietojumprogrammatūra

Puduris

● Apvieno neatkarīgus serverus loģiskā vienībā

● Vienas organizācijas uzraudzībā● Mezglu skaits var sniegties tūkstošos● Parasti savienoti ar LAN● Tiek pārvaldīts ar t.s. CRM (cluster

resource manager)

LU MII puduris

● 232 kodoli (464 pavedieni)● 960GB RAM● 116TB HDD● Lieto LUMII, RTU, LU CFI zinātnieki

LU MII puduris

● Lietotāji saskarnes mezglam pieslēdzas ar SSH

● Failu piekļuvei – SFTP● Pudura iekšienē visiem mezgliem pieeja

vienotai datu vietai – NFS● Vienota lietotāju datubāze

LU MII puduris

● Pārbauda, ka darbs izpildās:

$ squeue 

JOBID PARTITION NAME USER ST TIME NODE

4792 balticgri job1 lietotajs R 1­02:26:41 apse28

4790 balticgri job2 lietotajs R 2­00:29:21 apse26

4789 balticgri job3 lietotajs R 2­00:30:14 apse25

Režģis – puduru apvienojums

Režģis – puduru apvienojums

● Dod iespēju lietot citu organizāciju pudurus īpaši lieliem uzdevumiem

– BalticGrid – 10tiem tūkstoši kodolu

● Saziņai lieto starpprogrammatūru– Piemēri: gLite, NorduGrid ARC, u.c.

ARC starpprogrammatūra

● Advanced Resource Connector● Sākotnēji izstrādāta Skandināvijas GRID

vajadzībām● Šobrīd tiek lietota visā pasaulē

ARC darba piemērs

&

(executable="script.sh")

(arguments="&>&2")

(inputFiles=("script.sh" ""))

(outputFiles=

        ("stdout" "")

        ("stderr" "")

)

(jobName="ngtest­job")

(stdout="stdout")

(stderr="stderr")

(gmlog="gmlog")

(CPUTime="1000")

(count="1")

BalticGRID II

BalticGrid/EGI

● Eiropā galvenais attīstītājs – CERN● ATLAS projekts jeb Hadronu paātrinātājs● ~300GiB/s “RAW” dati● ~300MiB/s saglabājamie dati (~27TiB/24h)

Kas ir HPC?

Kas ir HPC?

Tā nav:● Procesora virstaktēšana (overclocking)● Pakešu skaitļošana, režģis● Mākonis (cloud)● Lieli dati (big data)

Kas ir HPC?

● Techopedia:High-performance computing (HPC) is the use of super computers and parallel processing techniques for solving complex computational problems. HPC technology focuses on developing parallel processing algorithms and systems by incorporating both administration and parallel computational techniques.

● Webopedia:A branch of computer science that concentrates on developing supercomputers and software to run on supercomputers. A main area of this discipline is developing parallel processing algorithms and software: programs that can be divided into little pieces so that each piece can be executed simultaneously by separate processors.

Kas ir HPC?

● Būtība: liela mēroga paralēlā skaitļošana– Ar kopīgu atmiņu vai MPI

● MPI ļauj:– Paralēli darbināt lietotnes instances

vairākos datoros un

– Apmainīties ar darbiem starp tām nanosekundēs (kā ar kopīgu atmiņu)

MPI

● Ir specifiskas realizācijas

Industrijas standarts:● OpenMPI

The Open MPI Project is an open source Message Passing Interface implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available.

OpenMPI

● Vispār darbināms virs daudziem transporta protokoliem

– Arī Ethernet

– Lietotnes ir abstrahētas no transporta, ko izvēlas izpildes laikā

● Lielākais efekts – uz īpašas RDMA infrastruktūras, piemēram:

– InfiniBand

– Myrinet

– u.c.

MPI “Hello world!”

#include <stdio.h>

#include <mpi.h>

#include <math.h>

void main (int argc, char *argv[])

{

  int rank, size;

  MPI_Init (&argc, &argv);

  MPI_Comm_rank (MPI_COMM_WORLD, &rank);

  MPI_Comm_size (MPI_COMM_WORLD, &size);

  printf ("[%d.%s]: Hello World\n", rank, size);

  MPI_Finalize();

  return(0);

}

HPC pielietojumi

● Ja uzdevums ir paralēli rēķināms un ir svarīgs ātrums

● Nozares:– Finansu darījumi

– Biozinātnes

– Ģeogrāfiski dati

– Naftas un gāzes modelēšana

– Projektēšanas automatizācija

– Klimata modelēšana

– Mēdiji un izklaide

LU MII HPC piemērs

● ANSYS lietotne – konstrukciju mehānisku eksperimentu simulēšanai (u.d.c.)

● Darbināma gan:– ar MPI (lieliem modeļiem)

– pakešu režīmā (daudziem eksperimentiem)

● Uztaisīts uzdevumu šķēlējs (grinder)

Kas ir HPC(augstas veiktspējas skaitļošana)

Leo TrukšānsLU DF lektors, LU MII pētnieks

leo.truksans@lu.lv

2014.05.10

top related