240 likes | 352 Views
A 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. Overview. Introduction Related work Example Scenarios
E N D
A 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
Overview • Introduction • Related work • Example Scenarios • Theoretical Foundations • Distributed Algorithm • Conclusion
Introduction • 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
Introduction • 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)
Example Scenario – Music Service Music Server mp3 decoder device mp3 data Decoded signal Speaker L Speaker R Proximity Sensing Request Data flow edge USER Proximity edge
Related 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 • IBM’s PIMA (Platform Independent Model for Applications)
Related 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
A 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
A 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
Tasks 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
An 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”
A 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
A 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 (φ, ψ) such that φ : VT → VG and ψ : ET → PG, where the class of v є VT is the same as that of φ(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
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
An 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
An 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
Distributed 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
Distributed 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
Distributed 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
User node (Coordinator) Broadcast Query For type A For type B candidate candidate ACK Broadcast Query Node B ACK For type C Conf candidate Node A Conf 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
Handling 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
Handling 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 children’s parents and its children’s 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
Conclusion • 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