Optimal Combinatorial Functions Comparing Multiprocess Allocation Performance in Multiprocessor Systems

  • Authors:
  • HÅkan Lennerstad;Lars Lundberg

  • Affiliations:
  • -;-

  • Venue:
  • SIAM Journal on Computing
  • Year:
  • 2000

Quantified Score

Hi-index 0.03

Visualization

Abstract

For the execution of an arbitrary parallel program P, consisting of a set of processes with any executable interprocess dependency structure, we consider two alternative multiprocessors.The first multiprocessor has q processors and allocates parallel programs dynamically; i.e., processes may be reallocated from one processor to another. The second employs cluster allocation with k clusters and u processors in each cluster: here processes may be reallocated within a cluster only. Let Td(P,q) and Tc(P,k,u) be execution times for the parallel program P with optimal allocations. We derive a formula for the program independent performance function $$ G(k,u,q)=\sup_{\mbox{{\footnotesize all parallel programs $P$}}} \:\frac{T_c(P,k,u)}{T_d(P,q)}. $$ Hence, with optimal allocations, the execution of P can never take more than a factor G(k,u,q) longer time with the second multiprocessor than with the first, and there exist programs showing that the bound is sharp.The supremum is taken over all parallel programs consisting of any number of processes. Overhead for synchronization and reallocation is neglected only.We further present a tight bound which exploits a priori knowledge of the class of parallel programs intended for the multiprocessors, thus resulting in a sharper bound. The function g(n,k,u,q) is the above maximum taken over all parallel programs consisting of n processes.The functions G and g can be used in various ways to obtain tight performance bounds, aiding in multiprocessor architecture decisions.