Чи впливає концентратор USB на продуктивність?


24

У мене є два пристрої , я хочу максимальну пропускну здатність і латентність з ( MIDI барабани і MIDI клавіатури, наприклад.)

Чи може підключення обох до одного USB-порту через концентратор ефективно обмежувати максимальну швидкість передачі даних до 1/2 для кожного з них?

Я припускаю, що так, але я не знав, чи мають USB-концентратори доступ до протоколу рукостискання та надання пріоритету (наприклад, дозвольте спочатку комунікатору з довше вбудованим буфером даних).

Відповіді:


17

Так. Усі пристрої, підключені через концентратор USB, мають пропускну здатність, доступну для цього концентратора. Але не конкретно на 50% кожен. Ви маєте 480 Мбіт / с для роботи на одному концентраторі USB 2.0 за комп'ютером . Що я маю на увазі під цим? Що ж, у ваш комп'ютер вбудовані USB-концентратори. Так, не кожен порт - це окрема сутність. У більшості випадків, коли ви бачите два порти USB, складені один на інший, вони перебувають на концентраторі разом.

Це стосується також двох портів на бортах ноутбуків. Тож не думайте, що ви можете просто підключити два концентратори до USB-портів, які є поруч, і мати багато USB-портів, щоб підключити пристрої з високою швидкістю передачі даних.

ЩО ЗАДАЄТЬСЯ, то це подивитися на очікувані швидкості передачі даних на пристроях, до яких ти плануєш підключитися. Я б очікував, що барабани MIDI вважатимуться низькою швидкістю передачі, тоді як клавіатура буде низькою або середньою швидкістю передачі. Це можна порівняти із чимось на зразок USB-звукової карти ..., якою ви не хочете ділитися хабом ні з чим іншим.

Завдяки концентратору з живленням кожен пристрій отримуватиме необхідну йому потужність, тоді як з ненапруженим концентратором усі пристрої поділяються незалежно від потужності USB-порту. Отже, є що врахувати.

Ви, швидше за все, вже знаєте, але щодо проблем із затримкою драйвери ASIO4ALL вилікують більшість, якщо не всі потенційні проблеми. Просто поклавши це там.


+1 для ASIO4ALL. використовував це для вбивства мого відставання в Rocksmith. дивно, що знає про це громада скелістів!
верблюд

Ви впевнені, що USB-аудіоконтролер зазнає вузького місця, якщо він не має до себе весь USB-контролер ? Я думаю, що вони повинні бути розроблені для роботи з концентраторами, принаймні для двоканального аудіо.
jiggunjer

28

Насправді я здивований, що перша відповідь прийнята та анонсована без будь-яких фактів, що підтверджують це твердження, оскільки це, ймовірно, неправильне. І барабани MIDI, і клавіатура MIDI майже напевно низькошвидкісні пристрої, тому вони будуть споживати менше 1% пропускної здатності з високошвидкісного концентратора (2 * 1 Мбіт / с / 480 Мбіт / с * 100% = 0,4% ).

Дійсно, наявність концентратора введе затримку, яка становить близько десятків мікросекунд для низькошвидкісних концентраторів або сотні наносекунд для високошвидкісних концентраторів. В останньому випадку ця затримка зникне, коли ви додасте затримку, введену програмним забезпеченням MIDI.

Також протокол USB підтримує пріоритети передачі (див. Переривання передач ), що дозволить пристроям MIDI співіснувати навіть із жорстким диском або сканером на одній шині без особливого впливу на швидкість передачі або затримку. Однак я не буду робити жодних заяв, оскільки я особливо не знайомий з пристроями MIDI.


15

Коротка відповідь - ви дійсно хочете концентратор Multi-TT для цього додатка, де 2 або більше ваших USB-пристроїв швидше за все 12 Мбіт / сек Шукайте "Multi-TT" на Amazon, Newegg або інших сайтах, щоб знайти ці центри.

На жаль, ця важлива технічна деталь згадується рідко. Більшість концентраторів використовують більш дешеву конструкцію Single-TT. Хороші кілька TT рідко рекламуються як такі, що навіть не позначені на упаковці. На жаль, більшість людей, мабуть, ніколи навіть не чули TT, тому, ймовірно, маркетологи не намагаються розповісти, яким дизайном користуються їх хаби.

