A Novel Approach for Execution of Distributed Tasks on Mobile Ad Hoc Networks Prithwish Basu, Wang...

23
A Novel Approach for Execution A Novel Approach for Execution of Distributed Tasks on Mobile of Distributed Tasks on Mobile Ad Hoc Networks Ad Hoc Networks Prithwish Basu, Wang Ke, and Thomas D.C. Prithwish Basu, Wang Ke, and Thomas D.C. Little Little Dept. of Electrical and Computer Engineering, Dept. of Electrical and Computer Engineering, Boston University Boston University . . Presented By: Presented By: Prashant Punjabi Prashant Punjabi

Transcript of A Novel Approach for Execution of Distributed Tasks on Mobile Ad Hoc Networks Prithwish Basu, Wang...

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

A Novel Approach for Execution of A Novel Approach for Execution of Distributed Tasks on Mobile Ad Hoc Distributed Tasks on Mobile Ad Hoc

NetworksNetworks

Prithwish Basu, Wang Ke, and Thomas D.C. LittlePrithwish Basu, Wang Ke, and Thomas D.C. LittleDept. of Electrical and Computer Engineering,Dept. of Electrical and Computer Engineering,

Boston UniversityBoston University..

Presented By:Presented By:

Prashant PunjabiPrashant Punjabi

Page 2: 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.

OverviewOverview

IntroductionIntroduction Related workRelated work Example ScenariosExample Scenarios Theoretical FoundationsTheoretical Foundations Distributed AlgorithmDistributed Algorithm ConclusionConclusion

Page 3: 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.

IntroductionIntroduction Most research on MANETs focuses on lower Most research on MANETs focuses on lower

layer mechanismslayer mechanisms Channel accessChannel access RoutingRouting

Task GraphTask Graph Nodes – classes of devices/servicesNodes – classes of devices/services Edges – associations between the nodes for performing a the Edges – associations between the nodes for performing a the

tasktask

Distributed application framework based on Task Distributed application framework based on Task GraphsGraphs A distributed application is a complex task, consisting of smaller A distributed application is a complex task, consisting of smaller

subtasks, that can be performed by specialized devicessubtasks, that can be performed by specialized devices Execution of such a task on a MANET involves several logical Execution of such a task on a MANET involves several logical

patterns of data flowpatterns of data flow Data flow patterns induce dependencies between devices that Data flow patterns induce dependencies between devices that

need to cooperate, which yields a task graphneed to cooperate, which yields a task graph

Page 4: 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.

IntroductionIntroduction

Dynamic selection of specific devices that are Dynamic selection of specific devices that are needed to complete tasksneeded to complete tasks More than a single device in the network is capable of offering More than a single device in the network is capable of offering

the same servicethe same service The user does not care which device is usedThe user does not care which device is used

Embedding or Dynamic Task-based AnycastingEmbedding or Dynamic Task-based Anycasting For each class of device needed, one suitable instance needs to For each class of device needed, one suitable instance needs to

be chosenbe chosen i.e. specific devices are i.e. specific devices are instantiatedinstantiated, and made to communicate , and made to communicate

with each otherwith each other dynamic dynamic - choice of devices instances may change with time - choice of devices instances may change with time

(due to mobility)(due to mobility)

Page 5: 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.

Example Scenario – Music ServiceExample Scenario – Music Service

Proximity Sensing

Music Servermp3 decoder device

Speaker L

Speaker R

Request

mp3 data

Decoded signal

USERData flow edge

Proximity edge

Page 6: 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.

Related WorkRelated Work

Service DiscoveryService Discovery SLP & Jini - service providing computer registers itself with its SLP & Jini - service providing computer registers itself with its

attributes at a centralized directory serverattributes at a centralized directory server MOCA - Jini for mobile devicesMOCA - Jini for mobile devices TG approach operates at a logical layer above service TG approach operates at a logical layer above service

discovery, and can co-exist with any of these schemesdiscovery, and can co-exist with any of these schemes

Similar VisionsSimilar Visions INS (Intentional Naming System)INS (Intentional Naming System)

User intent abstracted in attribute-value pairsUser intent abstracted in attribute-value pairs Device that will perform the service will be selected by Device that will perform the service will be selected by

special entities called Intentional Name Resolversspecial entities called Intentional Name Resolvers IBM’s PIMA (Platform Independent Model for Applications)IBM’s PIMA (Platform Independent Model for Applications)

Page 7: 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.

Related WorkRelated Work

Parallel ComputingParallel Computing Task Graphs used for representing tasks that can be split Task Graphs used for representing tasks that can be split

temporally into sub-taskstemporally into sub-tasks Homogenous processors, reduce total completion timeHomogenous processors, reduce total completion time

Task graphs for distributed task executionTask graphs for distributed task execution Several heterogeneous devices that communicate with each Several heterogeneous devices that communicate with each

otherother No notion of minimizing total completion timeNo notion of minimizing total completion time

Page 8: 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.

A Task Graph based Modeling FrameworkA Task Graph based Modeling Framework

DeviceDevice Physical entity that performs at least one particular functionPhysical entity that performs at least one particular function Specialized device: speakers, printers, monitorsSpecialized device: speakers, printers, monitors Multipurpose device: PDAs, laptopsMultipurpose device: PDAs, laptops

AttributesAttributes Capabilities of each deviceCapabilities of each device Static or DynamicStatic or Dynamic

ServiceService Functionality provided by a device or a collection of co-operating Functionality provided by a device or a collection of co-operating

devicesdevices Multiple devices in the MANET can provide the same serviceMultiple devices in the MANET can provide the same service

Page 9: 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.

A Task Graph based Modeling FrameworkA Task Graph based Modeling Framework

NodeNode Abstract representation of a device or a collection of devices that Abstract representation of a device or a collection of devices that

can offer a particular servicecan offer a particular service Simple – single physical deviceSimple – single physical device Complex – multiple simple nodesComplex – multiple simple nodes Class, category Class, category or or typetype – principal attribute of a node – principal attribute of a node

EdgeEdge Association between two nodes with Association between two nodes with attributesattributes that must be that must be

satisfied for the completion of a tasksatisfied for the completion of a task

Page 10: 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.

Tasks and Task GraphsTasks and Task Graphs

TaskTask Work executed by a node with a certain expected outcomeWork executed by a node with a certain expected outcome Work done by a component of a complex node is considered a Work done by a component of a complex node is considered a

sub-task of a bigger tasksub-task of a bigger task Atomic task – Indivisible unit of work executed by a single nodeAtomic task – Indivisible unit of work executed by a single node

Task GraphTask Graph Graph TG = (VGraph TG = (VTT, E, ETT) where V) where VTT is the set of nodes that need to is the set of nodes that need to

participate in the task and Eparticipate in the task and ETT is the set of edges denoting data is the set of edges denoting data

flow between participating nodesflow between participating nodes

Page 11: 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.

An ExampleAn Example

A PDF printing serviceA PDF printing service PS printer connected to a PS printer connected to a

print server running PDF to print server running PDF to PS conversion softwarePS conversion software

Printer and the print Printer and the print server nodes together server nodes together form a complex node that form a complex node that offers a “PDF printing offers a “PDF printing service”service”

Page 12: 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.

A Data-flow Tuple ArchitectureA Data-flow Tuple Architecture

TuplesTuples Represent task requirements in terms of data flow to and from Represent task requirements in terms of data flow to and from

the current devicethe current device Logical unit of data processing that is needed between the Logical unit of data processing that is needed between the

distributed components of an applicationdistributed components of an application X : [A, B, C ; D, E] – node of class X receives data from nodes of 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 A, B and C, and sends the processed data to nodes of classes D and Eclasses D and E

Edges of a TG can have attributes (channel error rates, Edges of a TG can have attributes (channel error rates, bandwidth) and requirements (proximity) which can be bandwidth) and requirements (proximity) which can be integrated in the TG via the tuple architectureintegrated in the TG via the tuple architecture

Page 13: 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.

Embedding Task Graphs onto networksEmbedding Task Graphs onto networks Discover appropriate devices in the networkDiscover appropriate devices in the network Select from those suitable devices that are needed to execute Select from those suitable devices that are needed to execute

the more complex applicationthe more complex application Mathematically, embedding a TG = (VMathematically, embedding a TG = (VTT,E,ETT) onto a MANET G = ) onto a MANET G =

(V(VGG, E, EGG) involves finding a pair of mappings (φ, ψ) such that φ : ) involves finding a pair of mappings (φ, ψ) such that φ :

VVTT → V → VGG and ψ : E and ψ : ETT → P → PGG, where the class of v є V, where the class of v є VTT is the same is the same

as that of φ(v) and Pas that of φ(v) and PGG is the set of all source-destination paths in is the set of all source-destination paths in

GG

InstantiationInstantiation Process of device discovery, selection of a device from multiple Process of device discovery, selection of a device from multiple

instances of a devices in the same category, and the assignment instances of a devices in the same category, and the assignment of a physical device to a logical node in the task graphof a physical device to a logical node in the task graph

