TSoR : Un nouvel avantage pour le réseau cloud
TSoR améliore la performance des réseaux pour les applications conteneurisées en utilisant RDMA.
― 9 min lire
Table des matières
- Problèmes avec RDMA dans les Conteneurs
- TCP Socket over RDMA (TSoR)
- Évaluation de TSoR
- Le Rôle des Conteneurs
- Comprendre RDMA
- Défis avec les Solutions Existantes
- Caractéristiques de TSoR
- Architecture de TSoR
- Processus de Transmission des Données
- Intégration Kubernetes et Modèle de Réseautage
- Évaluation de Performance de TSoR
- Tests d'Application dans le Monde Réel
- Travaux Futurs et Développements
- Conclusion
- Source originale
- Liens de référence
Les applications cloud-native ont souvent besoin de moyens rapides et efficaces pour communiquer sur les réseaux. Une méthode prometteuse est l'utilisation de RDMA (Remote Direct Memory Access), qui peut offrir des vitesses plus élevées et des délais plus courts par rapport aux méthodes réseau traditionnelles. Cependant, il y a quelques problèmes à résoudre lors de l'utilisation de RDMA avec des applications conteneurisées.
Problèmes avec RDMA dans les Conteneurs
Pas de Changements de Code : Les développeurs ne veulent généralement pas modifier leurs applications juste pour qu'elles fonctionnent mieux avec un nouveau réseau. Beaucoup d'applications utilisent déjà des sockets standards pour la communication, et les changements peuvent être trop difficiles ou longs.
Intégration avec les Outils de Gestion : Les outils qui aident à gérer les conteneurs, comme Kubernetes, doivent fonctionner sans problème avec les nouvelles méthodes de réseau. Si la nouvelle méthode n'est pas compatible, cela ajoute des efforts supplémentaires pour configurer et exécuter les applications.
Utilisation des Performances : Pour profiter pleinement des vitesses RDMA, il est important de concevoir un réseau qui puisse exploiter le potentiel de RDMA sans créer de goulets d'étranglement.
TCP Socket over RDMA (TSoR)
Pour relever ces défis, une nouvelle solution réseau appelée TSoR est proposée. TSoR crée une connexion entre les communications traditionnelles via TCP et les réseaux RDMA tout en gardant tout simple pour les développeurs.
Comment TSoR Fonctionne
TSoR permet aux applications existantes de communiquer via RDMA sans nécessiter de changements de code. Il s'intègre avec les runtimes de conteneurs et les outils d'orchestration comme Kubernetes, ce qui le rend facile à utiliser. TSoR construit également une pile réseau spéciale pour transférer les communications TCP efficacement via RDMA.
Évaluation de TSoR
TSoR a été testé avec plusieurs applications populaires comme Redis et Node.js pour mesurer sa performance par rapport aux réseaux de conteneurs traditionnels. Les résultats ont montré que TSoR offrait des taux de Transfert de données beaucoup plus élevés et réduisait les délais, permettant aux applications de fonctionner nettement plus vite sans nécessiter de changements dans leur code.
Avantages Clés
- Accélération Transparente : Les applications peuvent bénéficier du réseau RDMA sans avoir à changer leur fonctionnement.
- Intégration Facile : Compatible avec Kubernetes et d'autres outils de gestion de conteneurs, facilitant l'adoption par les utilisateurs.
- Haute Performance : Capable d'augmenter considérablement le débit de données et de réduire la latence pour les applications conteneurisées.
Le Rôle des Conteneurs
Les conteneurs sont les unités de base des applications cloud-native. Ils offrent de nombreux avantages, comme la facilité de mouvement entre différentes plateformes, l'efficacité dans l'utilisation des ressources et une meilleure gestion des pannes. Avec les systèmes d'orchestration de conteneurs, ces conteneurs peuvent être automatisés pour le déploiement, le dimensionnement et le réseautage.
L'Importance du Réseautage dans les Conteneurs
Le réseautage est essentiel pour le bon fonctionnement des orchestrations de conteneurs. Il aide les conteneurs à communiquer entre eux et permet une intégration fluide avec divers services. Les solutions de réseautage de conteneurs populaires utilisent des protocoles TCP/IP standards ; cependant, elles peuvent introduire des limitations de performance en raison de la surcharge supplémentaire.
Comprendre RDMA
RDMA permet à une application d'accéder directement à la mémoire d'une autre application sur une machine différente, sans interrompre le CPU des deux machines. Cela donne lieu à des délais beaucoup plus bas et des vitesses plus élevées par rapport aux méthodes de réseautage traditionnelles. RDMA est de plus en plus utilisé dans des contextes nécessitant un traitement de données intensif, comme le machine learning et le calcul haute performance.
Défis avec les Solutions Existantes
De nombreuses solutions existantes pour transférer le trafic TCP sur les réseaux RDMA ne répondent pas à tous les besoins des environnements conteneurisés modernes. Bien que certaines solutions aident à intercepter le trafic TCP, elles échouent souvent à bien s'intégrer avec les systèmes d'orchestration comme Kubernetes.
Caractéristiques de TSoR
TSoR offre plusieurs caractéristiques importantes :
Support des Sockets POSIX : TSoR supporte l'interface de socket POSIX standard, permettant ainsi aux applications de communiquer sur le réseau RDMA sans modifications.
Intégration Kubernetes : TSoR se conforme au modèle de réseautage de Kubernetes. Cela signifie qu'il peut facilement s'adapter aux infrastructures existantes et utiliser les capacités intégrées de Kubernetes.
Transfert de Données Haute Performance : La conception de TSoR permet d'exploiter efficacement le potentiel de RDMA pour une communication réseau rapide et réactive.
Architecture de TSoR
L'architecture de TSoR implique différents composants travaillant ensemble :
Service TSoR : C'est la partie principale qui gère la communication entre les applications conteneurisées s'exécutant sur différents nœuds et les réseaux RDMA.
Client TSoR : Chaque conteneur ou passerelle dans le cluster TSoR a un client qui interagit avec le service TSoR pour les transferts de données.
Passerelle TSoR : La passerelle connecte le trafic interne du réseau RDMA au trafic TCP externe, permettant aux conteneurs d'interagir avec des services en dehors de leur réseau.
Détails du Service TSoR
Le service TSoR gère plusieurs tâches :
Gestion des Clients : Suit les clients et gère leur communication.
Gestion des Connexions : Met en place et gère les connexions RDMA entre différents nœuds.
Traitement des Transferts de Données : Gère l'envoi et la réception du trafic de données sur le réseau RDMA.
Étapes pour Établir des Connexions
Lorsqu'un nouveau nœud rejoint le système TSoR, les étapes suivantes se produisent pour établir des connexions :
Initiation du Serveur TCP : Le service démarre un serveur TCP pour écouter les connexions entrantes des nouveaux nœuds.
Demande de Connexion : Le nouveau nœud contacte les nœuds existants pour établir des connexions.
Configuration de Connexion RDMA : Les nœuds échangent des informations pour établir des connexions RDMA.
Processus de Transmission des Données
La transmission de données via TSoR implique plusieurs étapes :
- L'application envoie une demande de données au client TSoR.
- Le client place la demande dans une file d'attente pour traitement.
- Le service TSoR récupère la demande et envoie les données via RDMA.
- Le service notifie le client une fois que les données sont prêtes à être traitées.
- Le client récupère les données pour l'application.
Optimisations dans la Transmission de Données
Pour améliorer l'efficacité, plusieurs optimisations ont été apportées :
Pipelining : Cela permet d'envoyer et de recevoir des données simultanément, augmentant ainsi le débit global.
Coalescence de Signaux : Réduit la communication inutile entre les clients et les services lors du transfert de données.
Idle Sleep : Cela minimise l'utilisation du CPU pendant les périodes d'attente en mettant le service en mode veille jusqu'à ce qu'il soit notifié de nouvelles demandes.
Intégration Kubernetes et Modèle de Réseautage
TSoR fonctionne bien avec le réseautage Kubernetes en supportant divers types de communication :
Pod-à-Pod : Permet aux conteneurs de communiquer facilement entre eux.
Pod-à-Service : Expose les applications s'exécutant sur des Pods à d'autres services.
Externe-à-Service : Permet aux clients externes d'accéder aux services dans le cluster TSoR.
Pod-à-Externe : Permet aux Pods d'accéder à des ressources en dehors du cluster.
Solution de Routage pour TSoR
TSoR a un système de routage sophistiqué qui garantit une communication efficace :
Attribution d'IP : Chaque Pod se voit attribuer une adresse IP unique, simplifiant le routage.
Tables de Recherche Multiples : TSoR utilise plusieurs tables pour gérer et router différents types de trafic réseau.
Évaluation de Performance de TSoR
Dans les tests de performance, TSoR a montré des résultats impressionnants :
Débit : TSoR a atteint des taux de transfert de données significativement plus élevés, surpassant d'autres méthodes de réseautage.
Latence : Les délais rencontrés lors des transferts de données étaient nettement plus bas, rendant les applications plus réactives.
Scalabilité : TSoR a maintenu une haute performance même sous des charges de travail accrues, démontrant sa capacité à gérer de nombreuses connexions simultanées.
Tests d'Application dans le Monde Réel
La performance de TSoR a été évaluée avec diverses applications du monde réel telles que Redis, Node.js, etcd.
Redis
Pour Redis, TSoR a fourni des temps de réponse plus bas et un débit plus élevé que les solutions traditionnelles, montrant son efficacité pour les opérations de stockage de données.
Node.js
Lors des tests avec Node.js, TSoR a constamment montré des temps de réponse plus rapides lors de la gestion des requêtes web, surtout pour des tailles de données plus grandes.
etcd
Les tests avec etcd ont montré que TSoR pouvait gérer les demandes efficacement, prouvant encore sa compatibilité avec divers types d'applications distribuées.
Travaux Futurs et Développements
Alors que TSoR continue d'évoluer, il y a plusieurs domaines pour un développement futur :
Support pour les Sockets UDP : Développer l'infrastructure existante pour gérer également le trafic UDP.
Amélioration de la Communication Intra-Pod : Optimiser la communication sur le même hôte pour de meilleures performances.
Offloading SmartNIC : Décharger certains services TSoR sur des SmartNIC peut économiser des ressources CPU et améliorer les performances.
Conclusion
TSoR représente une avancée majeure dans les solutions de réseautage pour les applications cloud-native. En combinant les avantages des sockets TCP et de RDMA, il offre un moyen pour les applications existantes d'améliorer leur performance sans nécessiter de changements significatifs. TSoR répond non seulement aux demandes des environnements conteneurisés modernes mais s'intègre également parfaitement avec les outils d'orchestration existants comme Kubernetes. Comme le montre des tests approfondis, TSoR montre un grand potentiel pour les futures applications dans le calcul haute performance et les opérations intensives en données.
Titre: TSoR: TCP Socket over RDMA Container Network for Cloud Native Computing
Résumé: Cloud-native containerized applications constantly seek high-performance and easy-to-operate container network solutions. RDMA network is a potential enabler with higher throughput and lower latency than the standard TCP/IP network stack. However, several challenges remain in equipping containerized applications with RDMA network: 1) How to deliver transparent improvements without modifying application code; 2) How to integrate RDMA-based network solutions with container orchestration systems; 3) How to efficiently utilize RDMA for container networks. In this paper, we present an RDMA-based container network solution, TCP Socket over RDMA (TSoR), which addresses all the above challenges. To transparently accelerate applications using POSIX socket interfaces without modifications, we integrate TSoR with a container runtime that can intercept system calls for socket interfaces. To be compatible with orchestration systems like Kubernetes, TSoR implements a container network following the Kubernetes network model and satisfies all requirements of the model. To leverage RDMA benefits, TSoR designs a high-performance network stack that efficiently transfers TCP traffic using RDMA network. Thus, TSoR provides a turn-key solution for existing Kubernetes clusters to adopt the high-performance RDMA network with minimal effort. Our evaluation results show that TSoR provides up to 2.3x higher throughput and 64\% lower latency for existing containerized applications, such as Redis key-value store and Node.js web server, with no code changes. TSoR code will be open-sourced.
Auteurs: Yulin Sun, Qingming Qu, Chenxingyu Zhao, Arvind Krishnamurthy, Hong Chang, Ying Xiong
Dernière mise à jour: 2023-05-17 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2305.10621
Source PDF: https://arxiv.org/pdf/2305.10621
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.