Changeset 2810
- Timestamp:
- 10/30/09 20:03:50 (4 weeks ago)
- Files:
-
- 1 modified
-
HydroWatch/Tim/doc/ipsn10/sec_adaptive.tex (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
HydroWatch/Tim/doc/ipsn10/sec_adaptive.tex
r2800 r2810 3 3 4 4 \subsection{Linking Utility and User Policy}~\label{sec:utility_policy} 5 As discussed in Section~\ref{sec:motivation}, one of the central aims of this paper is to argue that we should move beyond an ``always on'' model for environmental sensing. Whilst it is important that nodes in the network have some level of responsiveness (e.g. for reporting data or receiving user commands), by removing the cost burden brought about by continuous responsiveness, we can move energy resources onto other roles. Given this revised model of thinking, we argue that a useful node and network level \emph{utility} can be defined as a combination of metrics for both \emph{network responsiveness} and \emph{data fidelity}. Furthermore we argue that a suitable utility function (which is by definition somewhat subjective) can be inferred from a combination of these parameters and a \emph{user-policy} which defines bounds for network performance.5 As discussed in Section~\ref{sec:motivation}, one of the central aims of this paper is to argue that we should move beyond an ``always on'' model for environmental sensing. Whilst it is important that nodes in the network have some level of responsiveness (e.g. for reporting data or receiving user commands), by removing the cost burden brought about by continuous responsiveness, we can move energy resources onto other roles. Given this revised model of thinking, we argue that a useful node and network level \emph{utility} can be defined as a combination of metrics for both \emph{network responsiveness} and \emph{data fidelity}. Furthermore, we argue that a suitable utility function (which is by definition somewhat subjective) can be inferred from a combination of these parameters and a \emph{user-policy} which defines bounds for network performance. 6 6 7 7 In the simplest case, we define the role of the user-policy to assign lower and upper bounds on the report/responsiveness frequency for a node $\{F_r^{min} F_r^{max}\}$ and the lower/upper bounds on the sampling rate for all sensors\footnote{For the purpose of this work, we assume that all sensors sample at the same rate} $\{F_s^{min} F_s^{max}\}$ as well as a streaming interval $T_{data}$ for raw data. Thus for a node $n$ over some interval of time $k$ we assign two key parameters: … … 19 19 %%%%%%%%%%%%%%%% 20 20 \subsection{Scheduling Protocol}~\label{sec:schedule} 21 Given this definition of network utility, we propose a revised , over-arching protocol suitable for environmental sensor networks. Rather than nodes radios being always responsive (e.g. LPL on)we propose switching the radios off for long periods of time - essentially putting the whole network in a sleep state. The network will resume a normal active state for two main purposes:21 Given this definition of network utility, we propose a revised over-arching protocol suitable for environmental sensor networks. Rather than having the nodes radios being always responsive (e.g. LPL on), we propose switching the radios off for long periods of time - essentially putting the whole network in a sleep state. The network will resume a normal active state for two main purposes: 22 22 \begin{enumerate} 23 23 \item Send back summary reports of node/sensor data and listen for available user commands. 24 24 \item Stream back high-fidelity sensor data. 25 25 \end{enumerate} 26 An illustration of this process is shown in Figure~\ref{fig:schedule1}. We assume that time is split into a number of discrete \emph{intervals} where an interval could be a period of time such as a day or an hour. For each interval $k$, each node $n$ is assigned a report frequency and a sensor sampling frequency. High-fidelity data will be streamed back at the user-specified interval $T_{data}$ where we currently assume that the system will alert the user if flash storage size is not adequate to store for these interval lengths26 An illustration of this process is shown in Figure~\ref{fig:schedule1}. We assume that time is split into a number of discrete \emph{intervals} where an interval could be a period of time such as a day or an hour. For each interval $k$, each node $n$ is assigned a report frequency and a sensor sampling frequency. High-fidelity data will be streamed back at the user-specified interval $T_{data}$ where we currently assume that the system will alert the user if the flash storage size is not adequate to store data for the specified interval length. 27 27 28 28 %which ensure storage (assumed to be flash) will not overflow and a maximum amount of time (specified via a user policy) has passed. … … 35 35 \end{figure*} 36 36 37 The key premise of taking this approach is that all nodes in the network work on pre-assigned schedules in order to ensure they are all active at the time s reports and high-fidelity data need to be sent back through the network. The obvious overhead that is incurred through taking this approach is that of the need for loose network sync. As shown in Figure~\ref{fig:schedule1}, when the network enters an active state again (for either sending summary reports, receiving user commands or streaming high-res data)we assume that a guard interval is built in to allow routing trees to be updated before summary reports or high-fidelity data is sent back.38 39 Report periods, occurring at frequency $F_r(n,k)$ during interval $k$, play three important roles regarding the responsiveness of the network. Firstly they allow nodes to send back summary reports of the average or latest values of sensor readings. Second they allow a period when user requests can be sent out to nodes, which can contain requests for status data or most importantly, provide the periods when nodes can have their scheduling parameters updated. Thirdlythey allow the base to send out synchronization beacons to nodes to ensure the network sync stays within a reasonable error bounds.40 41 Streaming periods, occurring at a user pre-defined period of $T_{data}$, are used for sending back buffered (stored in flash) high-fidelity data sampled at $F_s(n,k)$. An example streaming period may be be once per day chosen to coincide with the brightest part of the day. Our work assumes that a standard protocol for reliably streaming back data is used during these periods~\cite{koala08ipsn,lance08sensys}, where data is streamed sequentially from leaf nodes through to 1-hop nodes, allownodes closer to the leaves to turn off once they have streamed their data.37 The key premise of taking this approach is that all nodes in the network work on pre-assigned schedules in order to ensure they are all active at the time reports and high-fidelity data need to be sent back through the network. The obvious overhead that is incurred through taking this approach is that of the need for loose network sync. As shown in Figure~\ref{fig:schedule1}, when the network enters an active state again (for either sending summary reports, receiving user commands or streaming high-res data), we assume that a guard interval is built in to allow routing trees to be updated before summary reports or high-fidelity data is sent back. 38 39 Report periods, occurring at frequency $F_r(n,k)$ during interval $k$, play three important roles regarding the responsiveness of the network. Firstly, they allow nodes to send back summary reports of the average or latest values of sensor readings. Second, they allow for a period when user requests can be sent out to nodes, which can contain requests for status data or more importantly, provide the periods when nodes can have their scheduling parameters updated. Thirdly, they allow the base to send out synchronization beacons to nodes to ensure the network sync stays within a reasonable error bounds. 40 41 Streaming periods, occurring at a user pre-defined period of $T_{data}$, are used for sending back buffered (stored in flash) high-fidelity data sampled at $F_s(n,k)$. An example streaming period may be once per day chosen to coincide with the brightest part of the day. Our work assumes that a standard protocol for reliably streaming back data is used during these periods~\cite{koala08ipsn,lance08sensys}, where data is streamed sequentially from leaf nodes through 1-hop nodes, allowing nodes closer to the leaves to turn off once they have streamed their data. 42 42 43 43 %Discuss how this relies on flash storage - thus the cost analysis in the next section. 44 44 %%%%%%%%%%%%%%% 45 45 \subsection{Cost Analysis of Flash Storage} 46 In order for the approach described above to be viable, we rely on the assumption that write/reading from flash is far cheaper in energy consumption than sending out over the radio. To validate this we did a back-of-the-envelope calculation for the energy cost46 In order for the approach described above to be viable, we rely on the assumption that write/reading from flash is far cheaper in energy consumption than sending out over the radio. To validate this, we did a back-of-the-envelope calculation for the energy cost 47 47 for the flash memory and radio operation for a TelosB node. 48 48 … … 55 55 56 56 57 We assume during flash memory operation, that it is 58 one of th e three states: \textit{off}, \textit{transition}57 We assume during flash memory operation, that it is in 58 one of three states: \textit{off}, \textit{transition} 59 59 and \textit{active}. The flash memory stays in the off mode 60 60 when there is no request (\textit{off mode}). When data needs 61 to be written, it is \textit{transitioned} into the61 to be written, it is \textit{transitioned} into 62 62 \textit{active mode}. After the data is written, it is set to 63 theoff mode again. We assume that the sensor data is stored64 in the RAM buffer before it is written to theflash memory.63 off mode again. We assume that the sensor data is stored 64 in the RAM buffer before it is written to flash memory. 65 65 Then, the energy per bits (EPB) can be calculated as follows 66 using the parameters theflash memory and the radio66 using the parameters for flash memory and the radio 67 67 \cite{M25P80,polastre05} listed in 68 68 Table~\ref{table:parameters_flash_energy}: … … 74 74 Figure~\ref{fig:flash_cost} illustrates the formula. 75 75 We can see that energy-per-bit increases proportional 76 to the sampling rate and i nversely proportional to76 to the sampling rate and is inversely proportional to 77 77 the RAM buffer size (Figure~\ref{fig:flash_cost}(a)). 78 78 We can also see that the major contributor to the 79 energy-per-bit is thewrite mode.79 energy-per-bit is write mode. 80 80 81 81 \begin{align} … … 85 85 Figure~\ref{fig:flash_cost}(c) illustrates the formula. 86 86 We can see that the energy-per-cost for the radio increases 87 in proportion al to the duty-cycle $D$ andinversely proportional87 in proportion to the duty-cycle $D$ and is inversely proportional 88 88 to the payload size $L_{\text{payload}}$. 89 89 … … 92 92 from this graph. First, it shows the importance 93 93 of choosing the RAM buffer size. For the flash to achieve 94 the energy-per-cost of the radio at 0.5\% duty-cycle, which94 the energy-per-cost of the radio at a 0.5\% duty-cycle, which 95 95 is the smallest number in literature, the flash should be used 96 with its RAM buffer sizeto the page size of the flash memory.96 with a RAM buffer size set to the page size of the flash memory. 97 97 Second, the flash memory consumes much smaller energy-per-bits 98 98 compared to that of the radio at higher duty-cycle (e.g. 5\%).
