Cloud and Desktop Grid Computing

Desktop grids have recently been used to perform some of the largest computations in the world and have the potential to grow by several more orders of magnitude. However, current approaches to utilizing desktop resources require either centralized servers or extensive knowledge of the underlying system, limiting their scalability.

We propose a biologically inspired and fully-decentralized approach to the organization of computation that is based on the autonomous scheduling of strongly mobile agents on a peer-to-peer network. Our approach achieves the following design objectives: near-zero knowledge of network topology, zero knowledge of system status, autonomous scheduling, distributed computation, lack of specialized nodes. Every node is equally responsible for scheduling and computation, both of which are performed with practically no information about the system.

We have implemented an extension of Java with strong mobility that allows multi-threaded agents to migrate with all of their execution state by translating Java with strong mobility into Java with weak mobility. We built a prototype grid infrastructure, the Organic Grid, in which an application is scheduled by encapsulating it in an agent together with a scheduler specific to the application characteristics. Similar to other desktop grids, the Organic Grid can be deployed in a screen saver.

We are planning on exploring the use of our mobility translator for check-pointing applications on large clusters. Our decentralized grid management approach currently concentrates on finding compute resources for tasks. We are planning on generalizing this approach to take data movement into consideration as well.



Former Students








Gerald Baumgartner