Back
Hugh Holbrook
Chief Development Officer, Arista Networks

Arista 7170 Series Programmable Platform Hugh Holbrook and Nick McKeown

🎥 Jun 05, 2018 📺 Arista Networks ⏱ 13m 👁 2220 views
Hi I'm Hugh Holbrook I'm the vice president of software engineering at Arista and I'm really excited to be here today to talk about ...
Watch on YouTube

About Hugh Holbrook

Hugh Holbrook, Chief Development Officer of Software Engineering at Arista Networks, discussed packet-level load balancing at AI Field Day 5 in October 2024. He described a technique where traffic is distributed across all available links at the packet level rather than the flow level, which he said allows total network utilization to reach 100% by avoiding uneven link utilization. Holbrook characterized the approach as "spread peanut buttering" traffic across links. In a 2018 presentation, Holbrook introduced the Arista 7170 Series programmable platform, which uses Barefoot Networks' Tofino switch chip. He stated that the platform allows functions such as tunnel termination, traffic filtering, network address translation, and deep packet inspection to be moved into the switch, capabilities that previously required dedicated smart NICs or host processing. Holbrook said the P4 programming language enables engineers to specify forwarding behavior that runs at line rate, and that programmability allows Arista to modify network behavior more quickly in response to customer needs.

Source: AI-verified profile updated from Hugh Holbrook's recent appearances. Browse all interviews →

