Changeset 2772
- Timestamp:
- 10/30/09 11:23:14 (4 weeks ago)
- Location:
- docs/Lowthane/ipsn10
- Files:
-
- 3 modified
-
design.tex (modified) (2 diffs)
-
evaluation.tex (modified) (23 diffs)
-
lowthane.tex (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
docs/Lowthane/ipsn10/design.tex
r2766 r2772 96 96 %% packets is volatile and potentially inaccurate. Instead, w 97 97 98 When presented with a new link, {\lowthane} initially use a {\emph{spot}} link quality metric, {\it e.g.} a hardware LQI estimate, to evaluate the quality of the link. For each link, {\lowthane} maintains a Confidence value, currently the number of transmissions that have used that link. Once this value crosses a certain threshold, the link is considered {\emph{mature}}, and is then evaluated using the overall link cost metric, ETX or expected transmissions.We use link-layer acknowledgement frames on all unicast traffic, and base our link quality estimate on the ack reception rate: consequently, our link estimator strongly prefers bidirectional links. To account for the temporal variability of links, {\lowthane} maintains both long-term and short-term link estimates. Both estimators use the same metric (ETX) but with different time horizons so sato manage the agility/stability tradeoff.98 When presented with a new link, {\lowthane} initially use a {\emph{spot}} link quality metric, {\it e.g.} a hardware LQI estimate, to evaluate the quality of the link. For each link, {\lowthane} maintains a Confidence value, currently the number of transmissions that have used that link. Once this value crosses a certain threshold, the link is considered {\emph{mature}}, and is then evaluated using the overall link cost metric, ETX or expected transmissions.We use link-layer acknowledgement frames on all unicast traffic, and base our link quality estimate on the ack reception rate: consequently, our link estimator strongly prefers bidirectional links. To account for the temporal variability of links, {\lowthane} maintains both long-term and short-term link estimates. Both estimators use the same metric (ETX) but with different time horizons so as to manage the agility/stability tradeoff. 99 99 %When presented with 100 100 %a new link, {\lowthane} initially uses a {\emph{spot}} link quality metric, … … 396 396 Our implementation of {\lowthane} is built on top of the {\tt blip} 397 397 IPv6 stack using {\tt 6Lowpan}~\cite{6lowpan} and the TinyOS-2.1 operating 398 sy tem~\cite{tinyos}. % Unless otherwise stated, our implementation uses the398 system~\cite{tinyos}. % Unless otherwise stated, our implementation uses the 399 399 % default settings highlighted in Section~\ref{sec:design}. 400 400 It is portable to 401 most Tiny os2 platforms, including {\tt telosb}, {\tt micaz}, {\tt iris}, and401 most TinyOS 2 platforms, including {\tt telosb}, {\tt micaz}, {\tt iris}, and 402 402 {\tt epic}. All experiments were performed using the {\tt epic} platform 403 \cite{epic}. 404 403 \cite{epic}. Part of our contribution is making available a 404 well-tested, open implementation of {\lowthane}, which is currently the 405 default routing protocol used in the {\tt blip} IPv6 stack. 406 -
docs/Lowthane/ipsn10/evaluation.tex
r2741 r2772 8 8 range of workloads and failure conditions. 9 9 10 \subsection{ Evalutation}10 \subsection{Questions} 11 11 12 12 Centralized routing over low-power and lossy wireless networks raises 13 13 many concerns that must be addressed in a successful design. These 14 concerns, and {\lowthane}'s response to them, include the following: 15 16 {\bf Reliability.} The lossy nature of wireless mesh networks means 17 that implementing reliability at end hosts alone is insufficient and 18 that support for both hop-by-hop retransmissions and end-to-end route 19 adaptations are needed. 14 concerns include the following: 15 16 \begin{description}\addtolength{\itemsep}{-0.5\baselineskip} 17 18 \item[Reliability] Does the protocol successfully deliver packets? 19 20 % The lossy nature of wireless mesh networks means 21 % that implementing reliability at end hosts alone is insufficient and 22 % that support for both hop-by-hop retransmissions and end-to-end route 23 % adaptations are needed. 20 24 21 25 %Figures~\ref{fig:collection-acme}, … … 23 27 %dynamics on end-to-end reliability. 24 28 25 {\bf Convergence.} Centralized routing protocols must gather topology data 26 at one (or more) ``central'' locations before routing can take place, and 27 so link dynamics, coupled with constraints on control traffic, can 28 make converging on a consistent view of the network a challenge. 29 \item[Convergence] How long does the protocol take to find routes? 30 31 % Centralized routing protocols must gather topology data 32 % at one (or more) ``central'' locations before routing can take place, and 33 % so link dynamics, coupled with constraints on control traffic, can 34 % make converging on a consistent view of the network a challenge. 29 35 30 36 %Figures~\ref{fig:top-report},~\ref{fig:stretch30-cdf}, … … 32 38 %stable topology from a cold start. 33 39 34 {\bf Stretch.} Near optimal routes, with respect to metrics like 35 transmission stretch, are key to conserving energy 36 and lowering congestion in L2Ns. Since stretch can only be defined with 37 respect to a topology, and it is essentially impossible to measure the 38 ``true'' topology, we compare to a particular instance of the sampled 39 topology. 40 \item[Stretch] How ``good'' are the routes the protocol uses? 41 42 % Near optimal routes, with respect to metrics like 43 % transmission stretch, are key to conserving energy 44 % and lowering congestion in L2Ns. Since stretch can only be defined with 45 % respect to a topology, and it is essentially impossible to measure the 46 % ``true'' topology, we compare to a particular instance of the sampled 47 % topology. 40 48 %Figures~\ref{fig:concurrency-smote-trans}, 41 49 %~\ref{fig:sfailure-smote-trans}, and~\ref{fig:mfailure-smote-trans} 42 50 %evaluate the stretch incurred using {\lowthane}. 43 51 44 {\bf Agility/Stability.} Centralized routing protocols incur delay 45 when responding to local transients like link and node churn. 52 \item[Agility/Stability] How quickly can {\lowthane} respond to changes in 53 topology? 54 55 % Centralized routing protocols incur delay 56 % when responding to local transients like link and node churn. 46 57 47 58 %Figures~\ref{fig:sfailure-smote} and~\ref{fig:mfailure-smote} evaluate … … 49 60 %attempts to maintain stable paths under these transients. 50 61 51 {\bf Scalability.} Centralizing the points of control can make 52 scaling a network difficult, and routing in large networks with 53 limited state and constrained control traffic further exacerbate this 54 scaling challenge. 62 \item[Scalability] How large a network does {\lowthane} support, and how well 63 does it support concurrent flows? 64 65 \end{description} 66 67 % Centralizing the points of control can make 68 % scaling a network difficult, and routing in large networks with 69 % limited state and constrained control traffic further exacerbate this 70 % scaling challenge. 55 71 56 72 %Figures~\ref{fig:concurrency-motelab} … … 75 91 or on the ceiling. An additional eight nodes are installed in a remote 76 92 residential environment, resulting in a total deployment size of 57 nodes. 93 Table \ref{tab:deployments} summarizes the locations used to evaluate {\lowthane}. 77 94 78 95 For the baseline workload in these experiments, all nodes report data … … 81 98 and in our experiments, we use ICMP ping messages, separated by 2 82 99 seconds for multi-packet flows. In addition, all experiments are 83 given time to bootstrap the network topology formation , except as84 noted.100 given time to bootstrap the network topology formation.% , except as 101 % noted. 85 102 86 103 \begin{table*}[th] … … 100 117 Testbeds A and B, and Deployment 1; the other deployments were 101 118 ``production'' and were not suitable for diagnostics.} 119 \label{tab:deployments} 102 120 \end{center} 103 121 \end{table*} … … 115 133 design. 116 134 117 \SDHnote{too whiny? nobody likes a whiner.} 118 In general, this space suffers from a plethora of routing protocol 119 specifications and a lack of robust, open implementations. DYMO in TinyOS is 120 still under heavy development, while tests with S4 found significant problems 121 with its forwarding engine which limit its performance when multiple flows are 122 present (a result reflect in their reported measurements) \cite{s4}. 123 Futhermore, it does not contain an implementation of the location service 124 necessary for practial use. Part of our contribution is making available a 125 well-tested, open implementation of {\lowthane}, which is currently the 126 default routing protocol used in the {\tt blip} IPv6 stack. 135 % \SDHnote{too whiny? nobody likes a whiner.} 136 % In general, this space suffers from a plethora of routing protocol 137 % specifications and a lack of robust, open implementations. DYMO in TinyOS is 138 % still under heavy development, while tests with S4 found significant problems 139 % with its forwarding engine which limit its performance when multiple flows are 140 % present (a result reflect in their reported measurements) \cite{s4}. 141 % Futhermore, it does not contain an implementation of the location service 142 % necessary for practial use. 127 143 128 144 % Policy routing is an important component our architecture; we feel that moving … … 146 162 \centering 147 163 \subfigure[Real-world deployment of ACme nodes]{ 148 \includegraphics[width=0.4 8\columnwidth]{figs/acme-yield.pdf}164 \includegraphics[width=0.45\columnwidth]{figs/acme-yield.pdf} 149 165 \label{fig:collection-acme} 150 166 } 151 167 \subfigure[Testbed comparison of CTP and {\lowthane} yields, over a workday] { 152 \includegraphics[width=0.4 8\columnwidth]{figs/CTP_BLIP.pdf}153 \label{fig:collection- acme}168 \includegraphics[width=0.45\columnwidth]{figs/CTP_BLIP.pdf} 169 \label{fig:collection-ctp-blip} 154 170 } 155 171 \caption{CDF of collection packet delivery ratio observed over three days in a 156 real-world deployment.} 172 real-world deployment. {\lowthane}'s collection performance suffers 173 slightly when faced with interference on a week day 174 (\ref{fig:collection-acme}), but compares favorably with state-of-the-art 175 CTP in testbed experiments.} 157 176 \label{fig:collection} 158 177 \end{figure} … … 188 207 % \label{fig:stretch5-cdf} 189 208 % \includegraphics[width=.55\columnwidth]{figs/StretchCDF-5min.pdf}} 190 \caption{Average degree of a node in the {\controller}'s global topology view as a function of time, topology report rate, and rate of exploration, and the corresponding stretch.} 209 \caption{Average degree of a node in the {\controller}'s global topology 210 view as a function of time, topology report rate, and rate of 211 exploration, and the corresponding stretch. Basic connectivity is 212 acquired quickly, after which local exploration continues to evaluate 213 the topology continuously.} 191 214 \label{fig:top-and-stretch} 192 215 \end{figure} … … 210 233 %In {\lowthane}, the global topology view maintained by the {\controller} enables it to route packets to destinations within the subnet, and install efficient routes in the network for active flows. However, the optimality of the routes is determined by the accuracy and completeness of its global view, which is a function of the topology reports received from the nodes. Given the constrained nature of L2Ns, quantifying the tradeoff between optimality and control overhead becomes critical, particularly when the network is first being initialized and the global topology view is empty. 211 234 We begin by examining the average degree of nodes in the global topology view 212 at the {\controller}. The intuition is that a larger average degree indicates 213 that an increasing portion of the real topology has been captured, and so that 214 links which reduce stretch are more likely to have been discovered. Two 235 at the {\controller}. T% he intuition is that a larger average degree indicates 236 % that an increasing portion of the real topology has been captured, and so that 237 % links which reduce stretch are more likely to have been discovered. 238 Two 215 239 factors determine node degree: the Topology Report Interval, which dictates 216 240 how often nodes propagate information to the {\controller}, and the … … 222 246 The key implication is that {\emph{basic connectivity is established very 223 247 rapidly by the first few topology reports}}, while converging on a stable 224 topology is a lengthy (and potentialy endless)process.% Focusing on the248 topology is a continuous process.% Focusing on the 225 249 % topology report interval, we see that the 30-second interval achieves a higher 226 250 % average node degree than the 5-minute interval, which was to be expected since … … 259 283 %To calculate a rough approximation, we ran a broadcast test on the testbed. In turn, each node broadcasts 100 packets, separated by 100ms, and each node that receives the packet logs the event. Using these logs, we can calculate the packet delivery ratio of a particular link, and calculate its inverse, ETX. To calculate the average transmission stretch, for each source and destination pair, we calculate the route cost of the optimal path using the the topology report data set, and the broadcast test data set, and divide the two. We do note that this is only an approximation; the broadcast test is only a snapshot at a given instance in time, and can not account for environmental interference sources that can alter the state of the network at the time that topology reports are collected. However, it does provide a relative point of reference. 260 284 261 Next, we look at the optim iality of285 Next, we look at the optimality of 262 286 routes formed based on the reported topology. 263 287 Figure~\ref{fig:stretch30-cdf} compares the … … 321 345 %% L2Ns. 322 346 To see {\lowthane}'s basic mechanisms in action, we first focus on a trace of 323 50 packets from a single flow running on testbed A. The firstmeasure of347 50 packets from a single flow running on testbed A. The measure of 324 348 interest is ``transmissions per success,'' which counts the total number of link 325 layer transmissions necessary to deliver a packet from the source to thedestination.349 layer transmissions necessary to deliver a packet from a source to a destination. 326 350 % This flow was taken from an experiement on 327 351 % Testbed A, with 4 other concurrent flows, and with the Flow Table being empty … … 332 356 \centering 333 357 \includegraphics[width=0.7\columnwidth]{figs/BlowByBlow.pdf} 334 \caption{Number of transmissions for each packet of a single flow}\label{fig:blowbyblow} 358 \caption{Number of transmissions for each packet of a single flow. The first 359 packet triggers a Route Install message, which reduces the path length from 360 6 to 2.} 361 \label{fig:blowbyblow} 335 362 \end{figure} 336 363 … … 367 394 to support a relatively large number of concurrent low bandwidth flows. Concurrency stresses 368 395 many aspects of a routing protocol, especially {\it reliability} and {\it 369 scalability}. While elements of this test stress the 370 forwarding engine rather than the routing protocol, routing can 371 harm these results by causing unnecessary congestion, especially surrounding 372 a central element like the \controller. 373 374 To evalute the impact of the centralized optimization of installing 396 scalability}.% While elements of this test stress the 397 % forwarding engine rather than the routing protocol, routing can 398 % harm these results by causing unnecessary congestion, especially surrounding 399 % a central element like the \controller. 400 To evaluate the impact of the centralized optimization of installing 375 401 routes, we compare our protocol to itself with route installation disabled, so 376 402 that all packets are forced to use a default route through the \controller. … … 417 443 engine is ``reliable,'' and that it supports a reasonably large amount of 418 444 traffic. The lower two graphs in Figure~\ref{fig:concurrent-smote-pdr} contain the total number of centralized control 419 transmissions {\it per flow}, and the total DAG maint ainence traffic {\it per445 transmissions {\it per flow}, and the total DAG maintenance traffic {\it per 420 446 node per minute}. These generally show a low level of traffic. The kink in 421 447 the center graph was caused by the protocol reacting to a link failure. … … 438 464 %the conclusion of the experiment. 439 465 Furthermore, there is {\it significantly greater 440 variab lity without the centralized optimization}. We also note that {\it466 variability without the centralized optimization}. We also note that {\it 441 467 installing routes reduces 442 468 stretch}, as Figure \ref{fig:concurrency-smote-trans} illustrates. Testbed A … … 502 528 load (left); Single Flow with multiple node failures (Center), Multiple 503 529 Flows with significant node failures. ``Transmissions per success'' the counts total 504 number of link-layer tran missions necessary to deliver a packet from the530 number of link-layer transmissions necessary to deliver a packet from the 505 531 source to destination. ``Transmissions per link'' is a measure of the 506 532 quality of links selected.} … … 530 556 \caption{Packet delivery ratio and control traffic statistics for a single 531 557 flow amidst node failures: each vertical line indicates that four nodes 532 failed, until finally only four nodes remain and the network is partitioned.} 558 failed, until finally only four nodes remain and the network is 559 partitioned. Cached state is used to repair routes until nodes no longer 560 have viable parents. The DAG protocol then works to find new links and 561 route around the failed nodes.} 533 562 \label{fig:sfailure-smote-pdr} 534 563 \end{figure} … … 537 566 ratio remains near 100\% until near the end of the experiment. Added route 538 567 install traffic is clearly visible after a 539 route has been broken. At the same time, the DAG maint ainence traffic works in the background540 to maintain reachab lity to the controller. Nodes use cached568 route has been broken. At the same time, the DAG maintenance traffic works in the background 569 to maintain reachability to the controller. Nodes use cached 541 570 default routes until approximately 1500 seconds, when some nodes must begin 542 571 seeking out new default routes and therefore triggering additional DAG control traffic. … … 572 601 \includegraphics[width=0.85\columnwidth]{figs/Failure_Control-6.pdf} 573 602 \caption{Packet delivery ratio and control traffic statistics for multiple 574 flows amidst node failures. Approximat ly half the nodes are involved in a603 flows amidst node failures. Approximately half the nodes are involved in a 575 604 flow, and the rest progressively fail until only the active nodes remain. 576 605 Four nodes are removed at each vertical line.}\label{fig:mfailure-smote-pdr} … … 782 811 which is only 5K of code, and 524 Bytes of RAM including all routing state for 783 812 six individual flows as well as 210 Bytes of other static data. Removing the 784 route installation functional ty and providing only triangle routing reduces813 route installation functionality and providing only triangle routing reduces 785 814 the code size by approximately 2kB. 786 815 -
docs/Lowthane/ipsn10/lowthane.tex
r2766 r2772 54 54 \end{abstract} 55 55 56 \category{I.5.3}{Computing Methodologies}{Pattern Recognition}{Clustering}[similarity measures] 57 \terms{Algorithms, Experimentation} 58 \keywords{keyword1, keyword2, keyword3} 56 \category{C.2.2}{Computer Systems Organization}{Computer- Communication 57 Networks}[Network Protocols] 58 % } {Pattern Recognition}{Clustering}[similarity measures] 59 \terms{Design, Experimentation} %Algorithms, Experimentation} 60 \keywords{networking, routing, point-to-point} % keyword1, keyword2, keyword3} 59 61 60 62
