Title: | Estudo e implementação de estratégias para otimização de E/S em sistemas distribuídos de alta vazão, com foco em técnicas de Kernel-Bypass utilizando DPDK e mTCP |
Author: | Farias, Bernardo Schmidt |
Abstract: |
Na última década, os dispositivos físicos de E/S aceleraram sua velocidade de operação enquanto a performance dos processadores se manteve estagnada. Percebe-se uma tendência, principalmente em ambientes de intenso fluxo de dados como os datacenters, na qual estes dispositivos não são mais o grande gargalo de performance nas operações de E/S de sistemas distribuídos de alta vazão, mas sim o processamento de rede disponibilizado pelo sistema operacional no qual a aplicação está sendo executada. Tendo isso em vista, técnicas para desviar o processamento de dados do kernel do sistema operacional, chamadas de Kernel-Bypass, vêm conquistando interesse de pesquisadores e iniciativas privadas. Este tipo de estratégia almeja remover do kernel a responsabilidade de processamento de dados em rede, transferindo esta função para bibliotecas implementadas em espaço de usuário e/ou dispositivos físicos específicos para este fim. O presente trabalho apresenta um estudo sobre os principais gargalos do kernel Linux no processamento de E/S para sistemas distribuídos, e como as implementações de estratégias de Kernel-Bypass otimizam estes fluxos. Ao realizar a implementação de protótipos, utilizando em junção duas bibliotecas de Kernel-Bypass, foi possível avaliar o potencial deste tipo de estratégia quando comparado com o fluxo tradicional do kernel. Os resultados sugerem que as bibliotecas de Kernel-Bypass utilizadas conseguem extrair maior proveito do hardware disponibilizado em certos cenários quando comparadas com o kernel Linux. Entretanto, não são recomendadas para implementação de sistemas que não antecipam um fluxo intenso de troca de dados. Over the past decade, I/O devices have sped up while CPU performance has stagnated. There’s a trend, especially in high data throughput environments like datacenters, that these devices are no longer the main performance bottleneck of I/O operations in high throughput distributed systems, this position is now held by the network stack processing available in Operational Systems kernel. Bearing that in mind, the discussions about techniques that bypass the kernel in the datapath processing of applications, called Kernel- Bypass techniques, are gaining more attention from researchers and companies. This kind of strategy aims to remove from the kernel the responsibility of network processing, offloading this task to libraries implemented in user space and/or hardware specific for this kind of processing. This work offers a study about the main bottlenecks in I/O processing for distributed systems made by the Linux kernel, and how the Kernel-Bypass approach optimizes these flows. In order to validate these strategies, test applications were implemented using two Kernel-Bypass libraries and its performance was compared with the linux Kernel. The results suggests that the Kernel-Bypass libraries used are able to better utilize the given hardware in some scenarios than the Linux kernel network stack. However, they’re not recommended for developing systems that do not anticipate intense data flow. |
Description: | TCC (graduação) - Universidade Federal de Santa Catarina, Centro Tecnológico, Ciências da Computação. |
URI: | https://repositorio.ufsc.br/handle/123456789/253367 |
Date: | 2023-12-07 |
Files | Size | Format | View |
---|---|---|---|
TCC.pdf | 1.180Mb |
View/ |