Kas ir HPC?
(augstas veiktspējas skaitļošana)
Leo Trukšāns
LU 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ē d...
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
nano...
Kopīga atmiņa
● Sistēmas mērogo ar
daudziem
procesoriem,
kodoliem
● Daudzus
procesorus savieno
ar īpašiem
starpsavienojumi...
Sadalīta atmiņa
Populārākās stratēģijas:
● Pakešu skaitļošana (batch computing)
– Darbs ir palaist lietotni ar daļējiem
da...
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)
● Lietojumprogramma...
Puduris
● Apvieno neatkarīgus serverus loģiskā
vienībā
● Vienas organizācijas uzraudzībā
● Mezglu skaits var sniegties tūk...
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 ...
LU MII puduris
● Pārbauda, ka darbs izpildās:
$ squeue 
JOBID PARTITION NAME USER ST TIME NODE
4792 balticgri job1 lietota...
Režģis – puduru apvienojums
Režģis – puduru apvienojums
● Dod iespēju lietot citu organizāciju
pudurus īpaši lieliem uzdevumiem
– BalticGrid – 10tiem ...
ARC starpprogrammatūra
● Advanced Resource Connector
● Sākotnēji izstrādāta Skandināvijas GRID
vajadzībām
● Šobrīd tiek li...
ARC darba piemērs
&
(executable="script.sh")
(arguments="&>&2")
(inputFiles=("script.sh" ""))
(outputFiles=
        ("stdo...
BalticGRID II
BalticGrid/EGI
● Eiropā galvenais attīstītājs – CERN
● ATLAS projekts jeb Hadronu paātrinātājs
● ~300GiB/s “RAW” dati
● ~3...
Kas ir HPC?
Kas ir HPC?
Tā nav:
● Procesora virstaktēšana (overclocking)
● Pakešu skaitļošana, režģis
● Mākonis (cloud)
● Lieli dati (...
Kas ir HPC?
● Techopedia:
High-performance computing (HPC) is the use of super
computers and parallel processing technique...
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 lietotn...
MPI
● Ir specifiskas realizācijas
Industrijas standarts:
● OpenMPI
The Open MPI Project is an open source Message Passing ...
OpenMPI
● Vispār darbināms virs daudziem
transporta protokoliem
– Arī Ethernet
– Lietotnes ir abstrahētas no transporta,
k...
MPI “Hello world!”
#include <stdio.h>
#include <mpi.h>
#include <math.h>
void main (int argc, char *argv[])
{
  int rank, ...
HPC pielietojumi
● Ja uzdevums ir paralēli rēķināms un ir
svarīgs ātrums
● Nozares:
– Finansu darījumi
– Biozinātnes
– Ģeo...
LU MII HPC piemērs
● ANSYS lietotne – konstrukciju mehānisku
eksperimentu simulēšanai (u.d.c.)
● Darbināma gan:
– ar MPI (...
Kas ir HPC
(augstas veiktspējas skaitļošana)
Leo Trukšāns
LU DF lektors, LU MII pētnieks
leo.truksans@lu.lv
2014.05.10
Upcoming SlideShare
Loading in...5
×

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

288

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
288
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Kas ir HPC? (augstas veiktspējas skaitļošana) Leo Trukšāns LU DF lektors, LU MII pētnieks leo.truksans@lu.lv 2014.05.10
  2. 2. Sadalīto aprēķinu pieejas ● Priekšnoteikums: – Uzdevumam jābūt sadalāmam paralēli veicamos darbos ● Vienmēr jāsinhronizē darbus, rezultātus
  3. 3. Sadalīto aprēķinu pieejas ● Divas pieejas: Kopīga atmiņa (shared memory) Sadalīta atmiņa (distributed memory)
  4. 4. Kopīga atmiņa ● Viegli sinhronizēt ● Dati vienuviet ● Muteksi, semafori, spoles, utt. ● Saziņa starp procesiem notiek nanosekundēs!
  5. 5. Kopīga atmiņa ● Sistēmas mērogo ar daudziem procesoriem, kodoliem ● Daudzus procesorus savieno ar īpašiem starpsavienojumiem
  6. 6. 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
  7. 7. Pakešu skaitļošana ● Apjomīga uzdevuma sadalīšana neatkarīgos un to paralēla izpildīšana
  8. 8. Pakešu skaitļošanas elementi ● Fiziskā infrastruktūra ● Puduris ● GRID starpprogrammatūra (middleware) ● Lietojumprogrammatūra
  9. 9. 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)
  10. 10. LU MII puduris ● 232 kodoli (464 pavedieni) ● 960GB RAM ● 116TB HDD ● Lieto LUMII, RTU, LU CFI zinātnieki
  11. 11. 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
  12. 12. 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
  13. 13. Režģis – puduru apvienojums
  14. 14. 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.
  15. 15. ARC starpprogrammatūra ● Advanced Resource Connector ● Sākotnēji izstrādāta Skandināvijas GRID vajadzībām ● Šobrīd tiek lietota visā pasaulē
  16. 16. 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")
  17. 17. BalticGRID II
  18. 18. 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)
  19. 19. Kas ir HPC?
  20. 20. Kas ir HPC? Tā nav: ● Procesora virstaktēšana (overclocking) ● Pakešu skaitļošana, režģis ● Mākonis (cloud) ● Lieli dati (big data)
  21. 21. 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.
  22. 22. 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)
  23. 23. 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.
  24. 24. 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.
  25. 25. 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 Worldn", rank, size);   MPI_Finalize();   return(0); }
  26. 26. 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
  27. 27. 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)
  28. 28. Kas ir HPC (augstas veiktspējas skaitļošana) Leo Trukšāns LU DF lektors, LU MII pētnieks leo.truksans@lu.lv 2014.05.10
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×