This tutorial discusses in general terms some of the issues associated with developing a parallel programs for solving parallel problems. Perfect speedup equals the number of processors. For instance, if you were to run on 8 processors, perfect speedup would mean that you would run 8 times faster on 8 processors than on one.
Scalability refers to how speedup changes as the problem size and number of processors increases.
For instance, as you increase the problem size, you may spend more time in one part of your code. If this piece is computed in parallel, your speedup may increase realtive to the speedup you obtained when running the smaller problem. This results in load balancing, that is each process will finish its work at the same time. Each process stores the data needed to accomplish that work, and does not require anyone else's data, thereby minimizing communication between processors. The best parallel solution may not flow directly from the best serial solution.