Upload
ryder
View
20
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Self-Routing in Pervasive Computing Environments using Smart Messages. Cristian Borcea , Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University), and Liviu Iftode (University of Maryland). Networks of Embedded Systems. Linux Car. Linux Camera. Linux Cell Phone. Linux Watch. - PowerPoint PPT Presentation
Citation preview
1
Self-Routing in Pervasive Computing Environments
using Smart Messages
Cristian Borcea, Chalermek Intanagonwiwat,
Akhilesh Saxena (Rutgers University), and Liviu Iftode (University of Maryland)
2
Networks of Embedded Systems
Linux Cell PhoneLinux WatchLinux CameraLinux Car
• Functionally heterogeneous nodes• Very large scale• Ad hoc topologies• Dynamic network configurations• Limited a priori knowledge about network resources
3
Programmability Challenge
• Traditional message passing distributed computing does not work for networks of embedded systems– unknown and volatile network configurations – end-to-end data transfer may hardly complete (i.e., “all or
nothing” semantics is not appropriate)– fixed address naming and routing (e.g., IP) are too rigid
• Our Solution: Cooperative Computing using Smart Messages
• More flexible naming and routing are needed– applications interested in content/services, not individual nodes– different applications have different routing requirements
4
Outline
• Motivation• Smart Messages Overview• Self-Routing Mechanism
– content-based migration– application scenarios
• Evaluation– SM prototype– simulations
• Related Work• Conclusions & Future Work
5
Smart Messages at a Glance
• Distributed computing using execution migration• Applications composed of one or multiple Smart Messages• Smart Message (SM):
– composed of code, data, and execution state– executes on nodes of interest named by properties
• Cooperative Nodes:– execution environment (Virtual Machine)– content-based memory (Tag Space)
• Self-Routing– routing performed at application-level– applications can change routing during execution
6
Application Example
n=0while (n<2) migrate(Taxi); if (readTag(Available)) writeTag(Available, false); writeTag(Location, myLocation); n++;
n=0
Taxi Taxi
n=0 n=0 n=1 n=1 n=2
need2
taxis
mobile data
application
routing
7
Node Architecture
AdmissionManager
VirtualMachine
SM arrival SM migrationsm1sm2
……
tag1tag2……
Tag Space
Admission prevents excessive use of resources
Execution is non-preemptive,
but time bounded
•Two types of tags:– application tags – I/O Tags
•Tags used by SMs for:– naming– storage – synchronization– I/O access
SM Ready Queue
8
Smart Messages Migration
1 2 3 4
migrate(Taxi)
sys_migrate(2) sys_migrate(3) sys_migrate(4)
• Two level migration: – migrate()
• embeds routing algorithm• migrates application to next node of interest• names nodes in terms of arbitrary conditions on tag names and tag values
– sys_migrate()• one hop migration• used to implement migrate
TaxiTaxi
9
migrate(Taxi){ while(!readTag(Taxi)) if (readTag(RouteToTaxi)) sys_migrate(readTag(RouteToTaxi)); else create_SM(DiscoverySM, Taxi); createTag(RouteToTaxi, lifetime, null); block_SM(RouteToTaxi, timeout);}
migrate(Taxi){ while(!readTag(Taxi)) if (readTag(RouteToTaxi)) sys_migrate(readTag(RouteToTaxi)); else create_SM(DiscoverySM, Taxi); createTag(RouteToTaxi, lifetime, null); block_SM(RouteToTaxi, timeout);}
Migration Example
1 2 i
RouteToTaxi = 2
TaxiRouteToTaxi = ?
Network
migrate(Taxi){ while(!readTag(Taxi)) if (readTag(RouteToTaxi)) sys_migrate(readTag(RouteToTaxi)); else create_SM(DiscoverySM, Taxi); createTag(RouteToTaxi, lifetime, null); block_SM(RouteToTaxi, timeout);}
RouteToTaxi = j
10
Self-Routing
• Smart Messages carry the routing and execute it at each node
• Smart Messages control their routing– select routing algorithm (migrate primitive)
• from multiple library implementations• implement a new one
– change routing algorithm during execution• in response to adverse network conditions• according to application’s requirements
11
Dynamic Change of Routing (1)
while (n<3) try{ migrate(tag, timeout1); }catch(TimeoutException e){ migrate(tag, timeout2); }
Dense networkLow mobility
Proactive routing
Sparse networkHigh mobility
On-demand routing
12
Dynamic Change of Routing (2)
migrate(circle); while (n<3) migrate(tag);
geographical routing to reach circle
space-bound on-demandrouting to reach the
nodes of interest
13
Smart Messages Routing Algorithms
• Goal: Evaluate the potential of SMs to implement different content-based routing algorithms– on-demand content-based routing (similar to AODV [Perkins
’99])– greedy geographical routing (similar to GPSR [Karp ’00])– proactive routing using Bloom filters (similar to Probabilistic
Routing [Rhea ’02])– rendez-vous routing (combining on-demand and proactive
routing)• e.g., geographic dissemination + limited flooding• advantage: improves the response time for applications
while avoiding global dissemination and large scale flooding
14
Evaluation Strategies
• Implementation– SM prototype over Sun Java KVM on HP iPAQs– small scale network (8 nodes)– evaluated the effects of code caching
• Simulation– SM simulator– large scale network (256 nodes)– evaluated the effects of best routing selection and
dynamic change of routing
15
Prototype Implementation
• Modified version of Sun Java KVM• HP iPAQs running Linux• 802.11 for communication
Completion Time
Routing algorithmCode not cached (ms)Code cached (ms)GeographicOn-demand
415.6 126.6506.6 314.7
user nodenode of interestintermediate node
16
Simulation
• Event-driven simulator extended with support for SM execution
• Setup:– 256 nodes uniformly distributed over a 1000m by 1000m square– transmission range = 100m– bandwidth = 2Mbs – each node has an average of 6 neighbors (min = 2, max = 11)
• Metrics:– completion time: user-observed response time for an application– total number of bytes sent: total amount of traffic generated by
an application• also indicates the energy and bandwidth consumed by an
application
17
Simple On-Demand Routing vs. Conditional On-Demand Routing
starting node node of interest other node
• nodes of interest contain a certain tag, and the tag’s data must satisfy a given condition • 5 nodes (distributed uniformly) have the given tag• vary the number nodes of interest from 1 to 4
18
On-demand Routing vs. Geographical + On-demand Routing
starting node node of interest other node
• 5 nodes of interest distributed over the red region– radius = 500m
• application has knowledge about the desired region– vary the radius from 500m to 1500m
0
0.5
1
1.5
2
2.5
0 200 400 600 800 1000 1200 1400 1600
Region Radius (meters)
Com
plet
ion
Tim
e (s
ec)
On-Demand Routing Geographic+On-Demand Routing
0
1000
2000
3000
4000
5000
6000
0 200 400 600 800 1000 1200 1400 1600Region Radius (metres)
Byt
es S
ent i
n th
e N
etw
ork
(KB
ytes
)
On-Demand Routing Geographic+On-Demand Routing
19
On-Demand Routing vs. Geographical + On-Demand Routing
Cont’d
starting node node of interest other node
• 3 nodes of interest located in the corners– have to be visited in clockwise order
• application has knowledge about these nodes’ regions
– vary the radius from 100m to 700m
0
0.5
1
1.5
2
2.5
3
0 100 200 300 400 500 600 700 800Region Radius (meters)
Com
plet
ion
Tim
e (s
ec)
On-Demand Routing Geographic+On-Demand Routing
0
500
1000
1500
2000
2500
3000
3500
4000
4500
0 100 200 300 400 500 600 700 800Region Radius (meters)
Byt
es S
ent i
n th
e N
etw
ork
(KB
ytes
)
On-Demand Routing Geographic+On-Demand Routing
20
Related Work
• Mobile agents – e.g., D’Agents[Gray ‘97], Ajanta[Karnik ‘98]
• Active networks– e.g., ANTS[Wetheral ‘99], SNAP[Moore ’01]
• Mobile ad hoc networking– e.g., DSR[Johnson ‘96], AODV[Perkins ‘99], GPSR[Karp ‘00]
• Content-based naming and routing– e.g., INS[Adjie-Winoto ‘00], CBR[Gritter ‘01]
• Pervasive computing models– e.g., one.world[Grimm ‘01]
• Sensor networks– e.g., Diffusion[Intanagonwiwat ‘00], TinyOS[Hill ‘00]
21
Conclusions
• Self-Routing provides high flexibility for SM applications– choose the routing– implement their own routing– change the routing dynamically
• Self-Routing has performance benefits– improved response time for applications– significant energy and bandwidth savings in the network
22
Future Work
• Spatial Programming with Smart Messages– programming model for networks of embedded systems– network resources accessed transparently using {space,
tag} spatial references– a node referenced by {space, tag} is reached through a
combination of geographical and content-based routing• Design and implement real world applications using
Smart Messages and self-routing
23
Thank you!
http://discolab.rutgers.edu/sm