Ожидаемая производительность умножения портов e-SATA?

10

Для определенной рабочей нагрузки чтения / записи я получаю 30 МБ / с из 4-дискового массива с использованием умножения портов esata. Когда я перемещаю один и тот же массив в четыре отдельных соединения sata, я получаю 90 МБ / с для той же рабочей нагрузки. Это ожидаемое влияние на производительность множителя? Если нет, как я могу сузить проблему между программным обеспечением, контроллером или корпусом?

Я получил те же самые результаты даже после того, как попробовал большое количество переменных за эти годы:

  • Многие версии Linux (RHEL5, Fedora 9, 11, 13, 16) и все ядра, что влечет за собой.
  • Два типа корпусов (обе модели с четырьмя дисками по 100 долларов), всего четыре корпуса.
  • Два типа чипсетов SATA-контроллеров (Marvell 88SE91xx и Silicon Image 3132)
  • Четыре контроллера SATA (около 30-60 долл. Pci-x1 интерфейсные карты и один PCI, все на основе FIS-коммутации).
  • Три скорости SATA (1,5, 3,0 и 6,0 Гбит / с)
  • Четыре типа жестких дисков (Samsung Spinpoint F1 1TB, WD Caviar Black 2TB, Seagate Barracuda XT 3TB).
  • Три компьютера (Athlon 3 ГГц + 1 ГБ ОЗУ, когда я сделал первый массив e-sata, затем Core 2 Duo + 4 ГБ, теперь Core i5 750 + 8 ГБ).

Когда я делал свой первый корпус eSATA много лет назад, я предполагал, что низкая скорость связана с использованием карты PCI (33 МГц), незрелых драйверов SATA или, возможно, дисков SATA-1,5 Гбит / с 5400 об / мин. Но теперь с контроллером x1 6 Гбит / с, ядром 3.0 и 6 Гбит / с 7200 об / мин HDDS все еще ничего не изменилось. Я по-прежнему получаю те же 30 МБ / с для этой конкретной рабочей нагрузки, пока не перенесу их на отдельные соединения SATA.

Является ли это фундаментальным ограничением для всех реализаций умножения портов?

Дэниел Браунинг
источник
3
Ух ты, какое-то тестирование :)
kubanczyk

Ответы:

10

Да. Ожидается плохая работа.

Протокол ATA никогда не предназначался для передачи данных более чем на один диск (фактически он был основан на шине ISA, расширяющей канал связи до накопителя). Интерфейс IDE обманул это ограничение, передав данные для устройств «Master» и «Slave». Однако у SATA нет аналогичного механизма, поскольку он предназначен только для одного устройства на кабельное соединение.

Умножители портов eSATA функционируют как цель ATA, которая может выбирать несколько физических носителей (поэтому одновременно можно адресовать только одно физическое устройство, и имеется небольшая задержка при переключении на другое устройство). Вы можете сравнить это со старыми оптическими библиотеками.

Это радикально отличается от SAS, который был построен с использованием встроенных расширителей и инициатора / целевой маршрутизации (SAS 2.0+ функционирует как коммутируемая сеть Ethernet). SAS также может объединять несколько линий в соединительные линии, обеспечивая одновременный доступ к нескольким устройствам через несколько соединительных линий.

Обновление: по-
видимому, есть более новые контроллеры, которые поддерживают FIS, что позволяет нескольким дискам быть «активными» одновременно. Это должно позволить производительность намного выше, чем описано выше. По-видимому, в настоящее время только один производитель делает эти чипы. Я все еще настоятельно рекомендую начинать с SATA в серверных средах. Если вам необходимо использовать диски SATA, рассмотрите возможность использования контроллеров и расширителей SAS.

Крис С
источник
Форма множественного числа - это СМИ;)
Марк Хендерсон
если только речь не идет о духовной среде или предметах среднего размера.
Крис С
Touché мой друг
Марк Хендерсон
3

Вы уверены, что пробовали контроллер и умножитель портов, поддерживающий умножение портов FIS (Frame Information Structure) ?

AFAIK поддерживают только кремниевые контроллеры и множители изображений (SiI3726), но производительность аналогична SAS с той же скоростью (80-90% насыщения канала).

Хьюберт Карио
источник
Я не осознавал, что сам множитель портов также должен будет поддерживать FIS, но в ретроспективе это имеет смысл. Возможно, множитель портов, встроенный во все мои недорогие корпуса ($ 100 / каждый, например, Mediasonic HF2-SU3S2), поддерживает только переключение на основе команд. Есть ли способ сказать программно (например, вывод dmesg)? Он не упоминается в их руководстве или на веб-сайте, за исключением этого отрывка: «При подключении через интерфейс eSATA компьютерное оборудование клиента должно иметь множитель портов с переключением на основе FIS для одновременного доступа к нескольким жестким дискам».
Дэниел Браунинг
1
@DanielBrowning: был флаг, показывающий поддержку FIS для контроллера, но я не думаю, что был один для множителя. Также могут быть проблемы с совместимостью (SiI отказывается работать с JMicron). Я думаю, что использование чипсета и чтение спецификаций чипсета было бы единственным способом быть уверенным ...
Хьюберт Карио
Я снял вентилятор с корпуса HF2-SU3S2 и выложил фотографии здесь: thebrownings.name/images/2012/2012-01-esata - Это похоже на множитель порта JMicron JMB321, и я ничего не вижу в FIS на их сайте: jmicron.com/Product_JMB321.htm - что вы думаете?
Дэниел Браунинг
Это может быть проблемой. Затраты SiI один точно так же , как весь ваш корпус: amazon.com/5-Port-Port-SATA-II-Multiplier-SiI3726/dp/B004G9SKEE я определенно попробовать это , прежде чем ATAoE или полный SCSI (SAS или любой ISCSI )
Юбер Карио