A Task Graph based Modeling FrameworkA Task Graph based Modeling Framework

Page 14: 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.

Metrics for Performance EvaluationMetrics for Performance Evaluation Average DilationAverage Dilation

Edges in TG are mapped to paths in GEdges in TG are mapped to paths in G Average length of all such paths taken over all edges in TGAverage length of all such paths taken over all edges in TG Large dilation implies long paths between directly Large dilation implies long paths between directly

communicating devicescommunicating devices Low Dilation results in better task throughputLow Dilation results in better task throughput

Instantiation timeInstantiation time Time taken to instantiate a node in TG on GTime taken to instantiate a node in TG on G Time taken to find a replacement device, during network Time taken to find a replacement device, during network

failures failures Average Effective throughput (Average Effective throughput (AvgEffTAvgEffT))

Average number of application data units (ADUs) actually Average number of application data units (ADUs) actually received at the instantiated data sinks divided by the number received at the instantiated data sinks divided by the number of ADUs that were supposed to be received at the intended of ADUs that were supposed to be received at the intended targets, ideallytargets, ideally

Page 15: 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.

An Algorithm for Embedding An Algorithm for Embedding TreeTree Task Task GraphsGraphs

AssumptionsAssumptions The TG is a tree rooted at the user UThe TG is a tree rooted at the user U The node executing the algorithm has complete knowledge of The node executing the algorithm has complete knowledge of

the topology of the network at the given instantthe topology of the network at the given instant Works by propagating a Works by propagating a value value function towards U function towards U Principle of OptimalityPrinciple of Optimality

StepsSteps Perform BFS traversal of the tree TG and assign a level L to Perform BFS traversal of the tree TG and assign a level L to

each node starting from U, which has L = 0each node starting from U, which has L = 0 Leaf nodes are given value v = 0Leaf nodes are given value v = 0 For a non-leaf node X with child Y, for every instance Xi in G 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 sweep through every instance of Y in G and choose instance Yj such that vsuch that vYj Yj + w(Xi,Yj) is minimized+ w(Xi,Yj) is minimized

Complete this value assignment for all instances at one level Complete this value assignment for all instances at one level before moving on to the next lower levelbefore moving on to the next lower level

Page 16: 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.

An Algorithm for Embedding An Algorithm for Embedding TreeTree Task Task GraphsGraphs

DrawbacksDrawbacks CentralizedCentralized High time complexityHigh time complexity Entire topology information neededEntire topology information needed Not adaptable to mobilityNot adaptable to mobility Not applicable for graph TGsNot applicable for graph TGs

Embedding problem is harderEmbedding problem is harder Principle of optimality does not hold – due to greater Principle of optimality does not hold – due to greater

connectivity of a graphconnectivity of a graph

Distributed greedy approachDistributed greedy approach Simpler, less time consuming, reasonably efficient in operationSimpler, less time consuming, reasonably efficient in operation Suboptimal Suboptimal

Page 17: 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.

Distributed Task Embedding ApproachDistributed Task Embedding Approach

Why?Why? In a MANET of low power devices, none of them may have In a MANET of low power devices, none of them may have

adequate computational poweradequate computational power MANET graph might change by the time the optimal dilation is MANET graph might change by the time the optimal dilation is

calculatedcalculated Changes in topology difficult to trackChanges in topology difficult to track Centralized node might not be always connected to the rest of Centralized node might not be always connected to the rest of

the networkthe network Although not always optimal, distributed approach is more robust Although not always optimal, distributed approach is more robust

and adaptive to mobility – no single point of failureand adaptive to mobility – no single point of failure

Page 18: 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.

Distributed Algorithm for Instantiation of NodesDistributed Algorithm for Instantiation of Nodes GoalGoal

To produce an embedding of a TG onto a MANET with the To produce an embedding of a TG onto a MANET with the objective of minimizing Dobjective of minimizing Davg avg

AssumptionsAssumptions Each heterogeneous device provides a single type of serviceEach heterogeneous device provides a single type of service All nodes in the network are All nodes in the network are simplesimple Presence of a MANET routing protocol (DSR, AODV) and a Presence of a MANET routing protocol (DSR, AODV) and a

reliable transport protocol (TCP)reliable transport protocol (TCP)

BackgroundBackground All devices in network execute the same copies of the algorithm All devices in network execute the same copies of the algorithm

except the user node which executes a different algorithm as it except the user node which executes a different algorithm as it acts as a acts as a state synchronizerstate synchronizer

