An Optimal Execution Time Estimate of Static versus Dynamic Allocation in Multiprocessor Systems

Abstract

Consider a multiprocessor with kk identical processors, executing parallel programs consisting of nn processes. Let Ts(P)T_s(P) and Td(P)T_d(P) denote the execution times for the program PP with optimal static and dynamic allocations respectively, i. e. allocations giving minimal execution time. We derive a general and explicit formula for the maximal execution time ratio g(n,k)=maxTs(P)/Td(P)g(n,k)=\max T_s(P)/T_d(P), where the maximum is taken over all programs PP consisting of nn processes. Any interprocess dependency structure for the programs PP is allowed, only avoiding deadlock. Overhead for synchronization and reallocation is neglected. Basic properties of the function g(n,k)g(n,k) are established, from which we obtain a global description of the function. Plots of g(n,k)g(n,k) are included. The results are obtained by investigating a mathematical formulation. The mathematical tools involved are essentially tools of elementary combinatorics. The formula is a combinatorial function applied on certain extremal matrices corresponding to extremal programs. It is mathematically complicated but rapidly computed for reasonable nn and kk, in contrast to the np-completeness of the problems of finding optimal allocations

Similar works

Full text

thumbnail-image

Electronic Research Archive - Blekinge Tekniska Högskola

redirect
Last time updated on 25/09/2015

Having an issue?

Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request.