openflow controllers l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
OpenFlow Controllers PowerPoint Presentation
Download Presentation
OpenFlow Controllers

Loading in 2 Seconds...

play fullscreen
1 / 13

OpenFlow Controllers - PowerPoint PPT Presentation


  • 362 Views
  • Uploaded on

OpenFlow Controllers. Marcelo Pinheiro September 23rd, 2011. Agenda. OpenFlow Components OpenFlow Controllers OpenFlow software switch Options. OpenFlow Components. Reference : http://www.openflow.org/wp/openflow-components/. OpenFlow Controllers. * Based on Beacon

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'OpenFlow Controllers' - bowen


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
openflow controllers

OpenFlowControllers

Marcelo Pinheiro

September 23rd, 2011

agenda
Agenda
  • OpenFlowComponents
  • OpenFlowControllers
  • OpenFlow software switch Options
openflow components
OpenFlowComponents

Reference: http://www.openflow.org/wp/openflow-components/

openflow controllers4
OpenFlowControllers
  • * BasedonBeacon
  • ** Basedon NOX 0.4
  • AllcontrollerssupportOpenFlow 1.0
openflow controllers performance
OpenFlowControllers Performance

TEST SETUP – May 17th, 2011

  • CPU: 1 x Intel Core i7 930 @ 3.33ghz, 4 physical cores, 8 threads
  • RAM: 9GB
  • OS: Ubuntu 10.04.1 LTS x86_64
    • Kernel: 2.6.32-24-generic #43-Ubuntu SMP ThuSep 16 14:58:24 UTC 2010 x86_64 GNU/Linux
    • BoostLibrary: v1.42 (libboost-all-dev)
    • malloc: Google'sThread-CachingMalloc version 0.98-1
    • Java: Sun Java 1.6.0_25
  • Test methodology
    • cbenchis run locally via loopback, the 4th thread's performance is slightly impacted
    • cbench emulates 32 switches, sending packet-ins from 1 million source MACs per switch
    • 10 loops of 10 seconds each are run 3 times and averaged per thread/switch combination
    • tcmalloc loaded first export LD_PRELOAD=/usr/lib/libtcmalloc_minimal.so.0
    • Launched with taskset -c 7 ./cbench -c localhost -p 6633 -m 10000 -l 10 -s 32 -M 1000000 -t
openflow controllers performance7
OpenFlowControllers Performance

TEST SETUP – May 1st, 2011

  • Machines: 2 x Dell PowerEdge 2950 (1 for controller, 1 for benchmarkerandpacketcapturing)CPU: 2 x Intel(R) Xeon(R) CPU E5405 (4 Cores, 12M Cache, 2.00 GHz, 1333 MHz FSB)
  • RAM: 4GB
  • Network: 2 x Gigabitports (tg3 driver)
    • Buffer sizes: TODO
    • TCP setting:
  • OS: DebianSqueeze 32-bit
    • Kernel: 2.6.32-5-686-bigmem
    • BoostLibrary: v1.42 (libboost-all-dev)
    • malloc: Google'sThread-CachingMalloc (libgoogle-perftools-dev)
    • Java: Sun Java 1.6.0_24 (sun-java6-jdk)
  • Connectivity: machines are connected via 2 directly attached gigabit links. Directly connected interfaces have IP addresses in the same broadcast domain. The second connection is used to run a second instance of the benchmarker software in case more bandwidth is needed for the test.
openflow controllers performance8
OpenFlowControllers Performance
  • Controller configuration:
    • nox: must be configured with "--enable-ndebug" passed to the configure script.
    • nox_d: must be configured with "--enable-ndebug --with-python=no" passed to the configure script.
    • beacon: see beacon.ini
    • maestro: see conf/openflow.conf
  • Control application used: Layer-2 learning switch application. The switch application is a good representative of the controller flow handling performance with tunable read/write ratio (number of unique MAC addresses).
  • Running controllers: Turn off debugging and verbose output.
    • nox: ./nox_core -i ptcp:6633 switch
    • nox_d: ./nox_core -i ptcp:6633 switch -t $NTHREADS
    • beacon: ./beacon
    • maestro: ./runbackground.pl conf/openflow.conf conf/learningswitch.dag
  • Setting CPU affinity for controllers: The following script binds the running threads of a controller to different CPUs (on an 8-core system). Just replace $CTRLNAME with a unique part of controller's binary name (e.g., nox for nox and nox_d). (maestro's runbackground already sets cpu affinity).
  • Running the benchmarker:
    • Get the latest version of oflops and compile it.
    • Run with cbench -c $ctrladdr -p $port -s $nswitch -m $duration -l $loop -t where $ctrladdr and $port are controller IP address and port number respectively, $nswitch is the number of emulated switches, $duration is the duration of test, and $loop is the number of times to repeat the test. The -t option is for running the throughput test: omit it for the latency test.
openflow software switch options
OpenFlow software switch Options
  • Reference Linux Switch: This implementation runs on the widest variety of systems and is easy to port. It is also the slowest, as it cannot take advantage of multiple CPUs and requires kernel-to-user-space transitions. It supports as many ports as you can fit in a PC (8+), including wired and wireless ports. Select platform for further instructions:
  • NetFPGA Switch: This switch offers line-rate performance for 4 Gigabit ports, regardless of packet size, via hardware acceleration. It requires the purchase of a NetFPGA card, which is $500 for researchers and $1000 for industry. More NetFPGA details are available at www.netfpga.org.
  • Open vSwitch: Open vSwitch is a multilayer virtual switch, licensed under the open source Apache 2 license, with OpenFlow support. Open vSwitch currently supports multiple virtualization technologies including Xen/XenServer, KVM, and VirtualBox.
  • OpenWRT: By porting OpenFlow support to OpenWrt, we convert a cheap commercial wireless router and access point into an OpenFlow-enabled switch with a WebUI and a CLI.
  • NetMagic – The platform is designed with a novel patented architecture, where a common high-density Field Programmable Gate Array (FPGA) device with a combination of commodity Ethernet switching chip can provide the both the high-speed Gigabit Ethernet switching capacity and reconfigurable user-defined packet handling function.
references
References
  • OpenFlow – http://www.openflow.org/
  • NOX - http://noxrepo.org/wp/
  • Beacon - https://openflow.stanford.edu/display/Beacon/Home
  • Maestro - http://code.google.com/p/maestro-platform/
  • Trema - http://trema.github.com/trema/
  • SNAC - http://www.openflow.org/wp/snac/
  • Big Switch – http://www.bigswitch.com/
  • SNAC - http://snacsource.org
  • NetMagic – http://www.netmagic.org/