Utilisez SMC-R (mode noyau) ou NetACC (mode utilisateur) pour adapter vos applications à eRDMA avec des modifications de code minimales, voire nulles.
Cas d'utilisation
eRDMA prend en charge les scénarios Redis, Spark, HPC et Kafka. L'adaptation RDMA transparente ne nécessite aucune modification du code source, mais uniquement une recompilation. En revanche, l'adaptation non transparente requiert des ajustements au niveau du code.
-
Applications Redis
Recommandation : utilisez SMC-R pour une adaptation transparente. Déployer SMC-R et Redis avec eRDMA.
-
Applications HPC
eRDMA permet aux travaux parallèles multi-nœuds dans les clusters E-HPC NEXT, tels que la météorologie climatique, la simulation industrielle et la dynamique moléculaire, d'atteindre des performances réseau comparables à celles des clusters sur site. Déployer un cluster E-HPC activé pour eRDMA.
-
Applications Spark
Modifiez le code de communication de Spark à l'aide de jVerbs. Déployer un cluster Spark avec eRDMA.
-
Clusters Kafka
Déployez un cluster Kafka sur des instances ECS compatibles avec eRDMA afin d'accélérer les transferts de données entre les nœuds. Déployer un cluster Kafka à hautes performances réseau sur des instances optimisées par eRDMA.
Solutions d'adaptation
Solution d'adaptation en mode noyau : SMC-R
IBM a ouvert le code source de SMC-R pour Linux 4.11 en 2017 (RFC 7609). Alibaba Cloud Linux 3 active SMC-R dans le cloud via eRDMA. SMC-R remplace TCP de manière transparente sans perte de fonctionnalité, offrant ainsi une mise en réseau haute performance déchargée matériellement.
Solution d'adaptation en mode utilisateur : NetACC
NetACC est une bibliothèque d'accélération réseau en mode utilisateur. Chargez-la via la variable d'environnement LD_PRELOAD ; aucune modification du code n'est requise. NetACC exploite les avantages d'eRDMA, tels que la faible latence, le haut débit, le contournement du noyau et le déchargement de la pile de protocoles, pour accélérer l'établissement des connexions TCP grâce à des interfaces socket compatibles.