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

28
Kas ir HPC? (augstas veiktspējas skaitļošana) Leo Trukšāns LU DF lektors, LU MII pētnieks [email protected] 2014.05.10

Upload: ebuc

Post on 18-Nov-2014

415 views

Category:

Documents


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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

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

[email protected]

2014.05.10

Page 2: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

Sadalīto aprēķinu pieejas

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

veicamos darbos

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

Page 3: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

Sadalīto aprēķinu pieejas

● Divas pieejas:

Kopīga atmiņa (shared memory)

Sadalīta atmiņa (distributed memory)

Page 4: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

Kopīga atmiņa

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

spoles, utt.● Saziņa starp

procesiem notiek nanosekundēs!

Page 5: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

Kopīga atmiņa

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

● Daudzus procesorus savieno ar īpašiem starpsavienojumiem

Page 6: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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

Page 7: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

Pakešu skaitļošana

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

Page 8: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

Pakešu skaitļošanas elementi

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

Page 9: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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)

Page 10: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

LU MII puduris

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

Page 11: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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

Page 12: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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

Page 13: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

Režģis – puduru apvienojums

Page 14: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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.

Page 15: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

ARC starpprogrammatūra

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

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

Page 16: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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")

Page 17: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

BalticGRID II

Page 18: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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)

Page 19: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

Kas ir HPC?

Page 20: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

Kas ir HPC?

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

Page 21: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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.

Page 22: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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)

Page 23: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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.

Page 24: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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.

Page 25: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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);

}

Page 26: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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

Page 27: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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)

Page 28: Kas ir HPC? Augstas veiktspējas skaitļošana. Leo Trukšāns. DPA Konference 2014

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

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

[email protected]

2014.05.10