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.

Slides:



Advertisements
Similar presentations
Dynamic Source Routing (DSR) algorithm is simple and best suited for high mobility nodes in wireless ad hoc networks. Due to high mobility in ad-hoc network,
Advertisements

Chapter 5: Tree Constructions
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
BY PAYEL BANDYOPADYAY WHAT AM I GOING TO DEAL ABOUT? WHAT IS AN AD-HOC NETWORK? That doesn't depend on any infrastructure (eg. Access points, routers)
Multicast in Wireless Mesh Network Xuan (William) Zhang Xun Shi.
Maximum Battery Life Routing to Support Ubiquitous Mobile Computing in Wireless Ad Hoc Networks By C. K. Toh.
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
1 Distributed Adaptive Sampling, Forwarding, and Routing Algorithms for Wireless Visual Sensor Networks Johnsen Kho, Long Tran-Thanh, Alex Rogers, Nicholas.
MPAC 2004Rae Harbird 1 RUBI Adaptive Resource Discovery for Ubiquitous Computing.
UNIT-IV Computer Network Network Layer. Network Layer Prepared by - ROHIT KOSHTA In the seven-layer OSI model of computer networking, the network layer.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #4 Mobile Ad-Hoc Networks AODV Routing.
Effects of Applying Mobility Localization on Source Routing Algorithms for Mobile Ad Hoc Network Hridesh Rajan presented by Metin Tekkalmaz.
Dept. of Computer Science & Engineering, CUHK1 Trust- and Clustering-Based Authentication Services in Mobile Ad Hoc Networks Edith Ngai and Michael R.
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
Mitigating routing misbehavior in ad hoc networks Mary Baker Departments of Computer Science and.
Overview Distributed vs. decentralized Why distributed databases
An Authentication Service Against Dishonest Users in Mobile Ad Hoc Networks Edith Ngai, Michael R. Lyu, and Roland T. Chin IEEE Aerospace Conference, Big.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Component-Based Routing for Mobile Ad Hoc Networks Chunyue Liu, Tarek Saadawi & Myung Lee CUNY, City College.
A Cross Layer Approach for Power Heterogeneous Ad hoc Networks Vasudev Shah and Srikanth Krishnamurthy ICDCS 2005.
Spanning Tree and Multicast. The Story So Far Switched ethernet is good – Besides switching needed to join even multiple classical ethernet networks Routing.
Election Algorithms and Distributed Processing Section 6.5.
Ad Hoc Wireless Routing COS 461: Computer Networks
Network Topologies.
Chapter 4.  Understand network connectivity.  Peer-to-Peer network & Client-Server network  Understand network topology  Star, Bus & Ring topology.
LECTURE 9 CT1303 LAN. LAN DEVICES Network: Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and.
CIS 725 Wireless networks. Low bandwidth High error rates.
Itrat Rasool Quadri ST ID COE-543 Wireless and Mobile Networks
Open Shortest Path First (OSPF) -Sheela Anand -Kalyani Ravi -Saroja Gadde.
Network Aware Resource Allocation in Distributed Clouds.
1 Spring Semester 2009, Dept. of Computer Science, Technion Internet Networking recitation #3 Mobile Ad-Hoc Networks AODV Routing.
Mobile Networking Challenges1 5.6 Mobile Ad Hoc Networks  Ad hoc network does not have any preexisting centralized server nodes to perform packet routing,
ROUTING ALGORITHMS IN AD HOC NETWORKS
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
DLS on Star (Single-level tree) Networks Background: A simple network model for DLS is the star network with a master-worker platform. It consists of a.
Routing Protocols of On- Demand Dynamic Source Routing (DSR) Ad-Hoc On-Demand Distance Vector (AODV)
Trust- and Clustering-Based Authentication Service in Mobile Ad Hoc Networks Presented by Edith Ngai 28 October 2003.
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
Locating Mobile Agents in Distributed Computing Environment.
Designing Routing Protocol For Mobile Ad Hoc Networks Navid NIKAEIN Christian BONNET EURECOM Institute Sophia-Antipolis France.
INTERNET AND ADHOC SERVICE DISCOVERY BY: NEHA CHAUDHARY.
SRL: A Bidirectional Abstraction for Unidirectional Ad Hoc Networks. Venugopalan Ramasubramanian Ranveer Chandra Daniel Mosse.
Dual-Region Location Management for Mobile Ad Hoc Networks Yinan Li, Ing-ray Chen, Ding-chau Wang Presented by Youyou Cao.
Jini Architecture Introduction System Overview An Example.
Run-time Adaptive on-chip Communication Scheme 林孟諭 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
PRIN WOMEN PROJECT Research Unit: University of Naples Federico II G. Ferraiuolo
Intro DSR AODV OLSR TRBPF Comp Concl 4/12/03 Jon KolstadAndreas Lundin CS Ad-Hoc Routing in Wireless Mobile Networks DSR AODV OLSR TBRPF.
Ad Hoc Multicast Routing
A Dynamic Query-tree Energy Balancing Protocol for Sensor Networks H. Yang, F. Ye, and B. Sikdar Department of Electrical, Computer and systems Engineering.
Rehab AlFallaj.  Network:  Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and do specific task.
Design and implementation of an intentional naming system William Adjie-WinotoElliot Schwartz Hari BalakrishnanJeremy Lilley MIT Laboratory for Computer.
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
Metrics for Performance Evaluation of Distributed Application Execution in Ubiquitous Computing Environments Prithwish Basu ECE Department, Boston University.
TreeCast: A Stateless Addressing and Routing Architecture for Sensor Networks Santashil PalChaudhuri, Shu Du, Ami K. Saha, and David B. Johnson Department.
CMSC 691B Multi-Agent System A Scalable Architecture for Peer to Peer Agent by Naveen Srinivasan.
Fundamentals of Computer Networks ECE 478/578
Directed Diffusion: A Scalable and Robust Communication Paradigm for Sensor Networks Presented by Barath Raghavan.
Performance Comparison of Ad Hoc Network Routing Protocols Presented by Venkata Suresh Tamminiedi Computer Science Department Georgia State University.
COMP8330/7330/7336 Advanced Parallel and Distributed Computing Communication Costs in Parallel Machines Dr. Xiao Qin Auburn University
Introduction to Wireless Sensor Networks
UNIT-V Transport Layer protocols for Ad Hoc Wireless Networks
Distributed Processing Election Algorithm
Internet Networking recitation #4
Lei Chen and Wendi B. Heinzelman , University of Rochester
Dipanjan Chakraborty Anupam Joshi CSEE University of Maryland Baltimore County Anamika: Distributed Service Discovery and Composition Architecture for.
任課教授:陳朝鈞 教授 學生:王志嘉、馬敏修
Mobile and Wireless Networking
Presentation transcript:

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 Introduction Related work Related work Example Scenarios Example Scenarios Theoretical Foundations Theoretical Foundations Distributed Algorithm Distributed Algorithm Conclusion Conclusion

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

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)

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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