Un concentrateur USB affecte-t-il les performances?

24

J'ai deux appareils , je veux un débit maximal et la latence avec ( MIDI batterie et clavier MIDI par exemple).

La connexion des deux au même port USB via un concentrateur limiterait-elle efficacement le taux de transfert de données maximal à 1/2 pour chacun d'eux?

Je suppose que oui, mais je ne savais pas si les concentrateurs USB avaient un protocole de négociation et de priorité disponible (par exemple, laissez d'abord l'appareil avec le tampon de données plus long).

SwimBikeRun
la source

Réponses:

17

Oui. Tous les appareils connectés via un concentrateur USB partagent la bande passante disponible pour ce concentrateur. Pas spécifiquement à 50% chacun cependant. Vous avez 480 Mbit / s pour travailler avec chaque concentrateur USB 2.0 sur l'ordinateur . Qu'est-ce que je veux dire par là? Eh bien, votre ordinateur est équipé de concentrateurs USB. Oui, tous les ports ne sont pas une entité individuelle. Dans la plupart des cas, lorsque vous voyez deux ports USB empilés l'un sur l'autre, ils se trouvent sur un concentrateur ensemble en interne.

Cela s'applique également avec deux ports côte à côte sur les ordinateurs portables. Donc, ne pensez pas que vous pouvez simplement brancher deux concentrateurs sur des ports USB côte à côte, et avoir BEAUCOUP de ports USB pour brancher des appareils à haut débit de transfert de données.

Ce que vous devez vraiment faire, c'est regarder les taux de transfert de données attendus des appareils que vous avez l'intention de connecter. Je m'attends à ce que les batteries MIDI soient considérées comme un taux de transfert faible, tandis que le clavier sera soit un taux de transfert faible ou moyen. Cela serait comparé à quelque chose comme une carte son USB ... que vous ne voudriez pas partager avec d'autres hubs.

Avec un concentrateur alimenté, chaque appareil recevra la puissance dont il a besoin, tandis qu'avec un concentrateur non alimenté, tous les appareils partagent la puissance que le port USB hôte peut éteindre. Donc, il y a aussi cela à considérer.

Vous le savez probablement déjà, mais pour les problèmes de latence, les pilotes ASIO4ALL résoudront la plupart sinon tous les problèmes potentiels. Je mets ça là-bas.

Bon Gart
la source
+1 pour ASIO4ALL. utilisé pour tuer mon retard dans Rocksmith. Je me demande si la communauté des forgerons est au courant!
camelbrush
Êtes-vous sûr qu'un contrôleur audio USB souffrira d'un goulot d'étranglement de débit s'il n'a pas un contrôleur USB entier pour lui-même? Je pense qu'ils devraient être conçus pour fonctionner sur des concentrateurs, au moins pour l'audio à 2 canaux.
jiggunjer
28

En fait, je suis surpris que la première réponse soit acceptée et votée sans aucun fait à l'appui de la déclaration, car c'est probablement une erreur. Les tambours MIDI et le clavier MIDI sont presque certainement des appareils à basse vitesse, ils consommeront donc moins de 1% de la bande passante d'un concentrateur à grande vitesse (2 * 1 Mbit / s / 480 Mbit / s * 100% = 0,4% ).

En effet, la présence du concentrateur va introduire une latence, qui est de l'ordre de dizaines de microsecondes pour les concentrateurs basse vitesse ou des centaines de nanosecondes pour les concentrateurs haute vitesse. Dans ce dernier cas, cette latence disparaîtra une fois que vous aurez ajouté la latence introduite par le logiciel MIDI.

