Amélioration de la sous-système de réseau d'architecture de processeur haute performance

Li Longfei, le printemps de l'histoire, Wang Jianfeng, Il comptabilité Chong

(Institut de Xi'an Microelectronics Technology, Xi'an 710065, Chine)

goulots d'étranglement traditionnels de performance du sous-système de processeur de réseau dans un environnement réseau à haut débit, en particulier la faible efficacité de la gestion BD, les retards de transmission de données et d'autres questions, une amélioration de l'architecture du sous-système réseau. L'architecture de gestion BD se déplacera du processeur NIC et étend les informations BD, tout en augmentant la recherche du cache et de la lecture opération non valide. Simulation et évaluation de l'architecture du système par simulateur Simics. Les résultats expérimentaux montrent que l'utilisation de la technologie et l'architecture DCA par rapport à l'architecture plus traditionnelle, des améliorations architecturales que l'utilisation de la plus grande bande passante, tout en réduisant l'utilisation du processeur, de maintenir un meilleur équilibre des performances et des ressources.

Carte réseau, l'architecture du sous-système de réseau, la gestion BD, BD Engine

CLC: TN402

Code de document: A

DOI: 10,16157 / j.issn.0258-7998.2017.01.012

format de citation chinois: Li Longfei, le printemps de l'histoire, Wang Jianfeng, etc. Une meilleure conception de l'architecture du sous-système processeur réseau haute performance Technologie électronique, 2017,43 (1): 46-49.

Anglais format de citation: Li Longfei, Shi Yangchun, Wang Jianfeng, et al. Une amélioration de l'architecture haute performance du sous-système de réseau de processeur .Application Technique électronique, 2017,43 (1): 46-49.

0 introduction

La croissance rapide du processeur requise bande passante du réseau a suffisamment de puissance de calcul, il faut aussi NIC (Network Interface Card) il est efficace capacité de transfert de données, ce qui donne la conception du sous-système de processeur de réseau apporte de nombreuses nouvelles difficultés et défis. Les données expérimentales montrent que, Gigabit Ethernet environnement (10GbE), les données du réseau peuvent être reçues processeur Intel Xeon déplétion, quad core en deux capacités de traitement de base . Un tel réseau où le taux de déséquilibre et le taux de transformation affecte la performance du système fonctionne correctement, mais aussi augmente directement la complexité de la conception de la carte réseau.

Pour résoudre ce problème, les chercheurs à la maison et à l'étranger au cours des dernières années de recherches menées sur de nombreux aspects de l'architecture du système, des piles de protocoles, le logiciel système. Document proposé (déchargement TCP / IP) TCP / IP Offload technologie; document proposé l'accès aux données à distance directe (accès à distance Direct Memory, RMDA) technologie; Document est réduite du processeur NIC réduire le nombre d'interactions proposées interruption de la polymérisation, une grande partie de l'agrégation et de la segmentation de trame de données. Mais ces solutions ne se préoccupent exclusivement dans la procédure locale de traitement de réseau, l'efficacité de traitement du système ne donne pas une amélioration significative provoquée, et n'a pas la polyvalence.

Après ce document analyse l'architecture du sous-système de processeur de réseau traditionnel, travaux et les défauts, l'architecture proposée améliorée schéma de conception du sous-système de réseau. L'unité de gestion du programme par le processeur trame de données se déplace de la carte réseau, l'architecture carte réseau pour résoudre le besoin traditionnel d'obtenir des informations afin de transmettre la trame de données décrit les problèmes, ce qui réduit la Interagir de pression avec le processeur NIC pour améliorer le système l'efficacité du traitement et le débit réseau.

1 l'architecture du sous-système de réseau traditionnel

1.1 Flux de traitement de réseau

