Swarm Computing & Routing algorithms

advertisement
Swarm Computing
& Routing Algorithms
Dr. Mikhail Nesterenko
Presented By
Ibrahim Motiwala
Swarm
Swarm is a software package for
multi-agent simulation of complex
systems. It is a collection of object
oriented software libraries which
provide support for simulation
programming.
•A Swarm is an object that
implements
– memory allocation
– event scheduling
Model
GUI
Swarm kernel
Operating System
CPU
Schedule
Probes
The Interface
The Model
Swarm
Agent
Sub-Swarm
Sub-sub-Swarm
Allows you to treat the model as a nested hierarchy of models.
Schedules are objects, all agents in simulation can communicate with them
: future events or cause actions to be dropped based.
Schedule :
Is a ordered set of events or a group of events.
Probe :
Probe attaches itself to an agent,
• send a message,
• change a variable or
• retrieve values by calling agent or
• reading variable directly
Agent:
• Provides service
• communicates with other agents
• No prior knowledge of the other agent can be assumed, not even the form
of its communication.
State
Variables
Behavior
Methods
An object
Event simulation
The event loop is now embedded in an object
that sends messages to agents and objects
Each agent saves his own behavior
and state and acts when called
upon by scheduler or other agents
The Swarm, OOP way
The event loop is now embedded in an object
that sends messages to agents and objects
Each agent saves his own behavior
and state and acts when called
upon by scheduler or other agents
Some terminology
• Class
– The definition of an object
and the object factory
• Superclass
– A class that an object
inherits behavior and
variables from (recursive)
• Subclass
– A class that inherits
behavior and variables from
a superclass
• Instance
– An object (instance of a
class) that has been created
and exists in memory
• Instance variable
– A variable available to all
functions in an object
• Method
– A function. Can be called
by sending message to an
object of this class
•Encapsulation
–Objects hide their functions (methods) and data (instance variables and
method variables)
•Inheritance
–Each subclass inherits all variables of its superclass
•Polymorphism
–Multiple instances of same class, sharing behavior but not state or memory
•Main difference between C++ and Objective-C:
–Easy to learn: A simple superclass of C - no new keywords
–Main difference : Partially interpreted: Dynamic binding at
runtime for objects and methods.
A few Objective-C basics
@interface Bug : SwarmObject {
Super class
int xPos, yPos;
int worldXSize, worldYSize;
id foodSpace;
}
Sub classes
-setX: (int) x Y: (int) y;
-step;
@end
Instance
Variables
Methods
Scientific objectives :
• Scale
components increase :
critical mass.
• Physical Embedding
interacting directly with a physical environment.
• Device Administrator Ratio :
automatic configuration
group formation
failure detection
fault-tolerance.
No individual devices.
Swarm intelligence for Routing in Communication Networks
Routing algorithms must address 2 issues :
•
average throughput and delay
Good delay throughput curve
•
Quality of service (QoS) :
guaranteed allocation of bandwidth
maximum delay
minimum hop-count.
•
Swarm intelligence mobile software agents n/w management
autonomous entities
adapt
intelligent movement
Routing algorithms can be classified as static or dynamic, and centralized or distributed.
•
Centralized algorithms :
scalability
failure at the central controlling station.
•
Static routing
time-invariant.
shortest-path route.
•
Adaptive routing :
node failures , potential oscillations that lead to circular paths and instability :
frequently changing routing
•
Routing algorithms
non-minimal ( choosing the path by utilizing other heuristics).
minimal (optimal routing and shortest-path routing)
2.
QoS algorithm pertaining to delay and bandwidth.
tendency to temporarily overuse network resources.
Swarm Intelligence
Swarm Intelligence appears in biological swarms of certain
insect species.
Interaction requires no supervision.
“ Stigmergy”, or communication through the environment.
Pheromone , hormone that can be sensed by ants as they
travel along trails.
task-related stigmergy : sand grain laying by termites when
constructing nests .
Random location -> critical mass
Swarm Intelligence
•
•
•
•
•
•
•
Scalability:
Population adaptation
Scalability is also promoted by local and distributed agent interactions.
Fault tolerance
Do not rely on a centralized control mechanism.
Graceful, scalable degradation.
Adaptation:
Change, die or reproduce
Speed:
Changes can be propagated very fast.
Modularity:
Agents act independently
Autonomy:
Little or no human supervision.
Parallelism:
Operations are inherently parallel.
Routing Algorithms
•
•
•
AntNet : adaptive agent-based routing algorithm.
ABC Ant-Based Control.
ARS : agent-based routing system.
AntNet
Two kinds of Agents(Ant Packets)
Forward Ant.
• explores the network and collects information.
• when reaches the destination, changes into backward ant.
Backward Ant.
• goes back in the same path as forward ant.
• update routing tables for all the nodes in the path.
Subdivision of agents
•
Backward ants to utilize the useful information gathered by the forward ants
on their trip from source to destination.
•
Update the routing table of the nodes.
•
No node routing updates are performed by the forward ants.
Report delay conditions to the backward ants, trip times, update
the routing table of the nodes.
The entries of the routing table are probabilities, and as such, must sum to 1 for
each row of the network.
(1) the exploration agents of the network use them to decide the next hop
to a destination, randomly selecting among all candidates based on the routing
table probabilities for a specific destination
(2) the data packets deterministically select the path with the highest
probability for the next hop.
AntNet routing table
1. Each network node launches forward ants to all destinations in regular time
intervals.
2. The ant finds a path to the destination randomly based on the current routing
tables.
3. The forward ant creates a stack, pushing in trip times for every node as that
node is reached.
4. When the destination is reached, the backward ant inherits the stack.
5. The backward ant pops the stack entries and follows the path in reverse.
6. The node tables of each visited node are updated based on the trip times.
Raw information contained in the trip time is processed and then used to manage
the system more efficiently .
Intermediate quantity in the processing of the raw trip time information, we need a
measure that takes on small values when the trip time is short relative to the mean
and vice-versa. This quantity, r'
where T is the trip time, µ is average of T, and C is a scaling factor, usually set
to 2. Except for the routing table, each node also possesses a table with records
of the mean and variance of the trip time to every destination.
Ratio of the variance to the mean, ( µ / σ ),
•
measures the consistency of the trip times,
•
alter the effect of the trip time
•
On r΄, determine the relative goodness of the trip time of an ant.
Strategies of either decreasing or increasing the value of r’ by a certain amount.
Based on setting the threshold for the good/bad trip time to 0.5, and selecting a
threshold δ for the ( µ / σ ) ratio.
•
•
•
•
•
•
•
•
Small values of r' correspond to small values of T and vice versa.
e.g. . Where consistency is high and the time is good, r΄ to be even smaller
underscores goodness of this trip time and its consistency.
an exponential quantity is subtracted. This quantity is the exponentially decaying
function of the consistency ratio and achieves its highest value when the variance is
very small. The decay rate can be controlled by a΄ and a.
+ve or -ve reinforcement of good or bad routes is next, via -ve feedback.
+ve reinforcement -negatively proportional to current probabilities
-ve reinforcement  proportional to current probabilities.
Prevent saturation to 0 or 1 of the routing table probabilities.
Positive reinforcement is the one from which the backward ant comes.
Neighbors –vely reinforced to preserve the unit sum probabilities of next
hops.
The reinforcement equations
where Pdf, Pdn are the previous routing table probabilities,
f is the node from which the backward ant comes,
Nk is the neighborhood of node k (current node), and
d is the destination node.
The last step is to update the routing table probabilities using the following
rules.
Ant-based Control ( ABC )
Algorithm shares many key features with AntNet,
•
Use of a multitude of agents interacting using stigmergy.
•
Adaptive and exhibits robustness under various network conditions.
•
Randomness in the motion of ants.
•
Ants only traverse the network nodes following highest probability
Differences
•
Only one class of ants, which is launched from the sources to various
destinations at regular time intervals.
•
The ants are eliminated once they reach their destination.
•
Probabilities of the routing tables are updated as the ant visits the
nodes, based on the life of the ant at the time of the visit.
•
Update rules are different.
Multiple Round Trip Routing
•Nodes launch forward ants in regular intervals.
•Utilizes the cost measured by forward ants to update the routing table entries.
The interesting improvement to this algorithm is based on Bellman’s principle of
dynamic programming.
•
Every node in the path of a source-destination pair s-d, is considered
a destination.
•
The back-propagating agent will update the routing table of a visited
node n not just for the destination, but also for the intermediate nodes.
•
Hence the updates occur all at once.
example, on node n , the backward agent will also update the entry for node s1.
Conclusion
1.
•
AntNet and Multiple Trip Routing
Round-trip agents. the forward ants act as investigators and the
backward ants are the ones who update the routing tables.
2.
•
ABC
Forward agents, who perform the update as they travel through the
network.
update is faster and more reliable, no delay.
Inherent properties of swarm intelligence
•
massive system scalability
•
emergent behavior and intelligence from low complexity local
interactions
•
autonomy, and stigmergy
•
communication through the environment.
Download