4 votes

Suggestions de matériel de mise en réseau pour une mise en réseau à faible latence

Nous sommes arrivés au stade de notre projet où nous voulons faire passer le logiciel au niveau supérieur, avec des temps de réponse généralement de 20µs ou moins. Le logiciel est aussi bon que possible (bien qu'il y ait de la place pour un peu plus d'amélioration), mais maintenant nous cherchons à attaquer le côté matériel des choses.

Je me demandais si vous pouviez nous donner des suggestions sur la façon dont nous pouvons accomplir cet exploit. Avons-nous besoin d'un type particulier de câblage, de piles logicielles, d'architectures ou d'autres technologies ?

4voto

sysadmin1138 Points 129885

Des latences ultra basses ? Vous pouvez jouer avec les jouets amusants. La plate-forme habituelle pour ce type de réseau à très faible latence est la suivante InfiniBand (quelques uns d'entre nous, mais pas moi, ont eu l'occasion d'utiliser ce matériel). Utilisé dans le calcul haute performance et dans d'autres domaines informatiques qui requièrent de faibles latences, une large bande passante et une grande évolutivité. On le trouve aussi couramment dans certains domaines de l'informatique scientifique.

C'est en partie grâce à l'aplatissement du réseau que l'IB obtient les faibles latences qu'il obtient. À l'instar de Fibre Channel, il s'agit d'un réseau commuté de couche 2 qui contribue réellement à réduire la latence.

Vous ne trouverez pas le matériel nécessaire à cette fin dans votre MicroCenter local. L'utilisation de l'IB pour la mise en réseau est tout à fait possible, bien que le protocole TCP/IP soit peut-être un choix médiocre si vous souhaitez obtenir les latences les plus faibles possibles.

En raison du faible volume sur le marché, les adaptateurs réseau IB sont très chers par rapport à l'Ethernet 1GB, bien qu'ils se comparent favorablement aux adaptateurs 10GbE. Les commutateurs IB sont tout aussi chers, mais leur prix semble proche de celui des commutateurs 10GbE de densité de ports similaire.


Si l'IB vous effraie, l'Ethernet 10 gigabits peut vous permettre d'atteindre la plupart de vos objectifs. Il est très bien pris en charge par tous les systèmes et est familier aux geeks des réseaux ordinaires. Si vous concevez votre Ethernet de manière à ce qu'il comporte un, voire deux commutateurs, et que tous les ports se trouvent dans le même sous-réseau, vous pouvez obtenir des latences faibles similaires. En fonction du niveau de latence que vous êtes prêt à tolérer, cette architecture peut être plus compréhensible que l'architecture IB.

1voto

the-wabbit Points 40039

Vous ne dites même pas quelle technologie de réseau vous envisagez d'utiliser.

En supposant qu'il s'agisse d'Ethernet et en divisant la longueur de trame minimale de 520 octets par votre exigence de RT de 20 µs, on obtient un débit de l'ordre de 50 Mo/s. En supposant que votre logiciel ait besoin d'au moins la moitié du temps pour le traitement, vous êtes à 100 MB/s et vous envisagez probablement 10GE à ce stade pour pouvoir tenir compte de la latence de commutation et de transmission.

Je me demande donc pourquoi vous vous préoccupez de choses comme les types de câblage, qui n'affecteront certainement pas votre latence au point de la rendre perceptible.

Edita: J'ai l'habitude de croire que la solution dépend du problème particulier. Si les caractéristiques de latence et de transport de 10GE peuvent être bonnes pour une application, elles peuvent poser un problème pour une autre. Avec 10 GE, vous n'auriez pas de RTT garantis mais seulement une livraison best-effort. Cela peut suffire si votre réseau est suffisamment sur-ingénierie et que votre application peut obtenir une réponse dans les 20 µs "la plupart du temps". Si le temps de réponse est une limite stricte et qu'une transaction est interrompue à cause de cela, vous pouvez envisager d'autres technologies de mise en réseau (principalement basées sur les cellules), par exemple ATM.

Pour ce qui est d'Infiniband, vous devrez probablement réécrire en profondeur les opérations de mise en réseau de votre application afin d'utiliser les technologies suivantes RDMA si vous voulez de l'efficacité.

Un autre élément à prendre en compte est la distance entre les composants - 10 µs est juste assez de temps pour que la lumière fasse un aller-retour de 1,6 km - sans latence des composants et sans tenir compte des temps de bits. Il faudrait donc que les distances soient courtes y de courtes séquences de demande/réponse afin d'y parvenir.

En résumé, il ne s'agit pas d'une question de composants individuels, mais de la technologie choisie.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X