Ви можете перевірити, чи має ваш концентратор цю функцію за допомогою диспетчера пристроїв Windows. Шукайте слова "Хаб має кілька ТТ" на вкладці "Додаткові".

Скріншот диспетчера пристроїв

В Linux тип концентратора можна перевірити за допомогою "lsusb -v | grep TT". Мені невідомий будь-який простий спосіб перевірити Macintosh, крім утиліти "USB Prober", яку Apple публікує у своїх інструментах розробки Xcode.

TT означає транслятор транзакцій. Деталі є складними та повністю задокументовані в главі 11 специфікації USB, яку безкоштовно завантажити з www.usb.org. Але в двох словах, TT перетворює між 480 Мбіт / с з вашого ПК на менші швидкості 12 або 1,5 Мбіт / с.

Зазвичай, коли ви граєте на цих музичних інструментах, їх контролери генерують MIDI-повідомлення та упаковуються в буфери пам'яті, які чекають моменту, коли ваш ПК вимагатиме даних. Коли ваш ПК підключається безпосередньо, він надсилає на ваш прилад повідомлення, яке називається маркер IN. Ваш інструмент може реагувати на маркер IN двома способами, або пакет DATA, або маркер NAK, щоб вказати відсутні дані. Ваш ПК надсилає ці маркери IN дуже швидко, тому результат майже миттєвої доставки ваших музичних подій у вигляді MIDI-повідомлень.

Однак коли ваш MIDI-пристрій 12 Мбіт / сек підключається через USB 2.0 HUB, відбувається дуже різний зв’язок, і все це становить 480 Мбіт / с. Ваш ПК фактично спілкується з Translator Translator в концентраторі. Він надсилає 2 повідомлення. Спочатку на TT надсилається повідомлення SSPLIT (Start Split Transaction). Якщо TT не зайнятий, він надсилає підтвердження. Тоді TT передає маркер IN на вашу клавіатуру MIDI з меншою швидкістю 12 Мбіт / с. Тим часом ваш ПК може спілкуватися з іншими пристроями зі швидкістю 480 Мбіт / с. Ваша клавіатура MIDI не може визначити, чи маркер IN надходив безпосередньо з вашого ПК або з TT концентратора. Це робиться точно так само, як якщо б ви підключились до вашого ПК. TT всередині концентратора отримує або відповідь NAK, або DATA. Поки це триває, ваш ПК починає надсилати повідомлення CSPLIT (Complete Split Transaction) на TT-центр концентратора. Відповіді TT за допомогою спеціального маркера NYET - TT все ще зайнятий спілкуванням зі швидкістю 12 Мбіт / с, або NAK або DATA з вашої клавіатури.

Якщо у вас підключена клавіатура MIDI і барабан MIDI, що станеться, якщо ваш ПК бажає надіслати повідомлення SSPLIT, щоб попросити TT спілкуватися з барабанами, але TT вже зайнятий спілкуванням з клавіатурою? Маючи лише одну TT, концентратор може відповісти NYET на новий запит SSPLIT, оскільки він зайнятий виконанням IN + DATA зі швидкістю 12 Мбіт / с. Ви точно не хочете такого сценарію!

Кілька концентраторів TT мають спеціальний TT на кожному нижньому порту (до якого ви підключаєте пристрої). За допомогою декількох TT концентратор завжди може приймати запит SSPLIT, навіть коли інші TT зайняті спілкуванням інших пристроїв нижче. Маючи лише один TT, ваш ПК може закінчитися в очікуванні, навіть через пропускну здатність 480 Мбіт / сек, оскільки концентратор має обмежену можливість конвертувати більше ніж 1 повідомлення одночасно між різними швидкостями.

Цей опис висвітлюється у багатьох важливих питаннях синхронізації з USB, якими керуються TT, але важливим моментом є те, що концентратори USB 2.0 можуть використовувати дві чітко різні конструкції. Ви дуже хочете уникати дешевших концентраторів Single-TT.

Швидкість USB 3.0 та 3.1 в цих відповідях згадувалася в інших місцях. Але TT в хабі ніколи не конвертують між 5 або 10 гігабітними швидкостями і 480, 12 або 1,5 швидкостями. Натомість концентратори USB 3.0 та 3.1 працюють як пара концентраторів. Гігабітні сигнали мають власні спеціальні штифти в новіших роз'ємах USB, які підключаються до концентратора, який працює лише зі швидкістю 5 або 10 Гбіт / с. Одночасне з'єднання 480 Мбіт / сек відбувається на вихідних штирях, тому пристрої 12 і 1,5 Мбіт / сек перетворюються на 480 Мбіт / сек за допомогою ТТ, але ніколи до 5 або 10 Гбіт / сек.

