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.