Partitioned Memory Parallel Programming Library (PMLIB)
Based on BSP-RAMP: Partitioned Memory Parallel Programming Framework
      Prof. Subodh Kumar Prof. Sorav Bansal      
Tarun Beri
Indian Institute of Technology, Delhi
N-Body Simulation
Experimental Configuration 7
Four 64-bit Ubuntu Linux 8.04.2 Eight Core Machines [Intel Xeon CPU E5450 3.00 GHz with 16 GB physical memory]; 3
Two machines have one Tesla C1060 GPU Card each 5
Watch Dog/Kernel Execution Timeout Disabled; mpiexec with 4 processes on different machines;
 CUDA Version 3.1; OpenMPI Version 1.78; OpenMP Version 3.0; gcc Version 4.2.4
Equal task partitioning among all processing elements
100 iterations
N-Bodies  Computation Time (in seconds)
                         Serial Task  1 host CPU Task 1 host GPU Task 1 host Task
CPU+GPU
Cluster CPU Task Cluster GPU Task Cluster Task
CPU+GPU
1000 2.16 0.40 24.20 24.41 0.39 12.23 12.25
5000 54.60 7.20 24.20 30.18 2.93 12.61 13.20
10000 217.00 28.40 24.40 48.16 9.60 13.07 17.35
20000 872.00 110.80 24.70 126.44 32.67 13.94 46.67
30000 1942.00 248.90 25.20 255.03 68.50 14.83 92.35
50000 5457.00 689.90 26.40 669.11 182.31 16.70 200.62
100000 2197864.00 2751.00 29.80 2607.66 739.27 21.92 694.71
Comparison of Serial and PMLIB Tasks
Comparison of PMLIB Tasks
Comparison of Serial Task, Fastest PMLIB Task and Slowest PMLIB Task
N-Bodies  Computation Time (in seconds)
                         Serial Task  1 host CPU Task 1 host GPU Task 1 host Task
CPU+GPU
Cluster CPU Task Cluster GPU Task Cluster Task
CPU+GPU
Fastest PMLIB Task Slowest PMLIB Task
1000 2.160 0.400 24.20 24.41 0.39 12.23 12.25 0.393 24.41
5000 54.60 7.20 24.20 30.18 2.93 12.61 13.20 2.93 30.18
10000 217.00 28.40 24.40 48.16 9.60 13.07 17.35 9.60 48.16
20000 872.00 110.80 24.70 126.44 32.67 13.94 46.67 13.94 126.44
30000 1942.00 248.90 25.20 255.03 68.50 14.83 92.35 14.83 255.03
50000 5457.00 689.90 26.40 669.11 182.31 16.70 200.62 16.70 689.90
100000 2197864.00 2751.00 29.80 2607.66 739.27 21.92 694.71 21.92 2751.00
Fastest LPC Task Slowest LPC Task
N-Bodies  Computation Time (in seconds) % Speedup of PMLIB Task over Serial Task
                         Serial Task Fastest PMLIB Task Slowest PMLIB Task Fastest PMLIB Task Slowest PMLIB Task
1000 2.160 0.393 24.41 549.62 8.85
5000 54.60 2.93 30.18 1864.12 180.91
10000 217.00 9.60 48.16 2260.18 450.59
20000 872.00 13.94 126.44 6256.73 689.67 Max PMLIB Speedup over Serial Task
30000 1942.00 14.83 255.03 13092.43 761.47 100253.8x
50000 5457.00 16.70 689.90 32676.65 790.98
100000 2197864.00 21.92 2751.00 10025379.74 79893.28
 PMLIB Tasks slower than Serial Task  PMLIB Tasks faster than Serial Task