Any device can exist in states – NOT_INSTANTIATED, Any device can exist in states – NOT_INSTANTIATED, WAIT_FOR_ACK or INSTANTIATEDWAIT_FOR_ACK or INSTANTIATED

Main coordinator – TG_UNINSTANTIATED or Main coordinator – TG_UNINSTANTIATED or TG_INSTANTIATED TG_INSTANTIATED

Page 19: 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.

Distributed Algorithm for Instantiation of NodesDistributed Algorithm for Instantiation of Nodes

StepsSteps Initially, U is in state TG_UNINSTANTIATED and all other nodes Initially, U is in state TG_UNINSTANTIATED and all other nodes

are in state NOT_INSTANTIATEDare in state NOT_INSTANTIATED A BFS through the TG is started from U inducing a Spanning A BFS through the TG is started from U inducing a Spanning

Tree rooted at U, called BFS-Tree of TG (BFSTTree rooted at U, called BFS-Tree of TG (BFSTTGTG))

Starting from U, nodes in BFSTStarting from U, nodes in BFSTTG TG are mapped to nearest devices are mapped to nearest devices

and the edges to shortest paths in Gand the edges to shortest paths in G Nodes are instantiated greedily by searching only the local Nodes are instantiated greedily by searching only the local

space around an instantiated device for the next nodespace around an instantiated device for the next node

Page 20: 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.

Node A

Coordinator Node

Node B (Local Coordinator) Node C

Broadcast Query

For type

A

For type B

For type C

candidate candidat

e

candidat

e

ACKACK

ACK

Conf

Con

f

Con

f Collective

subtree

confTG_INSTANTIATED

User node (Coordinator)

Node A

Node B

Node C

BSF Tree Edges

Non-BSF Tree Edges

UDP Flows

TCP Flows

Broadcast Query

Page 21: 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.

Handling Mobility of devicesHandling Mobility of devices

Detection of disconnectionsDetection of disconnections Network Partitions or disconnections due to mobility may lead to Network Partitions or disconnections due to mobility may lead to

instantiated devices being unable to communicateinstantiated devices being unable to communicate Each instantiated device sends a periodic HELLO message to its Each instantiated device sends a periodic HELLO message to its

local neighbor instances in TG, which reply with a HELLO-ACKlocal neighbor instances in TG, which reply with a HELLO-ACK Each instantiated device specially keeps track of its BFS parent Each instantiated device specially keeps track of its BFS parent

and BFS childrenand BFS children BFS parent device stops hearing from its BFS child, it un-BFS parent device stops hearing from its BFS child, it un-

instantiates the child and starts looking for a replacementinstantiates the child and starts looking for a replacement Child will stop hearing HELLO-ACKs from the parent and will Child will stop hearing HELLO-ACKs from the parent and will

un-instantiate itselfun-instantiate itself TCP re-transmissions after timeouts take a long time, leading to TCP re-transmissions after timeouts take a long time, leading to

false conclusion that disconnection has taken place false conclusion that disconnection has taken place

Page 22: 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.

Handling Mobility of devicesHandling Mobility of devices Re-instantiation and BookkeepingRe-instantiation and Bookkeeping

Re-instantiation process is same as the earlier described Re-instantiation process is same as the earlier described instantiation process but without the CN_CONFIRM stepinstantiation process but without the CN_CONFIRM step

Coordinator is not involved, BFS parent acts as the local Coordinator is not involved, BFS parent acts as the local coordinatorcoordinator

State maintenance after disconnections is done locallyState maintenance after disconnections is done locally Each device knows the address of its parents (BFS and non-Each device knows the address of its parents (BFS and non-

BFS), its children, its children’s parents and its children’s BFS), its children, its children’s parents and its children’s childrenchildren

Impact on the Application layerImpact on the Application layer BFS-parent device responsible for passing the application state BFS-parent device responsible for passing the application state

to the newly instantiated replacement deviceto the newly instantiated replacement device Devices in NOT_INSTANTIATED state after being disconnected Devices in NOT_INSTANTIATED state after being disconnected

drop old data packets still reaching themdrop old data packets still reaching them

Page 23: 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.

ConclusionConclusion

A task-based framework for executing a A task-based framework for executing a distributed application on a network of distributed application on a network of specialized mobile devicesspecialized mobile devices

A scalable, robust algorithm for anycasting a TG A scalable, robust algorithm for anycasting a TG onto a MANET, with local detection and repair onto a MANET, with local detection and repair for recovery from disruptionsfor recovery from disruptions

Further workFurther work Feedback based TCP for better performanceFeedback based TCP for better performance Reliable task execution with buffering and retransmissionsReliable task execution with buffering and retransmissions