Des données réseau de traitement d'un processus d'E / S sensible, mais implique aussi beaucoup de matériel (par exemple, carte réseau, PCI-E, etc.) et des logiciels (par exemple, pilote de protocole TCP / IP). Un reçu trame de données, et démarre les pilotes NIC interactifs. Descripteur de tampon (tampon de descripteur, BD) entre un pilote d'interface réseau et un pont, qui peut contenir des informations indiquant les trames de données reçues adresse NIC stockées en mémoire, à savoir, BD contient une prise valide buffer mot (sous Linux appelé tampon SKB). L'unité de transmission maximale trame Ethernet, la taille du tampon SKB est 1518 B. BD BD pour former une boucle dans l'espace de noyau de l'hôte, le pointeur de la consommation avec le pointeur de génération et de mise à jour dynamiquement et maintient la synchronisation entre la BD et SKB tampon.

Un réseau typique reçoit la procédure de traitement représentée sur la Fig. Avant de recevoir les données, la première carte réseau besoin d'obtenir par le bus PCI-E BD et stockés localement dans la carte réseau (étape 1). Après (étape 2) recevant des trames de données à partir du réseau, des trames de données transmises par la carte réseau PCI-E dans la BD DMA spécifiés SKB tampon (étape 3). Une fois que les données dans le tampon de trame, les informations de carte réseau est mise à jour sur la BD, par exemple de plus en plus l'information de longueur de trame, VLAN, etc., la transmission et l'anneau BD BD mises à jour retourne (étape 4). Ensuite, interruption NIC MSI est généré (étape 5) à l'unité centrale par l'intermédiaire du PCI-E. Après que la CPU reçoit la demande d'interruption revient à lire anneau BD BD, de manière à acquérir l'adresse et la longueur de la trame de données, la trame de données est mis en correspondance avec la structure de données de SKB (étape 6). Lorsque le conducteur SKB tampon est transmise à la pile de protocoles, le pilote d'initialiser les informations de sortie et la mémoire tampon SKB BD, les données utilisées pour les images suivantes reçues (étape 7). Après le traitement de pile de protocoles est terminée, les trames de données sont transmises à l'application finale, à savoir atteindre l'espace utilisateur. Ainsi, le processus de réception d'une trame de données est terminée.

1.2 traitement analyse les frais généraux

Dans le réseau haut débit, carte réseau face à de nombreux défis. Tout d'abord, avant la transmission efficace des données, les besoins NIC pour obtenir dans l'espace du noyau d'accès PCI-E BD, en substance, il ne appartiennent à la transmission de données de réseau, va évidemment ajouter une surcharge inutile. La recherche montre que le temps de retour du PCI-E nécessite environ 2200 ns, principalement en raison de la complexité du protocole de transmission et la demande PCI-E DMA due à la concurrence .

En outre, dans un flux de traitement de réseau typique, la réplication des données et SKB tampon de libération est actuellement la principale charge de traitement du réseau. Principalement fait référence au réseau de données des temps de réplication de réplication de données pendant la transmission, le réseau sont copiés de la mémoire cache à la carte réseau, la mémoire tampon de carte réseau est copié à partir de l'espace de noyau dans le système, le système copié à partir de l'espace de noyau dans l'espace utilisateur. Cette CPU de réplication fréquente crée un fardeau supplémentaire, affectant ainsi l'efficacité de leur travail, augmenter les applications de calcul de temps d'attente moyen. Lorsque les données sont copiées dans le tampon d'application, SKB tampon besoin d'être libéré et défauts de cache est la principale cause de surcharge importante libération tampon. Bien que l'augmentation du cache peut réduire l'apparition de la situation de défaut de cache, mais il ne résout pas la carte réseau et l'interaction du pilote et la réplication des données et d'autres questions, si peu de sens dans des applications pratiques.

2 conception du sous-système de réseau

2.1 L'architecture globale

En substance, l'architecture du sous-système de réseau présenté dans cet article est le schéma traditionnel de l'ensemble de l'unité de gestion BD pour passer du processeur NIC, qui est, entre le processeur et le port de cache a intégré une fonction de gestion de BD appareil, le moteur est appelé BD (BD moteur, BDE), comme représenté sur la Fig. Le BDE intégré dans le processeur d'avoir plus de flexibilité, mais peut être prolongée dans les informations de description BD de la trame de données. En outre, en raison du BDE peut accéder directement à la mémoire cache, donc non seulement capable de lire et d'écrire des données plus rapides et BD, et de réduire davantage le coût de l'accès, PCI-E pour réduire la pression. Similaire au contrôleur de mémoire, la connexion en utilisant BDE I / O Hub PCI-E pour obtenir avec le processeur.

