Real-time Systems Speed/RAP/CODA Speed/RAP/CODA • Many wireless sensor network applications require real-time support • Surveillance and tracking • Border patrol • Fire fighting • Real-time systems: • Hard real-time: guarantee deadlines Presented by Octav Chipara Presented by Octav Chipara • Soft real-time: improve miss ratio • Differentiation Real-time Systems Modeling the sensor networks • A sensor: • Concerned with two aspects: – Limited memory – Control – Limited processing • Communication: • RAP – Scarce bandwidth – Prioritization – Voids exist – Energy intensive • SPEED – Communication generates congestion hot- • CODA spots – MAC layer may provide QoS – end-to-end communication time depends on single-hop delay and the distance it has to travel Modeling the sensor networks RAP • Tight integration with the physical world • Location aware • Communication patterns: – Local coordination • Sensors coordinate with one another [usually by defining a group] in order to aggregate data • Usually involves a small number of hops – Sensor-base communication • Sends data from the local group to the base station • Requires multiple hops 1
Contributions Design Goals • A high level architecture for large • Provide APIs for micro-sensing and control wireless networks • Maximize the number of packets meeting their E2E deadlines – Ability to define queries • Scale well to large number of nodes and hops – Use event services • Introduce minimum communication overhead • Velocity Monotonic Scheduling (VMS) – A policy for scheduling packets in a sensor network RAP Stack Query/Event Service API • Query – attribute list – area – time constraints – querier location • When an event is detected, the query is started and periodically generates result Location-Addressed Protocol Geographic forwarding • Connectionless transport layer • Greedy algorithm • Address is based on geographic location – Selects the node with the shortest geographic distance to the packet’s • Services: destination – Unicast – At every step the packet gets closer closer to • Deliver a node closest closest to the destination the destination – Area multicast • Works really good for high density • Deliver to all all nodes in an area network – Area anycast • Deliver to any any node in the area 2
Velocity Monotonic Scheduling Velocity Monotonic Scheduling(2) • FCFS policy is generally used in sensor • Static monotonic velocity (SMV) networks (x s ,y s ) (x d ,y d ) – Works poorly for real-time systems • VMS 2 2 ( x − x ) + ( y − y ) s d s d v = D – It is both deadline and distance aware – Assigns priority based on the requested • Dynamic monotonic velocity (DMV) velocity (x s ,y s ) (x d ,y d ) – A higher velocity denotes higher priority T j 2 2 ( x − x ) + ( y − y ) i d i d v = D − T (x i ,y i ) j 802.11 Overview 802.11 Basic mechanism • A station monitors the channel • 802.11 has two coordination functions – If the channel is free for more than DIFS the station – Point Coordination Function (PCF) transmits – Distributed Coordination Function (DCF) • Before transmitting we wait for a random delay – Else, the channel continues to monitor the channel • Two access methods until it is free for DIFS – Basic access method • To avoid capture effect, the station needs to wait – RTS/CTS for a period of time before sending the next packet • Discrete time backoff as multiple of the number of slots σ – is the amount of time needed for any station to detect transmission 802.11 Basic mechanism (2) 802.11 Basic mechanism (3) • Exponential backoff • We retry to resent the message when the backoff counter reaches zero – Chosen for an uniform distribution (0, w-1), – The backoff counter is decremented only when the where w is the channel is idle contention window • The counter is reset to zero in the case of a – The size of the successful transmission contention window increase exponentially with the number of failed attempts to send the message – CW min – minimum contention window – CW max = 2 m CW min – maximum contention window 3
MAC –layer prioritization Experiments • When communicating multiple host compete for • Routing protocols the shared medium • In 802.11b all messages have the same priority – Dynamic Source Routing (DSR) • To enforce packet prioritization MAC protocols – GF should provide distributed prioritization on packets from different nodes • Scheduling • We can changed two parameters – FCFS – The time you can wait after idle • DIFS = BASE_DIFS * PRIORITY – DS – fixed priority based on their e2e – Backoff increase function deadline • CW=CW*(2 + (PRIORITY-1)/MAX_PRIORITY) – Velocity Scheduling • DVS • SVS Overall Miss Ratio of GF/DSR Using VMS State of the art SPEED • Only a few real-time algorithms exist for sensor networks • Routing based on sensor’s position – GPSR – GR – LAR 4
Design Goals Speed Protocol • Stateless – Information regarding the only the immediate only the immediate neighbors • Soft Real Time – Provides uniform speed delivery across the network • Minimum MAC Layer support • Traffic load-balancing • Localized behavior • Void avoidance Soft Real-time Neighbor beacon exchange scheme • Periodically broadcasts a beacon to neighbors to • Where is the time constraint? exchange location information – In order to reduce traffic we can piggyback the information – “SPEED aims at providing a uniform packet – Assume all neighbors fit in the neighborhood table delivery speed across the sensor network, so • Possible enhancement: that the end-to-end delay of a packet is – Advertising state changes may reduce number of beacons • On-demand beacons proportional to the distance between the – Delay estimation source and destination. With this service, – Back pressure pressure real-time applications can estimate end-to- • Fields: – Neighbor ID end delay before making admission – Position decisions. Delay differentiation for different – Send To Delay classes of packets is left as future work.” – TTL • Try to send the packet at S setpoint Delay estimation algorithm Delay estimation algorithm (2) • Due to scarce bandwidth cannot use probe packets • Delay estimation beacon is used to • Delay is measured at the sender as the difference between when the packet was queued and its ACK and communicate to other neighbors the the processing time on the receiver time estimated delay t 0 – Goal: allow nodes react to changes in delay = t − t − p p traffic patters [avoid congestion] 1 0 t 1 • Keeps track of multiple data points to compute the current delay using (EWMA): * * ( 1 ) average = average α + delay α − 5
FS ( destinatio n ) = { n ∈ NS | L − Lnext > 0 } i i SNGF SNFG(2) Load balancing If (|FSi| > 0) { The node with the highest relay • Neighbor set of node i speed has the highest ( ) { | i ( ) } Viable FS = j ∈ FS speed dest ≥ S probability of being chosen. setpoint i i j { | ( , ) ( )} NS i = n d n i < range i if (|Viable| > 0) { • Forwarding candidate set candidate=choose(Viable(FSi)) FS ( destinatio n ) = { n ∈ NS | L − L > 0 } send to candidate i i next } else { – Where compute relay ratio • L = d(i, destination) if no nodes to support Ssetpoint downstream, drop packet if a random • L next = d(next, destination) chosen between (0,1) is bigger than the • Relay speed relay ratio } L − L j Speed ( destinatio n ) = next } else { i j HopDelay i drop packets send pressure beacon upstream } SNFG(3) Neighbor feedback loop • Delay Bound = L e2e / S setpoint • Goal: – Where: – Maintain a single hop speed above a • L e2e is the end-to-end Euclidian distance measured desired S setpoint • S setpoint the speed maintained across the network • Drawbacks: – S setpoint is a network wide parameter that tunes how “harsh” the real-time – All messages have the same speed requirements are – Does not take into account the link quality [same issue as GF] – Better measure of congestion Back pressure rerouting Neighbor feedback loop • Rerouting due to pressure – The congested area is detected and the probability of sending to that node is limited 6
Other ways of thinking about Back pressure rerouting(2) congestion • Congestion detection – Sampling – Queue length • Backpressure • Closed-loop multi-source regulation • Issue: Overall approach: Under a threshold there is no Overall approach: need to check for congestion. Above it, we want to – Maybe reinforcement should refer to a detect and control congestion. geographic area rather than a node! Void avoidance Last mile processing • Voids occur if the density is not high • Processing close to the destination enough area • Deals with voids similarly to hotspots by – Area anycast applying backbone pressure – Area multicast • Several packets may be dropped when trying to avoid a void E2E Miss Ratio • Ssetpoint = 1km/s • e2e deadline = 200 ms 7
Recommend
More recommend