Data traffic system switches control to network administrators

News Body

November 2, 2016

Jennifer Rexford
Jennifer Rexford Photo by David Kelly Crow for the Office of Engineering Communications

Torrents of information flow through computer data centers, driving the operations of financial markets, communications systems, commerce and just about any complex web-based activity. Much of modern society is built on these invisible networks but the infrastructure that routes the rivers of data between racks upon racks of computers can be cumbersome and inflexible.

Researchers including scientists from Princeton University have developed a system that greatly simplifies the task of managing the software switches used to control traffic across a network. Called Protocol-Independent Switch or PISCES, the new system allows managers to adjust and customize their software switches quickly without sacrificing speed or efficiency.

The lead author of the research, Muhammad Shahbaz, said the challenge was to simplify the task for the system administrators and translate those instructions into language that the software switches could implement.

"We created PISCES in order to enable rapid development and give the ability to add new features so that an administrator would be able to express their intent without being an expert on the underlying codebase," said Shahbaz, a graduate student in computer science.

Data centers are made of ranks of specialized computer processors or servers, and at the most basic level, traffic among the machines can be controlled by physical hardware switches. But because these hardware switches, which are extremely fast and efficient, are not practically adjustable, administrators rely on software to direct and control computer traffic as it moves through the network of machines. In a typical data center, these software switches far outnumber the hardware switches and have much greater control over the traffic moving through the center.

A significant problem, the researchers wrote in their paper, was that "modifying these switches requires both intimate knowledge of the switch codebase and extensive expertise in network protocol design, making the bar for customizing these software switches prohibitively high."

In an article presented at the ACM SIGCOMM Conference in Florianopolis, Brazil, on Aug. 25, the researchers describe how the PISCES system can be used to allow administrators to alter traffic without intensive knowledge of the code used to control the switches. In general, the researchers said, instructions written in PISCES are 40 times more concise than programs needed to control the software switches directly. 

"PISCES makes it easy to customize software switches with new functionality," said Nate Foster, an associate professor of computer science at Cornell University, who was not part of the research team. He said the system also provides good performance.

Jennifer Rexford, the Gordon Y.S. Wu Professor in Engineering and chair of computer science at Princeton, said the goal of PISCES was to deliver greater flexibility to network administrators and to allow them to innovate and improve their systems.

"How do you unshackle the people who run the network to help them do it better?" asked Rexford. "By making things programmable. PISCES is a baby step. It's a platform. It enables people to do reinvention."

There have been attempts at simplifying software switching commands. But those tended to add complexity to the switches and compromise the speed of the system. Tests on PISCES indicate that the system avoids these slowdowns.

"We demonstrated that, with appropriate compiler optimizations, this drastic reduction in complexity incurs only a small performance overhead compared to the native software switch implementation," the researchers wrote in the article "It is too early to see the effects of PISCES on protocol development, but the resulting code simplicity should make it easier to deploy, implement and maintain custom software switches."

The researchers are working with industry to deploy the system into operating networks. They have developed software patches to introduce the system, which are under review by the community of potential users. 

The researchers are distributing PISCES as an open-source project through their website at Princeton.

"By making it open source, people will be able to adopt it much more quickly," Shahbaz said. "They will not only be able to write new programs for themselves, but we hope the open-source platform will enable them to contribute to the project to help the community at large." 

In addition to Rexford and Shahbaz, researchers include Nick Feamster, professor of computer science and acting director of the Princeton Center for Information Technology Policy; Sean Choi and Nick McKeown of Stanford University; Ben Pfaff of VMWare Inc.; and Changhoon Kim of Barefoot Networks Inc.

Support for the research was provided in part by the Open Networking Research Center, the Stanford Platform Lab, Intel and the National Science Foundation.

Rexford and Feamster will be participating in the upcoming fourth Princeton-Fung Global Forum, which is focused on cybersecurity. The event will be held March 20-21, 2017, in Berlin.