5 research outputs found
Coretic : nouvelle écriture des règles pour améliorer l'isolation et la composition en SDN
SDN (Software Defined Networking) est une nouvelle architecture réseau qui permet d’apporter une solution à la complexité des tâches des équipements réseaux. Cette architecture permet de séparer le plan de données, chargé d’acheminer les données, du plan de contrôle qui fournit les règles de gestion des flux. Au-dessus du plan de contrôle, s’ajoute le plan de gestion qui permet d’envoyer des instructions au plan de données en utilisant un langage évolué. Les travaux de recherche apportent des solutions pour permettre l’isolation des trafics, la composition des plans de contrôle et pour la gestion des flux au niveau du plan de gestion en SDN. Les solutions actuelles d’isolation et de composition présentent des techniques de gestion des entrées de flux ayant des faiblesses. Certaines utilisent des informations de la couche 2 du modèle OSI (Open System Interconnection) (Ahmed, Mohamed Fekih. 2015). Effectuer l’isolation en se servant des informations de la couche 2 entraîne une génération de plusieurs entrées dans les tables de flux, ce qui affecte les performances. D’autres solutions utilisent une seule table de flux pour insérer les règles de plusieurs contrôleurs (Jin, Xin. 2015). Ceci entraîne une cohésion faible des tables concernées. Un couplage élevé est aussi constaté par l’utilisation de plusieurs tables reliées entre elles (Dixit, A. 2014). Quant aux solutions au niveau du plan de gestion, elles ne permettent pas à plusieurs plateformes de programmation de haut niveau d’utiliser un contrôleur commun.
Dans ce travail de maîtrise, il est proposé Coretic qui vise à améliorer l’écriture des règles dans le plan de données pour l’isolation et la composition. Étant donné que le rôle du plan de contrôle est confié au plan de gestion utilisant les plateformes de programmation de haut niveau, ce travail propose une solution permettant d’isoler le trafic des plans de gestion en utilisant un contrôleur commun. Coretic pour atteindre ses objectifs se sert des informations de la couche 3 du modèle OSI et de plusieurs tables de flux. Des tests de performance ont permis de montrer que Coretic offre de meilleures performances dans l’isolation et la composition. La solution d’hypervision des plans de gestions ne crée pas une degradation importante des performances. Coretic à la suite des tests effectués apporte les contributions suivantes :
• Apport d’une nouvelle approche d’isolation et de composition de plans de contrôles basée sur l’utilisation de tables multiples et de l’utilisation d’adresses IP de la couche 3.
• Apport d’une solution d’hypervision des plans de gestion.
Ces contributions permettent d’améliorer les performances dans le plan de données. La cohésion des tables de flux est renforcée, car ces tables reçoivent chacune des politiques bien précises. Le couplage devient faible aussi, car Coretic laisse les tables traiter les flux en toute indépendance. Avec Coretic, il est possible d’utiliser qu’un seul contrôleur pour isoler le traffic de plusieurs plans de gestion
A Novel Placement Algorithm for the Controllers Of the Virtual Networks (COVN) in SD-WAN with Multiple VNs
The escalation of communication demands and the emergence of new telecommunication concepts such as 5G cellular system and smart cities requires the consolidation of a flexible and manageable backbone network. These requirements motivated the researcher to come up with a new placement algorithm for the Controller of Virtual Network (COVN). This is because SDN and network virtualisation techniques (NFV and NV), are integrated to produce multiple virtual networks running on a single SD-WAN infrastructure, which serves the new backbone. One of the significant challenges of SD-WAN is determining the number and the locations of its controllers to optimise the network latency and reliability. This problem is fairly investigated and solved by several controller placement algorithms where the focus is only on physical controllers. The advent of the sliced SD-WAN produces a new challenge, which necessitates the SDWAN controllers (physical controller/hosted server) to run multiple instances of controllers (virtual controllers). Every virtual network is managed by its virtual controllers. This calls for an algorithm to determine the number and the positions of physical and virtual controllers of the multiple virtual SD-WANs. According to the literature review and to the best of the author knowledge, this problem is neither examined nor yet solved. To address this issue, the researcher designed a novel COVN placement algorithm to compute the controller placement of the physical controllers, then calculate the controller placement of every virtual SD-WAN independently, taking into consideration the controller placement of other virtual SD-WANs. COVN placement does not partition the SD-WAN when placing the physical controllers, unlike all previous placement algorithms. Instead, it identifies the nodes of the optimal reliability and latency to all switches of the network. Then, it partitions every VN separately to create its independent controller placement. COVN placement optimises the reliability and the latency according to the desired weights. It also maintains the load balancing and the optimal resources utilisation. Moreover, it supports the recovering of the controller failure. This novel algorithm is intensively evaluated using the produced COVN simulator and the developed Mininet emulator. The results indicate that COVN placement achieves the required optimisations mentioned above. Also, the implementations disclose that COVN placement can compute the controller placement for a large network ( 754 switches) in very small computation time (49.53 s). In addition, COVN placement is compared to POCO algorithm. The outcome reveals that COVN placement provides better reliability in about 30.76% and a bit higher latency in about 1.38%. Further, it surpasses POCO by constructing the balanced clusters according to the switch loads and offering the more efficient placement to recover controller-failure
Communication patterns abstractions for programming SDN to optimize high-performance computing applications
Orientador : Luis Carlos Erpen de BonaCoorientadores : Magnos Martinello; Marcos Didonet Del FabroTese (doutorado) - Universidade Federal do Paraná, Setor de CiĂŞncias Exatas, Programa de PĂłs-Graduação em Informática. Defesa: Curitiba, 04/09/2017Inclui referĂŞncias : f. 95-113Resumo: A evolução da computação e das redes permitiu que mĂşltiplos computadores fossem interconectados, agregando seus poderes de processamento para formar uma computação de alto desempenho (HPC). As aplicações que sĂŁo executadas nesses ambientes processam enormes quantidades de informação, podendo levar várias horas ou atĂ© dias para completar suas execuções, motivando pesquisadores de varias áreas computacionais a estudar diferentes maneiras para acelerá-las. Durante o processamento, essas aplicações trocam grandes quantidades de dados entre os computadores, fazendo que a rede se torne um gargalo. A rede era considerada um recurso estático, nĂŁo permitindo modificações dinâmicas para otimizar seus links ou dispositivos. PorĂ©m, as redes definidas por software (SDN) emergiram como um novo paradigma, permitindoa ser reprogramada de acordo com os requisitos dos usuários. SDN já foi usado para otimizar a rede para aplicações HPC especĂficas mas nenhum trabalho tira proveito dos padrões de comunicação expressos por elas. EntĂŁo, o principal objetivo desta tese Ă© pesquisar como esses padrões podem ser usados para ajustar a rede, criando novas abstrações para programá-la, visando acelerar as aplicações HPC. Para atingir esse objetivo, nĂłs primeiramente pesquisamos todos os nĂveis de programabilidade do SDN. Este estudo resultou na nossa primeira contribuição, a criação de uma taxonomia para agrupar as abstrações de alto nĂvel oferecidas pelas linguagens de programação SDN. Em seguida, nĂłs investigamos os padrões de comunicação das aplicações HPC, observando seus comportamentos espaciais e temporais atravĂ©s da análise de suas matrizes de tráfego (TMs). ConcluĂmos que as TMs podem representar as comunicações, alĂ©m disso, percebemos que as aplicações tendem a transmitir as mesmas quantidades de dados entre os mesmos nĂłs computacionais. A segunda contribuição desta tese Ă© o desenvolvimento de um framework que permite evitar os fatores da rede que podem degradar o desempenho das aplicações, tais como, sobrecarga imposta pela topologia, o desbalanceamento na utilização dos links e problemas introduzidos pela programabilidade do SDN. O framework disponibiliza uma API e mantĂ©m uma base de dados de TMs, uma para cada padrĂŁo de comunicação, anotadas com restrições de largura de banda e latĂŞncia. Essas informações sĂŁo usadas para reprogramar os dispositivos da rede, alocando uniformemente as comunicações nos caminhos da rede. Essa abordagem reduziu o tempo de execução de benchmarks e aplicações reais em atĂ© 26.5%. Para evitar que o cĂłdigo da aplicação fosse modificado, como terceira contribuição, desenvolvemos um mĂ©todo para identificar automaticamente os padrões de comunicação. Esse mĂ©todo gera texturas visuais di_erentes para cada TM e, atravĂ©s de tĂ©cnicas de aprendizagem de máquina (ML), identifica as aplicações que estĂŁo usando a rede. Em nossos experimentos, o mĂ©todo conseguiu uma taxa de acerto superior a 98%. Finalmente, nĂłs incorporamos esse mĂ©todo ao framework, criando uma abstração que permite programar a rede sem a necessidade de alterar as aplicações HPC, diminuindo em mĂ©dia 15.8% seus tempos de execução. Palavras-chave: Redes Definidas por Software, Padrões de Comunicação, Aplicações HPC.Abstract: The evolution of computing and networking allowed multiple computers to be interconnected, aggregating their processing powers to form a high-performance computing (HPC). Applications that run in these computational environments process huge amounts of information, taking several hours or even days to complete their executions, motivating researchers from various computational fields to study different ways for accelerating them. During the processing, these applications exchange large amounts of data among the computers, causing the network to become a bottleneck. The network was considered a static resource, not allowing dynamic adjustments for optimizing its links or devices. However, Software-Defined Networking (SDN) emerged as a new paradigm, allowing the network to be reprogrammed according to users' requirements. SDN has already been used to optimize the network for specific HPC applications, but no existing work takes advantage of the communication patterns expressed by those applications. So, the main objective of this thesis is to research how these patterns can be used for tuning the network, creating new abstractions for programming it, aiming to speed up HPC applications. To achieve this goal, we first surveyed all SDN programmability levels. This study resulted in our first contribution, the creation of a taxonomy for grouping the high-level abstractions offered by SDN programming languages. Next, we investigated the communication patterns of HPC applications, observing their spatial and temporal behaviors by analyzing their traffic matrices (TMs). We conclude that TMs can represent the communications, furthermore, we realize that the applications tend to transmit the same amount of data among the same computational nodes. The second contribution of this thesis is the development of a framework for avoiding the network factors that can degrade the performance of applications, such as topology overhead, unbalanced links, and issues introduced by the SDN programmability. The framework provides an API and maintains a database of TMs, one for each communication pattern, annotated with bandwidth and latency constraints. This information is used to reprogram network devices, evenly placing the communications on the network paths. This approach reduced the execution time of benchmarks and real applications up to 26.5%. To prevent the application's source code to be modified, as a third contribution of our work, we developed a method to automatically identify the communication patterns. This method generates different visual textures for each TM and, through machine learning (ML) techniques, identifies the applications using the network. In our experiments the method succeeded with an accuracy rate over 98%. Finally, we incorporate this method into the framework, creating an abstraction that allows programming the network without changing the HPC applications, reducing on average 15.8% their execution times. Keywords: Software-Defined Networking, Communication Patterns, HPC Applications