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
Page Rank
Experimental Configuration 12
Four 64-bit Ubuntu Linux 8.04.2 Eight Core Machines [Intel Xeon CPU E5450 3.00 GHz with 16 GB physical memory]; 4
Two machines have one Tesla C1060 GPU Card each 8
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; Application Specific Compressed Data Transfers
Web Size  Page Rank Computation Time (in s)
                         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
100000 1.204 0.686 36.18 35.73 0.97 35.85 35.85
500000 6.24 3.98 40.47 38.37 4.40 39.03 38.49
1000000 15.72 10.81 46.23 43.42 9.58 43.17 43.58
2000000 57.53 29.83 58.32 56.36 21.22 51.68 53.64
3000000 104.07 70.96 72.72 84.15 36.26 60.08 63.69
4000000 150.91 92.99 83.42 100.07 45.21 68.68 73.76
5000000 197.22 124.97 95.05 116.87 56.05 77.05 83.68
10000000 428.30 234.22 159.38 200.31 111.98 123.37 137.27
15000000 654.98 346.13 259.58 309.69 176.60 187.33 197.68
20000000 850.32 464.82 375.06 426.39 237.00 260.73 269.79
25000000 1076.45 524.35 484.18 521.89 298.24 322.93 324.77
30000000 1292.99 636.51 622.09 646.37 380.69 408.10 417.34
Comparison of Serial and PMLIB Tasks
Comparison of PMLIB Tasks
Comparison of Serial Task, Fastest PMLIB Task and Slowest PMLIB Task
Web Size  Page Rank Computation Time (in s)
                         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
100000 1.204 0.686 36.18 35.73 0.97 35.85 35.85 0.686 36.18
500000 6.24 3.98 40.47 38.37 4.40 39.03 38.49 3.98 40.47
1000000 15.72 10.81 46.23 43.42 9.58 43.17 43.58 9.58 46.23
2000000 57.53 29.83 58.32 56.36 21.22 51.68 53.64 21.22 58.32
3000000 104.07 70.96 72.72 84.15 36.26 60.08 63.69 36.26 84.15
4000000 150.91 92.99 83.42 100.07 45.21 68.68 73.76 45.21 100.07
5000000 197.22 124.97 95.05 116.87 56.05 77.05 83.68 56.05 124.97
10000000 428.30 234.22 159.38 200.31 111.98 123.37 137.27 111.98 234.22
15000000 654.98 346.13 259.58 309.69 176.60 187.33 197.68 176.60 346.13
20000000 850.32 464.82 375.06 426.39 237.00 260.73 269.79 237.00 464.82
25000000 1076.45 524.35 484.18 521.89 298.24 322.93 324.77 298.24 524.35
30000000 1292.99 636.51 622.09 646.37 380.69 408.10 417.34 380.69 646.37
Fastest LPC Task Slowest LPC Task
Web Size  Page Rank Computation Time (in s) % Speedup of PMLIB Task over Serial Task
                         Serial Task Fastest PMLIB Task Slowest PMLIB Task Fastest PMLIB Task Slowest PMLIB Task
100000 1.204 0.686 36.18 175.62 3.33
500000 6.24 3.98 40.47 156.78 15.43
1000000 15.72 9.58 46.23 164.08 34.00
2000000 57.53 21.22 58.32 271.09 98.64 Max PMLIB Speedup over Serial Task
3000000 104.07 36.26 84.15 286.99 123.68 3.82x
4000000 150.91 45.21 100.07 333.78 150.79
5000000 197.22 56.05 124.97 351.86 157.81
10000000 428.30 111.98 234.22 382.49 182.87
15000000 654.98 176.60 346.13 370.88 189.23
20000000 850.32 237.00 464.82 358.79 182.93
25000000 1076.45 298.24 524.35 360.94 205.29
30000000 1292.99 380.69 646.37 339.64 200.04
 PMLIB Tasks slower than Serial Task  PMLIB Tasks faster than Serial Task