A Place-as-you-go In-network Framework by Modular Decomposition for Flexible Embedding to Software/Hardware Co-design
| Ano de defesa: | 2022 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Tese |
| Tipo de acesso: | Acesso aberto |
| Idioma: | por |
| Instituição de defesa: |
Universidade Federal do Espírito Santo
BR Doutorado em Ciência da Computação Centro Tecnológico UFES Programa de Pós-Graduação em Informática |
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Palavras-chave em Português: | |
| Link de acesso: | http://repositorio.ufes.br/handle/10/16570 |
Resumo: | Cloud computing has become very popular as a computation platform, being part of people’s daily life. In order to deliver the cloud-required super-computing power, the network must play a crucial role by connecting hundreds of thousands of machines within data centres. However, with the rise of a new massive set of cloud-native and intensive applications (e.g. 5G, cloud robotics, deep learning, etc) combined with network function virtualisation (NFV), a significant strain has been placed on the processing capacity of server CPUs, demanding even higher performance and turning the network into a bottleneck. Typically, the network interface card (NIC) has been used to connect servers to the network. Although, smart network interface cards (SmartNICs) are becoming an increasingly popular method of offloading intensive packet processing tasks from servers, thus freeing CPU cycles to drive application performance. The critical challenge towards using a SmartNIC is how to make efficient use of these in-network heterogeneous computing resources, as there is a significant gap between application software and the computing capabilities of programmable devices. First, this device lacks generic programming models or abstractions, being usually programmed using low-level primitives or proprietary APIs. Second, the network developer needs to deal with the internal complexity of hardware resources, as well as manage the balance on offloading workloads, trying to find out the tradeoff between additional overheads and offloading benefits. It is needed to figure out how to co-design application logic between programmable network hardware and end-host servers within the edge computing paradigm. This thesis presents a novel framework for prototyping and deploying in-network applications. The framework is structured into a set of components that rely on i) application functional decomposition; ii) identification of logic blocks; iii) aggregation of overlapped functions merged and mapped on network functionalities in P4 language; iv) intercepting, interacting and forwarding with data structures for balancing the offloading of network flows. In order to demonstrate the principle of co-designing on diverse applications, Virtual Network Functions (VNFs) are created, and some of their functionally decomposed elements are deployed as small embedded Network Functions (eNFs) on in-network processors in sorted use cases, reviewing the framework components raised previously: decomposing network functions (i, ii, iii) and unifying components to fit into a set of VNFs/eNFs, examining latency, throughput and vCPU usage against their software implementation counterpart; intercepting and interacting with cloud robotics (iv), raising security concerns when using programmable data planes; evolving to security network functions running at in-network computing (i, ii, iii, iv), checking the overhead added by them; and modifying a PON upstream scheduler mechanism (iv), providing low latency requirements for applications. |
| id |
UFES_eac8cd1aae7d9494a74cc3396bd76cd1 |
|---|---|
| oai_identifier_str |
oai:repositorio.ufes.br:10/16570 |
| network_acronym_str |
UFES |
| network_name_str |
Repositório Institucional da Universidade Federal do Espírito Santo (riUfes) |
| repository_id_str |
|
| spelling |
A Place-as-you-go In-network Framework by Modular Decomposition for Flexible Embedding to Software/Hardware Co-designtitle.alternativeComputação em RedeCo-design de Hardware/SoftwareCo-design de Hardware e SoftwareVirtualização de Funções de RedeVirtualização de Funções de RedeComputação de BordaComputação de BordaParadigma 5GParadigma 5Gsubject.br-rjbnCiência da ComputaçãoCloud computing has become very popular as a computation platform, being part of people’s daily life. In order to deliver the cloud-required super-computing power, the network must play a crucial role by connecting hundreds of thousands of machines within data centres. However, with the rise of a new massive set of cloud-native and intensive applications (e.g. 5G, cloud robotics, deep learning, etc) combined with network function virtualisation (NFV), a significant strain has been placed on the processing capacity of server CPUs, demanding even higher performance and turning the network into a bottleneck. Typically, the network interface card (NIC) has been used to connect servers to the network. Although, smart network interface cards (SmartNICs) are becoming an increasingly popular method of offloading intensive packet processing tasks from servers, thus freeing CPU cycles to drive application performance. The critical challenge towards using a SmartNIC is how to make efficient use of these in-network heterogeneous computing resources, as there is a significant gap between application software and the computing capabilities of programmable devices. First, this device lacks generic programming models or abstractions, being usually programmed using low-level primitives or proprietary APIs. Second, the network developer needs to deal with the internal complexity of hardware resources, as well as manage the balance on offloading workloads, trying to find out the tradeoff between additional overheads and offloading benefits. It is needed to figure out how to co-design application logic between programmable network hardware and end-host servers within the edge computing paradigm. This thesis presents a novel framework for prototyping and deploying in-network applications. The framework is structured into a set of components that rely on i) application functional decomposition; ii) identification of logic blocks; iii) aggregation of overlapped functions merged and mapped on network functionalities in P4 language; iv) intercepting, interacting and forwarding with data structures for balancing the offloading of network flows. In order to demonstrate the principle of co-designing on diverse applications, Virtual Network Functions (VNFs) are created, and some of their functionally decomposed elements are deployed as small embedded Network Functions (eNFs) on in-network processors in sorted use cases, reviewing the framework components raised previously: decomposing network functions (i, ii, iii) and unifying components to fit into a set of VNFs/eNFs, examining latency, throughput and vCPU usage against their software implementation counterpart; intercepting and interacting with cloud robotics (iv), raising security concerns when using programmable data planes; evolving to security network functions running at in-network computing (i, ii, iii, iv), checking the overhead added by them; and modifying a PON upstream scheduler mechanism (iv), providing low latency requirements for applications.A computação em nuvem tornou-se muito popular como plataforma computacional, fazendo parte do cotidiano das pessoas. Para fornecer o poder de supercomputação exigido pela nuvem, a rede deve desempenhar um papel crucial ao conectar centenas de milhares de máquinas nos data centers. No entanto, com o surgimento de um novo conjunto maciço de aplicativos intensivos e nativos da nuvem (por exemplo, 5G, robótica em nuvem, aprendizado profundo, etc.) combinado com a virtualização de funções de rede (NFV), uma pressão significativa foi colocada sobre a capacidade de processamento das CPUs dos servidores, exigindo ainda mais alta performance e transformando a rede em um gargalo. Normalmente, a interface de rede (NIC) é usada para conectar servidores à rede. No entanto, as interface de rede inteligentes (SmartNICs) estão se tornando um método cada vez mais popular de descarregar tarefas intensivas de processamento de pacotes dos servidores, liberando ciclos da CPU e impulsionando o desempenho de aplicativos. O desafio chave para o uso de uma SmartNIC é como fazer uso eficiente desses recursos de computação heterogêneos na rede, pois há uma lacuna significativa entre o aplicativo e os recursos de computação dos dispositivos programáveis. Em primeiro lugar, este dispositivo carece de modelos genéricos de programação ou abstrações, sendo geralmente programado usando primitivas de baixo nível ou APIs proprietárias. Em segundo lugar, o desenvolvedor de rede precisa lidar com a complexidade interna dos recursos de hardware, bem como gerenciar o equilíbrio nas cargas de trabalho de descarregamento, tentando descobrir o balanço entre sobrecargas adicionais e benefícios do descarregamento. É necessário descobrir como co-projetar a lógica do aplicativo entre o hardware de rede programável e os servidores dentro do paradigma de computação de borda. Esta tese apresenta um novo arcabouço para prototipagem e implantação de aplicativos em rede. Ele é estruturado em um conjunto de componentes que dependem de i) decomposição funcional da aplicação; ii) identificação dos blocos lógicos; iii) agregação de funções sobrepostas mescladas e mapeadas em funcionalidades de rede em linguagem P4; iv) interceptar, interagir e encaminhar com estruturas de dados para balancear o descarregamento de fluxos de rede. A fim de demonstrar o princípio de co-design em várias aplicações, funções de rede virtual (VNFs) são criadas, e alguns de seus elementos funcionalmente decompostos são implantados como pequenas funções de rede incorporadas (eNFs) em processadores de rede em diversos casos de uso, revisando os componentes do arcabouço levantados anteriormente: decompondo funções de rede (i, ii, iii) e unificando componentes para se encaixarem em um conjunto de VNFs/eNFs, examinando latência, taxa de transferência e uso de vCPU em relação à sua contraparte implementada em software; interceptando e interagindo com robótica em nuvem (iv), abordando preocupações de segurança ao usar planos de dados programáveis; evoluindo para funções de rede seguras executadas em computação em rede (i, ii, iii, iv), verificando o overhead adicionado por elas; e modificando um mecanismo de escalonador upstream em PON (iv), fornecendo requisitos de baixa latência a aplicativos.Universidade Federal do Espírito SantoBRDoutorado em Ciência da ComputaçãoCentro TecnológicoUFESPrograma de Pós-Graduação em InformáticaMartinello, Magnoshttps://orcid.org/0000-0002-8111-1719http://lattes.cnpq.br/7471111924336519https://orcid.org/0000-0002-1513-9414http://lattes.cnpq.br/2470233635439757Mota, Vinicius Fernandes Soareshttps://orcid.org/0000-0002-8341-8183http://lattes.cnpq.br/9305955394665920Both, Cristiano Bonatohttps://orcid.org/0000-0002-9776-4888http://lattes.cnpq.br/2658002010026792Verdi, Fabio Lucianohttps://orcid.org/0000-0002-5455-8910http://lattes.cnpq.br/9143186843657940Giaccone, PaoloMafioletti, Diego Rossi2024-05-30T01:41:09Z2024-05-30T01:41:09Z2022-10-21info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisTextapplication/pdfhttp://repositorio.ufes.br/handle/10/16570porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da Universidade Federal do Espírito Santo (riUfes)instname:Universidade Federal do Espírito Santo (UFES)instacron:UFES2024-10-16T09:38:52Zoai:repositorio.ufes.br:10/16570Repositório InstitucionalPUBhttp://repositorio.ufes.br/oai/requestriufes@ufes.bropendoar:21082024-10-16T09:38:52Repositório Institucional da Universidade Federal do Espírito Santo (riUfes) - Universidade Federal do Espírito Santo (UFES)false |
| dc.title.none.fl_str_mv |
A Place-as-you-go In-network Framework by Modular Decomposition for Flexible Embedding to Software/Hardware Co-design title.alternative |
| title |
A Place-as-you-go In-network Framework by Modular Decomposition for Flexible Embedding to Software/Hardware Co-design |
| spellingShingle |
A Place-as-you-go In-network Framework by Modular Decomposition for Flexible Embedding to Software/Hardware Co-design Mafioletti, Diego Rossi Computação em Rede Co-design de Hardware/Software Co-design de Hardware e Software Virtualização de Funções de Rede Virtualização de Funções de Rede Computação de Borda Computação de Borda Paradigma 5G Paradigma 5G subject.br-rjbn Ciência da Computação |
| title_short |
A Place-as-you-go In-network Framework by Modular Decomposition for Flexible Embedding to Software/Hardware Co-design |
| title_full |
A Place-as-you-go In-network Framework by Modular Decomposition for Flexible Embedding to Software/Hardware Co-design |
| title_fullStr |
A Place-as-you-go In-network Framework by Modular Decomposition for Flexible Embedding to Software/Hardware Co-design |
| title_full_unstemmed |
A Place-as-you-go In-network Framework by Modular Decomposition for Flexible Embedding to Software/Hardware Co-design |
| title_sort |
A Place-as-you-go In-network Framework by Modular Decomposition for Flexible Embedding to Software/Hardware Co-design |
| author |
Mafioletti, Diego Rossi |
| author_facet |
Mafioletti, Diego Rossi |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
Martinello, Magnos https://orcid.org/0000-0002-8111-1719 http://lattes.cnpq.br/7471111924336519 https://orcid.org/0000-0002-1513-9414 http://lattes.cnpq.br/2470233635439757 Mota, Vinicius Fernandes Soares https://orcid.org/0000-0002-8341-8183 http://lattes.cnpq.br/9305955394665920 Both, Cristiano Bonato https://orcid.org/0000-0002-9776-4888 http://lattes.cnpq.br/2658002010026792 Verdi, Fabio Luciano https://orcid.org/0000-0002-5455-8910 http://lattes.cnpq.br/9143186843657940 Giaccone, Paolo |
| dc.contributor.author.fl_str_mv |
Mafioletti, Diego Rossi |
| dc.subject.por.fl_str_mv |
Computação em Rede Co-design de Hardware/Software Co-design de Hardware e Software Virtualização de Funções de Rede Virtualização de Funções de Rede Computação de Borda Computação de Borda Paradigma 5G Paradigma 5G subject.br-rjbn Ciência da Computação |
| topic |
Computação em Rede Co-design de Hardware/Software Co-design de Hardware e Software Virtualização de Funções de Rede Virtualização de Funções de Rede Computação de Borda Computação de Borda Paradigma 5G Paradigma 5G subject.br-rjbn Ciência da Computação |
| description |
Cloud computing has become very popular as a computation platform, being part of people’s daily life. In order to deliver the cloud-required super-computing power, the network must play a crucial role by connecting hundreds of thousands of machines within data centres. However, with the rise of a new massive set of cloud-native and intensive applications (e.g. 5G, cloud robotics, deep learning, etc) combined with network function virtualisation (NFV), a significant strain has been placed on the processing capacity of server CPUs, demanding even higher performance and turning the network into a bottleneck. Typically, the network interface card (NIC) has been used to connect servers to the network. Although, smart network interface cards (SmartNICs) are becoming an increasingly popular method of offloading intensive packet processing tasks from servers, thus freeing CPU cycles to drive application performance. The critical challenge towards using a SmartNIC is how to make efficient use of these in-network heterogeneous computing resources, as there is a significant gap between application software and the computing capabilities of programmable devices. First, this device lacks generic programming models or abstractions, being usually programmed using low-level primitives or proprietary APIs. Second, the network developer needs to deal with the internal complexity of hardware resources, as well as manage the balance on offloading workloads, trying to find out the tradeoff between additional overheads and offloading benefits. It is needed to figure out how to co-design application logic between programmable network hardware and end-host servers within the edge computing paradigm. This thesis presents a novel framework for prototyping and deploying in-network applications. The framework is structured into a set of components that rely on i) application functional decomposition; ii) identification of logic blocks; iii) aggregation of overlapped functions merged and mapped on network functionalities in P4 language; iv) intercepting, interacting and forwarding with data structures for balancing the offloading of network flows. In order to demonstrate the principle of co-designing on diverse applications, Virtual Network Functions (VNFs) are created, and some of their functionally decomposed elements are deployed as small embedded Network Functions (eNFs) on in-network processors in sorted use cases, reviewing the framework components raised previously: decomposing network functions (i, ii, iii) and unifying components to fit into a set of VNFs/eNFs, examining latency, throughput and vCPU usage against their software implementation counterpart; intercepting and interacting with cloud robotics (iv), raising security concerns when using programmable data planes; evolving to security network functions running at in-network computing (i, ii, iii, iv), checking the overhead added by them; and modifying a PON upstream scheduler mechanism (iv), providing low latency requirements for applications. |
| publishDate |
2022 |
| dc.date.none.fl_str_mv |
2022-10-21 2024-05-30T01:41:09Z 2024-05-30T01:41:09Z |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
| format |
doctoralThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
http://repositorio.ufes.br/handle/10/16570 |
| url |
http://repositorio.ufes.br/handle/10/16570 |
| dc.language.iso.fl_str_mv |
por |
| language |
por |
| dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
Text application/pdf |
| dc.publisher.none.fl_str_mv |
Universidade Federal do Espírito Santo BR Doutorado em Ciência da Computação Centro Tecnológico UFES Programa de Pós-Graduação em Informática |
| publisher.none.fl_str_mv |
Universidade Federal do Espírito Santo BR Doutorado em Ciência da Computação Centro Tecnológico UFES Programa de Pós-Graduação em Informática |
| dc.source.none.fl_str_mv |
reponame:Repositório Institucional da Universidade Federal do Espírito Santo (riUfes) instname:Universidade Federal do Espírito Santo (UFES) instacron:UFES |
| instname_str |
Universidade Federal do Espírito Santo (UFES) |
| instacron_str |
UFES |
| institution |
UFES |
| reponame_str |
Repositório Institucional da Universidade Federal do Espírito Santo (riUfes) |
| collection |
Repositório Institucional da Universidade Federal do Espírito Santo (riUfes) |
| repository.name.fl_str_mv |
Repositório Institucional da Universidade Federal do Espírito Santo (riUfes) - Universidade Federal do Espírito Santo (UFES) |
| repository.mail.fl_str_mv |
riufes@ufes.br |
| _version_ |
1834479100926885888 |