A Novel Approach for Execution of Distributed Tasks on Mobile Ad Hoc Networks Prithwish Basu, Wang...
-
Upload
brittney-anthony -
Category
Documents
-
view
213 -
download
0
Transcript of A Novel Approach for Execution of Distributed Tasks on Mobile Ad Hoc Networks Prithwish Basu, Wang...
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
OverviewOverview
IntroductionIntroduction Related workRelated work Example ScenariosExample Scenarios Theoretical FoundationsTheoretical Foundations Distributed AlgorithmDistributed Algorithm ConclusionConclusion
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
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)
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
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)
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
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
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
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
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”
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
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
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
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
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
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
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
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
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
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
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
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