ccs hpc Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û v m ®Ñ 4< w &© - í Ì ô É...

33
1 ćÒinĭĉýnùĂNjDzǍǴ CCS HPCdžǤǴNjǥǖǴ ź62ìƟ`úŻ ¼ Ôü [email protected] ćÒininŠLJljǒǦa{nùĂý ĭĉýnùĂNjDzǍǴ

Upload: others

Post on 10-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

1

CCS HPC

[email protected]

Page 2: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

2

•!•!•!•!•!•!

Page 3: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

3

•!

–!–!–!

•! parallel processing v.s. concurrent processing –!

concurrent processing( ) –!

parallel processing( )

•!–! CPU, memory, disk, network

–! CPU

Page 4: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

4

•!

•! O(N)–!

1 N 3O(N^3)

–!N O

(N^3)–! web

N O(N^2)•!

•!

Page 5: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

5

•! 1.5 2

•! IC

1.52

•! Intel

•!

•!

Page 6: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

6

TOP500 http://www.top500.org

#1

#500

#1 #500

Page 7: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

7

•!–!

domain decomposition

–!parameter search

•!–! EP (Embarassingly Parallel parameter

search–! data parallel domain decomposion–! pipeline–! master/worker

Page 8: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

8

EP

•!–!

–! 1/4 !

–! (x,y)

–! C C/N

Page 9: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

9

•! domain decomposition –!

–! EP

interaction–!

for(t=0; t < T; t++){ for(i=0; i < N; i++) a[i] = b[i-1] + 2*b[i] + b[i+1]; for(i=0; i < N; i++) b[i] = a[i]; }

b[…] (i)

Page 10: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

10

domain decomposition

for(t=0; t < T; t++){ for(i=0; i < N; i++) a(i) = b(i-1) + 2*b(i) + b(i+1); // for(i=0; i < N; i++) b(i) = a(i); //

}

.... b(5) b(6) b(7) b(8) b(9) ....

.... a(5) a(6) a(7) a(8) a(9) ....

t

j j+1

Page 11: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

11

•!

•!for(i=0; i < N; i++){ a[i]=b[i] * c[i] + s * d[i]; }

b[i]

c[i]

[i]s( )

a[i]

Page 12: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

12

master/worker

•! master worker master>>worker

•! master worker

•! worker master

master:: worker:: // give a job to each worker while(1){ while(1){ // receive a job from master // receive a worker’s result // process the job // give the next job to that worker // send the result to master } }

Page 13: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

13

master/worker•!•! EP

master

worker#1

worker#2

worker#3

worker#N job pool (EP)

job

Page 14: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

14

•!

•!domain decomposition

•! (communication)–!

–! :synchronizationload imbalance

•!

Page 15: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

15

Proc-A

computation

send data to proc-B & receive data from proc-B

computation

… … …

Proc-B

computation

send data to proc-A & receive data from proc-A

computation

… … …

Proc-A, Proc-B

Page 16: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

16

Proc-A

computation

send data to proc-B

& receive data from proc-B

computation

… … …

Proc-B

computation

send data to proc-A & receive data from proc-A

computation

… … …

Proc-A, Proc-B

Page 17: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

17

•!–!

message passing (send, receive, ...) –!

shared memory access (write read, ...) •!

–! message passing

–! shared memory access

–!

Page 18: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

18

•!–!

–!•!

–!

–!

Page 19: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

19

•! (

•!

•!•!

scalability•!•! degree of parallelism

–!

–!

Page 20: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

20

•!–! 1 T–! p T(p)–! s(p)=T/T(p)

s(p) p s(p) 1

–! s(p)=p p p

p

s(p)

s(p)=plinear speed-up

p saturation

Page 21: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

21

•!–! s(p) p–! s(p)=p

–! e(p)=s(p)/p e(p) p 1 1

e(p)

e(p)=1linear speed-up

p saturation

p

1

Page 22: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

22

•!–!

•!–! T TP

TST=TP+TS

–! TP p pT(p)

T(p)=TS+TP/p –! p

T(p, limit p!") = TS

e(p) = T(p) / p = TS / p (p!") = 0

p TS0

Page 23: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

23

Scalable

•! TS scalability

•!TS TPscalable(

•! scalableTS (p)

•! scale

granularity

Page 24: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

24

granularity

•!–!–!

•!

•!–! (coarse grain) –! (fine grain)

•!

scalable

Page 25: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

25

domain decomposition

•! 2•! 2 2

.... b(5) b(6) b(7) b(8) b(9) ....

.... a(5) a(6) a(7) a(8) a(9) ....

•! 1•! 2 2

.... b(5) b(6) b(7) b(8) b(9) ....

.... a(5) a(6) a(7) a(8) a(9) ....

Page 26: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

26

sensitivity •!

weak scaling strong scaling

•!

•!

•!

•!

•!

Page 27: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

27

•!

•!

•!–! domain–! parameter search parameter

–!

Page 28: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

28

•! domain decomposition

•!

•!

Page 29: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

29

cut-off MD •! MD (Molecular Dynamics)

–! n P

–!

cut-off

•! interaction

cut-off

–! domain decompositioncell

cell cut-offcellcell mapping method

cut-off

Page 30: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

30

cut-off MD•!

cell

•! cell

•!cell

•!–! 1) /cell

cell–! 2) cell

cell block cyclic

–! 3) cell

cell

cell

Page 31: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

31

cut-off MD•! 1)

cellcell

•! 2) cyclic cell

•! 3) cell

•!

•!

Page 32: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

32

•!

•!•!•!•! scalability•!

Page 33: CCS HPC Æ ä ô Ë å Ö ô z 62ì `ú...3 62ì ÿ •! z û V m ®Ñ 4< w &© - í Ì ô É < ± ² ¯ ó )Æ Q ² { –! z û V m { , th X2ì T ~ 4 q - 62ì •! ©& Ç å ê ï

1. T1 [sec]

pp Tcomm(p) [sec]

p(1) p s(p) e(p)

(2) Tcomm(p) p Tcomm(p)= p 80%T1 p

(3) T1 p

2. N3 n3 domain decomposition 1

325

1 3

33