Microsoft researchers are experimenting with a programmable, low-cost prototype switch they say could help support cloud or other network-delivered services.
Called ServerSwitch, the package integrates a high performance, programmable ASIC switching chip with a fully programmable multicore commodity server and control software designed to handle datacentre network traffic more efficiently than some other software-based control systems that are also under development," according to Microsoft Asia's Guohan Lu, who presented a white paper on ServerSwitch at today's Usenix Symposium on Networked System Design and Implementation. Lu and other Microsoft researchers as well as the Tsinghua University in Beijing, China are working on the ServerSwitch.
For example, the Software Defined Networking technology Openflow - which got huge industry support recently in the form of a new foundation that included Facebook, Google, Microsoft, Verizon, IBM, Cisco, Brocade, Juniper Networks and a host of others - is one technology ServerSwitch might augment in the future.
From the group's presentation: "Software-based approaches suffer from high CPU overhead and processing latency...OpenFlow focuses on control plane functions at present. OpenFlow defines an architecture for a central controller to manage OpenFlow switches over a secure channel, usually via TCP/IP. It defines a specification to manage the flow table inside the switches. Both OpenFlow and ServerSwitch aim towards a more programmable networking platform. Aiming to provide both programmability and high performance, ServerSwitch uses multiple PCI-E lanes to interconnect the switching chip and the server. The low latency and high speed of the channel enables us to harness the resources in a commodity server to provide both programmable control and data planes. With OpenFlow, however, it is hard to achieve similar functionalities due to the higher latency and lower bandwidth between switches and the controller."
With ServerSwitch, "the switching chip can be programmed to support a flexible packet header format and various user defined packet forwarding designs with line-rate without the server CPU intervening. By leveraging the low latency of its PCI-E interface and efficient server software design, we can implement software defined signaling and congestion control in the server CPU with low CPU overhead. The programmability provided by ServerSwitch can enable new Data Center Networking services that need in-network data processing such as in-network caching," according to Lu.
Largely a research project now, the prototype ServerSwitch isn't without its limitations the group says. In its current configuration, ServerSwitch has limited hardware forwarding programmability and it has high packet processing latency. It also only supports 4 Gigabit Ethernet ports, making it unsuitable for architectures that need a large number of switch ports, the group says
From the group's whitepaper: "Our software API currently focuses on lookup table programmability and queue information query. Current switching chips also provide advanced features such as queue and buffer management, access control, and priority and fair queuing scheduling. We plan to extend our API to cover these features in our future work. We also plan to upgrade the current 1GE hardware to 10G in the next version. We expect that ServerSwitch may be used for networking research beyond DCN (for example in enterprise networking). We plan to release both the Server-Switch card and the software package to the networking research community in the future."