Presentation on theme: "What constitutes useful system work? Keeping our feet on the ground Injong Rhee NCSU."— Presentation transcript:
What constitutes useful system work? Keeping our feet on the ground Injong Rhee NCSU
Gap between Systems and Theory work Systems Practical working solutions. Glamorously put “Systems approaches.” Disparagingly put “Ad Hoc”, Engineering Tweaks/Hacks.” No well-defined metrics. What do they optimize for? Good for specific scenarios/cases, but unknown/unproven bad corner cases. Theory Works for all cases within the defined scope. Within well-defined metrics, always optimal. But loaded with impractical assumptions and hidden performance costs. Can’t be used in reality, at least in the current platforms.
This practice continues; the gap never closes.
Congestion Control as an example Systems Lots of little add-ons/Hacks to TCP. – E.g., ELFN, ATP,ADTCP, ADTFRC,LRED,NRED,COPAS, CAR,Split TCP,FeW, EXACT, etc. Non-TCP based approaches – Fusion (sensor), Rate limiting, CODA,C3L, IFRC, etc. Tweaking many knobs based on simple intuitions. Works well for specific setups (sensors, mesh, etc). Theory [Tassiulas and Ephremides’92] Differential-backlog based back-pressure. Many follow-up work applied for cross-layer optimization involving scheduling, routing, Congestion control, power control. Throughput-optimal solving an NP-hard scheduling problem in realistic interference models. Requires routing to almost random locations before congestion. Works only for throughput.
Closing the gap Systems Approaches Borrow intuitions from theoretical results. Heuristics designed to overcome impractical components, but still congruent with other features of the theoretical schemes. – Optimized to the same direction that the original components are intended to. Results: Improved performance without much loss of generality (without bad corner cases).
WiseNet Testbed 50 nodes of Soekris 4826, 266Mhz CPU and 128MB SDRAM. MAC is Atheros IEEE 802.11 chipset (5212) using the MadWifi-NG driver.
8 Source A B C D E F congestion Queue Differential (QD) Each node overhears neighbors’ transmission and f or each active destination queue, computes the dif ference of queue sizes for each destination queue. E.g., Node C for a destination R: – QD C (R) = Q C (R) - Q F (R). F QD=1 QD=3QD=2 R
9 Source A C D B QD = 3 QD = -1 Scheduling Schedules the link with the largest queue differen tial first. Queue Differential (QD) removes the dependence on absolute queue sizes. MAC provides a higher priority on the packet whos e next hop link has larger QD. QD = 2
10 A C D B backpressure source Backpressure and source rat e control Upstream gets backpressure because its transmission gets l ower priority and thus, its queue builds up. As a result, it thr ottles its transmission rate. Ultimately, backpressure can propagate to the source and t he source simply rate-controls based on its queue size. No Explicit End-to-End Feedback!!
11 DiffQ Architecture (bird’s eye view)
Practical results providing rules of thumb for performance upper bounds Engineers need to know how much performance gain certain features provide in real systems. – Topology control is a good example Much theoretical work exists using graph theory, but tons of assumptions about MAC and interference models. But what message do we have for practitioners? It is good, but how much? What do you typically see when you deploy a practical implementation of it?
Know Thee Performance Metrics Most notorious metric: Fairness. Most system work is vague about this; typically they look for “equal” performance. Example: – MAC: all competing nodes have the same throughput? Why equal throughput? Not all nodes can transmit well. Different Interferences, Topologies, etc. Wouldn’t proportional share or equal time more approproate? – Congestion control: why all flows should have the same through? Some flows are under more interferences and “traffic” because of different paths they take.
No “point” solutions Controls only one or two knobs and improve performance on one or two metrics, but might hurt the overall performance. MAC – Modify MAC to provide certain performance guarantees, but what about other applications requiring different metrics? – Shouldn’t MAC remain general enough, yet flexible to support various application needs at the same time? – Desirable features: expose knobs to upper-layers and let them fix the knobs. Congestion control
Building easy-to-use yet realistic platforms to test and validate.