So-Grid is a set of bio-inspired algorithms tailored to the decentralized construction of a Grid information system that features adaptive and self-organization characteristics. Such algorithms exploit the properties of swarm systems, in which a number of entities/agents perform simple operations at the local level, but together engender an advanced form of swarm intelligence at the global level.

So-Grid provides two main functionalities: logical reorganization of resources, inspired by the behavior of some species of ants and termites that move and collect items within their environment, and resource discovery, inspired by the mechanisms through which ants searching for food sources are able to follow the pheromone traces left by other ants. These functionalities are correlated, since an intelligent dissemination can facilitate discovery.
In the Grid environment, a number of ant-like agents autonomously travel the Grid through P2P interconnections and use biased probability functions to:
(i) replicate resource descriptors in order to favor resource discovery;
(ii) collect resource descriptors with similar characteristics in nearby Grid hosts;
(iii) foster the dissemination of descriptors corresponding to fresh (recently updated) resources and to resources having high quality of service (QoS) characteristics.
Simulation analysis shows that the So-Grid replication algorithm is capable of reducing the entropy of the system and efficiently disseminating content. Moreover, as descriptors are progressively reorganized and replicated, the So-Grid discovery algorithm allows users to reach Grid hosts that store information about a larger number of useful resources in a shorter amount of time. The proposed approach features characteristics, including self-organization, scalability and adaptivity, which make it useful for a dynamic and partially unreliable distributed system.

A graphical description of the behavior of the replication algorithm is given in the following figure. For the sake of clarity, here the number of classes is set to 3, peers are connected in a bidimensional mesh instead of a scale-free topology, and only a portion of the Grid is shown, though the simulation was performed on a network with 2500 hosts. Different symbols and colors are associated with the three classes. Each peer is marked with the symbol and color that corresponds to the class to which the largest number of descriptors, stored by this peer, belong. Furthermore, the symbol size is proportional to the number of descriptors of the dominant class. For example, if circles correspond to class C1, a peer marked with a big circle stores many descriptors of this class, while a peer marked with a smaller circle stores fewer descriptors of the same class. In both cases, the descriptors of class C1 are the most numerous in this peer. The peers with a thicker border are representative peers, which work as attractors for query messages issued to discover resources of the dominant class. Two snapshots of the network are shown: the first is taken when the replication process is initiated (time 0), while the second is taken 400000 seconds later, in a quite steady situation. This figure shows that descriptors are initially distributed in a completely random fashion, but subsequently they are accumulated and reorganized by replication agents in separate regions of the Grid, according to their class.

 

A high-level description of the replication algorithm, performed by replication agents, is given in the flowchart reported in the following. Periodically, each agent performs a small number of P2P hops among Grid hosts. Whenever an agent arrives at a new Grid host, for every resource class, it evaluates the pick or drop probability function, specifically:
(i) if the agent does not carry any descriptor of this class, it evaluates the pick probability function, so as to decide whether or not to pick the descriptors of this class from the current host;
(ii) if the agent already carries some descriptors of this class, it evaluates the drop probability function, so as to decide whether or not to leave these descriptors in the current host. After picking the descriptors of a class, the agent will carry them until it drops them into another host, and then will try to pick other descriptors from another host.


 

 

 

So-Grid algorithms boast profitable characteristics such as: self-organization, since system entities are autonomous, and there is no central control; adaptive behavior, which allows a prompt reaction to the modifications of a dynamic environment; scalability, since the So-Grid algorithms are not biased by the Grid size. These characteristics derive from the operations of very simple agents, whose behavior is inspired by biological systems, in particular ant and termite colonies. Two different kinds of agents operate continuously and concurrently: some replicate and reorganize resource descriptors on the Grid, while the others perform resource discovery operations on behalf of users. Simulation showed that the So-Grid replication algorithm is effective in the controlled propagation and reorganization of information. This permits the definition of a semi-informed discovery algorithm that is able to find useful resources in a short time. The discovery algorithm drives message queries to Grid representative peers, which are elected within Grid regions that store a large number of resource descriptors having specific characteristics. An enhanced version of the replication algorithm is defined to foster the dissemination, and facilitate the discovery, of recently updated information and of high quality resources, in the case where there is a common agreement about the evaluation of resource quality. The So-Grid algorithms can be used in any Grid network in which (i) connections among hosts are deployed with a P2P overlay and (ii) users, to build their distributed applications, need to discover hardware and software resources belonging to given categories, so that they can choose those that are the most appropriate for their requirements. Moreover, the Web Services approach, which is adopted in modern Grid frameworks, like the Globus Toolkit, is particularly suitable to support the multiagent approach of So-Grid. Indeed, agent movements across the Grid can be handled as invocations among Web Services that are exposed by Grid hosts.

References

A. Forestiero, C. Mastroianni, and G. Spezzano. So-Grid: A self-organizing Grid featuring bio-inspired algorithms.
ACM Transactions on Autonomous and Adaptive Systems 3, 2, Article 5 (May 2008), 37 pages.

A. Forestiero, C. Mastroianni, G. Spezzano, "QoS-based Dissemination of Content in Grids".
Future Generation Computer Systems, vol. 24(3), Elsevier Science, March 2008.