Title: Swarm Computing
1Swarm Computing Routing Algorithms
- Dr. Mikhail Nesterenko
- Presented By
- Ibrahim Motiwala
2Swarm
- 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
3Allows 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.
4- 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.
5Event simulation
6The Swarm, OOP way
7Some 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
8- 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.
9A few Objective-C basics
_at_interface Bug SwarmObject int xPos,
yPos int worldXSize, worldYSize id
foodSpace -setX (int) x Y (int)
y -step _at_end
Super class
Sub classes
Instance Variables
Methods
10- 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.
11- 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
12- 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.
13- 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 -gt
critical mass
14- 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.
15- 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.
16- 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
17- 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.
18(No Transcript)
19- 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.
20- Ratio of the variance to the mean, ( µ / s ),
- 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 d for the ( µ / s )
ratio.
21- 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
22- 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.
23- 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.
24- 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 Bellmans 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.
25- 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.