Abstract

We consider the problem of finding an optimal and sub-optimal allocation of program modules onto processors of a distributed computing system. A module causes two types of cost to be incurred at the processor to which it is allocated—an execution cost for processing the module, and a communication cost if the module communicates with other modules which are not allocated to the same processor. The distributed computing system is heterogeneous, that is, both costs vary from processor to processor. Certain constraints, such as storage and load constraints, may be present at each processor. Our aim is to allocate the modules to the processors in an optimal manner, that is, the sum of execution and communication costs over all processors should be the minimum possible, without violating any of the constraints. It is an NP-hard problem and we use a state space search technique—theA* algorithm to obtain an optimal allocation. We propose a method to reduce the number of nodes generated in the search tree. The distributed computing system model that we have considered here is the same as that considered by Chernet al. (Inform. Process. Lett.32(2) (July 1989), 61–71). Through simulations over a wide range of parameters, we have compared our method with that of in Chernet al. We also present a heuristic algorithm which obtains sub-optimal allocations in a reasonable amount of computation time.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call