Experimental Evaluation on Packet Processing Frameworks under Virtual Environments

Detalhes bibliográficos
Ano de defesa: 2021
Autor(a) principal: FREITAS, Eduardo Felipe Fonseca de
Orientador(a): SADOK, Djamel Fawzi Hadj
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal de Pernambuco
Programa de Pós-Graduação: Programa de Pos Graduacao em Ciencia da Computacao
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
XDP
Link de acesso: https://repositorio.ufpe.br/handle/123456789/42176
Resumo: O kernel Linux é um componente central das aplicações de rede, estando presente na maioria dos servidores em data centers. Com o tempo, à medida que servidores e placas de rede evoluíram para atender tecnologias de rede com demandas de alto throughput e baixa latência, o kernel tornou-se um gargalo, impedindo as aplicações de rede de utilizarem a capacidade máxima do hardware. Nesse cenário, diferentes frameworks de processamento de pacotes surgiram para solucionar esse gargalo. Os dois principais são o DPDK e XDP, com propostas diferentes para atingir altas taxas de processamento. DPDK adota o by- pass do kernel, excluindo-o do processamento e levando os pacotes para o user space. Já o XDP, por outro lado, processa os pacotes dentro do kernel, de forma antecipada comparada ao processamento padrão. Em conjunto com isso, o paradigma de computação em nuvem, atualmente disponível na maioria dos data centers, traz a virtualização como tecnologia fundamental. Com múltiplas aplicações e sistemas sendo executados no mesmo host, surge outro problema, o de competição de recursos. Assim, essa dissertação executa experimentos que buscam avaliar como a presença de um ambiente virtual de computação em nuvem pode interferir no desempenho de ambos DPDK e XDP. Os resultados mostram que embora o processamento “dentro do kernel” traga mais segurança e integração com sistema, essas exatas medidas de segurança causam perda de desempenho ao XDP. Além disso, o XDP também demonstra ser o mais afetado pela presença do ambiente virtual, considerando a taxa de throughput e também a perda de pacotes. Por outro lado, existe um dilema ao utilizar o XDP, que não somente é possível alcançar maior segurança, mas também em relação ao uso de recursos, já que o DPDK aloca um núcleo de CPU completo para utilizar no processamento de pacotes. Também, dependendo do processamento sendo feito pelo framework, como quando depende de uso intenso de CPU, o DPDK oferece uma perda considerável de desempenho do throughput.