Title: A Novel Approach for Execution of Distributed Tasks on Mobile Ad Hoc Networks
1A Novel Approach for Execution of Distributed
Tasks on Mobile Ad Hoc Networks
- Prithwish Basu, Wang Ke, and Thomas D.C. Little
- Dept. of Electrical and Computer Engineering,
- Boston University.
- Presented By
- Prashant Punjabi
2Overview
- Introduction
- Related work
- Example Scenarios
- Theoretical Foundations
- Distributed Algorithm
- Conclusion
3Introduction
- Most research on MANETs focuses on lower layer
mechanisms - Channel access
- Routing
- Task Graph
- Nodes classes of devices/services
- Edges associations between the nodes for
performing a the task - Distributed application framework based on Task
Graphs - A distributed application is a complex task,
consisting of smaller subtasks, that can be
performed by specialized devices - Execution of such a task on a MANET involves
several logical patterns of data flow - Data flow patterns induce dependencies between
devices that need to cooperate, which yields a
task graph
4Introduction
- Dynamic selection of specific devices that are
needed to complete tasks - More than a single device in the network is
capable of offering the same service - The user does not care which device is used
- Embedding or Dynamic Task-based Anycasting
- For each class of device needed, one suitable
instance needs to be chosen - i.e. specific devices are instantiated, and made
to communicate with each other - dynamic - choice of devices instances may change
with time (due to mobility)
5Example Scenario Music Service
Music Server
mp3 decoder device
mp3 data
Decoded signal
Speaker L
Speaker R
Proximity Sensing
Request
USER
Data flow edge
Proximity edge
6Related Work
- Service Discovery
- SLP Jini - service providing computer registers
itself with its attributes at a centralized
directory server - MOCA - Jini for mobile devices
- TG approach operates at a logical layer above
service discovery, and can co-exist with any of
these schemes - Similar Visions
- INS (Intentional Naming System)
- User intent abstracted in attribute-value pairs
- Device that will perform the service will be
selected by special entities called Intentional
Name Resolvers - IBMs PIMA (Platform Independent Model for
Applications)
7Related Work
- Parallel Computing
- Task Graphs used for representing tasks that can
be split temporally into sub-tasks - Homogenous processors, reduce total completion
time - Task graphs for distributed task execution
- Several heterogeneous devices that communicate
with each other - No notion of minimizing total completion time
8A Task Graph based Modeling Framework
- Device
- Physical entity that performs at least one
particular function - Specialized device speakers, printers, monitors
- Multipurpose device PDAs, laptops
- Attributes
- Capabilities of each device
- Static or Dynamic
- Service
- Functionality provided by a device or a
collection of co-operating devices - Multiple devices in the MANET can provide the
same service
9A Task Graph based Modeling Framework
- Node
- Abstract representation of a device or a
collection of devices that can offer a particular
service - Simple single physical device
- Complex multiple simple nodes
- Class, category or type principal attribute of
a node - Edge
- Association between two nodes with attributes
that must be satisfied for the completion of a
task
10Tasks and Task Graphs
- Task
- Work executed by a node with a certain expected
outcome - Work done by a component of a complex node is
considered a sub-task of a bigger task - Atomic task Indivisible unit of work executed
by a single node - Task Graph
- Graph TG (VT, ET) where VT is the set of nodes
that need to participate in the task and ET is
the set of edges denoting data flow between
participating nodes
11An Example
- A PDF printing service
- PS printer connected to a print server running
PDF to PS conversion software - Printer and the print server nodes together form
a complex node that offers a PDF printing
service
12A Data-flow Tuple Architecture
- Tuples
- Represent task requirements in terms of data flow
to and from the current device - Logical unit of data processing that is needed
between the distributed components of an
application - X A, B, C D, E node of class X receives
data from nodes of classes A, B and C, and sends
the processed data to nodes of classes D and E - Edges of a TG can have attributes (channel error
rates, bandwidth) and requirements (proximity)
which can be integrated in the TG via the tuple
architecture
13A Task Graph based Modeling Framework
- Embedding Task Graphs onto networks
- Discover appropriate devices in the network
- Select from those suitable devices that are
needed to execute the more complex application - Mathematically, embedding a TG (VT,ET) onto a
MANET G (VG, EG) involves finding a pair of
mappings (f, ?) such that f VT ? VG and ? ET
? PG, where the class of v ? VT is the same as
that of f(v) and PG is the set of all
source-destination paths in G - Instantiation
- Process of device discovery, selection of a
device from multiple instances of a devices in
the same category, and the assignment of a
physical device to a logical node in the task
graph
14- Metrics for Performance Evaluation
- Average Dilation
- Edges in TG are mapped to paths in G
- Average length of all such paths taken over all
edges in TG - Large dilation implies long paths between
directly communicating devices - Low Dilation results in better task throughput
- Instantiation time
- Time taken to instantiate a node in TG on G
- Time taken to find a replacement device, during
network failures - Average Effective throughput (AvgEffT)
- Average number of application data units (ADUs)
actually received at the instantiated data sinks
divided by the number of ADUs that were supposed
to be received at the intended targets, ideally
15An Algorithm for Embedding Tree Task Graphs
- Assumptions
- The TG is a tree rooted at the user U
- The node executing the algorithm has complete
knowledge of the topology of the network at the
given instant - Works by propagating a value function towards U
- Principle of Optimality
- Steps
- Perform BFS traversal of the tree TG and assign a
level L to each node starting from U, which has L
0 - Leaf nodes are given value v 0
- For a non-leaf node X with child Y, for every
instance Xi in G sweep through every instance of
Y in G and choose instance Yj such that vYj
w(Xi,Yj) is minimized - Complete this value assignment for all instances
at one level before moving on to the next lower
level
16An Algorithm for Embedding Tree Task Graphs
- Drawbacks
- Centralized
- High time complexity
- Entire topology information needed
- Not adaptable to mobility
- Not applicable for graph TGs
- Embedding problem is harder
- Principle of optimality does not hold due to
greater connectivity of a graph - Distributed greedy approach
- Simpler, less time consuming, reasonably
efficient in operation - Suboptimal
17Distributed Task Embedding Approach
- Why?
- In a MANET of low power devices, none of them may
have adequate computational power - MANET graph might change by the time the optimal
dilation is calculated - Changes in topology difficult to track
- Centralized node might not be always connected to
the rest of the network - Although not always optimal, distributed approach
is more robust and adaptive to mobility no
single point of failure
18Distributed Algorithm for Instantiation of Nodes
- Goal
- To produce an embedding of a TG onto a MANET with
the objective of minimizing Davg - Assumptions
- Each heterogeneous device provides a single type
of service - All nodes in the network are simple
- Presence of a MANET routing protocol (DSR, AODV)
and a reliable transport protocol (TCP) - Background
- All devices in network execute the same copies of
the algorithm except the user node which executes
a different algorithm as it acts as a state
synchronizer - Any device can exist in states
NOT_INSTANTIATED, WAIT_FOR_ACK or INSTANTIATED - Main coordinator TG_UNINSTANTIATED or
TG_INSTANTIATED
19Distributed Algorithm for Instantiation of Nodes
- Steps
- Initially, U is in state TG_UNINSTANTIATED and
all other nodes are in state NOT_INSTANTIATED - A BFS through the TG is started from U inducing a
Spanning Tree rooted at U, called BFS-Tree of TG
(BFSTTG) - Starting from U, nodes in BFSTTG are mapped to
nearest devices and the edges to shortest paths
in G - Nodes are instantiated greedily by searching only
the local space around an instantiated device for
the next node
20User node (Coordinator)
Broadcast Query
For type A
For type B
candidate
candidate
ACK
Broadcast Query
For type C
ACK
Node B
Conf
candidate
Conf
Node A
ACK
Collective subtree conf
Conf
TG_INSTANTIATED
Node C
BSF Tree Edges
Node B (Local Coordinator)
Coordinator Node
Node A
Node C
Non-BSF Tree Edges
UDP Flows
TCP Flows
21Handling Mobility of devices
- Detection of disconnections
- Network Partitions or disconnections due to
mobility may lead to instantiated devices being
unable to communicate - Each instantiated device sends a periodic HELLO
message to its local neighbor instances in TG,
which reply with a HELLO-ACK - Each instantiated device specially keeps track of
its BFS parent and BFS children - BFS parent device stops hearing from its BFS
child, it un-instantiates the child and starts
looking for a replacement - Child will stop hearing HELLO-ACKs from the
parent and will un-instantiate itself - TCP re-transmissions after timeouts take a long
time, leading to false conclusion that
disconnection has taken place
22Handling Mobility of devices
- Re-instantiation and Bookkeeping
- Re-instantiation process is same as the earlier
described instantiation process but without the
CN_CONFIRM step - Coordinator is not involved, BFS parent acts as
the local coordinator - State maintenance after disconnections is done
locally - Each device knows the address of its parents (BFS
and non-BFS), its children, its childrens
parents and its childrens children - Impact on the Application layer
- BFS-parent device responsible for passing the
application state to the newly instantiated
replacement device - Devices in NOT_INSTANTIATED state after being
disconnected drop old data packets still reaching
them
23Conclusion
- A task-based framework for executing a
distributed application on a network of
specialized mobile devices - A scalable, robust algorithm for anycasting a TG
onto a MANET, with local detection and repair for
recovery from disruptions - Further work
- Feedback based TCP for better performance
- Reliable task execution with buffering and
retransmissions