Transcript (18 segments)
H
Hugh Holbrook0:06
Hi, I'm Hugh Holbrook. I'm the vice president of software engineering at Arista, and I'm really excited to be here today to talk about our latest new platform, our switch. It's one of our densest platforms, a top-of-rack switch that has some incredible programmable capabilities in it, and we're excited to get it in the hands of customers because it's going to allow a whole mess of new possible functions and capabilities to be moved into a switch that previously required processing either on a host at slow speeds or in a dedicated smart NIC, which can be very expensive. So there's a lot of functionality — tunnel termination, traffic filtering, network address translation, deep packet inspection — that we're able to do. This is all possible because of some exciting software engineering and because of some fantastic technology inside the switch that makes this all possible. We're moving capabilities that used to be inside dedicated high-end routers or in network packet processors into switching through the use of some exciting technology from a company called Barefoot Networks. They've got a new switch chip called Tofino, which we're introducing in the 7170 today. And I've got here with me someone who I'm very excited to have with us. His name is Nick McKeown, someone who I've known for a long time since my days at Stanford, who's an industry luminary, really made some great advances, and also the founder of Barefoot Networks. So with that, I'd like to introduce Nick.
N
Nick McKeown1:40
Thanks. It's great to be here. You know, when we started Barefoot, we were really trying to demonstrate that you can build switching chips that are programmable, that run at the same speed, cost the same, have the same power as the previous fixed-function silicon that has been used in our industry. You know, there's this conventional wisdom that says you can't produce switching silicon that is programmable that runs at the same power, performance, and cost. And I always kind of thought that this was a little bit odd because in many other parts of our industry — in graphics, in digital signal processing, and more recently in machine learning — people have demonstrated that you can build a domain-specific processor that will operate with the same performance as the fixed-function devices that they're replacing. And it seemed strange to me we'd never done that in networking. So we wanted to demonstrate that that was in fact no longer the case. And as you just described, it allows you in your products to build devices that have a lot more features, that can differentiate, provide different sorts of capabilities and profiles to customers. So anyway, we're delighted to be part of that journey with you.
H
Hugh Holbrook2:55
Yeah. So, Nick, could you tell me a little bit, just as we're starting out here, about Barefoot and what you provide and how we're using it, but kind of your mission and what Barefoot actually does?
N
Nick McKeown3:10
Sure. So Barefoot started about four or five years ago as a startup company building switching silicon, and our first product was this Tofino chip, which is being used in the 7170. In its most common form, it has 64 ports of 100 gig or up to 260 ports of 25 gig interfaces, and you can mix and match those in any way that you want. Great. And just like switching chips, it will take Ethernet packets in and Ethernet packets out. The magic of Tofino is that as those packets go through, you can enact a program upon them. That program is written in a language called P4, which is this open-source, community-owned language that is receiving a lot of attention right now.
H
Hugh Holbrook3:50
Is that a programming language like C or C++? How does that compare?
N
Nick McKeown3:55
It's a language that is designed to allow you to specify forwarding behavior in a variety of different devices, whether it's an ASIC you're modifying, a software switch like Open vSwitch, or an FPGA or a NIC — anything that has a fast packet pipeline.
H
Hugh Holbrook4:11
P4 is a general-purpose language not tied to the Barefoot products, is that right?
N
Nick McKeown4:16
Correct. So one of the interesting things about Tofino is if you can write a program, compile it, and it fits, it will always run at line rate. That's great. This is very different from the previous world of network processors, or NPUs as we call them, where there was this process completion model. You would farm a packet off to be processed by something that looked like a little CPU that was on the device, and you didn't quite know how long it was going to take. So you had these variable-length processing times that affected the latency and the throughput of the device. None of that is true in this world. With Tofino, it's a feed-forward, fixed feed-forward pipeline that has, in the best case, extremely low latency. You only use the stages of the pipeline that you need for the processing that you're doing, but if that program fits, it will always run at line rate. The throughput will always be full line rate, maximum throughput.
H
Hugh Holbrook5:11
So Tofino is a sort of different implementation of switching silicon or switch chip. There's fixed pipeline, fixed function, but I program the tables to modify it. And then there's the network processor kind of run-to-completion, where I write programs more like a program that would run on an x86 processor to process packets. And then there's Tofino, where I write a P4 program to describe the behavior.
N
Nick McKeown5:41
That's right. That's right. So with P4, I can program the network and not have to understand all the details of pipeline registers and tables and layouts and muxes and all the stuff that happens. It abstracts away those details, but yet I can still program and get flexible functionality custom to my use case. Takes about eight hours from beginning to end to become proficient in the P4 language. It really is quite liberating. For the first time, you can write a program that describes forwarding behavior and then actually have it happen at line rate.
H
Hugh Holbrook6:16
And we see that with our engineers doing it, that they're able to make changes, understand it, and with less knowledge of all those gory details that require you to understand thousand-page register specs of silicon. We're able to achieve programmability in a way that's much more time-effective for our engineers, where we can work on the real problems rather than understanding those low-level details. But all of our customers don't write programs that run on EOS. What that programmability allows us, in conjunction with our customers, to do is to modify the behavior more quickly on behalf of our customers when we identify new use cases. So I think it's great for the people who have that appetite to go and define new forwarding models for the media entertainment industry, but they can also come to us with requirements and we can build that more quickly. So I think these are both interesting use cases in the evolution of programmable silicon.
N
Nick McKeown7:18
Yes, I mean, really what it's doing is unleashing the power of programmability so that you can improve your products at a much higher rate, and also working in partnership with your customers to be able to deliver new capabilities into their network at a much faster rate than you ever were able to before.
H
Hugh Holbrook7:39
Yeah, no, I think that's a real promise of the 7170 and the Barefoot silicon — that exact ability to have that conversation with the customer about what's possible and to do things that are not, as you said, standard networking. All the customers today, it's a competitive market out there. Everybody's looking for a competitive advantage, some way to make their business better, to perform their tasks better, to do more with the same silicon that everyone has, to provide some advantage. And being able to customize not just the protocols running on it and the control plane, as we've been able to do for quite some time with the OS, but being able to program the hardware — it's like another tool that the customers have. And that's what's so neat about this solution. To go to that next level. And the language is neat, and even if the customers aren't interested in being programmers of the networking silicon themselves, it allows us to react more quickly. And the fact that it's programmable, we can turn around those changes much more rapidly for the customers. And that's also very exciting.
N
Nick McKeown8:50
Yes. You know, there are a few categories of the feature capability that we've observed people do once they're able to program the silicon themselves. In some ways, the most obvious one is they add new features that they or their customers need. One example is to add a new tunneling format that might be a new evolving standard that is emerging, and you want to experiment with it or do an early release, or it could be a proprietary way of tagging customers for different tenants within a data center — a sort of variance of what was VXLAN or GRE in the past. And in a way, really a programmable substrate is providing peace of mind to you and to your customers that should something new be needed or required after the hardware is in the network, you can potentially come and actually update its forwarding behavior. And it allows you to differentiate in terms of providing that at a greater speed than a device that's based on fixed function.
H
Hugh Holbrook9:53
I totally agree. I think the programmable silicon has really changed the landscape there of how fast protocol can evolve and how fast networking technology can evolve. I mean, the initial use cases that we have for the 7170, as you talked about, are things like custom tunneling formats inside a data center for data center gateway access, things that used to have to be done inside an FPGA or inside a host. And these use cases, we certainly didn't know about them — I don't think you knew about them at the time the chip was taped out. And we designed this all after the fact on top of the silicon, and that's just very powerful. Large-scale NAT — I'm not sure that you were thinking about large-scale NAT at the time that the chip was built, but the programmability has allowed us to build that capacity and solve a very targeted problem for a customer where this really makes a difference and allows them to come up with table scale that they didn't have before, combined with a performance that can only be achieved inside silicon. That previously had to be done either much more slowly or done at much higher cost by distributing it across servers or FPGAs.
N
Nick McKeown11:28
And a lot of pull on various types of telemetry — in-band network telemetry — but various types of telemetry where the customer is interested in modifying what they're looking at based on their own environment. So they say, 'We're looking for a particular problem. It might be a microburst, it might be a congestion event that lasts only a microsecond, that happens very infrequently. How can I zoom in and catch that and find out what packets were affected? Who was the cause of that? And I'd like to be able to look at the packets that were affected and say, how did they get here? What were the set of rules? What else was going on in the network?' That's right. You know, frankly, you or I could have some ideas on what to look for, but the only people that really know are those who are actually operating the network because they're in the trenches having to deal with it every day. So being able to modify what you're looking for in real time in order to change the things that you're measuring and the things that you're looking for — it opens up some really exciting possibilities of, in a sense, closed-loop control of the network in order to be able to automatically diagnose and fix problems. So I think this is something for which we're really only scratching the surface right now.
H
Hugh Holbrook12:39
Well, look, Nick, it's been super fun talking to you. It's always a pleasure. I really like talking about this. This is a great topic. It's been just a pleasure working with Barefoot over these last years coming up to the delivery of the 7170. I'm super excited about the product that we've got coming, about the partnership that we've got. And I just want to thank you for your time and for your help with us over these years. And I'm looking forward to delivering the 7170. It's available now, leveraging all of this cool programmable capability with the Barefoot Tofino inside, EOS running on top to provide Layer 2 and Layer 3 features that are common to all Arista products, and then packaging additional functionality on top of that to deliver targeted solutions for our customers, delivering new capabilities like telemetry, tunneling, scale network address translation, deep visibility and packet capture. And we're excited about possibilities that we haven't even thought of yet that our customers are going to come to us and ask us to build, and we'll be able to build because of the flexibility that we've got in this platform with the Barefoot silicon inside. So Nick, thank you very much. Wonderful to be working with you.
N
Nick McKeown13:51
Great. Fantastic.