A mobile agent based push methodology for global parallel computing - Xu, Cheng-Zhong; Wims, Brian (Concurrency (Chichester, England.), 2000)
The 1990s have seen the explosive growth of the Internet and Web‐based information sharing and dissemination systems. The Internet is also showing the potential to form a supercomputing resource out of networked computers. Parallel computing on the Internet often works in a machine‐centric ‘pull’ execution model. That is, a coordinator machine maintains a pool of tasks and distributes the tasks to other participants on demand. This paper proposes a novel mobile agent based ‘push’ methodology from the perspective of applications. In this method, users declare their computation‐bound jobs as autonomous agents. The computational agents roam on the Internet to find servers to run. Since the agents can be programmed to satisfy their goals, even if they move and lose contact with their creators, they can survive intermittent or unreliable network connections. During their lifetime, the agents can also move themselves autonomously from one machine to another for load balancing, enhancing data locality, and tolerating faults. We present an agent‐oriented programming and resource brokerage infrastructure, Traveler, in support of global parallel computing. The Traveler provides a mechanism for clients to wrap their parallel applications as mobile agents. The agents are dispatched to a resource broker. The broker forms a parallel virtual machine atop available servers to execute the agents. Traveler relies on an integrated distributed shared array runtime system to support inter‐agent communication and synchronization on clusters of servers. We demonstrate the feasibility of the Traveler in parallel sorting and LU factorization problems. Copyright © 2000 John Wiley & Sons, Ltd.