An Optimal Execution Time Estimate of Static versus Dynamic Allocation in Multiprocessor Systems
Abstract
Consider a multiprocessor with identical processors, executing parallel programs consisting of processes. Let and denote the execution times for the program 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 , where the maximum is taken over all programs consisting of processes. Any interprocess dependency structure for the programs is allowed, only avoiding deadlock. Overhead for synchronization and reallocation is neglected. Basic properties of the function are established, from which we obtain a global description of the function. Plots of 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 and , in contrast to the np-completeness of the problems of finding optimal allocations- computer science - computersystems
- computer science - distributed computing
- mathematics - discreete mathematics
- multiprocessor
- parallel computer
- static allocation
- dynamic allocation
- extremal combinatorics
- computer science - computersystems
- computer science - distributed computing
- mathematics - discreete mathematics
- multiprocessor
- parallel computer
- static allocation
- dynamic allocation
- extremal combinatorics