Також згадується в іншому місці "низька швидкість", яка технічно означає 1,5 Мбіт / сек в жаргоні USB, але може означати 1,5 або 12 Мбіт / сек у випадковій розмові. 12 Мбіт / сек в термінології USB називають "повною швидкістю". Протокол USB MIDI, який технічно є частиною "Специфікації аудіо-класу", використовує "масовий" протокол (а не протокол переривання, як заявлено в іншій відповіді). USB-специфікація не дозволяє протокол об'ємної передачі швидкості 1,5 Мбіт / сек. Тому, якщо пристрій USB MIDI дуже грубо не порушує швидкість USB, він завжди буде принаймні 12 Мбіт / сек. USB MIDI може бути швидкістю 480 Мбіт / с, в цьому випадку TT не застосовуються. Але переважна більшість продуктів USB MIDI на сьогоднішній день залишається швидкістю 12 Мбіт / сек.

Таким чином, ви дійсно хочете переконатися, що ваші USB-концентратори типу Multi-TT, якщо ви плануєте досягти максимальної продуктивності.


Як ви розумієте, що на вашому зображенні відображаються пристрої, що споживають пропускну здатність? Мої властивості навіть не мають цієї вкладки.
користувач5389726598465

3

Реально кажучи, спільний доступ до одного USB-порту за допомогою концентратора для розширення кількості підключених до вас пристроїв, мабуть, не матиме великого значення, навіть якщо ви використовуєте всі приєднані пристрої одночасно. Більшість пристроїв не дуже часто використовує передачу даних. Це навіть викликає занепокоєння, якщо ви використовуєте порти USB 3.0 або 3.1, які відповідно в 10 і 20 разів швидше, ніж 2.0, але також можуть одночасно надсилати та отримувати дані, забезпечувати більше енергії та працюватимуть з 2.0 пристрої.

Як зазначалося, до тих пір, поки через кожен пристрій, підключений до порту, працює достатня потужність, проблем не повинно виникати.


1

Як раз мій випадок, як приклад сповільнення USB 3.0 HUB, коли до нього підключено більше одного пристрою.

У мене є два однакові набори: корпус SataIII до USB3.1 Gen2 типу C із SSD 480 Гб.

Якщо я поставив SSD в порт SataIII, команда Linux dd читає більше 500 Мбіт / с.

Якщо я поставив SSD в корпус SataIII до USB 3.1 Gen2 типу C, команда Linux dd читає близько 413 Мбіт / с, незалежно від того, який із двох наборів я використовую.

Дивна річ виникає, коли я підключаю до USB 3.0 обидва корпуси, і я прошу Linux прочитати з обох (незалежно від того, чи смуга LVM, RAID0 або дві одночасні команди DD), вона зчитується лише при 2x150 = 300 MiB / s.

Тож, коли обидва підключені до мережі, я втрачаю близько 413-300 = 113 Мбіт / с швидкості.

Іншими словами:

  • Один SSD на USB 3 HUB, я отримую 413MiB / с зчитування
  • Два SSD на USB 3 HUB, я отримую 150 + 150 = 300 Мбіт / с зчитування
  • Переглянуте прочитане (за SSD), коли два SSD на концентраторі USB 3 буде менше 413/2 = 206MiB / s, але вони мають приблизно 150MiB / s кожен, а не> 200MiB / s, як передбачалося.

Я починаю вважати, що проблема полягає в протоколі USB 3 Hub для чергування пропускної здатності даних на обох накопичувачах, це додає величезних витрат.

Тому я можу підтвердити, що концентратор USB 3 у мене на руках сповільнює один SSD набагато більше, ніж макс. Пропускна здатність, коли одночасно підключено більше одного.

Крім того, я протестував на одному SSD і дуже повільній (менше 50 Мбіт / с) USB 3.0 палиці, USB-концентратор 3 в поєднанні зі швидкістю читання знизився до 263 Мбіт / с, тож я можу підтвердити, що комбінований зчитування втрачається близько 100 Мбіт / с, якщо я підключаю будь-який інший USB-накопичувач.

