Mind the Gap Nick McKeown Stanford University
President Dean
My problem I get excited about improving the practice. I am a networking researcher.
The Internet’s problem Architecture: Seems impossible to change – Well-known shortcomings – Many great proposals – No way to demonstrate and test at scale – Huge installed base understandably reluctant to change Industry: Strong vested interest in status quo – Very high margins as-is – Closed, proprietary solutions – Complex, brittle products – Innovator’s Dilemma No path to change
My solution I am done I quit President Dean
Why I love my job I work with people much smarter than me. I get to work on intellectually interesting ideas. … that might positively change the practice. Then, we try to actually change the practice.
Whatever it takes • Prove a theorem • Write a paper • Build a demo • Talk to lots of industry people • Write a standard • Give lots of talks • Write a blog • Start a company • Build an open source tool • …
The course of action Is determined by the idea. Is determined by what you want to change.
Some things that worked for me Let me start with some motherhood and apple pie…
Look for blind spots Question old school assumptions Open your heart and mind to people who question assumptions
Question Assumptions Example 1 “ On the self-similar nature of Ethernet traffic ” Leland, Taqqu, Willinger, Wilson [Sigcomm ‘93+ Whether you agree with them or not – it got the whole community questioning assumptions.
Question Assumptions Example 2 How big to make a backbone router buffer? B C
Buffer Size 100% On-chip buffers Throughput Smaller design Window Size Lower power Buffer t RTT ´ C RTT ´ C N Number of packets 10Gb/s WAN 25,000 2,500,000
Buffer Size 100% ~ 90% On-chip buffers Integrated all-optical Throughput buffer [UCSB 2008] Smaller design Lower power 20 pkts RTT ´ C RTT ´ C log(W) N Number of packets 10Gb/s WAN ~50 25,000 2,500,000
People Stanford: Guido Appenzeller, Neda Beheshti, Tim Roughgarden, Ashish Goel, Mihaela Enachescu Toronto: Yashar Ganjali Cambridge: Damon Wischik, Frank Kelly, Gaurav Raina UMass: Don Towsley, Chris Hollot UW Madison: Paul Barford, Joel Sommers GA Tech: Amogh Dhamdhere, Constantine Dovrolis UCSB: John Bowers, Emily Burmeister, Dan Blumenthal
Question Assumptions Example 3 Myth 1: It is hard for switch/router hardware to maintain lots of queues. – Since 1995, seen 10-15 ASICs do it easily – Recently: 64x10Gb/s switch, 128k flows, 10% overhead. Myth 2: You can’t build a large flow table – Next couple of years: Over 1Tb/s, 100,000s entries, 100s bits wide, several tables. It doesn’t mean you have to; just says you can.
Some things that worked for me Some surprising takeaways
Choosing research projects • Pick a problem that is intellectually interesting. • And improves the practice. • And industry doesn’t like (yet).
Ethane Martin Casado et al [Sigcomm ‘07] Policy “Laptops can’t accept incoming connections” “A can’t talk to B” Network Control Plane Control Packet Control Forwarding Packet Forwarding Control Packet Control Forwarding Packet Control Forwarding Packet Forwarding
Microsoft Security Group: “Come on in…” Cisco Switching Group: “It will never work…” Raw nerve. We must be onto something.
Checklist • Intellectually interesting. • And improves the practice. • And industry doesn’t like (yet).
Corollary: You can’t give stuff away Example 1 : Ethane (2007) – Tried to give it away for free. – Realized industry wasn ’ t ready to see it. – Started Nicira. Example 2 : Network Memory (2001) Example 3 : Scalable Routers (1997)
Packet Buffer DRAM 10Gb/s 10Gb/s 40 bytes every 32ns Problem - Two memory operations every 32ns. - One DRAM operation about 50ns. - SRAM 75x price per bit, and 10x power. - 40Gb/s links coming; linecards with 16 x 10Gb/s links. - Thousands of queues.
Network Memory DRAM 1 Blocks, b Blocks, b q Tails Heads 10Gb/s 10Gb/s ASIC SRAM SRAM Solution - SRAM cache size for zero misses: 2 qb ln q - Practical for 160Gb/s linecard, 1024 queues.
History 2001: Started on problem; industry discussion. 2003: Tried to give it away. 2004: – 80% of world’s SRAM: Ethernet switches. – Of those, 80% used by Cisco ($400M p.a.) – Started Nemo. 2007: – Savings estimate $150M p.a.
Checklist • Intellectually interesting. • And improves the practice. • And industry doesn’t like (yet).
Corollary: You can’t give stuff away Example 1 : Ethane (2007) Example 2 : Network Memory (2001) Example 3 : Scalable Routers (1997)
1 2 3 4 5 6 7 8 9 10 111213141516 171819 20 2122232425262728 29303132 2km
History 1997 – State of the art was 40Gb/s per rack. – Tried to give it away. – “Leave it to us”. – Started Abrizio. 1999 – All outsourced solutions.
Checklist • Intellectually interesting. • And improves the practice. • And industry doesn’t like (yet).
I put everything in public domain Industry – Invests huge amounts to develop and sell products. – Patents protect their ideas, giving them confidence to invest. University research – Serves society at large. – Stay ahead by running fast, not by protecting. – Makes it easier to work with industry. Everything in public domain since 1999.
Why I decided to come back
By 2005 Many smart people calling for change Overcoming the Internet FIND, GENI, … Vision Impasse through Virtualization Dave Tom Larry Scott Jon Peter Guru Clark Anderson Peterson Shenker Turner Freeman Parulkar 100x100, 4D Hui Sandy Jennifer Albert Zhang Fraser Rexford Greenberg
Software Defined Networks Scott Shenker Guru Parulkar Teemu Koponen + many (brave) students Martin Casado
App App App App App App App App App App App Specialized Open Interface Applications Windows Mac Specialized or or Linux (OS) OS Operating System Open Interface Specialized Hardware Microprocessor Horizontal Vertically integrated Open interfaces Closed, proprietary Rapid innovation Slow innovation Huge industry Small industry
App App App App App App App App App App App Open Interface Specialized Features Control Control Control or or Plane Plane Plane Specialized Control Open Interface Plane Specialized Merchant Hardware Switching Chips Horizontal Vertically integrated Open interfaces Closed, proprietary Rapid innovation Slow innovation
Checklist • Intellectually interesting. • And improves the practice. • And industry doesn’t like (yet).
What’s next?
Making Networks Work An intellectual framework for verifying, troubleshooting and debugging SDNs
With SDN we can: 1. Formally verify that our networks are behaving correctly. 2. Identify bugs, then systematically track down their root cause.
• Ensuring correctness [Frenetic][HFT][Netcore] Nate Foster, Andrew Ferguson, Mike Freedman, Jen Rexford, Rob Harrison, Dave Walker, ++ • Software Fault Localization [W3] Scott Shenker, Colin Scott, Kyriakos Zarifis, Andreas Wundsam. • Checking behavior [NICE] Marco Canini, Daniele Venzano, Peter Peresini, Dejan Kostic, Jen Rexford. • Checking Invariants [VeriFlow] Ahmed Khurshid, Wenxuan Zhou, Matthew Caesar, P. Brighten Godfrey • Consistent updates Mark Reitblatt, Rick McGeer, ++ • …
Scott Shenker at 1 st ONS in 2011 “The Future of Networking and the Past of Protocols”
Software Defined Network (SDN) ( ) ( ) ( ) f View f View f View Control Control Control Programs Programs Programs Abstract Network View Network Virtualization Global Network View Network OS Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding
Software Defined Network (SDN) ( ) ( ) ( ) firewall.c … f View f View f View if( pkt->tcp->dport == 22) Control Control Control dropPacket(pkt); Programs Programs Programs … Abstract Network View Network Virtualization Global Network View Network OS 1.<Match, Action> 2.<Match, Action> 1.<Match, Action> 3.<Match, Action> 2.<Match, Action> 4.<Match, Action> 3.<Match, Action> Packet 5.<Match, Action> 4.<Match, Action> 6. … 5.<Match, Action> Forwarding 1.<Match, Action> Packet 7. … 1.<Match, Action> 6. … 2.<Match, Action> 2.<Match, Action> 7. … Forwarding 3.<Match, Action> 3.<Match, Action> 4.<Match, Action> 4.<Match, Action> 5.<Match, Action> 5.<Match, Action> 1.<Match, Action> Packet 6. … 6. … 2.<Match, Action> 7. … 7. … 3.<Match, Action> Forwarding Packet 4.<Match, Action> 5.<Match, Action> Forwarding 6. … Packet 7. … Forwarding
How do other industries do it?
Recommend
More recommend