Many network engineers might dismiss Arista Networks' new field-programmable gate array (FPGA) switch as a cool, niche product, but it has the potential to turn the Layer 4-7 network services industry on its head.
Yes, Arista's 7124FX FPGA switch, also known as Arista's "application switch," will have limited appeal for now. Its target customers will be the financial services firms and government agencies that require ultra-low latency application performance, particularly for unstructured data. But if Arista partners with the right companies and builds a developer ecosystem, its switch could serve as the underlying hardware platform upon which third-party vendors build server load balancers, intrusion prevention systems, firewalls and other Layer 4-7 services.
FPGA switch: Faster and more reliable than traditional FPGA configurations
Field-programmable gate arrays have been popular within the financial services industry and the national defense and intelligence arenas, where organizations need to process unstructured data at microsecond speeds. Unlike a typical multicore central processing unit (CPU) deployed within an x86 server, an FPGA has the flexibility to perform multiple parallel processes.
"FPGAs run at a quarter of the clock speed or an eighth of the clock speed of a [CPU]. It runs cooler and takes less power, but [an FPGA] is way slower,” said Brian Durwood, co-founder of Impulse Accelerated Technologies, a software company that helps its customers compile or refactor applications written in C to run on an FPGA.
"FPGAs make up the throughput by having a really flexible input/output [I/O], and you can have 32 processes running on an FPGA at data rate," Durwood added "So, any sort of computation that involves a lot of non-sequential logic can be unrolled and parallelized on one device."
A developer can write applications to run on FPGA boards and perform deep-packet inspection on unstructured data to find a "needle in a haystack,”" Durwood said. Once the item is found, the FPGA can forward this processed data to a server to make high-level decisions on financial trades or intercepted foreign intelligence data.
Companies typically deploy FPGAs on a server's network interface card (NIC). By contrast, Arista integrates the FPGA into the switch architecture; it resides on a node in the network, processing data within the switch.
The switch can also use the FPGA to generate instructions within the switch and send them directly back to a given location, such as a financial services exchange, rather than sending the data to an FPGA on a server. This saves a hop in the network and eliminates any delays the FPGA may experience while waiting for data to traverse the server's NIC and PCI bus.
"The fastest-trading plants out there are running at eight to 13 microseconds [of latency]. More common is 30 microseconds," said Doug Gourlay, Arista's vice president of marketing. "In our [switch], the traffic will come in and at the first hop it will hit the FPGA. If you're running a limited order book or simple volume-weighted average calculation, it will generate the order and send it back up to a matching engine. You don't have to touch the PCI bus. Customers see an improvement from 13 to 30 microseconds for a financial services transaction to under two or three microseconds.”
An FPGA switch as a platform for Layer 4-7 services
Writing applications for an FPGA requires very specialized programming skills. Arista is bringing its FPGA switch to market with several partners that can help traditional FPGA users make use of the product, including Impulse and some third-party application developers that specialize in refactoring traditionally-coded applications for FPGAs. Other partners, like Nova Sparks, sell FPGA-based applications to the financial services and defense industries.
More on Arista Networks
Arista's open source network operating system wins Network Innovation Award
Q&A about cloud computing networks with Arista CEO Jayshree Ullal
Software-defined networking: Arista's been offering it for awhile
Arista will also pitch this technology to vendors that specialize in Layer 4-7 services. It may catch on with load balancer, application delivery controller and network security vendors that would prefer to compete in software rather than hardware.
"[Load balancer vendors] can run their virtual load balancer on our switch CPU, then program the FPGA to do the TCP termination," Gourlay said. "They can stitch the flows together, map the cookies and get a 160 Gbps server load balancer for less than a $50,000 cost. You can sell an 80 Gbps server load balancer for over $100,000 today. It opens up a market as partners adopt this capability. We could actually create an app store where customers can decide what kind of application they want to run on their switch."
Arista's new FPGA switch may help it finally deliver on the promises of its operating system, EOS -- a full Linux kernel upon which users can develop applications -- according to Eric Hanselman, research director at the 451 Group.
"Arista has never seemed to develop a critical mass with the development community to write applications that can run on EOS," Hanselman said. "One of the things that happens on this [FPGA switch] is you have to write applications on EOS to take advantage of it. Maybe this is a key to creating a dedicated development community to really kick-start some of this business."
Let us know what you think about the story; email: Shamus McGillicuddy, News Director