A Tale of Two Cities: Ethernet Meets PCIe
Two industry megatrends are reshaping the way we design and deploy networks and compute (i.e. datacenter servers). The first is Network Functions Virtualization (NFV) with the goal of moving functions such as content distribution, firewalls and base station controllers from proprietary hardware to standard, low cost servers. These servers can run multiple virtual machines, each hosting a particular software-based network appliance. The other trend is Software Defined Networking (SDN) which makes applications network aware – that is, the network can be reprogrammed on the fly with open standards to optimize application flows.
These two trends, at first seeming to address different technologies – compute and networking – are creating a fusion of networks and servers. Since most of today’s applications are network centric, servers may end up spending many cycles processing networking traffic that represents content, users and applications. The migration of applications to the cloud has dictated a shift of networking and security workloads to the datacenter, which comes with a clear pain-point.
The Von Neumann architecture is still applicable to modern server design, in which processing, memory and I/O are interconnected with data, address and control buses. This architecture was designed for local memory workloads in which the processor mostly crunches algorithms, while the I/O throughput is secondary and dimensioned for peripherals. The PCIe interface, quickly established itself as the lead I/O interface, creating massive industry backing for it.