Browsing by Author "Cai, Zheng"
Now showing 1 - 5 of 5
Results Per Page
Sort Options
Item Design and implementation of the Maestro network control platform(2009) Cai, Zheng; Ng, T. S. EugeneComputer network operation is inherently complex because it consists of many functions such as routing, firewalling, VPN provisioning, traffic load-balancing, network maintenance, etc. To cope with this, network designers have created modular components to handle each function. Unfortunately, in reality, unavoidable dependencies exist among some of the components and they may interact accidentally. There is no single mechanism for systematically governing the interactions among the various components. In addition, routing is mainly realized by distributed routing protocols for higher survivability. Some other components need to be centralized, because either they have no obvious mapping onto distributed computations, or they could achieve more optimal solutions. Both distributed control and centralized control are necessary in network management. However, the interaction between distributed and centralized controls makes the problem even more complicated. No existing study has considered either how to systematically manage the interactions among network control components, or how distributed and centralized control system could collaborate to leverage the inherent advantages of both. To address these problems, we propose a system called Maestro. Maestro orchestrates the network control components that govern the behavior of a network, and enables the collaboration between distributed and centralized control components. Maestro provides abstractions for the modular implementation of network control components, and addresses the fundamental problems originating from the concurrent operations of network control components, namely communication between components, scheduling of component executions, concurrency management and protection enforcement. Maestro allows distributed and centralized control components to collaborate in four different approaches, and each approach has different strength and weakness. In this thesis we present the design and implementation of a prototype of Maestro, and evaluate the performance and effectiveness of Maestro mechanisms.Item Maestro: A System for Scalable OpenFlow Control(2010-12-04) Cai, Zheng; Cox, Alan L.; Ng, T. S. EugeneThe fundamental feature of an OpenFlow network is that the controller is responsible for the initial establishment of every flow by contacting related switches. Thus the performance of the controller could be a bottleneck. This paper shows how this fundamental problem is addressed by parallelism. The state of the art OpenFlow controller, called NOX, achieves a simple programming model for control function development by having a single-threaded event-loop. Yet NOX has not considered exploiting parallelism. We propose Maestro which keeps the simple programming model for programmers, and exploits parallelism in every corner together with additional throughput optimization techniques. We experimentally show that the throughput of Maestro can achieve near linear scalability on an eight core server machine.Item Maestro: Achieving scalability and coordination in centralizaed network control plane(2012) Cai, Zheng; Ng, T. S. EugeneModem network control plane that supports versatile communication services (e.g. performance differentiation, access control, virtualization, etc.) is highly complex. Different control components such as routing protocols, security policy enforcers, resource allocation planners, quality of service modules, and more, are interacting with each other in the control plane to realize complicated control objectives. These different control components need to coordinate their actions, and sometimes they could even have conflicting goals which require careful handling. Furthermore, a lot of these existing components are distributed protocols running on large number of network devices. Because protocol state is distributed in the network, it is very difficult to tightly coordinate the actions of these distributed control components, thus inconsistent control actions could create serious problems in the network. As a result, such complexity makes it really difficult to ensure the optimality and consistency among all different components. Trying to address the complexity problem in the network control plane, researchers have proposed different approaches, and among these the centralized control plane architecture has become widely accepted as a key to solve the problem. By centralizing the control functionality into a single management station, we can minimize the state distributed in the network, thus have better control over the consistency of such state. However, the centralized architecture has fundamental limitations. First, the centralized architecture is more difficult to scale up to large network size or high requests rate. In addition, it is equally important to fairly service requests and maintain low request-handling latency, while at the same time having highly scalable throughput. Second, the centralized routing control is neither as responsive nor as robust to failures as distributed routing protocols. In order to enhance the responsiveness and robustness, one approach is to achieve the coordination between the centralized control plane and distributed routing protocols. In this thesis, we develop a centralized network control system, called Maestro, to solve the fundamental limitations of centralized network control plane. First we use Maestro as the central controller for a flow-based routing network, in which large number of requests are being sent to the controller at very high rate for processing. Such a network requires the central controller to be extremely scalable. Using Maestro, we systematically explore and study multiple design choices to optimally utilize modern multi-core processors, to fairly distribute computation resource, and to efficiently amortize unavoidable overhead. We show a Maestro design based on the abstraction that each individual thread services switches in a round-robin manner, can achieve excellent throughput scalability while maintaining far superior and near optimal max-min fairness. At the same time, low latency even at high throughput is achieved by Maestro's workload-adaptive request batching. Second, we use Maestro to achieve the coordination between centralized controls and distributed routing protocols in a network, to realize a hybrid control plane framework which is more responsive and robust than a pure centralized control plane, and more globally optimized and consistent than a pure distributed control plane. Effectively we get the advantages of both the centralized and the distributed solutions. Through experimental evaluations, we show that such coordination between the centralized controls and distributed routing protocols can improve the SLA compliance of the entire network.Item Maestro: Balancing Fairness, Latency and Throughput in the OpenFlow Control Plane(2011-12-20) Cai, Zheng; Cox, Alan L.; Ng, T. S. EugeneThe fundamental feature of an OpenFlow network is that the controller is responsible for the configuration of switches for every traffic flow. This feature brings programmability and flexibility, but also puts the controller in a critical role in the performance of an OpenFlow network. To fairly service requests from different switches, to achieve low request-handling latency, and to scale effectively on multi-core processors are fundamental controller design requirements. With these requirements in mind, we explore multiple workload distribution designs within our system called Maestro. These designs are evaluated against the requirements, together with the static partitioning and static batching design found in other available multi-threaded controllers, NOX and Beacon. We find that a Maestro design based on the abstraction that each individual thread services switches in a round-robin manner can achieve excellent throughput scalability (second only to another Maestro design) while maintaining far superior and near optimal maxim fairness. At the same time, low latency even at high throughput is achieved thanks to Maestro’s workload adaptive request batching.Item The Preliminary Design and Implementation of the Maestro Network Control Platform(2008-10-01) Cai, Zheng; Cox, Alan L.; Dinu, Florin; Ng, T. S. Eugene; Zheng, JieNetwork operation is inherently complex because it consists of many functions such as routing, firewalling, VPN provisioning, traffic load-balancing, network maintenance, etc. To cope with this, network designers have created modular components to handle each function. Un fortunately, in reality, unavoidable dependencies exist between some of the components and they may interact accidentally. At the same time, some policies are realized by compositions of different components, but the methods of composition are ad hoc and fragile. In other words, there is no single mechanism for systematically governing the interactions between the various components. To address these problems, we propose a clean-late system called Maestro. Maestro is an “operating system” that orchestrates the network control applications that govern the behavior of a network, and directly controls the underlying network devices. Maestro provides abstractions for the modular implementation of network control applications, and is the first system to address the fundamental problems originating from the concurrent operations of network control applications, namely communication between applications, scheduling of application executions, feedback management, concurrency management, and network state transition management. As the networking industry moves towards building directly controllable devices like the OpenFlow Switch, we believe Maestro can become a common platform.