Optimal Assignments in Broadcast Networks

A program whose execution is distributed among several processors in a broadcast system has a total execution cost equal to the sum of processor costs and communication costs, which are functions of the amount of data transmitted and the average transmission delays. A critical delay x is a value of average transmission delay such that no assignment is minimum-cost for average delays both smaller and larger than x. An algorithm is presented for finding the set of all q critical delays of a program that requires computing O(q) optimal assignments at fixed values of average delay. For p=2 processors, H.S. Stone's (1977) assignment graph approach can be used to find an optimal assignment, while for p>2, S.H. Bokhari's (1981) dynamic programming approach for programs with tree-structured calls graphs, or an A* algorithm for the more general case, can be used. When more than one optimal assignment exists, an efficient algorithm is described for finding optimal assignments with minimum channel utilization for p=2 that involves the creation of a compact graphical representation of all optimal assignments of the program. Bokhari's algorithm and the A* algorithm can be easily extended to find optimal assignments with minimum transmission costs when p>2. >

[1]  Harold S. Stone,et al.  Multiprocessor Scheduling with the Aid of Network Flow Algorithms , 1977, IEEE Transactions on Software Engineering.

[2]  D. R. Fulkerson,et al.  Flows in Networks. , 1964 .

[3]  Harold S. Stone,et al.  Assignment of Tasks in a Distributed Processor System with Limited Memory , 1979, IEEE Transactions on Computers.

[4]  Timothy A. Gonsalves Heuristic algorithms for distributed processor scheduling with limited memory , 1979 .

[5]  Jacob A. Abraham,et al.  Load Balancing in Distributed Systems , 1982, IEEE Transactions on Software Engineering.

[6]  Dan Gusfield,et al.  Parametric Combinatorial Computing and a Problem of Program Module Distribution , 1983, JACM.

[7]  Shahid H. Bokhari,et al.  A Shortest Tree Algorithm for Optimal Assignments Across Space and Time in a Distributed Processor System , 1981, IEEE Transactions on Software Engineering.

[8]  Wesley W. Chu,et al.  Task Allocation in Distributed Data Processing , 1980, Computer.

[9]  James B. Sinclair,et al.  Efficient Computation of Optimal Assignments for Distributed Tasks , 1987, J. Parallel Distributed Comput..

[10]  Harold S. Stone,et al.  Critical Load Factors in Two-Processor Distributed Systems , 1978, IEEE Transactions on Software Engineering.

[11]  Jonathan R. Agre,et al.  A queueing network approach to the module allocation problem in distributed systems , 1981, SIGMETRICS '81.

[12]  John F. Shoch,et al.  Measured performance of an Ethernet local network , 1980, CACM.