740 likes | 893 Views
Investigating Wireless Systems Two Case Studies. Roch Guerin University of Pennsylvania. Starting Point. Wireless means no wire… Flexibility in using and allocating spectrum resources No wire means lots of unpredictable interactions
E N D
Investigating Wireless SystemsTwo Case Studies Roch Guerin University of Pennsylvania
Starting Point • Wireless means no wire… • Flexibility in using and allocating spectrum resources • No wire means lots of unpredictable interactions • User interferences, fluctuations in channel quality, e.g., fading, etc. • What is the trade-off between flexibility and predictability? • A common theme at the “physical layer” (MIMO, OFDM, etc.) • But how does it play out at the link/network layer?
Broad Problem Setting • Multiple distinct channels, e.g., different frequencies, spreading codes, etc. • One or more user seeks to transmit data • How should data be transmitted to maximize “performance?” • Which user transmits when on what channel • What definition for performance (system centric versus user centric) • Performance factors • Channel quality • Channel access schemes • Channel allocation and packet transmission strategies • User traffic patterns • User level coding for resiliency
Not an Easy Problem in General… • M users and C (slotted) channels • An idle user becomes active with probability p and remains active for k1 slots • Users can direct any transmission to any channel (no channel switching cost) • Basic slotted Aloha MAC and error-free channels • What’s the best assignment of users to channels • If CM, then obviously one user per channel is best • If CM, the answer depends on p and k • Analysis is possible based on standard Markov chain formulation • Nothing sophisticated, but complex state enumeration and bookkeeping
Throughput Load Impact of Channel Allocation (k=1) M =2 M M =32 Sharing pays only at high loads
Our Focus • Two case studies within the broad framework we just outlined • Case study 1: Controlled diversity • Channels: Variable quality with known open-loop “statistics” • Channel access: No interferences/collisions between users • Performance goals: Coding and transmission policies to improve individual user throughput • Case study 2: Distributed diversity • Channels: Variable quality with closed control loop to equalize channels across users • Channel access: A CDMA setting with “controlled” interferences between users • Performance goals: Transmission policies that optimize trade-off between system throughput and transmission flexibility of individual users
Generic Outline for Both Case Studies • Problem justification • Why someone else should care about it… • Problem formulation • What parameters • Prior work • What others have done • Problem solution • What analytical tools and techniques • Solution evaluation • Methodology and scope
Our Focus • Two case studies within the broad framework we just outlined • Case study 1: Controlled diversity • Channels: Variable quality with known open-loop “statistics” • Channel access: No interferences/collisions between users • Performance goals: Coding and transmission policies to improve individual user throughput • Case study 2: Distributed diversity • Channels: Variable quality with closed control loop to equalize channels across users • Channel access: A CDMA setting with “controlled” interferences between users • Performance goals: Transmission policies that optimize trade-off between system throughput and transmission flexibility of individual users
Should I do this? Or that? Case Study 1 • And if that, how and when?
Why the Question? • Mobile devices are increasingly powerful • They run pretty much the same range of applications as wired devices • Many of these applications are performance sensitive • Wireless resources are subjected to random fluctuations in quality that are outside the control of users and network providers alike • So it’s worth exploring what we can do to make performance more predictable to users in spite of our limited control on the resources they access
Why the Approach? • Spreading transmissions across multiple channels allows us to • Avoid being stuck with a really bad channel • Decrease the effective length of error bursts, which can facilitate recovery (fewer consecutive lost packets) • Potential for improvements, therefore, arises from • A higher probability of successful message transmission • The ability to lower coding overhead • The questions are then how to realize the best possible improvement, and how big it is
System Overview • One user, C channels (remember perfect channel access…) • User wants to transmit messages (data blocks) of size k packets • Channel model is “known” – e.g., Gilbert-Elliot model • Independent channels with known statistics • Reliable transmissions through packet-level code • Add redundant packets to achieve target probability of successful message delivery Pmin • Policy distributes packet transmissions across channels • Deterministic and probabilistic policies • No channel switching overhead • Performance measure: Effective Rate (ER) • Number of messages successfully delivered per unit of time (unit of time is packet transmission time)
Pe G B Pb 1-Pe 1-Pb Channel Model • Two-state Markov chain with Good and Bad states • Packets are lost when channel is in bad state • Long-term error rate • Expected burst length • More complex channel models can be constructed using higher order Markov chains • Increased computational complexity (of transmission policies)
Transmission Model • Fixed size message consisting of k packets • Messages sent using (N,k) diversity code • Corrects all patterns of i N-k erasures (erroneous or lost packets) • N≥ k is chosen to realize Pmin • Policy A selects channel for each packet transmission
Transmission Policies • Probabilistic policies • Before each packet transmission select channel i, 1i C, with probability pi • Policy specified by p= [p1 p2 … pC] • Deterministic policies • For N-packet messages, pre-determine the channel ci that packet i, 1i N, is to be sent on • Schedule S=[c1, c2,…,cN] specifies policy
Performance Metric • Identify policy A and code length N that maximize where is the probability of successful message transmission given N and A, and N is the smallest value that satisfies Pmin • For two policies A and B, the relative gain in ER of using B over A is given by
Related Works • L. Golubchik, J. C. Lui, T. Tung, A.L. Chow, W.-J. Lee, G. Franceschinis, and C.Anglano, “Multi-path continuous media streaming: What are the benefits?” Performance Evaluation, Vol. 39, Sept. 2002. • A. Tsirigos and Z. Haas, “Analysis of multipath routing-Part I: The effect on the packet delivery ratio.” IEEE Trans. Wireless Commun., Vol. 3, No. 1, Jan. 2004. • B. Abdouni, W. Cheng, A. L. Chow, L. Golubchik, W.-J. Lee, and J. C. Lui, “Multi-path streaming: Optimization and evaluation.” Proc. MMCN'05, San Jose, CA, Jan. 2005. • E. Vergetis, R.Guerin, and S. Sarkar, “Improving performance through channel diversity in the presence of bursty losses.” Proc. ITC 19, Beijing, China, Aug. 2005. • E. Vergetis, R. Guerin, and S. Sarkar, “Realizing the benefits of user-level channel diversity.” ACM Computer Communication Review, Vol. 35, No. 5, Oct. 2005. • E. Vergetis, E. Pierce, M. Blanco, and R. Guerin, “Packet-Level Diversity: From Theory to Practice. An 802.11-based Experimental Investigation.” Proc. ACM MOBICOM 2006, Los Angeles, CA, Sept. 2006.
Probabilistic Policies Calculate PAsucc(N,k) given the channel characteristics Recursive solution 4-state Markov Chain for two independent GE channels For C independent channels, you end-up with a Markov chain with 2C states Search through all policies to find optimal selection Deterministic Policies Deterministic schedule allows each channel to be viewed independently Compute statistics of the associated embedded Markov chains (one for each channel) Total number of errors is sum of independent random variables (number of errors when using each channel) Use convolution to compute overall probability of success Search through all policies to find optimal selection Identifying Optimal Policies
Probabilistic PoliciesTwo Independent GE Channels • Two GE channels give rise to a 4-state Markov Chain • Denote the stationary probability of state i as i • Let be the conditional probability of m errors in n transmissions under policy A, given that the initial channel state was i and the ending state was j • We then have
Recursive Computation Procedure • For all n = 0,1,… and m = 0,1,…,n and for all i,j{1,2,3,4}, we have where Pkj is the transition probability from state k to state j • Initial conditions are defined as
Deterministic Policies • For each of the N packets, specify the channel used • There are CN such policies… • Focus on round-robin policy • Maximizes return time to channel, i.e., every C slots. • Let vi be the number of errors when using channel i • Distribution of vi is easy to calculate via a recursion • Use convolution to calculate the distribution of V= v1 + v2 + …+ vC and the performance of any (N,k) code.
Computational Challenges • We have computational procedures to explore the space of possible policies, but while identifying optimal policies is feasible, it can be complex • No computationally tractable “closed-form” solutions • Caused in part by the discrete nature of the problem • No consistent behavior of optimal policy • Identical channels need not be used equally • Bernoulli channels not always preferred over burstier channels • More channels does not always improve performance • What do we do next? • Look for “heuristics” to identify what policies are good, when
Methodology and Results Summary • Step 1: Initial information gathering • Evaluate a broad range of channel combinations • When does using multiple channels help? • Common characteristics of the optimum policy? • Step 2: Data analysis and further evaluation • Most scenarios that yield “meaningful” (≥ 30%) improvements use all channels roughly equally • What channel combinations give rise to such behavior? • Concept of equivalent channels • Step 3: Distilling a simple heuristic to quickly • Identify when and how using multiple channels helps
Step 1 • All possible 1540 channel pairs between 55 different channels • LTER [1%, 9%] • EBL [1.01, 20] pkts • Different combinations of values for k and Pmin • Initial findings • Max. benefits when channels are used roughly equally • Necessary but not sufficient
The Cost of Using Channels Equally • Define the loss in performance gain as L = Gopt – Gequal
Equal Channel Use Focus on Deterministic Policies Easier and better
Step 2 • Understanding when channels are used equally • Holds for identical channels in most settings • Any other scenarios? • Classifying channel combinations • Channels are used equally under the optimal policy • Channels have identical individual performance (ER) • Channels yield the highest gain when used together • Simple test to identify “good” combinations • All three above perspectives give similar answers • Look for combinations of channels with similar performance
“Equivalent” Channels – (2) • Optimal policy remains close to 0.5 for “equivalent” channels
Step 3 - Simple Heuristic Given C channels • Identify subsets of ~ equivalent channels • Compute ERi, for each channel i, 1 i C • Group channels into |E| “equivalence classes” • For each equivalence class eE with ne channels • Compute achieved by cycling through all channels • If , use all channels • Else use channel • Set • Pick equivalence class
Exploring Further When Using Multiple Channels Helps • Three parameters of interest: • Channel characteristics, i.e., EBL and LTER • Performance target Pmin • Number of channels available • Focus on the case of two identical channels
Impact of Channel • The gain is biggest for bad channels
The more stringent the performance, the greater the gains Relative burstiness of channel plays a major role Impact of Pmin Large gains until relative burst size decreases N Rapid transition to 50/50 policy No gain
Impact of Number of Channels Biggest bang for the buck with just a few channels
Shifting Focus • Better performance is great, but • How robust are the improvements? • Sensitivity to measurement inaccuracies, non-stationary channels, etc. • Are we optimizing ourselves into a corner? • Explore sensitivity to errors in channel estimates • Different channel statistics • EBL and LTER • Distribution of duration of error bursts (not a GE channel!) • Can we trade-off optimality for robustness of solution • Already do this to some extend with round-robin policy
Sensitivity to Channel Quality • Three users, three channels • Two scenarios: (1) each user is assigned one channel; (2) all three users share the three channels • Both EBL and LTER are progressively made worse • First on only one channel (left), then on all three channels (right) • Better performance also comes with mostly greater robustness! • Exception in the single bad channel case, when both EBL and LTER are over 40% worse
Performance vs. Robustness (1) • Explore trade-off by varying the code length N • Bigger N greater robustness, but lower performance gain • Initial focus on basic channel statistics (LTER and EBL)
Performance vs. Robustness (2) • This time we vary the channel model (target Pmin=0.97) • Ever burstier channel (variance of error burst )
Resting on our Laurels – Or Not? • Theory tells us that we can have our cake and eat it! • Both better and more robust performance • But the theory is rife with holes and assumptions • Independent, stationary channels, with known statistics • No impact of user transmissions on channel statistics • No channel switching overhead • Putting it all to the harsh test of reality • 802.11b environment • Standard end-systems (PCs) without precise control of transmission timings • If it survives “that” then maybe there is some hope…
Surviving 802.11 • Performance is all over the place… • There is no “average” 802.11 channel • Stationary GE model not particularly accurate • Significant time-of-day and location dependent variations • Wild fluctuation across 10 minute intervals • LTER can range from 0.01% to 70% • EBL varies between 1 and 40 packets • Actual error bursts between 1 and several hundred packets • Similar observations made by others • Does not bode too well for the “survival” of our theory • Nevertheless
Experimental Setup • Two 802.11b Access Points (APs) • Intel StarEast board, with one miniPCI NIC each • External omni-directional antennas • Assigned “non-overlapping” frequency bands • Located ~1m from each other • Transparent logging of all incoming packets on both systems • Within reach of other APs interfering in all 11 frequency bands • Sender • Standard laptop with two NICs • One external PCMCIA NIC, and one internal miniPCI NIC • Linux operating system • Transmission speed set at 2Mbps • Located between 2m and 10m away from the two APs • Maintains association with both APs • Line-of-sight (LoS) as well as non-LoS (indoor wall) transmissions
Some Other Implementation Issues • Impact of 802.11 operation • RTS/CTS handshake before transmissions [Disabled - Large RTSThreshold value] • “Feedback” mechanism: ACK packets [Disabled - Broadcast packets ] • Channel access control (untouched) • Sensing and exponential backoff • Inter-frame spaces (SIFS, DIFS, etc.) • Processor and OS overhead vs. transmission speed of the NICs • Where is the bottleneck and how does it affect transmission timings?
NIC1 (S0) 1 2 3 4 5 6 7 8 NIC1 1 1’ 2 2’ 3 3’ 4 4’ (S1) NIC1 1 3 5 7 (S2) 2 4 6 8 NIC2 (S3) NIC1 1 3 5 7 2 4 6 8 NIC2 (S4) NIC1 1 3 5 2 4 6 NIC2 (S5) NIC1 1 2’ 3 4’ 5 6’ 7 8’ 1’ 2 3’ 4 6 7’ 8 5’ NIC2 Transmission Timing Scenarios • Single channel • Interleaving on one channel • Perfect timing on two channels • Bandwidth limited on two channels • Processor limited on two channels • Interleaving on two bandwidth limited channels
Experimental Evaluation • Generate extensive sets of traces • “Continuous” transmissions on both NICs • Traces of received packets (1,000 bytes) recorded at each AP • Different configurations • Sender location, time-of-day, selection of frequency bands • With and without interferer in “intermediate” band • Test for channel correlation • Post-process traces to emulate different settings • Different combinations of system parameters: N, k, Pmin • Various packet inter-leaving strategies, transmission timing policies, channel switching overhead, etc.
The Net of It(see MOBICOM Paper for Details) • Generic findings • Channel correlation was not found to be a major issue, at least when using non-overlapping channels • Precise timing of transmissions does not appear to have a major impact on performance • With current technology, dynamic channel switching mandates the use of multiple radio cards • Cannot compensate for it through smart scheduling • Performance/robustness findings • Some benefits remain in spite of 802.11 channel “characteristics” IF channel characteristics are known • Unlikely to be of much use in practice given the erratic nature of the 802.11channel • For unknown channels, meaningful benefits remain ONLY when some of the channels are really bad • Benefits are more as a performance stabilizer than an enhancer
Stabilizing Performance • Two channels: • LTER1 ~ 11.4% • EBL1 ~ 10 pkts • LTER2 ~ 29.2% • EBL2 ~ 11 pkts • Measure ER over a 200 messages sliding window • Mean value improves by 6%/30% • Variance decreases by 60%/90% Channels 1+2
Wrapping Up Case Study 1 • When and how can using multiple wireless channels be of benefit? • Assumed no user interference (centralized control) and no channel feedback (open-loop) • Relied on packet-level diversity coding • Ignored overhead in changing channel • Analytical tools • Basic Markov chain analysis (stationary probabilities, recursions) • Elementary probability (convolution, etc.) • Main results • Cycling in a round-robin manner across channels is close to being optimal in most cases • Better performance is reasonably robust to errors in assumptions • Even when most of the above assumptions don’t hold, e.g., 802.11, there are advantages to spreading transmissions across channels
Our Focus • Two case studies within the broad framework we just outlined • Case study 1: Controlled diversity • Channels: Variable quality with known open-loop “statistics” • Channel access: No interferences/collisions between users • Performance goals: Coding and transmission policies to improve individual user throughput • Case study 2: Distributed diversity • Channels: Variable quality with closed control loop to equalize channels across users • Channel access: A CDMA setting with “controlled” interferences between users • Performance goals: Transmission policies that optimize trade-off between system throughput and transmission flexibility of individual users
What is the cost of going from this? To that? Case Study 2 • And what’s the best trade-off?