Lorsqu'une trame de données est reçue BDE laquelle le BD est lue à partir du cache, alors les données sont déplacées à l'adresse correspondante dans la mémoire cache, et peut provoquer le décrochage de données de la mémoire de pré-charge. L'architecture du sous-système de réseau proposé utilise le cache de données dans le cache, plutôt que d'utiliser la carte réseau de transmission et recevoir des files d'attente. L'extrémité de réception à haute vitesse actuelle est largement utilisé la technique de régulation NIC (Receive Side Scaling, RSS) à un réseau d'équilibrage de charge processeur à plusieurs noyaux, de distribution ainsi sera précise nucléaires une émission et réception dans chaque file d'attente de CPU. Cependant, le cadre d'un tel augmentera le coût de la carte réseau, mais affecte également l'évolutivité. architecture améliorée maintient la compatibilité avec la technologie RSS, BDE a également réalisé le mouvement de charge utile dans le cache, et le nettoyage avant du cache de données a été copié.

2.2 Conception BDE

Dans l'architecture traditionnelle, avant d'envoyer et recevoir des données, les besoins NIC à lire la BD via le bus PCI-E, qui produisent beaucoup de retard, tout en augmentant la pression de DMA. Relativement parlant, en raison du BDE peut accéder directement à la mémoire cache, une interaction plus rapide, ce qui permet de résoudre efficacement le problème. Plus important encore, il peut être étendu afin que les informations BDE BD. Recevoir une information de papier BD est prolongée résultant en une augmentation de la mémoire de données de pause d'information, à savoir, l'adresse de données de page et SKB. Dans l'architecture classique, le BD est généralement de 16 octets d'informations, y compris l'information d'adresse stockée dans la longueur de la trame de données, comme VLAN. Sur cette base, ajoute l'adresse de 4 octets et adresse de la page SKB 4 octets, et en fonction du nombre de lignes de cache (ligne de cache), en utilisant deux registres dédiés pour stocker la longueur SKB et page dans le BDE. Dans l'environnement GbE, généralement stocké dans le recevoir anneau 1024 BD, BD augmentant ainsi les informations, la réception anneau dans la nouvelle structure a augmenté seulement 8 Ko.

A titre de comparaison avec l'architecture traditionnelle, le procédé suivant, par exemple, des modules de réception de données fonctionnelles respectives sont décrites BDE, la structure telle que représentée sur la figure. Lorsque la carte réseau reçoit une trame de données, il ne nécessite pas l'acquisition de la BD, mais directement dans les trames de données et recevoir des informations de tampon de BDE. Comme la carte réseau, BDE également registres dédiés pour stocker l'adresse de base et les informations de pointeur BD cycle cycloalkyle. L'unité d'acquisition de BD registre d'adresse de base de l'anneau, le pointeur d'adresse, le verrou d'adresse correspondant à la BD, et déclenche alors une requête de cache de lecture d'un BD. Après avoir obtenu les données d'adresse de stockage, l'unité d'écriture de données écrit les données en cache l'adresse correspondante. Pour accélérer l'opération d'écriture de données, l'unité de charge cherchera à trouver des trames de données et préchargement. Les données peuvent être renvoyées par une opération de recherche ou non dans le cache, lorsque les données ne sont pas dans la recherche de cache, pour trouver l'unité de chargement logique matériel amorcera instruction pré-acquisition. Lorsque la trame de données dans le cache, BDE et l'état du module de mise à jour du module de mise à jour du pointeur BD et des informations pointeur BD sera mis à jour.

