Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems
A Self-Organization Model for Complex Computing and Communication Systems ∗ †
Dan C. Marinescu∗, John P. Morrison† , Chen Yu∗ , Christoffer Norvik† , and Howard Jay Siegel‡
School of EECS, University of Central Florida Orlando, FL, 32816, USA. Email: (dcm,yuchen)@cs.ucf.edu Computer Science Department, University College Cork, Cork, Ireland, Email: (j.morrison, c.norvik)@cs.ucc.ie ‡ Departments of Electrical & Computer Engineering and Computer Science Colorado State University, Fort Collins, CO 80523-1373, USA. Email:
[email protected]
Abstract—We introduce a model of self-organizing systems inspired by biological and Physics metaphors. The motivation for the development of this model is twofold, it enables us to identify critical properties of a system and to understand the important metrics characterizing its qualitative and the quantitative behavior. It also enables us to develop a methodology to investigate these systems and to carry out comparative studies of alternative policies that govern system behavior. We illustrate the application of the model with a preliminary study of a system designed to encourage green computing and we present some preliminary simulation results of the model.
Keywords: Self-organization, genes, DNA, distributed systems, resource management, scalability, faulttolerance. I. M OTIVATION Engineering modern computer and communication systems is increasingly more challenging because the systems are more complex and more difficult to manage and to use. The complexity of computer and communication systems is caused by several interrelated factors summarized in Figure 1. New applications are developed to satisfy the more diverse needs of an increasingly larger population of users. New devices such as sensors find a wide range of applications, and, in turn, trigger the development of new applications and attract new users. At the same time, the individual components of a system are more complex, for example, 2-4 core processors are ubiquitous now and will be replaced by multi-core systems with tens to hundreds of cores in the next few years. Connectivity and mobility, required by virtually all users of the systems, increase the complexity of the applications and of the computer and communication infrastructure. At the same time, physical limitations, such as heat removal, bandwidth availability, the capacity to store energy, and other factors place additional constrains upon system design. Last, but not least, we have finite resources and the optimization of resource consumption increases system complexity. Correspondence should be addressed to Prof. Dan C. Marinescu. Fax:(407)823-5419, Tel (407)823-4860.
978-0-7695-3404-6/08 $25.00 © 2008 IEEE DOI 10.1109/SASO.2008.25
New and more complex applications New and more complex components
Interconnectivity + mobility
Complexity of computing and communication systems Larger segment of population using the systems
Physical constraints Optimization of resource consumption
Fig. 1. Some of the factors contributing to the complexity of modern computer and communication systems.
While we have an intuitive notion of the system complexity, a rigorous definition that allows us to quantify and measure the complexity of a system is not universally accepted. The thermodynamic, von Neumann, and Shannon entropy are related to the number of states of a system, thus they reflect to some extent the system complexity. Kolmogorov complexity [1], [2] of an object is a measure of computational resources needed to specify the object. Using a Markovian assumption and a Kologorov complexity model, we argued that scheduling and resource management are more complex on a computational grid than on a service grid due to the finer granularity of resource allocation [3]. We propose to uses the complexity of a program that simulates the system as a measure of complexity of the system; this will reflect not only the number of states but also the transitions among states. This proposal, though consistent with the concept of depth introduced by Machta [4], has its own limitations, as we generally simulate approximate models of a system, rather than exact ones. Several approachers to manage the complexity of modern computer and communication systems are considered, among them autonomic computing, economic models, and self-organization. The autonomic computing initiative [5] is motivated partially by the fact that advances in scale and complexity of modern systems outpace the ability to configure, maintain, and
149
Authorized licensed use limited to: IEEE Xplore. Downloaded on December 1, 2008 at 15:39 from IEEE Xplore. Restrictions apply.
run these systems. An autonomic system is composed of components expected to exhibit self-configurability, self-healing, self-optimization, and self-protection. The components of an autonomic system are required to be self-aware and contextually aware (knowledge of itself, its environment, and the environment that it is executing in), open (to support the wide range of different components that could be incorporated into the system), and anticipatory (to anticipate resources needed). These desiderates, though consistent with the self-organization principles discussed in Section II, did not lead to the development of a coherent autonomic computing model. Economic models and financial markets offer an alternative perspective on the management of complex systems. The on-going effort to apply concepts from financial markets to large-scale distributed computing, and to grid computing in particular, has generated a number of research ideas [6], [7], [8], [9]. However, Financial markets concepts have not been applied in practice, though it is agreed that computing and communication resources such as CPU cycles and communication bandwidth are perishable commodities that can be traded. A market-oriented approach to resource management seems antithetic to self-organization, the approach to manage complexity discussed in this paper; the former is a product of the human mind and reflects societal and economic views, while the latter is inspired by nature and attempts to mirror the behavior of biological systems. Markets assume global knowledge and, occasionally, the intervention of a controlling authority, such as the Federal Reserve Board or the European Central Bank, while the entities of a self-organizing system act primarily based on local information. Moreover, agents operating in a market environment react to the market, while the entities of a self-organizing system act on their own initiative. In the case of the markets, a selfstabilizing mechanism does not exist, thus, the need for the controlling authority mentioned above; in selforganizing systems the information spreads relatively slowly thus, the danger of catastrophic events caused by panic is limited. In this paper we introduce a self-organization model; elements of our model include DNA molecules consisting of particular configurations of genes. DNA is the blueprint for an entity and genes determine the properties and behaviors of those entities. In Section II we review basic ideas related to self-organization, then present the model in Section III. We discuss the results of a preliminary evaluation of the model in Section IV and present the conclusions of our investigation in Section V.
II. S ELF - ORGANIZING AND S CALE -F REE S YSTEMS The term “self-organization” is used in the literature in several contexts; Minsky [10] has distinguished the informal from the technical use of the term “selforganization,” while Gell-Mann [11] has questioned the usefulness of the technical use of it without precisely defining concepts such as levels of organizations, global and local information, and patterns of behavior [12]. Though the concept of self-organization is difficult to define [13] its intuitive meaning is reflected by the observation of Alan Turing that “global order can arise from local interactions” [14]. In his seminal paper on morphogensis, Turing suggests that a mechanism based upon slow diffusion of an activator and fast diffusion of an inhibitor can lead to formation of stable stationary non-equilibrium patterns through the diffusion of some key compounds. There is no straightforward path from this idea to the design principles for self-organizing computing and communication systems. Known techniques for solving optimization problems such as genetic algorithms or simulated annealing cannot be applied directly to self-organization when we wish to reach stable stationary non-equilibrium patterns. Inspired by biological systems, self-organization was proposed for networking [13] and even for economical systems [15]. Self-organization of biological systems is defined as “a process in which patterns at the global level of a system emerge solely from numerous interactions among the lower-level components of the system. Moreover, the rules specifying interactions among the systems’s components are executed only with local information, without reference to global patterns” [16]. In this paper, we adopt the view that a system is selforganizing if its components interact to dynamically achieve a global function or behavior. Self-organizing systems typically have higher level properties that cannot be observed at the level of the individual components and that can be seen as a product of their interactions (they are more than the sum of their parts). Self-organization is used by different types of neural networks including Hopfield networks [17], or the networks proposed in [13]. The “swarm” algorithms [18], e.g., the Ant Colony Routing, mimic self-organization of social insects. Self-organization schemes have been proposed for ad-hoc [19] and sensor networks [12], [20]. The current literature on self-organization provides theoretical insights, but few clues on how to apply the basic principles for systems design [21], [22]. Indeed, this is a daunting task due to the wide spectrum of potential applications with dissimilar physical constrains and objectives. A defining attribute of self-organization is scalability, the ability of the system to grow without affecting its global function(s). Complex systems encountered in
150
Authorized licensed use limited to: IEEE Xplore. Downloaded on December 1, 2008 at 15:39 from IEEE Xplore. Restrictions apply.
nature, or man-made, exhibit an intriguing property, they enjoy a scale-free organization [23], [24]. We believe that this property reflects one of the few attributes of self-organization that can be precisely quantified. The scale-free organization can be best explained in terms of the network model of the system, a random graph [25] with vertices representing the entities and the links representing the relationships among them. In a scalefree organization the probability P (m) that a vertex interacts with m other vertices decays as a power law, P (m) ≈ m−γ , with γ a real number, regardless of the type and function of the system, the identity of its constituents and the relationships between them. Empirical data available for social networks, power grids, the Web, and the citation of scientific papers confirm this trend. As an example of a social network, consider the collaborative graph of movie actors where links are present if two actors were ever cast in the same movie; in this case γ ≈ 2.3. The power grid of Western US has some 5, 000 vertices representing power generating stations and in this case γ ≈ 4. For the World Wide Web the exponent is γ ≈ 2.1; this means that the probability that m pages point to one page is P (m) ≈ m−2.1 [24]. Recent studies indicate that γ ≈ 3 for the citation of scientific papers. The larger the network, the closer a power law with γ ≈ 3 approximates the distribution [23]. In the context of this paper, self-organization is guided by several principles: (i) Individual entities are autonomous, they have, encoded in their “genetic material” a clear objective and a set of procedures to evaluate the effect of each of their actions on their internal state and on the perception that other entities have on their actions. (ii) Entities have limited resources and are motivated to find optimal ways to interact with each other. These interactions are based on genetic information and are limited by imprecise knowledge of the global state. (iii) To facilitate scalability, entities form organizations that aim to be self-sufficient: a majority of entity interactions are confined to the organization to which they belong. Organizations allow members to act effectively on local information; they are formed dynamically, and may be disbanded and reorganized, as members join and leave. Organization have a self-healing mechanism based on the reputations of individual members; members of an organization may provide incentives for candidate entities with good reputation to join, or to maintain their membership. Conversely, entities with poor reputations are discouraged to join or, if already in an organization, are encouraged to leave. The reputation of an entity is based on its impact upon the organization rather than the selfish behavior of the entity [26]. (iv) Self-organization protects a complex system from catastrophic events by preventing it from reaching ab-
sorbing states that drastically limit the future evolution of the system. At the same time, feedback mechanisms are used to control individual and collective behavior of the members of an organization. This control is necessary to prevent instabilities that could manifest as a large ratio of non-productive to productive activities, e.g., a high rate of organization creation followed by rapid re-organization. Admittedly, it is highly non-trivial to come up with a model of self-organization that: (a) could address all these concerns; (b) be flexible enough to support meaningful applications based on a small number of assumptions; and (c) be grounded in simple and intuitive concepts. III. M ODEL S PECIFICATION In this paper, we make a first attempt to introduce a generic model for self-organization. The motivation for the development of this model is twofold: it enables us to identify critical properties of a system and to understand the important metrics characterizing its qualitative and the quantitative behavior. It also enables us to develop a methodology to investigate these systems and to carry out comparative studies of alternative policies that govern system behavior. Our model of self-organizing systems is inspired by biological and Physics metaphors and includes concepts such as DNA consisting of particular configurations of genes. DNA is the blueprint for an entity and genes determine the properties and behavior of the entities. We attempt to follow Turing’s mantra that the formation of stable stationary non-equilibrium patterns through the diffusion of some key compounds is critical for self-organization. In our system, the key component is called active material and stability is defined in terms of potential energy. Entities communicate using epidemic algorithms [27] and their behavior evolves, and is characterized, by the consumption and exchange of active material in application dependant processes. Entities, {e1 , e2 , . . . , ei , . . .}, share a subsets of genes. The state of entity ei is expressed in terms of energy levels: potential, kinetic, and effective kinetic energy, κi , σi and γi . The sum of the potential energy and the kinetic energy of ei is a constant, κi + σi = Ki , ∀i. The effective kinetic energy, γi , is that portion of κi that has resulted in productive activity. Thus, the ratio γi /κi can be seen as a measure of the effectiveness of ei . The initial kinetic, potential, and effective kinetic energy of ei , κ0i , σi0 , γi0 , respectively, as well as Ki , are artifacts of the application being modeled. Entities share a set of properties: (1) All entities are members of a universe U subject to a set of basic assumptions including energy conservation and the goal of achieving stability by minimizing potential energy.
151
Authorized licensed use limited to: IEEE Xplore. Downloaded on December 1, 2008 at 15:39 from IEEE Xplore. Restrictions apply.
(2) An event is a change of state of an entity. There are two types of events, internal and communication events. Internal events are intrinsic to the entity definition. Communication events enable entities to interact: a sender initiates a communication and experiences a send event and receiving entities experience receive events. (3) Entities ei ∈ U can be autonomous or reactive. An autonomous entity can generate internal and communications events. A reactive entity simply responds communication events. (4) All entities ei ∈ U share a public communication channel C. Information broadcast by an entity ei over this channel is received by a limited subset of entities and may be disseminated by them using gossiping/epidemic algorithms; there is no guarantee that information broadcast by an entity ei will reach all entities in U. Concurrent communication is possible because of the limited range of individual broadcasts, but there is no guarantee that two simultaneous broadcasts will not interfere with each other. (5) To prevent overloading the channel C, entities have the option, and the motivation, to communicate through private communication channels, C (1) , C (2) , . . . , C (p) , . . . once they form an organization; moreover, each message m has a time to live τm expressed in the number of hops in the gossiping algorithm. Broadcasting a message on the public communication channel C, or on the private communication channel C (p) , requires the consumption of kinetic energy, c for the former and c(p) ≤ c, ∀p (hence the motivation to organize), for the latter. (6) Entities perform actions and interact with one another; for simplicity, we consider here only pairwise interactions. The set of all possible action types is: A = {A1 , A2 , . . . , Ar }. The action of type Ak of entity ei is denoted as aik and the interaction of entities ei and ej through an action of type Ak is denoted as aijk . (7) Entities have limited resources. Thus, they can only maintain small snapshots, or time averages, of non-local information and cannot accumulate large volumes of local information. An entity can communicate only on the public channel or on one private channel at a time. (8) A matching function μ(Gi , Lj ) computes the degree of matching among Gi , the genes of the entity ei , and (p) Lj , the subset of alleles submitted by the entity ej . A proximity relation, R (p) , is an equivalence relation that partitions the set of entities into equivalence classes. Two entities ei and ej belong to an organization, Ω(p) , if and only if they: (a) are in a proximity relation R (p) : ei R (p) ej ; (b) share a private communication channel C (p) ; and (c) share a subset of genetic information in
which the shared genes must be alleles1 of one another: gr ∈ Gi ∩ Gj ⇒ gir , gjr ∈ L(gr ).
A
K
EK
Action
K
P
B
K
EK
P
EK
Action
P
K
EK
P
Fig. 2. a) A rewarding activity increases both the kinetic and the effective kinetic energy of an entity, b) a non-rewarding activity increases only the kinetic energy. The conservation law requires that when the kinetic energy increases the potential energy decreases by the same amount.
Any activity has side effects; it changes the energy profile of the entities involved by increasing the kinetic energy and by lowering the potential energy. Activities that directly affect the common, class, or entity goals contribute to the effective kinetic energy, which rewards “effective” behavior, as shown in Figure 2. For example, a successful formation of an organization leads to the increase of both kinetic and effective kinetic energy of the entity that starts the organization. An entity joining an organization receives the same treatment, while one leaving an organization increases its kinetic energy by decreasing its effective kinetic energy. Formally, the interaction aijk : (a) increases the kinetic energy of entity ei by Δκi = fi (aik ) and the kinetic energy of entity ej by Δκj = fj (ajk ); (b) could increase/decrease the effective kinetic energy of entity ei by Δγ i = gi (aik ) and the effective kinetic energy of entity ej by Δγ j = gj (ajk ); and (c) decreases the potential energy of entity ei by Δσ i = hi (aik ) and the potential energy of entity ej by Δσ j = hj (ajk ). The ratio of effective kinetic energy to kinetic energy is a measure of the effectiveness of an entity. Let I (p) = {aijk }, ei , ej ∈ Ω(p) , be the set of interactions aijk among the members of Ω(p) . The average kinetic energy of an organization Ω(p) is: 0 ei ∈Ω(p) (κi + aik ∈I Δκi ) (p) κ ¯ = , | Ω(p) | The average potential energy and the average effective kinetic energy have similar expressions. 1 One of the (usually two) alternative forms of a gene, found at the same place on a chromosome.
152
Authorized licensed use limited to: IEEE Xplore. Downloaded on December 1, 2008 at 15:39 from IEEE Xplore. Restrictions apply.
An entity ej ∈ Ω(p) can only communicate with a subset of members of Ω(p) and has incomplete information about the organization Ω(p) . There are nonnegative constants i,C , i,κ , i,σ , and i,γ embedded into the genes of ei such that:
5. If ej receives a request to join presumably from an entity ek with a hop count h > 1 it re-broadcasts the message. Common pool of: − Active material − Genetic material
(i) Information broadcasted on the private channel C (p) by the entity ei ∈ Ω(p) will only reach the proximity (p) (p) set, Pi of ei ∈ Ω(p) : | Ω(p) | − | Pi |≥ i,C . (p) (p) (p) ¯i , and γ¯i be the current estimate of (ii) Let κ ¯i , σ
Unique instance of DNA
Entity
Active material Memory
DNA
Instantiated DNA
Genes
Instantiated genes
(p)
the entity ei ∈ Ω for the average kinetic energy, potential energy, and the effective kinetic energy of the organization, respectively; these quantities are estimated based on the information provided to ei by all entities that have ei as a member of their proximity sets, (p) (p) ej ∈ Ω(p) and ei ∈ Pj . Then | κ ¯i − κ ¯ (p) |≥ i,κ , (p) (p) (p) (p) |σ ¯i − σ ¯ |≥ i,σ , and | γ¯i − γ¯ |≥ i,γ . Membership in any organization Ω(p) , Ω(q) , . . . is voluntary. An organization Ω(p) is stable if two conditions are satisfied: (a) its average potential energy is below a threshold κ ¯ (p) ≤ κ0 ; and (b) the average effective kinetic energy of the organization is a non-decreasing function of time. The organizations form an hierarchical structure rooted at U. If Ω(q) ⊂ Ω(p) then R(q) ⇒ R(p) thus, R(q) is more restrictive than R(p) and ei R(q) ej ⇒ ei R(p) ej . A particular type of interaction is the creation of an organization; when the entity ei initiates the creation of an organization, the organization receives an amount of κ ˆ i,s units of kinetic energy. An entity ej joining the organization receives an amount of κ ˆ i,r units of kinetic energy. The creation of a new organization consists of the following steps: (p) 1. An entity ei broadcasts an invitation mi using the public channel C. The invitation consists of: (a) an integer p, the index of the private communication channel for the organization; (b) a subset of its alleles, (p) Li ⊂ Li ; and (c) a threshold for the matching result, (p) μ . Then it listens on the private channel C (p) . (p) 2. The entity ej receiving mi with a hop count h = 1 re-broadcasts the invitation on the public channel C and (p) then determines if μ(Gj , Li ) ≥ μ(p) . If so, it may decide to join the organization, and responds with an request to join on the private channel C (p) and adds ei to its proximity set Pjp . (p)
3. The entity ej1 receiving mi with a hop count h > 1 re-broadcasts the invitation on the public channel C (p) and then determines if μ(Gj1 , Li ) ≥ μ(p) . If so, it may decide to join the organization, and responds with a request to join on both the public channel C and the private channel C (p) . 4. Once ei receives the request to join from ej , it adds ej to its own proximity set Pip given that the hop count of the message is h = 1.
Common Common Class specific Entity specific
Instantiated− class specific Instantiated− entity specific
Fig. 3. Originally, the genetic material and the active material are part of a common pool. The entity creation involves DNA instantiation that in turn requires instantiation of class and entity specific genes.
As noted earlier, self-organization is a side-effect of genetic properties of individual entities. The specification of these properties occurs in several layers. Originally, the genetic and the active material are in a common pool. We assume that the active material in the common pool is atomic and indistinguishable; for example if the active material is disk space measured in MBytes then we can allocate any number of MBytes to any entity and the different allocations have identical properties. Once the active material becomes part of an entity it may acquire specific properties described by the genetic material of the entity. One of the genes of each entity describes the minimum potential energy the entity may have; once this threshold is exceeded the entity is no longer viable and it is forced to either turn itself off and/or to return the active material and the DNA to the common pool. When the active material is returned to the common pool it cannot be distinguished from the active material already in the pool. The genes describe the stable attributes of an entity such as: the type of the active material the entity is allowed to carry at its creation time and the relative weight or the amount of each; various properties of the entity, the actions an entity may undertake and the policies associated with these actions; the thresholds that control the behavior of the entity, e.g., the minimum potential energy, that triggers the release of the components of the entity. There is a special gene that controls the amount of memory an entity is allowed; memory is a special type of active material used to preserve the state of an entity. The amount of memory limits the ability of an entity to make decisions. Some genes are common, e.g., those that carry intrinsic model information, common to all entities, others are class specific, common to all entities in the same class, and finally there are entity-specific genes. An entity inherits common and class specific genes, Figure 3
153
Authorized licensed use limited to: IEEE Xplore. Downloaded on December 1, 2008 at 15:39 from IEEE Xplore. Restrictions apply.
IV. M ODEL E VALUATION The use of a generic model to solve a particular problem is fairly challenging; the applications of genetic algorithms where encoding, population initialization, fitness evaluation, selection, and other genetic operations, are intimately related to the specific problem we wish to solve give us a sense of the difficulties involved and the critical role of these application-specific decisions. It seems natural thus, to investigate how to apply the general model discussed in Section 3 to solve a relatively complex problem, resource allocation in a large-scale, distributed system. Here, the goal of self-organization is to group together geographically distributed centers into associations of resource owners and consumers that belong to the same, or to related enterprisers. We wish to minimize the security concerns raised by the cycle stealing strategy. These centers are expected to work in a specific domain, thus, they run similar application software. In addition, they are committed to green computing. Green computing means that the resources the consumers need should be provided with the least ecological impact. In this preliminary study we wish to: (1) investigate if the model itself is scalable; (2) shed some light on the interplay of the population size and genetic diversity in our model and (3) see if our metrics of optimality lead to stable non-equilibrium patterns. We are interested in the dynamics of organization formation, the relationship between the number of organizations and the number of entities in one organization for a fixed size of entity population. In addition, the quality of interactions in one organization during the activity phase given by the ratio of average effective kinetic to kinetic energy of an organization is examined. We also study the stability of this ratio. The model of a distributed system. In our simulation we consider a model with a minimum number of genes per entity and a large number of entities acting as resource providers, and consumers. The active material consist of resources such as cores, CPU cycles, main memory, disk space, network bandwidth, money, and memory. Three types of DNA are considered: one for producers, one for consumers, and one for applications. There are three types of gene, common, class-specific, and entity-specific as shown in Table I. An entity inherits common and specific class genes. Sometimes a common gene is instantiated when a class is defined; this form of inheritance is denoted as −→, e.g., the gCommonType can be instantiated as gClassTypeProducer, gClassTypeConsumer, or gClassTypeApplication. In other instances a gene is inherited unchanged and the process is denoted as =⇒, e.g., the gEntityType is inherited as gClassType. An entity could have three genes with identical functions, e.g., gCommonObjective,
gClassObjective, and gEntityObjective, the first reflecting the common objective, the second the objective of the class, and the third the objectives of the individual entity. These objectives could be different; for example the common objective gene gCommonObjective could be used to reduce carbon footprint - specifying the effective energy bonus an entity should receive for actions that meet that goal. The class objective gene gClassObjective for an entity with the type gene gEntityTypeProducer could be used to maximize the utilization of resources and the bonus an entity gets when meeting that objective, while the entity objective gene, gEnityObjective could be to maximize its profit as a result of its transactions and the bonus for meeting that goal. Genes can be composite objects. For example, the gCommonCommunication consists of the identity of the public communication channel, the probability of a message to be successfully transmitted over the public channel, and the amount of kinetic energy spent in one communication act over the public channel. In turn, each entity has a private communication gene, gEntityPrivateCommunication describing the identity of the private communication channel the entity will use if it is successful in starting up a new organization, the probability of a successful transmission on the private channel, and the amount of kinetic energy spent for one communication act on the private channel. The energy gene gEntityEnergy gives the initial potential, kinetic, and effective kinetic energy of an entity, as well as the turn-off threshold - the amount of kinetic energy that forces an entity to turn itself off. The gEntityActiveMaterial for a produce reflects the hardware and software resources, e.g., the number of cores available, CPU rate in cycles/second/core, main memory, secondary storage, the applications it can run. The same gene for a consumer reflects the amount of money available to it and the applications it can run; the active material of an application reflects the hardware and software resources the application needs. The memory gene reflects the amount of information an entity can handle and affects the quality of the decisions made by the entity. The common, class, and entity activity genes list the actions that can be carried out, by all entities, the entities in a class, and individual entities. For example, the common activities specified by the gCommonActivities gene are: communication on the public channel, send a request to form an organization or join an organization. The class activities for entities with the type gene gClassTypeProducer, specified by the gClassActivity gene are: send an offer to provide resources, sign a contract with a consumer, and evaluate a contract after its termination. The class activities for entities with the type gene gClassTypeConsumer are: send an offer to run an application, accept an application, send a request to run an application, sign a contract
154
Authorized licensed use limited to: IEEE Xplore. Downloaded on December 1, 2008 at 15:39 from IEEE Xplore. Restrictions apply.
TABLE I G ENE SPECIFICATION . A N ENTITY INHERITS COMMON AND SPECIFIC CLASS GENES . S OMETIMES A COMMON GENE IS INSTANTIATED WHEN A CLASS IS DEFINED ; THIS FORM OF INHERITANCE IS DENOTED AS −→. I N OTHER INSTANCES A GENE IS INHERITED UNCHANGED AND THE PROCESS IS DENOTED AS =⇒. Common gCommonType gCommonCommunication
−→ =⇒
gCommonDomain gCommonEnergy gCommonActiveMaterial gCommonMemory gCommonObjective
−→ −→ −→ −→ =⇒
Class Specific gClassType
=⇒ =⇒
gClassObjective
−→ −→ −→ −→ =⇒ =⇒
gClassActions
=⇒ =⇒
gClassRewards
=⇒ =⇒
Entity Specific gEntityType gEntityCommunication gEntityPrivateCommunication gEntityDomain gEntityEnergy gEntityActiveMaterial gEntityActiveMaterial
gEntityObjectives gCommonActions
gCommonRewards
=⇒ =⇒
gEntityActions
gEntityRewards
with a producer to run an application, evaluate a contract after its termination. The class activities for entities with the type gene gClassTypeApplication are: send a request to run and specify the desired start up time, accept an offer from a consumer. The reward genes gCommonReward, gClassReward, gEntityReward specify the energetic side-effect of each activity, in other words how the potential, kinetic, and effective kinetic energy are affected by each action and how the common, class, and entity rewards are weighted before being applied to the entity at the completion of the action. We use four genes, gAppDom, gGreenComputing, gQoS and GCompCost or gCompProfit to form an organization; the last two genes reflect the cost for the consumer and the benefit for the producer for running an application. Simulation steps. The simulation consists of three steps: (a) the creation of entities; (b) the self-organization phase; and (c) the activity phase. During the creation phase a pool of active material is generated by specifying all resources e.g., cores, main memory, money, software. The common genes are generated next, followed by the class genes. Some of the class genes are then instantiated. Once all class genes are created, entity-specific genes are created. The active material from the common pool is allocated to entities until the common pool is emptied. In the second phase, entities use common actions such as communication through the public channel, send a request to form an organization, join an organization. The genes used to advertise and decide if an entity should join an organization are related to activity levels and goals. For example, we can have a types of activities and g levels of goals such as extreme/very/moderately/not present related to: green computing for producers and consumers, profits for producers, societal benefits from running an application
and QoS for consumers. The entity starting an organization is a consumer which selects an application within the application domain and invites other producers and consumers to join that organization. During the third stage we let entities carry out actions. Most random variables, including those representing the amount of active material available to entities are modeled using heavy-tail distributions, probability distributions whose tails are not exponentially bounded. The scalability of the model. The generation of entities and the formation of organizations is done in parallel; the common pool of entities and active material is divided into P groups and N entities are created in parallel using P processors. A group of n(P ) = N/P entities reside on each system. We consider a fixed number N = 106 of entities; P , ranges from 1 to 512, and we experiment with 1, 000, 10, 000, and 100, 000 applications. Call n(P ) the size of the population of one group when there are P groups, and nP rod (P ), nCons (P ) and nAppl (P ) the number of producers, consumers and applications, respectively; then n(P ) = nP rod (P ) + nCons (P ) + nAppl (P ). The consumers in one group can select the application entities which are generated in the other groups; in other words, the application entities are “global” entities although they are generated in parallel in P groups. Two or more organizations with similar characteristics, but formed in different groups (on different processors), are considered distinct. The alternative would be to merge them, during the second step of organization formation, this would require only a trivial change of the model. In the current model, each one of these organizations uses a different private communication channel, the channel given by the corresponding gene of the entity which triggered the formation of each organization.
155
Authorized licensed use limited to: IEEE Xplore. Downloaded on December 1, 2008 at 15:39 from IEEE Xplore. Restrictions apply.
Fig. 4. (Top) The total number of organizations function of the number of entities in each group. (Bottom) The average size of an organization.
Fig. 5. The ratio of effective kinetic energy to kinetic energy.(Top) After the self-organization phase. (Bottom) After an activity phase consisting of 105 transactions.
The effects of population size and the genetic diversity. Figures 4(Top) and 4(Bottom) show that the number of applications plays a critical role in determining the number of organizations and the average size of an organization for a given size of the entity population, N . Indeed, when there is only one group n(1) = 106 and nAppl (1) = 1, 000 then nP rod (1) ≈ nCons (1) ≈ 500, 000, we have slightly more than 1, 000 organizations and the average number of entities in one organization is slightly larger than 600. When nAppl (1) = 100, 000, then n(1)P rod ≈ nCons (1) ≈ 450, 000 and we have a far larger number of organizations, around 17, 000, and the number of entities in each organization is around 35. As we decrease the group size by increasing the number of groups from 1 to 2, 4, . . . , 512 we end up with smaller and smaller group sizes and the effect of the number of applications changes. For example, when the group size is n(32) == 31250, and the total number of applications is 1000, we have nP rod (32) ≈ nCons (32) = 16, 000. The total number of organizations for all 32 groups is about 22, 000, so each group had roughly 22, 000/32 ≈ 680 organizations and an average an organization has around 30 entities. When the total number of applications is 100, 000 the number of organizations per group is much smaller, in the low teens. Figure 5(Top) shows that the size of the population has a significant effect on the energy spent for organization formation. The ratio of effective kinetic to kinetic energy which measures the societal effects of activities is abysmal, lower than 0.01%, when the population size is very large, (106 entities), and increases 10 times to
0.1% when the population size decreases by a factor of 512. During this phase the only activities are: requests to form and to join an organization, communication over the public channel, which increases the kinetic energy by a small amount, 2 units, and has a probability of success p = 0.8. Communication over the private channel increases the kinetic energy by 1 unit with a probability of success p = 0.9. Successful formation of an organization increases the kinetic energy of the entity starting the organization and of the entities joining the organization by 10 units and the effective kinetic energy by 80% of the kinetic energy, namely 8 units. Figure 5(Bottom) shows the ratio of effective kinetic energy to kinetic energy for an activity phase consisting of 105 transactions. The number of transactions per organization is adequate when we have fewer than 100 organizations; in this case each organization experiences on average 1000 transactions. Indeed, this ratio has reasonable values, around 6.5% only for the small population size, n512 = 106 /512 with 100,000 applications. We conclude that the population size and the genetic diversity are critical for the model and a simulation study to determine optimal values for these parameters of the model should be conducted before a more intricate analysis of the self-organizing system is done. Level of optimality. The optimality is measured by the effective kinetic energy to kinetic energy ratio. We consider the configuration corresponding to 1, 000 applications and two groups thus, 500, 000 entities per group, about 3000 organizations/group, and an average of about 270 entities per organization. We construct 32 replicas of such groups, each group with a different:
156
Authorized licensed use limited to: IEEE Xplore. Downloaded on December 1, 2008 at 15:39 from IEEE Xplore. Restrictions apply.
number of organizations, average number of entities in one organization, and entities in each organization.
Fig. 6. A histogram of the number of organizations able to reach a certain effective kinetic to kinetic energy ratio.
Figure 6 gives us an indication of the level of optimality of the organization behavior during the activity phase. The histogram shows that more than 30% of all organizations reach a ratio better than or equal to 50% after 25,000 transactions. Only 13% of all organizations reach a ratio of 0.25% or less. We monitor these ratios after each batch of 500 transactions per group and consider that an organization has reached a stable and optimal activity level when the average ratio for the organization does not fluctuate during 50 consecutive batches outside a band of width ±δ. In other words, the difference between the maximum and minimum ratio for 50 consecutive measurements is not larger than 2δ. In our experiments we consider two values, δ = ±5% and δ = ±10%. An organization whose average ratio after 25, 000 transactions does not satisfy this criteria is considered unstable and incapable of achieving optimal behavior. Figure 7(Top) shows that for δ = ±10% a very small fraction of organizations 0.04 − 0.06% are unable to achieve optimal and stable behavior; when δ = ±5% this fraction becomes 0.08 − 0.13%. When δ = ±10% we reach stable and optimal behavior after approximately 10, 500 to 14, 500 transactions, while when δ = ±5% we need approximately 15, 000 to 20, 000 transactions, Figure 7(Bottom). A self-organizing sensor network based upon the model discussed in this paper is introduced in [20]. There the active material consists of energy for powering the sensors, random number generators and seeds for random number generators, RF (Radio Frequency) hardware, and various types of sensing devices. All entities in the same batch share the same genes and are indistinguishable.The functional gene attempts to optimize the energy consumption and to extend the life of an individual sensor. Action genes specify the ability to collect specific information from the environment, to process it, and to communicate.
Fig. 7. (Top) Fraction of the number of organizations unable to achieve stable behavior in each of the 32 groups with δ = 5% and δ = 10%. (Bottom) Average number of transaction needed to achieve stable behavior in each of the 32 groups with δ = 5% and δ = 10%.
V. C ONCLUSIONS AND FUTURE WORK We introduced a generic model of self organization inspired by biological and Physics metaphors. The elements of our model include DNA molecules consisting of particular configurations of genes. Entities communicate using epidemic algorithms and their behavior evolves, and is characterized, by the consumption and exchange of active material. The stability of the organizations is defined in terms of potential energy. The intentionality expressed at the application level is mapped to energy values and manipulated by the actions of genes. The model aims to allow the formation of stable stationary non-equilibrium patterns through the diffusion the active material. The use of a generic model to solve a particular problem is a fairly involved process and the first objective of our evaluation was to investigate how flexible the generic model is and how difficult it is to apply it to a relatively complex problem, resource allocation in a large-scale, distributed system. Our experiments suggest that the model seems to provide enough flexibility to consider conflicting common, class, and individual goals. A practical example of a conflicting goal occurs when the common goal is to reduce the carbon footprint, the class goal is to achieve a certain level of QoS (e.g., to meet the deadlines), and the entity specific goal is to improve its effective kinetic to kinetic energy ratio. The model requires fine tuning and more intensive testing before we can assess applicability to other application areas. In this preliminary study we wanted to investigate if the model itself is scalable, shed some
157
Authorized licensed use limited to: IEEE Xplore. Downloaded on December 1, 2008 at 15:39 from IEEE Xplore. Restrictions apply.
light on the interplay of the population size and genetic diversity in our model, and see if our metrics of optimality lead to stable non-equilibrium patterns. We showed that the generation of entities and the formation of organizations can be done in parallel, an important aspect for the practical application of the model. Our experiments confirm that the population size and the genetic diversity are critical for the model; a simulation study to determine optimal values for these parameters of the model should be conducted before a more intricate analysis of the self-organizing system is done. Lastly, our experiments show that a fair percentage of organizations perform at or near optimality. Although promising, these results are preliminary and further studies are needed to assess the behavior of the model. In our simulation we did not consider entity creation or annihilation; entities that do not perform well should stop their activity, recharge their active material, and attempt to form/join new organizations. The system we propose is hierarchically structured, entities, like proteins, form secondary, tertiary, or quaternary structures, referred to as organizations. Due to space limitation we discuss in this paper only primary structures and note also that stable secondary structures can be formed by primary structures that interact actively among themselves. Tertiary structures can be formed by secondary structures with similar behavior, and so on. Our next step is to extend the evaluation of the model and consider different sets of parameters. We also aim to study other systems including the self-organizing sensor network described in [20]. Encoding application intentionality as part of the model is a vast area that also requires attention. VI. ACKNOWLEDGMENTS This research was supported in part by National Science Foundation grants ACI0296035, EIA0296179 and by a 2007 Ernest Thomas Sinton Walton award from the Science Foundation of Ireland to Dan C. Marinescu. John P. Morrison and Christoffer Norvik acknowledge the support from the Science Foundation of Ireland. H.J. Siegel is supported by National Science Foundation grant CNS0615170 and by the Abell Endowment at Colorado State University. R EFERENCES [1] A. N. Kolmogorov. “Three approaches to the quantitative definition of information,” Problemy Peredachy Informatzii, 1:47, 1965. [2] M. Li. and P. Vitany. “An Introduction to Kolmogorov Complexity and its Applications,” Springer Verlag, Heidelberg, Second Edition, 1997. [3] D.C. Marinescu, Y. Ji, and G. M. Marinescu. “The complexity of scheduling and coordination in computational grids,” In Process Coordination and Ubiquitous Computing, (D. C. Marinescu and C. Lee, Eds.), CRC Press, London, pp. 119–132, 2002. [4] J. Machta. “Complexity, parallel computation, and statistical physics,” Complexity, Vol. 11, Nr. 5, pp. 46–64, 2006.
[5] S. Hariri, B. Khargaria, H. Chen, J. Yang, Y. Zhang, M. Parashar, and H. Liu. “The autonomic computing paradigm,” Cluster Computing, Kluwer Academic Publishers, Vol. 8, No. 5, pp. 517 2006. [6] R. G. Smith. “The contract net protocol: high-level communication and control in a distributed problem solver,” IEEE Trans. on Computers, C-29(12): 1104–1113, 1980. [7] M. Stonebraker, R. Devine, M. Kornacker, W. Litwin, A. Pfeffer, A. Sah, and C. Staelin. “An economic paradigm for query processing and data migration in Mariposa,” Proc. 3rd Int. Conf. on Parallel and Distributed Information Systems, 1994. [8] X. Bai, D. C. Marinescu, L. B¨ol¨oni, H. J. Siegel, R. E. Daley, and I-J. Wang. “A macroeconomic model for resource allocation in large scale distributed systems,” Journal of Parallel and Distributed Computing, Vol. 68, pp. 182–199, 2008. [9] D. C. Marinescu, J. P. Morrison, and H. J. Siegel. “Options and commodity markets for computing resources,” In Market Oriented Grid and Utility Computing, R. Buyya and K. Bubendorf, Eds., Wiley, 2008 (in print). [10] M. L. Minsky. “Computation: Finite and Infinite Machines.“ Prentice Hall, 1967. [11] M. Gell-Mann. “Simplicity and complexity in the description of nature,“ Engineering and Sciences LI, 3: 3-9, California Institute of Technology, 1988. [12] T. C. Collier and C. Taylor. “Self-organization in sensor networks,“ Journal of Parallel and Distributed Computing, 64(7): 866 - 873, 2004. [13] C. von der Marlsburg. “Network self-organization,“ An Introduction to Neural and Electronic Networks. S. Zonetzer, J. L. Davis, and C.Lau (Eds), pp. 421-432, Academic Press, San Diego, CA, 1995. [14] A. M. Turing. “The chemical basis of morphogenesis,“ Philos. Trans. Roy. Soc. London B, 237: 37-72, 1952. [15] P. R. Krugman. “The Self-organizing Economy,“ Blackwell Publishers, 1996. [16] S. F. Camazine, J.-L. Deneubourg, N. R. Franks, J. Sneyd, G. Theraulaz, and E. Bonabeau. “Self-organization in biological systems,“ Priceton University Press, Princeton, NJ, 2001. [17] J. Hopfield. “Neural networks and physical systems with emergent collective computational abilities,“ Proc. National Academy of Science, 79: 2554-2558, 1982. [18] E. Bonabeau, M. Dorigo, and G. Theraulaz. “Inspiration from optimization from social insect behavior,“ Nature, 406: 39-42, 2000. [19] G. Wang, D. Turgut, L. B¨ol¨oni, Y. Ji, and D.C. Marinescu. “Improving routing performance through m-limited forwarding in power-constrained wireless networks,” Journal of Parallel and Distributed Computing, Vol. 68, pp. 501–514, 2008. [20] D. C. Marinescu, C. Yu, and G. M. Marinescu. “Self-organizing sensor networks.” Proc. Int. Symp. on Wireless Pervasive Computing (ISWPC08), CD Proceedings, 2008. [21] C. Gershenson and F. Heylighen. “When can we call a system self-organizing,” Advances in Artificial Life, Vol. 2801, pp. 606– 614, Springer Verlag, Sep. 2003. [22] F. Heylighen, and C. Gershenson. “The meaning of selforganization in computing,” IEEE Intelligent Systems, pp. 72–75, July/Aug. 2003. [23] A-L. Barab´asi and R. Albert. “Emergence of scaling in random networks,” Science, 286:509–512, 1999. [24] A-L. Barab´asi, R. Albert, and H. Jeong. “Scale-free theory of random networks; the topology of World Wide Web,” Physica A, 281:69–77, 2000. [25] B. Bollob´as. Random Graphs, Academic Press, London, 1985. [26] D. C. Marinescu, C. Yu, G. M. Marinescu, J. P. Morrison, and C. Norvik. “A reputation algorithm for a self-organizing system based upon resource virtualization,” Proc. Heterogeneity in Computing Workshop 2008 (HCW-08), CD Procedings, 2008. [27] A. Demers, D. Greene, C. Hauser, W. Irish, J. Larson, S. Shenker, H. Sturgis, D. Swinehart and D. Terry. “Epidemic algorithms for replicated database maintenance,” Proc. 6th ACM Symp. on principles of distributed computing, 1-12, 1987.
158
Authorized licensed use limited to: IEEE Xplore. Downloaded on December 1, 2008 at 15:39 from IEEE Xplore. Restrictions apply.