What constitutes useful system work?

15
What constitutes useful system work? Keeping our feet on the ground Injong Rhee NCSU

description

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.” - PowerPoint PPT Presentation

Transcript of What constitutes useful system work?

Page 1: What constitutes useful  system work?

What constitutes useful system work?

Keeping our feet on the groundInjong Rhee

NCSU

Page 2: What constitutes useful  system work?

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.

Page 3: What constitutes useful  system work?

This practice continues; the gap never closes.

Page 4: What constitutes useful  system work?

Congestion Controlas 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 real-

istic interference models.• Requires routing to almost random locations before congestion.• Works only for throughput.

Page 5: What constitutes useful  system work?

Closing the gapSystems Approaches

• Borrow intuitions from theoretical results.• Heuristics designed to overcome impracti-

cal components, but still congruent with other features of the theoretical schemes.– Optimized to the same direction that the origi-

nal components are intended to.• Results: Improved performance without

much loss of generality (without bad cor-ner cases).

Page 6: What constitutes useful  system work?

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.

Page 7: What constitutes useful  system work?

Video Demo

Page 8: What constitutes useful  system work?

8

SourceA

B

C

D

EF

congestion

Queue Differential (QD)

• Each node overhears neighbors’ transmission and for each active destination queue, com-putes the difference of queue sizes for each destination queue.

• E.g., Node C for a destination R: – QDC(R) = QC(R) - QF(R).

F

QD=1

QD=3QD=2

R

Page 9: What constitutes useful  system work?

9

SourceA C D

B

QD = 3

QD = -1

Scheduling

• Schedules the link with the largest queue dif -ferential first.

• Queue Differential (QD) removes the depend-ence on absolute queue sizes.

• MAC provides a higher priority on the packet whose next hop link has larger QD.

QD = 2

Page 10: What constitutes useful  system work?

10

A C D

Bbackpressure

source

Backpressure and source rate control

• Upstream gets backpressure because its transmission gets lower priority and thus, its queue builds up. As a result, it throttles its transmission rate.

• Ultimately, backpressure can propagate to the source and the source simply rate-controls based on its queue size.

No Explicit End-to-End Feedback!!

Page 11: What constitutes useful  system work?

11

DiffQ Architecture (bird’s eye view)

Page 12: What constitutes useful  system work?

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 practi-tioners? It is good, but how much? What do you typically see when you deploy a practi-cal implementation of it?

Page 13: What constitutes useful  system work?

Know Thee Performance Metrics• Most notorious metric: Fairness.• Most system work is vague about this; typi-

cally 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.

Page 14: What constitutes useful  system work?

No “point” solutions• Controls only one or two knobs and improve perfor-

mance 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

Page 15: What constitutes useful  system work?

Building easy-to-use yet realistic platforms to test and validate.