|
|
|
|
|
|
|
|
|
|
|
| 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|