An allocation algorithm for distributing Datalog programs
William B. Day, Carolyn L. McCreary, Buddy J. Walls · IEEE Transactions on Systems Man and Cybernetics · 1993
An O(N/sup 3/) algorithm for partitioning and allocating N Datalog procedural bundles among K distributed or dedicated processors is presented. The algorithm determines a static distribution of the bundles to all K processors. The independent variables of the objective function include both processing and communication costs, and the goal is to balance the processing requirements of the K processors while allocating bundles in such a way as to reduce the communication costs. The algorithm can be used with heterogeneous systems of processors, and it can accommodate a two-tier communication model in which both local area networks and more expensive wide area networks are used. The algorithm can be used interactively with a programmer or system designer. Example results from its implementation are given, and a comparison with another technique is shown.>