![]() |
![]() ![]() |
5.5 Minimum Execution Time and Minimum Cost-Optimal Execution TimeWe are often interested in knowing how fast a problem can be solved, or what the minimum possible execution time of a parallel algorithm is, provided that the number of processing elements is not a constraint. As we increase the number of processing elements for a given problem size, either the parallel runtime continues to decrease and asymptotically approaches a minimum value, or it starts rising after attaining a minimum value (Problem 5.12). We can determine the minimum parallel runtime Let p0 be the value of the number of processing elements that satisfies Equation 5.21. The value of Example 5.18 Minimum execution time for adding n numbers Under the assumptions of Example 5.12, the parallel run time for the problem of adding n numbers on p processing elements can be approximated by Equating the derivative with respect to p of the right-hand side of Equation 5.22 to zero we get the solutions for p as follows: Substituting p = n/2 in Equation 5.22, we get In Example 5.18, the processor-time product for p = p0 is Q(n log n), which is higher than the Q(n) serial complexity of the problem. Hence, the parallel system is not cost-optimal for the value of p that yields minimum parallel runtime. We now derive an important result that gives a lower bound on parallel runtime if the problem is solved cost-optimally. Let Example 5.19 Minimum cost-optimal execution time for adding n numbers As derived in Example 5.14, the isoefficiency function f(p) of this parallel system is Q(p log p). If W = n = f(p) = p log p, then log n = log p + log log p. Ignoring the double logarithmic term, log n It is interesting to observe that both Example 5.20 A parallel system with Consider the hypothetical parallel system of Example 5.15, for which From Equation 5.10, the parallel runtime for this system is Using the methodology of Example 5.18, From the preceding analysis, p0 = Q(W). Substituting p by the value of p0 in Equation 5.28, we get According to Example 5.15, the overall isoefficiency function for this parallel system is Q(p3), which implies that the maximum number of processing elements that can be used cost-optimally is Q(W1/3). Substituting p = Q(W1/3) in Equation 5.28, we get A comparison of Equations 5.29 and 5.30 shows that In this section, we have seen examples of both types of parallel systems: those for which While deriving the minimum execution time for any parallel system, it is important to be aware that the maximum number of processing elements that can be utilized is bounded by the degree of concurrency C(W) of the parallel algorithm. It is quite possible that p0 is greater than C(W) for a parallel system (Problems 5.13 and 5.14). In such cases, the value of p0 is meaningless, and |
![]() |
![]() ![]() |