Очікувана ефективність множення порту e-SATA?


10

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

Я отримав ці ж результати навіть після спроб великої кількості змінних протягом багатьох років:

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

Коли я робив перший вкладку eSATA всі ті роки тому, я припустив, що низька швидкість пов'язана з використанням карти PCI (33 МГц), незрілими драйверами SATA або, можливо, накопичувачами SATA-1.5Gbps 5400 RPM. Але тепер з контролером x1 6Gbps, ядром 3.0 та HDDS 6Gbps 7200rpm, все ще нічого не змінилося. Я все одно отримую ті ж 30 Мбіт / с для конкретного навантаження, поки не переміщу його до окремих підключень SATA.

Це фундаментальне обмеження всіх реалізацій множення портів?


3
Ого, це певні зусилля для тестування :)
kubanczyk

Відповіді:


10

Так. Погані показники варто очікувати.

Протокол ATA ніколи не призначався для передачі даних на більш ніж один привід (він фактично базувався на шині ISA, поширюючи канал зв'язку на накопичувач). Інтерфейс IDE обдурив це обмеження, несучи дані для пристроїв "Master" та "Slave". Однак SATA не має аналогічного механізму, оскільки він призначався лише одному пристрою на кабельне з'єднання.

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

Це кардинально відрізняється від SAS, який був побудований за допомогою вбудованої програми Expanders та маршрутизатора ініціаторів / цілей (SAS 2.0+ функціонує як комутаційна мережа Ethernet). SAS також може зв'язувати декілька ліній у магістралі, дозволяючи одночасно отримувати доступ до декількох пристроїв по декількох магістральних лініях.

Оновлення:
Мабуть, є новіші контролери, які підтримують FIS, що дозволяє одночасно «активувати» декілька накопичувачів. Це повинно дозволити продуктивність значно вище, ніж описано вище. Мабуть в цей час ці чіпи виробляє лише один виробник. Я все-таки настійно рекомендую починати від SATA в серверних умовах. Якщо вам потрібно використовувати накопичувачі SATA, подумайте, як і раніше використовувати контролери SAS та Expanders.


Форма множини середнього є медіа;)
Марк Хендерсон

за винятком випадків, коли йдеться про духовне середовище або предмети середнього розміру.
Chris S

Touché мій друг
Марк Хендерсон

3

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

AFAIK лише контролери та множники зображення Silicon (SiI3726) підтримують це, але продуктивність схожа на SAS з однаковою швидкістю (насиченість зв'язку 80-90%).


Я не усвідомлював, що сам мультиплікатор портів теж повинен підтримувати FIS, але в перспективі це має ідеальний сенс. Можливо, помножувач порту вбудований у всі мої недорогі корпуси (100 доларів США / кожен, наприклад, Mediasonic HF2-SU3S2) підтримують лише перемикання на основі команд. Чи є спосіб сказати програмно (наприклад, dmesg-вихід)? У посібнику чи на веб-сайті це не згадується, окрім цього уривка: "Під час підключення через інтерфейс eSATA, комп'ютерне програмне забезпечення замовника повинно мати перемикач на основі мультиплікатора Port / FIS, щоб отримати доступ до декількох жорстких дисків одночасно".
Даніель Браунінг

1
@DanielBrowning: був прапор, який показав підтримку FIS для контролера, але я не думаю, що він був для мультиплікатора. Можуть виникнути і проблеми з інтероперабельністю (SiI відмовляється працювати з JMicron). Використання чіпсету та читання специфікацій чіпсету - це єдиний спосіб бути впевненим, я думаю ...
Hubert Kario

Я зняв вентилятор з корпусу HF2-SU3S2 і розмістив тут фотографії: thebrownings.name/images/2012/2012-01-esata - Це схоже на помножувач порту JMicron JMB321, і я нічого не бачу про FIS на їхньому веб-сайті: jmicron.com/Product_JMB321.htm - що ви думаєте?
Даніель Браунінг

Це може бути проблемою. Сіль-1 коштує стільки ж, скільки і весь ваш корпус: amazon.com/5-Port-Port-SATA-II-Multiplier-SiI3726/dp/B004G9SKEE Я обов'язково спробую це, перш ніж перейти на ATAoE або повний SCSI (або SAS, або iSCSI )
Хуберт Каріо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.