Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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

2 Overview Introduction Introduction Related work Related work Example Scenarios Example Scenarios Theoretical Foundations Theoretical Foundations Distributed Algorithm Distributed Algorithm Conclusion Conclusion

3 Introduction Most research on MANETs focuses on lower layer mechanisms Most research on MANETs focuses on lower layer mechanisms Channel access Channel access Routing Routing Task Graph Task Graph Nodes – classes of devices/services Nodes – classes of devices/services Edges – associations between the nodes for performing a the task Edges – associations between the nodes for performing a the task Distributed application framework based on Task Graphs 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 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 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 Data flow patterns induce dependencies between devices that need to cooperate, which yields a task graph

4 Introduction Dynamic selection of specific devices that are needed to complete tasks 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 More than a single device in the network is capable of offering the same service The user does not care which device is used The user does not care which device is used Embedding or Dynamic Task-based Anycasting Embedding or Dynamic Task-based Anycasting For each class of device needed, one suitable instance needs to be chosen 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 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) dynamic - choice of devices instances may change with time (due to mobility)

5 Example Scenario – Music Service Proximity Sensing Music Server mp3 decoder device Speaker LSpeaker R Request mp3 data Decoded signal USERData flow edge Proximity edge

6 Related Work Service Discovery Service Discovery SLP & Jini - service providing computer registers itself with its attributes at a centralized directory server SLP & Jini - service providing computer registers itself with its attributes at a centralized directory server MOCA - Jini for mobile devices MOCA - Jini for mobile devices TG approach operates at a logical layer above service discovery, and can co-exist with any of these schemes TG approach operates at a logical layer above service discovery, and can co-exist with any of these schemes Similar Visions Similar Visions INS (Intentional Naming System) INS (Intentional Naming System) User intent abstracted in attribute-value pairs User intent abstracted in attribute-value pairs Device that will perform the service will be selected by special entities called Intentional Name Resolvers Device that will perform the service will be selected by special entities called Intentional Name Resolvers IBM’s PIMA (Platform Independent Model for Applications) IBM’s PIMA (Platform Independent Model for Applications)

7 Related Work Parallel Computing Parallel Computing Task Graphs used for representing tasks that can be split temporally into sub-tasks Task Graphs used for representing tasks that can be split temporally into sub-tasks Homogenous processors, reduce total completion time Homogenous processors, reduce total completion time Task graphs for distributed task execution Task graphs for distributed task execution Several heterogeneous devices that communicate with each other Several heterogeneous devices that communicate with each other No notion of minimizing total completion time No notion of minimizing total completion time

8 A Task Graph based Modeling Framework Device Device Physical entity that performs at least one particular function Physical entity that performs at least one particular function Specialized device: speakers, printers, monitors Specialized device: speakers, printers, monitors Multipurpose device: PDAs, laptops Multipurpose device: PDAs, laptops Attributes Attributes Capabilities of each device Capabilities of each device Static or Dynamic Static or Dynamic Service Service Functionality provided by a device or a collection of co-operating devices Functionality provided by a device or a collection of co-operating devices Multiple devices in the MANET can provide the same service Multiple devices in the MANET can provide the same service

9 A Task Graph based Modeling Framework Node Node Abstract representation of a device or a collection of devices that can offer a particular service Abstract representation of a device or a collection of devices that can offer a particular service Simple – single physical device Simple – single physical device Complex – multiple simple nodes Complex – multiple simple nodes Class, category or type – principal attribute of a node Class, category or type – principal attribute of a node Edge Edge Association between two nodes with attributes that must be satisfied for the completion of a task Association between two nodes with attributes that must be satisfied for the completion of a task

10 Tasks and Task Graphs Task Task Work executed by a node with a certain expected outcome 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 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 Atomic task – Indivisible unit of work executed by a single node Task Graph Task Graph Graph TG = (V T, E T ) where V T is the set of nodes that need to participate in the task and E T is the set of edges denoting data flow between participating nodes Graph TG = (V T, E T ) where V T is the set of nodes that need to participate in the task and E T is the set of edges denoting data flow between participating nodes

11 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”

12 A Data-flow Tuple Architecture Tuples Tuples Represent task requirements in terms of data flow to and from the current device 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 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 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 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

13 Embedding Task Graphs onto networks Embedding Task Graphs onto networks Discover appropriate devices in the network Discover appropriate devices in the network Select from those suitable devices that are needed to execute the more complex application Select from those suitable devices that are needed to execute the more complex application Mathematically, embedding a TG = (V T,E T ) onto a MANET G = (V G, E G ) involves finding a pair of mappings (φ, ψ) such that φ : V T → V G and ψ : E T → P G, where the class of v є V T is the same as that of φ(v) and P G is the set of all source-destination paths in G Mathematically, embedding a TG = (V T,E T ) onto a MANET G = (V G, E G ) involves finding a pair of mappings (φ, ψ) such that φ : V T → V G and ψ : E T → P G, where the class of v є V T is the same as that of φ(v) and P G is the set of all source-destination paths in G Instantiation 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 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 A Task Graph based Modeling Framework