І ще, і ще гірше, я підключаю мишу (або клавіатуру), а швидкість читання SSD також близько 313 Мбіт / с, я відключаю підключення миші / клавіатури, а швидкість читання SSD повертається до 413 Мбіт / с, тому знову близько 100 Мбіт / s втрачена швидкість читання лише тому, що миша підключена (і використовується); якщо я не рухаюся, швидкість читання миші повертається до 413MiB / s.

Таким чином, HUB викликає масове зниження швидкості читання (близько 100 Мбіт / с) на комбінованій швидкості передачі, коли до нього підключено не один пристрій (і використовується), незалежно від того, до якого іншого пристрою я підключаюсь, як тільки він має більше ніж один, який працює одночасно, я отримую комбіновану швидкість читання майже на 100 Мбіт / с нижче, ніж при використанні лише одного пристрою в той час.

Я також протестував три пристрої: SSD + миша + клавіатура, я все ще втрачаю майже однакову швидкість, близько 100 Мбіт / с.

Якщо я читаю лише з одного SSD, але вони підключені, я також наближаюся до 413 Мбіт / с.

Ціна USB 3.0 концентратора була близько 20 євро, не з дешевих.

Висновок: USB HUB 3.0 зробить багато швидкості передачі MiB / s, коли одночасно підключено (і передає) більше одного пристрою, хто знає чому! можливо тому, що він ділить час передачі на кількість пристроїв (цілком виправданий), а може тому, що у нього величезні накладні витрати на велосипедних пристроях тощо.

Сподіваюсь, це допоможе комусь визначити проблему, всі тести були виконані під Linux Live SystemRescueCD (остання версія) з командою dd зі статусом = прогрес, розмір блоку в один мегабайт і підрахунок дорівнює одній тисячі (зчитуючи загалом 1 Гбіт), dest device / dev / null.

Я планую (коли / якщо я буду багатим) придбати інший USB 3.x HUB, на цей раз 3.1 Gen 2, щоб перевірити, чи трапляється те саме, чи це бренд, який має погані алгоритми прошивки.


SSD дуже відрізняються від пристроїв, про які йдеться. Кожен SSD намагається передати дані на ширині смуги частот USB 3-порту. Так ви втрачаєте багато пропускної здатності просто при зіткненнях.
fixer1234

1

Коли я використовую пряме з'єднання між моїм портативним комп'ютером, який має жорсткий диск потужністю 750 Гб 5400 об / хв, і моїми зовнішніми жорсткими дисками 8 ГБ, швидкість передачі насправді набагато повільніше, ніж коли я використовую концентратор USB. Наприклад, я нещодавно скопіював і вставив чотири фільми, додавши приблизно 120 ГБ даних. Ось що сталося

  1. Спочатку я скопіював чотири фільми, додавши до 120 Гб даних на жорсткий диск ноутбука, а потім вставив їх на один 8 Гб зовнішній жорсткий диск. На передачу знадобилося близько 80 хвилин, оскільки швидкість передачі даних становила лише близько 30 Мбіт. Швидкість передачі даних мала шипи, що коливались від 20 до 35 Мбіт.

  2. По-друге, потім я підключив інший зовнішній жорсткий диск 8 Гб, який є точно такою ж моделлю. Цього разу я використовував 4-портовий концентратор USB 3.0. Цього разу швидкість передачі даних була набагато швидшою - часом понад 90 Мбіт. Швидкість передачі даних мала сплески, що варіювались від 50 до 90 мг. На передачу даних знадобилося лише 30 хвилин.

  3. По-третє, в якості експерименту я підключив обидва зовнішні жорсткі диски 8 Гб одночасно через концентратор USB 3.0. Я скопіював усі чотири фільми із 120 ГБ даних з одного жорсткого диска на інший. Цього разу передача пройшла навіть швидше, ніж будь-коли. Швидкість передачі даних становила близько 150 Мбіт, і у швидкості передачі взагалі не було сплеску. Це була стійка лінія 150mbs весь час.

Я робив експерименти з іншими великими передачами даних. Чомусь пряме підключення USB 3.0 до зовнішнього жорсткого диска відбувається набагато повільніше, ніж коли задіяний концентратор USB 3.0. ... Хтось знає, чому це?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.