This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: 24.1 Genetic Programming of Distributed Algorithms 421 as possible steps to converge to the correct value in order to spare us computation time. Another important aspect also becomes obvious here: The time that an aggregation protocol needs to converge will always depend on the number of nodes in the (simulated) network. Node Model and Simulation As important as modeling the network is the model of the nodes it consists of. In Figure 24.6 , we illustrate an abstraction especially suitable for fast simulation of aggregation protocols. A node p executing a gossip-based aggregation protocol receives input in form of the locally output: the estimate of the aggregate value sensor input processor read from state, compute, write to state state receive parts of the state of another node send parts of the state other nodes in the network Figure 24.6: The model of a node capable to execute a proactive aggregation protocol. known value (for example a sensor reading) and also in form of messages containing data from other nodes in the network. The output of p consists of the local approximation of the aggregate value and the information sent to its partners in the network. The computation is done by a processor which updates the local state by executing the update function. The local state s p of p can most generally be represented as vector s p ∈ R n of the dimension n , where n is the number of memory cells available on a node. Like Jelasity et al. , we until now have considered the states to be scalars. Gener- alizing them to vectors allows us to specify or evolve more complicated protocols. The state vector contains the approximation of the aggregate value at the position i : 1 ≤ i ≤ n . If the state only consists of a single number, the messages between two nodes will always include this single number and hence, the complete state. A state vector not only serves as a container for the aggregate, but also as memory capable of accumulating information. It is probably unnecessary or unwanted to exchange the complete state during the communication. Therefore, we specify an index list e containing the indices of the elements to be sent and a list r with the indices of the elements that shall receive the values of the incoming messages. For a proper communication between the nodes, the length of e and r must be equal and each index must occur at most once in e and also at most once in r . Whenever a node p receives a message from node q , the following assignment will be done, with s p [ i ] being the i th th component of the vector: s p [ r j ] ←− s q [ e j ] ∀ j = 0 ... len( r ) − 1 (24.7) In the original form of gossip-based aggregation protocols, the state is initialized with a static input value which is stepwise refined to approximate the aggregate value . In our 422 24 Research Applications model, this restriction is no longer required. We specify an index I pointing at the element of the state vector that will receive the input. This allows us to grow protocols for staticof the state vector that will receive the input....
View Full Document