Cornell-Princeton
Center for Network Programming

About

The Center for Network Programming supports research on languages, algorithms, and tools for network programming, and facilitates closer interactions with partners in industry and government. For more details, read our whitepaper.

Projects

Our recent research efforts have produced solutions to a number of fundamental problems related to network programming.

COSciN

COSciN is a new research network connecting Cornell's main campus in Ithaca and medical campus in NYC.

Frenetic

Frenetic is a domain-specific programming language for software-defined networks. Distinguishing features of the language include support for modular composition operators and a careful treatment of routing and monitoring.

iSDX

iSDX (Software-Defined IXP) brings the features of SDN to interdomain routing, offering direct control over packet-processing rules that match on multiple header fields and perform a variety of actions. IXPs are a compelling place to deploy these changes, given their role in interconnecting many networks and their growing importance in bringing popular content closer to end users.

NetKAT

NetKAT is a network programming langauge based on a solid mathematical foundation: Kleene Algebra with Tests (KAT). The langauge has a sound and complete deductive reasoning system and a decision procedure that can be used to address many practical verification problems.

People

Our interdisciplinary research team combines expertise in algorithms, networking, programming languages, systems, and verification.

Co-Directors

Nate Foster

Cornell

Jennifer Rexford

Princeton

Faculty

Rachit Agarwal

Cornell

Nick Feamster

Princeton

Aarti Gupta

Princeton

Bobby Kleinberg

Cornell

Dexter Kozen

Cornell

Sharad Malik

Princeton

David Shmoys

Cornell

Kevin Tang

Cornell

Robbert Van Renesse

Cornell

David Walker

Princeton

Hakim Weatherspoon

Cornell

PhD Students, Postdocs, and Researchers

Mina Tahmasbi Arashloo

Princeton

Shrutarshi Basu

Cornell

Yingjie Bi

Cornell

Ryan Beckett

Princeton

Jennifer Gossels

Princeton

Arpit Gupta

Princeton

Hossein Hojjat

Cornell

Naga Katta

Princeton

Praveen Kumar

Cornell

Craig Riecke

Cornell

Muhammad Shahbaz

Princeton

Steffen Smolka

Cornell

Shih-Hao Tseng

Cornell

Ning Wu

Cornell

>

Seminars

Our monthly "hangouts-on-air" seminar series will be held starting in 2017.

DateMarch 14, 2017
Time1:30-2:30pm
Link https://www.youtube.com/watch?v=nKGszNYisaY
TitleSNAP: Stateful Network-Wide Abstractions for Packet Processing
Abstract

Early programming languages for software-defined networking (SDN) were built on top of the simple match- action paradigm offered by OpenFlow 1.0. However, emerging hardware and software switches offer much more sophisticated support for persistent state in the data plane, without involving a central controller. Nevertheless, managing stateful, distributed systems efficiently and correctly is known to be one of the most challenging programming problems. To simplify this new SDN problem, we introduce SNAP.

SNAP offers a simpler "centralized" stateful programming model, by allowing programmers to develop programs on top of one big switch rather than many. These programs may contain reads and writes to global, persistent arrays, and as a result, programmers can implement a broad range of applications, from stateful firewalls to fine-grained traffic monitoring. The SNAP compiler relieves programmers of having to worry about how to distribute, place, and optimize access to these stateful arrays by doing it all for them. More specifically, the compiler discovers read/write dependencies between arrays and translates one-big-switch programs into an efficient internal representation based on a novel variant of binary decision diagrams. This internal representation is used to construct a mixed-integer linear program, which jointly optimizes the placement of state and the routing of traffic across the underlying physical topology. We have implemented a prototype compiler and applied it to about 20 SNAP programs over various topologies to demonstrate our techniques’ scalability.

Bio

Mina is a third-year PhD student in Computer Science at Princeton University, advised by Jennifer Rexford. Her research focuses on designing high-level abstractions for network programming and management, specifically in software defined networks (SDNs).

Mina Tahmasbi Arashloo

Princeton

Retreat

Our first annual retreat will be held on June 20th, 2016 at Cornell Tech in NYC.

Overview

We are holding a retreat to discuss recent research results and strengthen connections with leading technology companies and government organizations. The agenda will include research highlights of selected projects, and panel discussions on broader trends in networking.

Registration

The workshop is invitation-only and there is no fee to attend. We are happy to provide assistance in making travel arrangements. Please RSVP by June 10th.

Agenda

Opening Session
8:30amBreakfast
9:00amIntroduction
Nate Foster (Cornell)
9:20amWelcome
Deborah Estrin (Cornell Tech)
Session on Programming Languages and Verification
Moderator: Nate Foster
9:30amMaslow’s hierarchy of network programming and the unmet needs
Ratul Mahajan (Microsoft)
10:00amEfficient Programming Abstractions for Software Defined Networks
Steffen Smolka (Cornell)
10:15amPropane: Programming Distributed Control Planes
Ryan Beckett (Princeton)
10:30amCoffee Break
11:00amNetwork Verification and Synthesis: Lessons from Hardware (and Software) Verification and Synthesis
Sharad Malik (Princeton)
11:15amProbabilistic Network Verification
Dexter Kozen (Cornell)
11:30amPanel Discussion
Alex Gurney (Comcast), Andrew Ferguson (Google), David Stern (DISA), and Sanjai Narain (Applied Communication Sciences)
12:00pmLunch
Session on Programmable Data Planes and Applications
Moderator: Jennifer Rexford
1:30pmConverging Approaches in Software Switches
Ben Pfaff (VMware)
2:00pmSNAP: Stateful Network-Wide Abstractions for Packet Processing
Mina Tahmasbi Arashloo (Princeton)
2:15pmGlobally Synchronized Time via Datacenter Networks
Hakim Weatherspoon (Cornell)
2:30pmiSDX: An Industrial-Scale Software Defined Internet Exchange Point
Nick Feamster (Princeton)
2:45pmPanel Discussion
Brad Spiers (Micron), Ken Duell (AT&T), John Marshall (Cisco), Yi Wang (Huawei), and Walter Willinger (Niksun)
3:15pmCoffee Break
Session on Routing and Performance
Moderator: Nick Feamster
3:45pmReal-Time Adaptive Network Traffic Management
Kevin Tang (Cornell)
4:00pmRobust Traffic Engineering using Semi-Oblivious Routing
Praveen Kumar (Cornell)
4:15pmUniversal Networking Mechanisms
Rachit Agarwal (Cornell)
4:30pmPanel Discussion
Douglas Montgomery (NIST), Gagan Choudhury (AT&T), Igor Gashinsky (Yahoo!), Kalyani Bogineni (Verizon), and Nithin Michael (Waltz Networks)
Closing Session
5:00pmWrap-up
Jennifer Rexford (Princeton)
6:30pmDinner at Dos Caminos SoHo (475 W Broadway St at Houston St)

Location

The retreat will be held in the "Grizzly" room on the 3rd floor of Cornell Tech.

111 8th Avenue #302
New York, NY 10011

The visitor entrance to the building is at the intersection of 8th Avenue and West 15th Street. You will need to present some form of identification.

If you are taking the subway, the A, C, E, and L trains have a subway stop inside the building (14th Street stop). The 1, 2, and 3 trains are a little over a block away at West 14th and 7th Avenue (14th Street stop).

Hotels

The following hotels are convenient to Cornell Tech.