Please use this identifier to cite or link to this item:
|Title:||GoFlow: Parallel Infrastructure for Ravana Controller Platforms in Software-Defined Networks|
|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.|
|Type of Material:||Princeton University Senior Theses|
|Appears in Collections:||Computer Science, 1988-2017|
Files in This Item:
|PUTheses2015-Cheong_Andrew.pdf||463.82 kB||Adobe PDF||Request a copy|
Items in Dataspace are protected by copyright, with all rights reserved, unless otherwise indicated.