Parce que le cache de données dans le cadre après avoir été copié essence de l'application est invalide, afin d'atteindre plus efficacement trame de données au cache mobile, cette architecture de cache de papier expansé, a proposé une nouvelle opérations de cache: lecture valide. Dans le BDE, de sorte que la ligne de cache du module de transfert de données est invalidée dans les données d'origine sont copiées des données claires. Pendant les données de réplication, le protocole TCP / IP, l'adresse de destination et la longueur des trois registres est contrôlé par l'adresse source du BDE. Dans ce cas, BDE intervalles de ligne de cache d'adresses physique consécutives est divisé en une série de blocs. Lorsque vous effectuez une opération de lecture est invalide, la source de données de lecture ligne de cache, les données de ligne de cache de lecture écrit à la destination et la source invalide la ligne de cache. Cette opération est non seulement pour éviter les données sales inutiles sont réécrites, et ne nécessite pas les adresses virtuelles à des adresses physiques.

L'architecture améliorée permet à la complexité de la conception de la carte réseau considérablement réduite, la carte réseau est plus nécessaire pour la gestion BD et des mises à jour, vous pouvez être reçue directement par la trame de données MAC PCI-E transmis par la couche supérieure, et donc ne pas utiliser une file d'attente de trames de données cache. Cela réduit non seulement la complexité de la logique matérielle, mais réduit également les frais généraux de stockage.

évaluation expérimentale de 3

simulateur Simics pour l'architecture du sous-système réseau l'ensemble du système présenté dans ce document pour simuler. Simics est un simulateur de système de haute performance, qui fournit un environnement contrôlé, la plate-forme de simulation déterministe de l'environnement entièrement virtualisé, peut simuler une variété de CPU, disques durs, cartes réseau et d'autres . Modeling Language utilisant le dispositif proposé sous-systèmes de réseau va être décrit, est conçu avec une fonctionnalité globale NIC Ethernet Gigabit interruption BDE et un processeur intégré, les paramètres de configuration spécifiques sont indiqués dans le tableau 1. A titre de comparaison latérale, respectivement, l'architecture traditionnelle et le sous-système réseau Architecture DCA (Direct Cache Access) a été simulée.

Expérience trois architectures sont connectées une largeur de bande, le mode duplex liaison Ethernet configurable, et le retard de transmission de liaison spécifiée est de 1 ms. Iperf utilise comme vecteurs de test , des expériences ont été effectuées à trois architectures 10 M, 100 M, G 1 et G 10 largeur de bande et de bande passante réelle correspondant à l'utilisation du processeur de mise au point peut être réalisé trois architectures. Un rapport prédéterminé de la largeur de bande théorique et l'utilisation de bande passante réelle de la bande passante, la valeur proche de 1 indique que plus le débit du réseau réel. l'utilisation de la figure expérience comparative est représentée sur la figure. Comme on peut le voir sur la figure, à 10 M et de l'environnement de réseau 100 M, trois architectures ont atteint la bande passante maximale théorique. Cependant, lorsque la bande passante étendue à 1 G et 10 G, la bande passante du réseau réel est nettement plus faible que dans l'architecture traditionnelle de la valeur théorique, l'utilisation de la bande passante était de 91,3% et 80,5%, respectivement. Pour le cadre de l'architecture DCA et des améliorations à la fois l'environnement réseau 1G essentiellement atteindre les valeurs de bande passante théorique, alors que dans 10 G environnement réseau, l'utilisation de la bande passante est légèrement plus élevé que le cadre de l'architecture DCA améliorée.

. La figure 5 montre une utilisation du processeur de trois architectures différentes dans des environnements de réseau. 1 G et à la bande passante de 10 G, l'utilisation du processeur de l'architecture traditionnelle a augmenté de manière significative, respectivement de 54,1% et 45,2%. Comparer les figures 4 et 5, pour explorer les données expérimentales peuvent être obtenues en dépit de l'utilisation améliorée de la bande passante et les architectures DCA architecture à 1 G est sensiblement la même bande passante, mais il était nettement plus élevé que l'architecture une meilleure utilisation du processeur;. Bande passante à 10 G , l'utilisation de la bande passante et l'utilisation du processeur l'architecture DCA que l'architecture a amélioré légèrement améliorée. Pour résumer, l'architecture plus traditionnelle et l'architecture DCA, l'architecture améliorée a réalisé un meilleur équilibre dans l'utilisation de la bande passante et l'utilisation du processeur.

4 Conclusion

