16 Oct 2015

Corybantic: Towards the Modular Composition of SDN Control Programs

http://dl.acm.org/citation.cfm?id=2535795

problem
multiple controller functions may be competing for resources (e.g., link bandwidth or switch table slots).
Corybantic design
supports modular composition of independent controller modules, which manage different aspects of the network while competing for resources. module tries to optimize one or more objective functions; coordinate between these modules to maximize the overall value delivered.

We contrast our work with Frenetic [8, 9] and Pyretic [18]: both systems support composition of modules by resolving conflicts over specific OpenFlow rules. Corybantic supports composition of modules that might conflict over higherlevel policies and objectives. In other words, Frenetic, Pyretic, and all the prior work that we know of, aims at better ways to get the network to do what you want it to do; Corybantic, in contrast, is aimed at deciding what you want it to do. As a consequence, Corybantic operates at a higher layer of the controller stack, and is mostly complementary to prior work.

Corybantic sidesteps the constrained multi-objective optimization problem
converts a multi-objective problem into a single-objective problem by expressing objectives in a common currency
heuristics

2 context

Per module policies and objectives

Examples of controller modules