imelamory - Fotolia
Programmability has become almost commonplace within cloud environments and applications, but programmability in the network has historically lagged.
OpenFlow and software-defined networking -- remember SDN? -- never quite made their case among enterprises, although the concept of programming the control plane from a centralized location was compelling. In these environments, traffic would travel more efficiently, server strain would wane, and Opex and Capex would shrink. But that didn't really happen. Instead, hype overshadowed reality, and SDN's enterprise potential vanished.
Programmability is continuing its campaign, however, edging closer to the data plane, according to Jennifer Rexford, chair of computer science at Princeton University.
"What we've been seeing over the past 20 years is programmability moving deeper and deeper down the network management stack," Rexford said during a virtual panel at the ONUG fall conference. "Now, we're starting to see it move toward the data plane itself being programmable, with languages like P4."
A programmable data plane enables users to move away from fixed device configurations and customize application-specific integrated circuits (ASICs) and chipsets to support specific protocols and processes. P4 is an open source language designed for data plane configuration. With programmability at the lower layers of the OSI model, users can put functionality where it belongs, not where vendors have decided to put it, Rexford said.
But programmability in the lower layers is often more complicated than programming higher layers. Even if it makes sense to run certain tasks lower in the stack -- to improve performance or scalability, for example -- it's painful to program those layers, Rexford said.
One lower-layer component that is seeing programmability growth is the network interface card (NIC). Traditional NICs enable machines to talk with the network. But chipset and silicon developments have enabled programmable NICs to take on more functionality, offloading specific networking, security and storage functions from servers to free up server availability.
"We are seeing more things go onto the NIC -- things that would have been in the softswitch are moving onto the NIC now because of speed concerns and because it's easier to program the NIC than it used to be," Rexford said.
SmartNIC market developments
Analysts have been monitoring the developments in NIC technology. According to Anushree Verma, principal analyst of semiconductors and electronics at Gartner, the NIC market has morphed into the three following segments:
- traditional NICs;
- smartNICs, which offload some functions from servers but can't run independently of the host CPU; and
- function accelerator cards (FACs), which are fully programmable NICs that offload networking-, security-, storage- or compute-related tasks and run independently.
With traditional NICs, servers typically run networking functions, such as encryption or load balancing, which can increase the time it takes to process packets. Certain methods that smartNICs enable, such as single-root I/O virtualization and virtual extensible LAN, can accelerate some network functions, but they still rely on the server or host CPU, Verma said. FACs take those functions completely off the server and run them themselves.
Jennifer RexfordChair of computer science, Princeton University
According to Gartner's definition, a FAC is a type of NIC that has a built-in processor, onboard memory and peripheral interfaces. It's also deployed as an ASIC, a field-programmable gate array or system on a chip. Vendors don't follow standardized criteria to build FACs and smartNICs, and while some processors are vendor-specific, others use P4, Verma said.
But FACs don't just bundle processors, interfaces and memory, Verma added. Vendors have architected FACs to have programmability on the NIC itself, enabling inline programming that benefits more complex applications. Vendors in this space include Broadcom, Ethernity Networks, Mellanox and Pensando Systems.
FAC and smartNIC market growth
Cyberthreats have become more frequent and sophisticated, workloads are more diverse, and applications are now designed specifically for cloud environments -- all of which can eat up CPU usage and drive smartNIC and FAC adoption, Verma said. FACs support security use cases by offloading encryption, decryption and stateful firewall functions. For networking use cases, NICs can take on TCP packet processing to improve network visibility without creating latency, Rexford said.
By programming FACs and smartNICs to run functions that previously ran on servers, bandwidth performance will improve, data transport will be more efficient and server availability will increase, along with the basic NIC function of enabling connectivity to a network, Verma said.
Currently, hyperscale cloud providers and carriers have been the initial adopters of smartNICs and FACs, as they have high I/O workloads that warrant the investment, Verma said. For example, carriers such as China Telecom, Ericsson and Nokia are using smartNICs and FACs for 5G edge use cases. As use cases continue to emerge, Verma said she expects FACs and smartNICs will cannibalize and capture about 43% of the NIC market by 2024.
Enterprise adoption, meanwhile, lays low at 0.8% because enterprises typically don't run heavy workloads, she added. But, as more enterprises consider how they can implement programmability in the data plane, perhaps programmable NICs will emerge as a viable option.
"You need the NIC anyway, so it's more about amortizing the cost of having the NIC -- you might as well throw some other stuff onto it," Rexford said.