14 Metrics for Performance Evaluation Metrics for Performance Evaluation Average Dilation Average Dilation Edges in TG are mapped to paths in G Edges in TG are mapped to paths in G Average length of all such paths taken over all edges in TG Average length of all such paths taken over all edges in TG Large dilation implies long paths between directly communicating devices Large dilation implies long paths between directly communicating devices Low Dilation results in better task throughput Low Dilation results in better task throughput Instantiation time Instantiation time Time taken to instantiate a node in TG on G Time taken to instantiate a node in TG on G Time taken to find a replacement device, during network failures Time taken to find a replacement device, during network failures Average Effective throughput (AvgEffT) 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 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

15 An Algorithm for Embedding Tree Task Graphs Assumptions Assumptions The TG is a tree rooted at the user U 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 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 Works by propagating a value function towards U Principle of Optimality Principle of Optimality Steps Steps Perform BFS traversal of the tree TG and assign a level L to each node starting from U, which has L = 0 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 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 v Yj + w(Xi,Yj) is minimized 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 v Yj + w(Xi,Yj) is minimized Complete this value assignment for all instances at one level before moving on to the next lower level Complete this value assignment for all instances at one level before moving on to the next lower level

16 An Algorithm for Embedding Tree Task Graphs Drawbacks Drawbacks Centralized Centralized High time complexity High time complexity Entire topology information needed Entire topology information needed Not adaptable to mobility Not adaptable to mobility Not applicable for graph TGs Not applicable for graph TGs Embedding problem is harder Embedding problem is harder Principle of optimality does not hold – due to greater connectivity of a graph Principle of optimality does not hold – due to greater connectivity of a graph Distributed greedy approach Distributed greedy approach Simpler, less time consuming, reasonably efficient in operation Simpler, less time consuming, reasonably efficient in operation Suboptimal Suboptimal

17 Distributed Task Embedding Approach Why? Why? In a MANET of low power devices, none of them may have adequate computational power 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 MANET graph might change by the time the optimal dilation is calculated Changes in topology difficult to track Changes in topology difficult to track Centralized node might not be always connected to the rest of the network 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 Although not always optimal, distributed approach is more robust and adaptive to mobility – no single point of failure

18 Distributed Algorithm for Instantiation of Nodes Goal Goal To produce an embedding of a TG onto a MANET with the objective of minimizing D avg To produce an embedding of a TG onto a MANET with the objective of minimizing D avg Assumptions Assumptions Each heterogeneous device provides a single type of service Each heterogeneous device provides a single type of service All nodes in the network are simple All nodes in the network are simple Presence of a MANET routing protocol (DSR, AODV) and a reliable transport protocol (TCP) Presence of a MANET routing protocol (DSR, AODV) and a reliable transport protocol (TCP) Background 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 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 Any device can exist in states – NOT_INSTANTIATED, WAIT_FOR_ACK or INSTANTIATED Main coordinator – TG_UNINSTANTIATED or TG_INSTANTIATED Main coordinator – TG_UNINSTANTIATED or TG_INSTANTIATED

19 Distributed Algorithm for Instantiation of Nodes Steps Steps Initially, U is in state TG_UNINSTANTIATED and all other nodes are in state NOT_INSTANTIATED 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 (BFST TG ) A BFS through the TG is started from U inducing a Spanning Tree rooted at U, called BFS-Tree of TG (BFST TG ) Starting from U, nodes in BFST TG are mapped to nearest devices and the edges to shortest paths in G Starting from U, nodes in BFST TG 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 Nodes are instantiated greedily by searching only the local space around an instantiated device for the next node

20 Node A Coordinator Node Node B (Local Coordinator) Node C Broadcast Query For type A For type B For type C candidate ACK Conf Collective subtree conf TG_INSTANTIATED User node (Coordinator) Node A Node B Node C BSF Tree Edges Non-BSF Tree Edges UDP FlowsTCP Flows Broadcast Query

21 Handling Mobility of devices Detection of disconnections Detection of disconnections Network Partitions or disconnections due to mobility may lead to instantiated devices being unable to communicate 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 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 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 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 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 TCP re-transmissions after timeouts take a long time, leading to false conclusion that disconnection has taken place

22 Handling Mobility of devices Re-instantiation and Bookkeeping Re-instantiation and Bookkeeping Re-instantiation process is same as the earlier described instantiation process but without the CN_CONFIRM step 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 Coordinator is not involved, BFS parent acts as the local coordinator State maintenance after disconnections is done locally 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 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 Impact on the Application layer BFS-parent device responsible for passing the application state to the newly instantiated replacement device 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 Devices in NOT_INSTANTIATED state after being disconnected drop old data packets still reaching them

23 Conclusion A task-based framework for executing a distributed application on a network of specialized mobile devices 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 A scalable, robust algorithm for anycasting a TG onto a MANET, with local detection and repair for recovery from disruptions Further work Further work Feedback based TCP for better performance Feedback based TCP for better performance Reliable task execution with buffering and retransmissions Reliable task execution with buffering and retransmissions


Download ppt "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."

Similar presentations


Ads by Google