Pier Paolo Guillen Hernandez (pguillen)
CS 525 - Parallel Computing
Programming Assignment (Parallel Quicksort using MPI)
March 31, 2010

  My solution implements the quicksort algorithm as it was explained in class. Below is a table comparing different input sizes and amount of processes used. Results seem to be in line to what it was expected (few data, few processes are better; large data, many processes are better), except for the results for 16 processes which never significally improved than for 8, even for very large inputs.

  I had some problems running "mpirun -n 4 -machinefile mfile run" as it asked me for my password, but didn't accepted it. The test were made using "mpirun -np 4 run" instead. I'm not sure if this has implications on the obtained results.

size        1           2           4           8           16
16          0.000082    0.000091    0.000605    0.160055    0.015487
256         0.000149    0.000098    0.000642    0.000691    0.002509
4096        0.000990    0.000700    0.000735    0.000666    0.003821
65536       0.018496    0.009734    0.005754    0.003530    0.006888
1048576     0.380735    0.188080    0.099064    0.249470    0.087747
16777216    6.888408    3.573456    1.939415    1.113841    1.210889
268435456   121.680323  63.140636   34.537224   20.663368   21.937214