Basé sur le sous-système de traitement de réseau à grande vitesse l'optimisation des réseaux d'architecture, l'analyse de l'architecture de réseau traditionnel et le flux de traitement du sous-système de réseau, une amélioration de l'architecture du sous-système de processeur haute performance. L'architecture par unité de gestion BD pour passer du processeur carte réseau pour résoudre le problème compliqué de la gestion BD et la mise à jour de l'architecture traditionnelle, ce qui réduit la pression d'interagir avec le processeur NIC, système amélioré le débit et l'efficacité du réseau. Les recherches futures peuvent se développer dans les aspects suivants: associé à l'architecture du processeur spécifique pour une meilleure mise en uvre de l'architecture du sous-système de réseau et soutenir le développement de pilotes pour l'évaluation et la vérification des performances de l'architecture dans un environnement réseau réel.

références

KUMAR A, R HUGGAHALLI, MAKINENI S.Characterization d'accès à l'antémémoire directe sur les systèmes multi-coeurs et 10gbe // 2009 IEEE 15e Symposium international sur la haute performance informatique Architecture.IEEE 2009: 341-352.

processeur TCP basé sur UCHIDA pour M.Matériel Certains Gigabit Ethernet .IEEE Transactions sur la science nucléaire, 2008,55 (3): 1631-1637.

WU Z Z, CHEN H C.Design et la mise en uvre du système de moteur de déchargement TCP / IP sur Ethernet gigabit // Actes de la 15e Conférence internationale sur les communications informatiques et Networks.IEEE, 2006: 245-250.

Zhao Xi entier, Liu Xingkui, Shao il y avait, et autres. Réalisation à base de FPGA NIC TOE .Computer Ingénierie, 2011,37 (3).

Wangshao Gang Xu Wei ya, U Thant, méthode de communication rapide RDMA pour réseau peu fiables Université du Hunan: sciences naturelles édition, 2015,42 (8): 100-107.

HUGGAHALLI R, R IYER, accès à l'antémémoire pour Tetrick S.Direct E / S de réseau à bande passante élevée // ACM SIGARCH Architecture des ordinateurs News.IEEE Computer Society, 2005,33 (2): 50-59.

MILLER D J, WATTS P M, A MOORE futures interconnexions W.Motivating: une analyse de la mesure différentielle de temps de latence pci // Compte rendu du 5e symposium ACM / IEEE sur Architectures pour mettre en réseau et des communications Systems.ACM, 2009: 94-103.

P S MAGNUSSON, Christensson M, Eskilson J, et al.Simics: Une plate-forme de simulation complète du système .Computer, 2002,35 (2): 50-58.

Tirumala A, QIN F, DUGAN J, et al.Iperf: Le protocole TCP / UDP bande passante outil de mesure .http: //dast.nlanr.net/Projects,2005.

Toujours « la tenue d'une tasse à boire goji »? Lightning McQueen vous aider à raviver Fast and Furious
Précédent
Ancien vers le bas "Copier" concours de parfum Schwimmer, brique Millennium Han "extension"
Prochain
IMDb Top250 dominent le grand Dieu Nolan, aimez-vous ce que l'un de ses plus?
Taipower NP900C Phantom Solid State Drive Review: choix de l'utilisateur haute performance
« God of War » Résumé des notes Global Media: un nouveau départ au prochain niveau
Léchant temps d'écran | « roi sans couronne » Qin Hao
Aurora Big Data: 2019 parts des cinq tendances de l'industrie automobile
VR a déclaré cette semaine: départ Oculus fondateur de Facebook, les ventes de jeux VR de 1,3 milliard $
Lorsque vos informations ne sont plus à vapeur public, qu'est-ce que cela signifie pour les développeurs?
Les meilleures séries dramatiques de cette saison, chaque épisode de me voir pleurer
Dr. Yu Yang de l'Université de Nanjing : Frontières de l'apprentissage par renforcement (Partie 2)
EVA nouveau film Partie IV est pas? ! Compositeur de la salle de bains EVA est apparu
Léchant temps d'écran | Wonder Woman quand rencontré Gal Gadot
virus Extorsion variantes apparaissent! Microsoft: urgence a été mis à jour, UAV deux fois une invasion de nuit Chongqing Aéroport | Lei Feng Matin