1 / 16

Network Algorithms, Lecture 3: Exact Lookups

Network Algorithms, Lecture 3: Exact Lookups. George Varghese. Course Goal. Network Algorithms : Algorithms for key bottlenecks in a router (lookups, switching, QoS) How to attack new bottlenecks: Changing world -> measurement, security

makani
Download Presentation

Network Algorithms, Lecture 3: Exact Lookups

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Network Algorithms, Lecture 3: Exact Lookups George Varghese

  2. Course Goal • Network Algorithms: Algorithms for key bottlenecks in a router (lookups, switching, QoS) • How to attack new bottlenecks: Changing world -> measurement, security • Algorithmics: Models and Principles. System thinking + Hardware + Algorithms

  3. Plan for Rest of Lecture • Part 1: Exact Match Algorithms • Part 2: Small Transition to Longest Match

  4. Context 1 Challenge-and-response' is a formula describing the free play of forces that provokes new departures in individual and social life. An effective challenge stimulates men to creative action ---- Arnold Toynbee • Query species key K. Retrieve state associate with K. Memory references crucial. • Simplest lookup problem, yet crucial for a bridge. Birthed by 3 challenges

  5. Challenges that led to Bridges • Challenge: Ethernets under fire. Routers slow. • Packet repeater learning bridge

  6. Challenge 2: Wire Speed • Without wire speed, can lose packets to forward in stream of packets to filter. • Finesse: 2 lookups per port in 51.2 usec

  7. Attention to Algorithmics • Architecture: 4-port cheap DRAM with cycle time of 100 nsec for packet bufers and lookup memory. Bus parallelism, memory bandwidth, page mode. • Data Copying: Ethernet chips used DMA, packets copied from one port to other by flpping pointers. • Control Overhead: Interrupt overhead minimized by processor polling, staying in a loop after a packet interrupt. • Lookups: Used caveats. Wrote software to verify lookup bottleneck (Q2)

  8. Eight cautionary questions • Q1, Worth improving performance? Yes. • Q2, Really a bottleneck? 68,000 code timing did not meet 25.6 usec budget. • Q3 Impact on system? Allows wire-speed. • Q4, Initial analysis shows benefits? DRAM references = log 8000, so 1.3 usec. • Q5, Worth adding custom hardware? Cheap using a PAL. • Q6, Do Prototypes confirm promise? Lab prototype tested before product was built. • Q7: Sensitive to environment changes? Worst-case design

  9. Challenge 3: Higher Speeds • Scaling via hashing for FDDI bridge (10 Mbps). Collisions? Use Perfect hashing. • A(x) * M(x) / G(x), A(x) picked randomly

  10. Improvement 1: Wide Words Intuition: More choice (d words per location) Srinivasan-Varghese H(C) A, B, C D, -, -

  11. Improvement 2: Parallelism Intuition: k independent choices (Broder-Karlin) X A B H3(B) H1(B) H2(B)

  12. State of the Art: d-left Intuition: Combine  d-left: Broder, Mitzenmacher X, Y A, L R, B H3(B) H1(B) H2(B)

  13. Binary Search can also work • Use hardware parallelism. • Seemingly clever. Easier way to see this?

  14. Lessons • Challenge-Response: Bridges invented to solve a problem (slow multi-protocol routers) not present today. • Cost-Performance: is what justies bridges today in so-called switches together with a small number of extra features like VLANs. • Introduced techniques: Broke wire-speed barrier, spread to routers, ideas like fast lookups, trading updates for lookup speed, minimal hardware all became classical.

  15. Summary • P1: Relax Specification for efficiency • P2: Utilize degrees of freedom • P3: Shift Computation in Time • P4: Avoid Waste seen in a holistic view • P5: Add State for efficiency • P6: Exploit hardware parallelism and memories. • P7: Pass information (e.g., hints) in interfaces • P8: Use finite universe methods (bucket-sort etc) • P9: Use algorithmic thinking • P10: Optimize the Expected Case

More Related