O documento descreve um projeto para evoluir a infraestrutura de experimentação do FIBRE utilizando virtualização e equipamentos whitebox de baixo custo. O objetivo é permitir a criação de switches virtuais sob demanda e melhorar o desempenho usando DPDK, removendo a dependência do FlowVisor. Os resultados iniciais mostraram melhorias no throughput e latência após tunning no OVS, porém a latência ainda precisa ser reduzida. Trabalhos futuros incluem testes com portas de 10Gbps e novas funcionalidades no OVS
Route flow autoconf demo 2nd sdn world congress 2013
Projeto de Elasticidade e Evolução do Projeto FIBRE
1. FIBRE - Projeto de Elasticidade e
Evolução do Plano de Dados da
Infraestrutura de Experimentação
do FIBRE
Fernando Farias - UFPA
Marcos Schwarz - RNP
Campinas, Novembro 2016
9. Motivação
9
• Adaptar novas novas opções de protocolos
ao experimentador:
• Suporte a Openflow 1.3
• Switches em Containers
• Topologias Virtuais
• Alocação de Recurso
• Monitoramento
• Etc...
11. Objetivo
11
• O objetivo original do projeto era criar uma
nova forma de virtualização independente da
utilização do flowvisor:
• Utilizar Whitebox para criar datapaths virtual sob-
demanda.
• Usar DPDK para aperfeiçoar e acelerar o
processamento de pacotes
• Gerenciar o OpenVSwitch para criar instâncias
virtuais do datapath e oferecê-las ao
experimentador
• Viabilizar o uso do OpenFlow 1.3 em
experimentos
13. Solução Inicial
13
• A solução adotada muda a visão de slice criado pelo
flowvisor.
• Também remove a camada central responsável por
gerenciar e controlar os slices criados
• Nesta solução adotamos a ideia elasticidade para
switches, ou seja, habilita-se switches lógicos sob-
demanda de acordo com a necessidade do
experimentador
• Neste switch lógico é possível habilitar qualquer
versão do OpenFlow, tanto individual quanto
simultâneos
16. Equipamentos
16
• Server U L800
Processador: Intel® Atom C2758 "Rangeley" 8x2.41Ghz (Octa Core) Embeddedc/ suporte AES-NI
Chipset: Intel® "Rangeley", suporte a virtualização VT-x;
Memória: 1x 8GB DDR3 on 240P DIMM socket (expansível até 16GB em 2x240P DDR3 DIMM)
Interfaces de Rede: 6x Intel Gigabit, sendo 2xIntel i210AT e 4xIntel 88E1543 (igb(4), netmap ready)
Recursos de Rede: Todos os 3 segmentos c/ bypass, WDT, RTC, MSI-X, CPU Affinity até 8 threads
E/S Físico: Pad de 4 teclas & Display LCM de 2 linhas (scriptáveis sim!)
Alimentação: 110/220Vac ou (opcional) 36Vdc, 48Vdc,72Vdc
Consumo: 40W
17. Equipamentos
17
• Supermicro 5018A -TN7B
Processador: Intel® Atom C2758 "Rangeley" 8x2.41Ghz (Octa Core) Embeddedc/ suporte AES-NI
Chipset: Intel® "Rangeley", suporte a virtualização VT-x;
Memória: 4x 240-pin DDR3 UDIMM slots Supports up to 64GB DDR3 ECC or non-ECC memory
Interfaces de Rede: Quad GbE LAN w/ Intel C2000 SoC i354 - 2 pairs LAN bypass, Single GbE LAN w/ Intel i210-
AT,Dual GbE LAN w/ Intel Ethernet controller i350-AM2- 1 pair LAN bypass
Recursos de Rede: Todos os 3 segmentos c/ bypass, WDT, RTC, MSI-X, CPU Affinity até 8 threads
E/S Físico: -
Alimentação: 110/220Vac ou (opcional) 36Vdc, 48Vdc,72Vdc
Consumo: 200W Low Noise AC-DC power supply with PFC
23. Resultados parciais
24
• Por outro lado, o gráfico da latência permitiu
observar a quantidade necessária de processadores
para se manter um limite estável da latência, que
ficou nos valores entre 3000 a 4000 us
(microsegundos).
• Por fim, no gráfico da perda de pacote, observou que
a quantidade de processadores utilizada na afinidade
influência na perda de pacote, ou seja, a quantidade
processadores não pode ser o valor mínimo (1 Core)
e nem o valor máximo (8 Cores).
• Sendo o valor mínimo o mais problemático
24. Resultados parciais
23
• No Throughput observa-se que para pacote de 64
bytes de payload. Há uma limitação no
processamento
• Porém para pacote maiores que 64 bytes, a solução
consegue transmitir a line rate.
• No entanto, o comportamento da latência se mostra
preocupante, pois dependendo da quantidade de
processadores usados na afinidade (Processador <-
> Interface de rede), quase atinge o threshold de 10
ms.
26. Tunning
26
• Durante os testes do protótipo 1.0 observou-
se que quando se cria a afinidade
(processador <> interface) no DPDK o
processador, ele não fica totalmente a
interface DPDK.
• Observou que isso influenciou o desempenho
do OpenVSwitch.