De plus, le protocole USB prend en charge les priorités de transfert (voir Transferts d'interruption ), ce qui permettra aux périphériques MIDI de coexister même avec un disque dur ou un scanner sur le même bus sans beaucoup d'effet sur leur vitesse de transfert ou leur latence. Cependant, je ne ferai aucune déclaration car je ne connais pas particulièrement les appareils MIDI.

Dmitry Grigoryev
la source
15

La réponse courte est que vous voulez vraiment un concentrateur Multi-TT pour cette application, où 2 ou plusieurs de vos périphériques USB sont probablement à 12 Mbit / sec. Recherchez "Multi-TT" sur Amazon, Newegg ou d'autres sites pour trouver ces hubs.

Malheureusement, cet important détail technique est rarement mentionné. La plupart des concentrateurs utilisent une conception Single-TT moins chère. Les bons Multiple TT sont rarement annoncés comme ayant cette fonctionnalité, même pas marqués sur l'emballage. Malheureusement, la plupart des gens n'ont probablement jamais entendu de TT, ce qui explique probablement pourquoi les spécialistes du marketing ne prennent pas la peine de vous dire quelle conception leurs hubs utilisent.

Vous pouvez vérifier si votre concentrateur dispose de cette fonctionnalité à l'aide du Gestionnaire de périphériques Windows. Recherchez les mots «Hub a plusieurs TT» dans l'onglet Avancé.

Capture d'écran du Gestionnaire de périphériques

Sous Linux, le type de concentrateur peut être vérifié avec "lsusb -v | grep TT". Je ne connais aucun moyen simple de vérifier sur Macintosh, à l'exception de l'utilitaire "USB Prober" qu'Apple publie dans ses outils de développement Xcode.

TT signifie Transaction Translator. Les détails sont complexes et entièrement documentés dans le chapitre 11 de la spécification USB, qui est téléchargeable gratuitement sur www.usb.org. Mais en un mot, le TT convertit entre 480 MBit / sec de votre PC aux vitesses plus lentes de 12 ou 1,5 MBit / sec.

Normalement, lorsque vous jouez de ces instruments de musique, leurs contrôleurs génèrent des messages MIDI et les mettent ensuite dans des tampons de mémoire, qui attendent le moment où votre PC demande les données. Lorsque votre PC se connecte directement, il envoie un message appelé jeton IN à votre instrument. Votre instrument peut répondre au jeton IN de deux manières, soit un paquet DATA, soit un jeton NAK pour indiquer aucune donnée. Votre PC envoie ces jetons IN très rapidement, de sorte que le résultat est une livraison presque instantanée de vos événements musicaux sous forme de messages MIDI.

Cependant, lorsque votre appareil MIDI à 12 Mbits / s se connecte via un HUB USB 2.0, une communication très différente se produit, le tout à 480 Mbits / s. Votre PC communique réellement avec le traducteur de transactions dans le concentrateur. Il envoie 2 messages. Tout d'abord, le message SSPLIT (Start Split Transaction) est envoyé au TT. Si le TT n'est pas occupé, il envoie un accusé de réception. Le TT transmet ensuite le jeton IN à votre clavier MIDI à une vitesse plus lente de 12 Mbits / s. Pendant ce temps, votre PC est capable de communiquer avec d'autres appareils à 480 Mbit / sec. Votre clavier MIDI ne peut pas savoir si le jeton IN provient directement de votre PC ou du TT d'un concentrateur. Il fait exactement la même chose que s'il était connecté à votre PC. Le TT à l'intérieur du concentrateur reçoit la réponse NAK ou DATA. Pendant que cela est en cours, votre PC commence à envoyer des messages CSPLIT (Complete Split Transaction) au TT du concentrateur. Le TT répond avec un jeton NYET spécial: le TT est toujours occupé à communiquer à 12 Mbit / sec, ou le NAK ou DATA depuis votre clavier.

Si vous avez à la fois un clavier MIDI et un tambour MIDI connectés, que se passe-t-il si votre PC souhaite envoyer un message SSPLIT pour demander au TT de communiquer avec les tambours, mais le TT est déjà occupé à communiquer avec le clavier? Avec un seul TT, le concentrateur peut répondre NYET à une nouvelle demande SSPLIT, car il est occupé à effectuer les IN + DATA à 12 Mbits / s. Vous ne voulez certainement pas ce scénario!

Plusieurs concentrateurs TT ont un TT dédié sur chaque port en aval (auquel vous branchez des appareils). Avec plusieurs TT, le concentrateur est toujours en mesure d'accepter une demande SSPLIT, même lorsque les autres TT sont occupés à communiquer avec d'autres périphériques en aval. Avec un seul TT, votre PC peut finir par attendre, même s'il y a beaucoup de bande passante de 480 Mbits / s, car le concentrateur a une capacité limitée à convertir plus d'un message à la fois entre les différentes vitesses.

Cette description passe sous silence de nombreux problèmes de synchronisation USB importants que le TT gère, mais le point important est que les concentrateurs USB 2.0 peuvent utiliser deux conceptions distinctes. Vous voulez vraiment éviter les hubs Single-TT moins chers.

Les vitesses USB 3.0 et 3.1 ont été mentionnées ailleurs dans ces réponses. Mais les TT dans le hub ne convertissent jamais entre les vitesses de 5 ou 10 gigabits et les vitesses de 480, 12 ou 1,5. Au lieu de cela, les concentrateurs USB 3.0 et 3.1 fonctionnent comme une paire de concentrateurs. Les signaux gigabit ont leurs propres broches dédiées dans les nouveaux connecteurs USB, qui se connectent à un concentrateur qui ne fonctionne qu'à une vitesse de 5 ou 10 Gbit / s. Une communication simultanée de 480 Mbit / s se produit sur les broches d'origine, donc les appareils 12 et 1,5 Mbits / s sont convertis en 480 Mbit / s par TT, mais jamais en 5 ou 10 Gbit / s.

Également mentionné ailleurs est "basse vitesse", ce qui signifie techniquement 1,5 Mbit / sec dans le jargon USB, mais peut signifier 1,5 ou 12 Mbit / sec dans une conversation informelle. 12 Mbit / sec est appelé «pleine vitesse» dans la terminologie USB. Le protocole USB MIDI, qui fait techniquement partie des «spécifications de classe audio», utilise le protocole «en masse» (et non le protocole d'interruption, comme revendiqué dans une autre réponse). La spécification USB ne permet pas le protocole de transfert en masse pour une vitesse de 1,5 Mbit / sec. Donc, à moins qu'un périphérique MIDI USB ne viole très grossièrement la vitesse USB, il sera toujours d'au moins 12 Mbit / s. USB MIDI peut avoir une vitesse de 480 Mbit / sec, auquel cas les TT ne s'appliquent pas. Mais la grande majorité des produits USB MIDI sont toujours à une vitesse de 12 Mbit / sec.

Donc, vous voulez vraiment vous assurer que vos concentrateurs USB sont de type Multi-TT, si vous prévoyez d'optimiser les performances.

Paul Stoffregen
la source
Comment obtenez-vous cette vue montrant les appareils consommant de la bande passante dans votre image? Mes propriétés n'ont même pas cet onglet.
user5389726598465
3

De façon réaliste, le partage d'un seul port USB à l'aide d'un concentrateur pour augmenter le nombre d'appareils que vous branchez n'aura probablement pas trop d'importance même si vous utilisez tous les appareils connectés simultanément. La plupart des appareils n'utiliseront pas beaucoup de transfert de données à la fois. C'est encore moins un problème si vous utilisez des ports USB 3.0 ou 3.1, qui sont 10 et 20 fois plus rapides que 2.0, respectivement, mais peuvent également envoyer et recevoir des données en même temps, fournir plus de puissance et fonctionner avec 2.0 dispositifs.

Comme indiqué, tant qu'il n'y a pas suffisamment de puissance sur chaque appareil connecté au port, aucun problème ne devrait se produire.

Xiro
la source
1

Juste mon cas comme un exemple de ralentissement du concentrateur USB 3.0 lorsque plusieurs appareils y sont connectés.

J'ai deux ensembles identiques de: Boîtier SataIII vers USB3.1 Gen2 Type C avec un SSD de 480 Go.

Si je mets le SSD dans un port SataIII, la commande Linux dd lit à plus de 500 Mo / s.

Si je place le SSD dans le boîtier SataIII vers USB 3.1 Gen2 Type C, la commande Linux dd lit à près de 413 Mo / s, quel que soit l'un des deux ensembles que j'utilise.

La chose étrange survient lorsque je branche sur les deux boîtiers USB 3.0 et que je demande à Linux de lire les deux (peu importe si la bande LVM, RAID0 ou deux commandes dd simultanées), il ne lit qu'à 2x150 = 300 Mio / s.

Donc, lorsque les deux sont branchés, je perds près de 413-300 = 113 Mo / s de vitesse.

En d'autres termes:

  • Un SSD sur USB 3 HUB, j'obtiens une lecture de 413 Mo / s
  • Deux SSD sur USB 3 HUB, j'obtiens 150 + 150 = 300 Mo / s en lecture
  • Lecture détectée (par SSD) lorsque deux SSD sur un concentrateur USB 3 seraient aussi proches que 413/2 = 206 Mo / s mais ils ne sont que de 150 Mo / s chacun, et non> 200 Mo / s comme on pourrait le supposer.

Je commence à penser que le problème est sur le protocole Hub USB 3 pour alterner la bande passante des données sur les deux disques, cela ajoute une énorme surcharge.

Je peux donc confirmer que le concentrateur USB 3 que j'ai sur les mains ralentit un SSD beaucoup plus que la bande passante maximale, lorsque plusieurs sont connectés en même temps.

De plus, j'ai testé avec un SSD et une clé USB 3.0 très lente (moins de 50 Mo / s), la vitesse de lecture combinée du concentrateur USB 3 descend à 263 Mo / s, donc je peux confirmer que la lecture combinée lâche est d'environ 100 Mo / s si je branche tout autre périphérique de stockage USB.

Et plus encore, et pire encore, je branche une souris (ou un clavier), et la vitesse de lecture SSD est également proche de 313 Mo / s, je débranche la souris / le clavier et la vitesse de lecture SSD remonte à 413 Mo / s, donc encore près de 100 Mo / s s vitesse de lecture perdue juste parce qu'une souris est connectée (et utilisée); si je ne bouge pas, la vitesse de lecture de la souris revient à 413 Mo / s.

Ainsi, le HUB provoque une baisse massive de la vitesse de lecture (près de 100 Mo / s) sur le taux de transfert combiné lorsqu'un seul appareil est connecté (et utilisé), quel que soit l'autre type d'appareil que je connecte, dès que il en a plus d'un fonctionnant en même temps, j'obtiens une vitesse de lecture combinée près de 100 Mo / s inférieure à celle d'un seul appareil à la fois.

J'avais également testé avec trois appareils: SSD + souris + clavier, je perds encore assez près de la même vitesse, environ 100 Mo / s.

Si je lis à partir d'un seul SSD, mais que les deux sont connectés, j'obtiens également près de 413 Mo / s.

Le prix du hub USB 3.0 était d'environ 20 €, pas bon marché.

Conclusion: USB HUB 3.0 fait perdre beaucoup de vitesse de transfert MiB / s lorsque plus d'un appareil est connecté (et transfère) en même temps, qui sait pourquoi! peut-être parce qu'il divise le transfert de temps par le nombre d'appareils (assez usés) ou peut-être parce qu'il a un énorme surcoût sur les appareils à vélo, etc.

J'espère que cela aide quelqu'un à identifier le problème, tous les tests ont été effectués sous Linux Live SystemRescueCD (dernière version) avec la commande dd avec status = progress, la taille de bloc d'un mégaoctet et le nombre égal à mille (lecture d'un total de 1 Go), périphérique dest / dev / null.

Je prévois (quand / si je serai riche) d'acheter un autre HUB USB 3.x, cette fois un 3.1 Gen 2 pour vérifier si cela se produit de la même manière ou si cette marque a un mauvais algorithme de firmware.

Laura
la source
Les SSD sont très différents des appareils en question. Chaque SSD essaie de transférer des données à plus de la bande passante du port USB 3. Vous perdez donc beaucoup de bande passante uniquement en cas de collision.
fixer1234
1

Lorsque j'utilise une connexion directe entre mon ordinateur portable, qui a un disque dur de 750 Go à 5400 tr / min, et mes disques durs externes de 8 Go, les taux de transfert sont en réalité beaucoup plus lents que lorsque j'utilise un concentrateur USB. Par exemple, j'ai récemment copié et collé quatre films totalisant environ 120 Go de données. Voici ce qui s'est passé.

  1. Tout d'abord, j'ai copié les quatre films en ajoutant jusqu'à 120 Go de données sur le disque dur de mon ordinateur portable, puis les ai collés sur le disque dur externe de 8 Go. Il a fallu environ 80 minutes pour le transfert, car le taux de transfert de données n'était que d'environ 30mbs. Le taux de transfert de données avait des pointes qui variaient de 20mbs à 35mbs.

  2. Deuxièmement, j'ai ensuite connecté l'autre disque dur externe de 8 Go qui est exactement le même modèle. Cette fois, j'ai utilisé le concentrateur USB 3.0 à 4 ports. Cette fois, le taux de transfert de données était beaucoup plus rapide - parfois supérieur à 90 Mo. Le taux de transfert de données avait des pointes allant de 50mbs à plus de 90mbs. Il n'a fallu que 30 minutes pour transférer les données.

  3. Troisièmement, à titre expérimental, j'ai connecté les deux disques durs externes de 8 Go en même temps via le concentrateur USB 3.0. J'ai copié les quatre films avec les 120 Go de données d'un disque dur à l'autre. Cette fois, le transfert a été encore plus rapide que jamais. Le taux de transfert de données était d'environ 150 Mo, et il n'y avait aucun pic dans le taux de transfert. C'était une ligne stable de 150mbs tout le temps.

J'ai fait des expériences avec d'autres gros transferts de données. Pour une raison quelconque, la connexion USB 3.0 directe à un disque dur externe est beaucoup plus lente que lorsqu'un concentrateur USB 3.0 est impliqué. ... Quelqu'un sait pourquoi c'est comme cela?

mike_mgoblue
la source