OpenStack Networking Plugins: Optimizing Performance

Project logistics

Preferred past experience

Project Overview:

Background:
Software based networking infrastructure is a major component of cloud infrastructure along with cloud compute and storage infrastructure.    Some cloud networking use cases/workloads such as cryptography, deep packet inspection (DPI) and delay sensitive traffic transmission (such as video and financial data) require high performance networking.   Intuitively, hardware based networking engines seem better suited to solve these use cases.  Gathering quantitative data on software and hardware networking performance in these use cases will provide valuable insight on solutions.  Tradeoffs of flexibility, cost and performance will be reviewed  and documented.  Based on this analysis, scheduling algorithms can be developed to use software or hardware based networking solutions for specific workloads/use cases.

Project Specifics:
OpenStack provides cloud based networking services (layer 3 networking services includes NAT, static routing etc.).  Some OpenStack use cases require highly performant networking services.  Therefore Cisco and other vendors have provided OpenStack plugin support (i.e., OpenStack extensions) to offload networking services to specialized networking hardware.  There is little independent data analyzing and comparing the performance of the reference OpenStack networking implementation versus these networking plugins.  In this project you will test and compare the reference OpenStack solution with the Cisco plugin solution.   By analyzing the results you will create a set of recommendations for workloads that require specialized processing support and may implement a scheduler to implement these recommendations. 

Short project intro video: https://www.youtube.com/watch?v=uPMrOnTrF0g

Cisco Cloud CTO, Lew Tucker cloud computing overview: https://www.youtube.com/watch?v=olnLpuUDZv8

Cisco OpenStack Router Overview: https://www.youtube.com/watch?v=MtCRx8F52kc

Some Technologies you will learn/use: