Skip to Main Content
Advances in technology have rendered the Internet a viable medium for employing multiple independent computers collaboratively in the solution of a single computational problem. A variety of mechanisms - e.g., Web-based computing, peer-to-peer computing, and grid computing - have been developed for such Internet-based computing (IC). Scheduling a computation for IC presents challenges that were not encountered with earlier modalities of parallel or distributed computing, especially when the computation's constituent tasks have interdependencies that constrain their order of execution. The process of scheduling such computations for IC is studied via a "pebble game" that abstracts the process of orchestrating the allocation of a computation's interdependent tasks to participating computers. A quality measure for plays of this game is developed that addresses the danger of "gridlock" in IC when a computation stalls because (due to dependencies) no tasks are eligible for execution. This measure rewards schedules that maximize the number of tasks that are eligible for execution at every step of the computation, one avenue for minimizing the likelihood of "gridlock." The resulting formal setting is illustrated via the problem of scheduling computations whose intertask dependencies have the structure of "evolving" meshes of finite dimensionalities. Within an idealized setting, a simple scheduling strategy is shown to be optimal when the dependencies have the structure of a two-dimensional mesh and within a constant factor of optimal for meshes of higher dimensionalities. The strategy remains optimal for a generalization of two-dimensional meshes whose structures are determined by abelian monoids (a monoid-based version of Cayley graphs). The optimality results for the idealized setting provide scheduling guidelines for real settings.