The efficiency of a parallel system is defined to be speedup divided
by the number of processors. The efficiency curves for all three
algorithms on the Cray CS6400 are shown in
Figure
. As more processors are added, the
efficiency decreases, and therefore speedup decreases.
Figure: Efficiency vs. # of processors for all three algorithms on
Cray CS6400
The cost of a parallel system is defined as parallel run time
multiplied by the number of processors used (
). A parallel
system is cost-optimal if its cost is equal to the serial run
time. A cost-optimal system has a constant efficiency. The plot
above shows that the efficiency of BLAST on SMP machines is not
constant, but is decreasing as more processors are added. Therefore,
the parallel system is not cost-optimal.
We measured BLAST for different lengths of sequences (not shown), and determined that we can obtain a higher efficiency if we increase the BLAST problem size with the number of processors. So the system can remain at a fixed efficiency if we increase the query sequence length or the database size as we add more processors. A parallel system is scalable if it can remain cost-optimal by increasing the problem size. BLAST performance on SMP machines is therefore scalable.
The views and opinions expressed in this page are strictly those of the page author.
The contents of this page have not been reviewed or approved by the University of Minnesota.