ocp wedge switch open source design
play

OCP: Wedge switch (open-source design) Switch chip! 3 - PowerPoint PPT Presentation

Programming the Forwarding Plane Nick McKeown Stanford University Programming the Forwarding Plane Why is there a blackbox in my whitebox? Nick McKeown Stanford University OCP: Wedge


  1. Programming the Forwarding Plane Nick ¡McKeown ¡ Stanford ¡University ¡ ¡

  2. Programming the Forwarding Plane “Why is there a blackbox in my whitebox?” Nick ¡McKeown ¡ Stanford ¡University ¡ ¡

  3. OCP: ¡Wedge ¡switch ¡(open-­‑source ¡design) ¡ Switch ¡chip! ¡ 3 ¡

  4. 2014: ¡The ¡bare-­‑metal ¡switch ¡ Feature ¡ Feature ¡ Feature ¡ Code ¡ Code ¡ Code ¡ Control ¡Plane ¡ Linux ¡

  5. Now ¡I ¡can ¡tailor ¡my ¡network ¡to ¡meet ¡my ¡needs! ¡ I ¡can…. ¡ 1. Quickly ¡deploy ¡new ¡protocols. ¡ ¡ 2. See ¡what ¡my ¡forwarding ¡plane ¡is ¡doing. ¡ 3. Put ¡expensive ¡middlebox ¡funcSons ¡into ¡the ¡network. ¡ 4. Try ¡out ¡beauSful ¡new ¡ideas. ¡Tailor ¡my ¡network ¡to ¡meet ¡my ¡needs. ¡ 5. DifferenSate. ¡Now ¡I ¡own ¡my ¡intellectual ¡property. ¡

  6. “BeauSful ¡ideas” ¡ 1. Deploy ¡new ¡protocols ¡and ¡new ¡headers ¡ 2. Simplify ¡the ¡data ¡plane. ¡Throw ¡out ¡unused ¡protocols. ¡ 3. Reallocate ¡resources ¡in ¡switches: ¡tables, ¡packet ¡buffers, ¡etc. ¡ 4. Add ¡new ¡telemetry ¡for ¡debugging ¡and ¡diagnosScs ¡ 5. Verify ¡network ¡behavior ¡ 6. Embed ¡“middlebox” ¡funcSons ¡into ¡the ¡network: ¡load-­‑balancing, ¡gateways ¡ and ¡firewalls. ¡ 7. In-­‑network ¡congesSon ¡control ¡ 8. New ¡rouSng ¡ ¡and ¡reliability ¡algorithms ¡ 9. … ¡

  7. Tailoring ¡my ¡network ¡switches ¡today ¡ New ¡Feature ¡ Feature ¡ Feature ¡ Feature ¡ Code ¡ Code ¡ Code ¡ Code ¡ Control ¡Plane ¡ Linux ¡ Driver ¡

  8. Can ¡the ¡CPU ¡forward ¡all ¡my ¡packets? ¡

  9. Packet ¡Forwarding ¡Speeds ¡ 100000 3.2Tb/s ¡ 10000 Switch Chip CPU 1000 Gb/s ¡ 100 (per ¡chip) ¡ 10 1 0.1 1990 1995 2000 2005 2010 2015 2020 9 ¡

  10. Packet ¡Forwarding ¡Speeds ¡ 100000 3.2Tb/s ¡ 10000 Switch Chip CPU 1000 50x ¡ Gb/s ¡ 100 (per ¡chip) ¡ 10 1 0.1 1990 1995 2000 2005 2010 2015 2020 10 ¡

  11. ConvenSonal ¡Wisdom: ¡ ¡ “Programmable ¡devices ¡are ¡10-­‑100x ¡slower. ¡ They ¡consume ¡much ¡more ¡power ¡and ¡area.” ¡

  12. Wedge ¡ Whitebox ¡CPU ¡ Blackbox ¡switch ¡ 12 ¡

  13. My ¡whitebox ¡switch ¡ ¡ has ¡a ¡blackbox ¡switch ¡inside ¡

  14. Domain ¡Specific ¡Processors ¡ Signal ¡ Graphics ¡ Processing ¡ ApplicaSons ¡ My ¡renderer ¡ ApplicaSons ¡ My ¡codec ¡ Compiler ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ Compiler ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ DSP ¡ GPU ¡

  15. ConvenSonal ¡wisdom ¡said: ¡programmability ¡too ¡expensive ¡ ¡ Then, ¡someone ¡idenSfied: ¡ 1. The ¡right ¡model ¡for ¡data-­‑parallelism ¡ 2. Basic ¡underlying ¡processing ¡primiSves ¡ ¡ Domain-­‑specific ¡processors ¡were ¡built ¡ Domain-­‑specific ¡languages, ¡compilers ¡and ¡tool-­‑chains ¡ ¡

  16. Fixed ¡Func*on ¡ Broadcom ¡Tomahawk: ¡3.2 ¡Tb/s ¡ Programmable ¡ Cavium ¡Xpliant: ¡3.2 ¡Tb/s ¡ 16 ¡

  17. 2010: ¡Why ¡can’t ¡we ¡do ¡the ¡same ¡in ¡networking? ¡ The ¡“match ¡+ ¡acSon ¡pipeline” ¡was ¡emerging ¡ 1. Suggests ¡a ¡good ¡model ¡for ¡data ¡parallelism ¡ 2. Suggests ¡a ¡set ¡of ¡basic ¡ plumbing ¡primi+ves ¡ ¡ We ¡would ¡need ¡a ¡domain-­‑specific ¡chip ¡ We ¡would ¡need ¡a ¡domain-­‑specific ¡language, ¡compilers ¡and ¡tool ¡chains ¡

  18. Can ¡we ¡design ¡a ¡protocol-­‑independent ¡switch ¡chip? ¡ ¡ If ¡so, ¡how ¡expensive ¡is ¡the ¡programmability? ¡

  19. First ¡ajempt: ¡Stanford ¡+ ¡Texas ¡Instruments ¡ [Sigcomm ¡2013] ¡ • Protocol ¡independent ¡switch ¡chip ¡ • Small ¡primiSve ¡acSon ¡set ¡– ¡about ¡6 ¡primiSves ¡ • Huge ¡parallelism ¡possible ¡ • 10-­‑15% ¡chip ¡area ¡and ¡power ¡penalty ¡

  20. This ¡led ¡to ¡a ¡more ¡general ¡architecture… ¡

  21. PISA: ¡Protocol ¡Independent ¡Switch ¡Architecture ¡ Match ¡ AcSon ¡ Memory ¡ ALU ¡ ¡Programmable ¡ Parser ¡ 21 ¡

  22. PISA: ¡Protocol ¡Independent ¡Switch ¡Architecture ¡ Match ¡ AcSon ¡ Memory ¡ ALU ¡ ¡Programmable ¡ Parser ¡ 22 ¡

  23. Why ¡now? ¡

  24. Switching ¡Chip ¡Area ¡ Serial ¡ Serial ¡ Serial ¡ Serial ¡ Serial ¡ Serial ¡ Serial ¡ Serial ¡ I/O ¡ I/O ¡ I/O ¡ I/O ¡ I/O ¡ I/O ¡ I/O ¡ I/O ¡ Serial ¡ Serial ¡ I/O ¡ I/O ¡ Parser ¡ Serial ¡ Serial ¡ I/O ¡ I/O ¡ Serial ¡ Serial ¡ I/O ¡ I/O ¡ Serial ¡ Serial ¡ Serial ¡ Serial ¡ Serial ¡ Serial ¡ Serial ¡ Serial ¡ I/O ¡ I/O ¡ I/O ¡ I/O ¡ I/O ¡ I/O ¡ I/O ¡ I/O ¡

  25. Switching ¡Chip ¡Area ¡ 40% ¡Serial ¡I/O ¡ ¡ ¡ ¡ ¡ ¡ 10% ¡Wire ¡ Wire ¡ ¡ ¡ ¡ 40% ¡Memory ¡ ¡ ¡ ¡ ¡ 10% ¡Logic ¡ ¡ Logic ¡ ¡ ¡ ¡ ¡ ¡ ¡

  26. 2013: ¡programmability ¡cost ¡10-­‑15% ¡increase ¡in ¡area/power ¡ ¡ By ¡2018: ¡Difference ¡will ¡be ¡negligible ¡

  27. We ¡need ¡to ¡be ¡able ¡to ¡program ¡PISA ¡devices ¡

Recommend


More recommend