Skip navigation
Please use this identifier to cite or link to this item:
Title: GoFlow: Parallel Infrastructure for Ravana Controller Platforms in Software-Defined Networks
Authors: Cheong, Andrew
Advisors: Rexford, Jennifer
Department: Computer Science
Class Year: 2015
Abstract: Software-defined networking (SDN) decouples the network control plane from the data plane. Within a software-defined network, a controller is able to provide the packethandling decisions for the network. However, this raises the risk of the controller being a single-point of failure in the network. Utilizing traditional fault-tolerance techniques such as replicated state machines proves to be inadequate when trying to preserve not only the controller state but also the state of switches in the network. Recent work at Princeton University introduced the Ravana protocol, which provides fault-tolerance through replication and correctness by processing messages transactionally and exactly once. However, their prototype implementation still had many opportunities to be optimized further. The GoFlow controller platform is a new controller platform that also adopts the Ravana protocol for fault-tolerance in a software-defined network. By utilizing many concurrency mechanism offered by the Go programming language, GoFlow provides a new infrastructure with a throughput that is 12x of the throughput of a Ryu controller platform. A fault-tolerant GoFlow controller has a throughput that is 4x of the throughput of the Ravana prototype implementation built here at Princeton.
Extent: 39 pages
Type of Material: Princeton University Senior Theses
Language: en_US
Appears in Collections:Computer Science, 1988-2017

Files in This Item:
File SizeFormat 
PUTheses2015-Cheong_Andrew.pdf463.82 kBAdobe PDF    Request a copy

Items in Dataspace are protected by copyright, with all rights reserved, unless otherwise indicated.