PC OpenMP
SCore PC OpenMP PC PC PC Myrinet PC PC 1 OpenMP 2
1 3 3 PC 8 OpenMP 11 15 15 16 16 18 19 19 19 20 20 21 21 23 26 29 30 31 32 33
4 5 6 7 SCore 9 PC 10 OpenMP 14 16 17 10 17 11 19 12 19 13 20 1421 15 22 16 24 17 25 18 27 19 28 16 17 20 22 24 27
CPU 1 CG 1 OpenMP OpenMP 1 PC PC PC PC PC PC SCore SCASH Myrinet Ethernet OpenMP OpenMP 16 PC PC OpenMP 1
2
(high performance computing) (HPCHigh Performance Computer) HPFHigh Performance Fortran OpenMP PC JSPP PSCParallel Software Contest 1994 3
3 SMPSymmetrical Multi Processor pthread OpenMP 4
PC WS LAN PVMParallel Virtual Machine MPIMassage Passing Interface 1 PC PC 5
b c d a 6
4 7
PC PC 8 1000 HPC PC P.C OS PC 1990 CPU TCP/IP PVM PVM PC 1995 100Mbit Ethernet Myricom Myrinet PC PC Beowulf 1994 NASA E arth and space science CESDISCenter of Excellence in Space Data and Information Sciences Linux 16 10Mbps EthernetTCP/IP PVM MPI Beowulf PC Linux 8
SCore SCore RWC Beowulf TCP/IP zero-copy SCore Beowulf PC SCore SCore SCore SCore Cluster System Software TSS Myrinet Ethernet 2 1000 100Mbps Ethernet Ethernet Myrinet 9
PC PC Compute Host 16 Server Host 1 Ethernet Server Cluster16 (Compute Host) Myrinet-2000 Cluster16 Server Host Pentium3 450MHz 512MB SDRAM Compute Host Pentium3 500MHz 512MB SDRAM Ethernet 100Mbps 80sec Myrinet Gbps 9sec SCore5.2.0 SCore SCASH OS RedHat Linux7.3 PC Ethernet Switch - 100 Mbps - 80 s Server Host - Pentium3 450MHz - 512MB SDRAM - 13.0GB HDD Compute Host 16 - Pentium3 500MHz - 512MB SDRAM - 6.4GB HDD Myrinet - 2000 Switch - 2 Gbps - 9 s PC 10
PVMMPI HPF(High Performance Fortran) Fortran FortranDViennaFortranPCF-Fortran CM-FortranDAP-Fortran Super Computing 91 HPF HPF2.0 Fortran95!HPF$ HPF PVM(Parallel Virtual Machine) PVM PVM SMP Linux SLIPPLIP ATM Linux PVM 11
PVM PVM PVM MPI(Message Passing Interface) MPI PVM MPIFThe MPI Forum 1994 6 MPI1.0 I/O 1 One Sided Communication MPI2.0 1997 7 MPICHMPI CHameleon MPICH MPI1.1 LAN MPI Linux UDP TCP Linux MPI MPI MPICH ADI(Abstract Device Interface) Fork Join Unix pthread CRAY SX 12
OpenMP OpenMP 1997 OpenMP Architecture Review Board Fortran API C/C++ API Fortran/C/C++ 1 OpenMP OpenMP OpenMP Fortran C OpenMP HPF HPF OpenMP HPF Fortran OpenMP Fortran C/C++ OpenMP fork-join OpenMP OpenMP OpenMP OpenMP 13
OpenMP directives/pragma Fortran/C/C++ OpenMP OpenMP 14
( ( ) Z ) 2 f Z : i + 1 = Z + C Z = (0,0) i 0 Z, = ( ) 1 = f ( Z 0 ), Z 2 = f ( Z1), Z k f Z k 1 ( k ) Z k i ( 2.0 < 0.5),( 1.25 < 1.25) X Y X Y 0 Z > 2. i > 200 ( ) 2 f ( Z : = Z i C Z x, y Z = x + yi ) Z i + 1 + 2 ( f ( Z) : Z = Z C ) C x y C = a + bi i + 1 i +, 2 2 Z x = x y + a Z y = 2xy + b i > 200 15
10 1 2 8 16 0.43 (1.00) 0.36 (1.20) 0.20 (2.15) 0.12 (3.58) 0.072 0.32 0.16 0.082 0.043 0.026 (5.97) (1.00) (1.97) (3.37) (7.37) (12.28) 16
1 2 4 8 16 45.2 (1.00) 36.2 (1.25) 19.7 (2.29) 12.2 (3.7) 6.35 31.9 16.0 8.01 4.01 2.01 (7.12) (1.00) (1.99) (3.98) (7.96) ( 15.9) 10 17
18
12 12 19
13 1 2 4 8 16 10 11.2 100 112 10.8 7.6 6.3 (1.00) (1.04) (1.48) (1.78) 6.1 102 66.6 47.4 31.4 (1.83) (1.00) (1.10) (1.69) (2.37) (3.58) 500 578 501 232 160 138 (1.00) (1.15) (2.49) (3.60) (4.20) 13 10 100 500 1000 20
n-1 n-1 n-2 2 1 n n-1 K K-1 K+1 K 2 1 2 3 14 14 21
5 10 15 15 1 2 4 8 16 5 101.8 10 466.2 (1.00) (1.00) 148.1 1303 (0.69) (0.36) 131.2 725.8 (0.78) (0.65) 95.41 288.6 15 1227 2520 1700 959.2 (1.00) (0.49) (0.72) (1.07) (1.62) (1.28) 79.7 180.3 574.0 (1.28) (2.59) (2.14) 15 22
2 4 8 16 2 4 16 23
16 5 10 15 17 1 2 4 8 16 5 65.48 10 275 15 (1.00) (1.00) 16.37 65.6 (4.00) (4.19) 4.106 16.41 (15.9) (16.8) 1.037 4.156 (63.1) (66.2) 0.2968 1.098 654.3 154.7 37.7 9.34 2.45 (220.6) (250.4) (1.00) (4.23) (17.4) (70.1) (267.1) 24
17 1 2 5 10 15 5 10 15 ( ) ( ) 2 O n O n log n ( ) 2 O n 2 2 2 n O n O 2 4 2 2 4 n O n O 4 16 25
8 O 2 8 n 64 2 n O 16 2 16 n O 256 2 n O 2 ( ) n n O log 4 2 1 26
18 18 10 100 300 500 19 1 2 4 8 16 10 0.0811 100 1.101 300 500 6.171 (1.00) (1.00) 0.0754 0.8898 (1.08) (1.24) 0.0860 0.9088 (0.94) (1.21) 0.0984 0.9947 (0.82) (1.11) 0.1105 1.092 3.582 2.846 3.156 3.414 3.620 (0.73) (1.01) (1.00) (1.26) (1.13) (1.05) (0.99) (1.00) 4.909 (1.26) 4.755 (1.3) 5.083 (1.21) 5.461 (1.13) 27
19 1 10 100 300 2 500 4 28
1 29
OpenMP OpenMP SCore PC PC PC SCore SCASH OpenMP 30
31
32