Prestazioni previste della moltiplicazione delle porte e-SATA?


10

Per un certo carico di lavoro in lettura / scrittura, ottengo 30 MiB / s da un array a 4 dischi utilizzando la moltiplicazione della porta esata. Quando sposto lo stesso array esatto su quattro singole connessioni sata, ottengo 90 MiB / s per lo stesso carico di lavoro. È questo l'impatto previsto sul rendimento del moltiplicatore? In caso contrario, come posso restringere il problema tra software, controller o enclosure?

Ho ottenuto gli stessi esatti risultati anche dopo aver provato un gran numero di variabili nel corso degli anni:

  • Molte versioni di Linux (RHEL5, Fedora 9, 11, 13, 16) e tutti i kernel che ciò comporta.
  • Due tipi di enclosure (entrambi modelli di fascia bassa da $ 100 a 4 dischi), quattro enclosure in totale.
  • Chipset controller SATA di due tipi (Marvell 88SE91xx e Silicon Image 3132)
  • Quattro controller SATA (circa $ 30 - $ 60 schede di interfaccia pci-x1 e un PCI, tutti switch basati su FIS).
  • Tre velocità SATA (1,5, 3,0 e 6,0 Gbps)
  • Quattro tipi di HDD (Samsung Spinpoint F1 1 TB, WD Caviar Black 2 TB, Seagate Barracuda XT 3 TB).
  • Tre computer (Athlon 3ghz + 1 GB di RAM quando ho realizzato il primo array e-sata, quindi Core 2 Duo + 4 GB, ora Core i5 750 + 8 GB).

Quando ho fatto il mio primo enclosure eSATA tanti anni fa, ho pensato che la bassa velocità fosse correlata all'uso di una scheda PCI (33mhz), driver SATA immaturi o forse le unità SATA-1.5Gbps 5400 RPM. Ma ora con un controller x1 6Gbps, kernel 3.0 e HDDS 6Gbps 7200rpm, non è cambiato nulla. Ricevo ancora gli stessi 30 MiB / s per quel particolare carico di lavoro fino a quando non lo sposto su singole connessioni SATA.

È una limitazione fondamentale di tutte le implementazioni della moltiplicazione delle porte?


3
Wow, questo è un po 'di sforzo di prova :)
kubanczyk,

Risposte:


10

Sì. Si prevedono scarse prestazioni.

Il protocollo ATA non è mai stato progettato per trasportare dati su più di un'unità (in realtà era basato sul bus ISA, estendendo il canale di comunicazione a un'unità di archiviazione). L'interfaccia IDE ha imbrogliato questa limitazione trasportando i dati per i dispositivi "Master" e "Slave". SATA non ha tuttavia un meccanismo equivalente, poiché era destinato a un solo dispositivo per connessione via cavo.

I moltiplicatori di porte eSATA funzionano come target ATA in grado di selezionare più supporti fisici (quindi è possibile indirizzare solo un dispositivo fisico alla volta e si verifica una leggera latenza nel passaggio a un dispositivo diverso). È possibile confrontare questo con le vecchie librerie ottiche.

Questo è radicalmente diverso da SAS, che è stato costruito con espansori e routing iniziatore / target integrato (SAS 2.0+ funziona in qualche modo come una rete Ethernet commutata). SAS è anche in grado di unire più linee in tronchi consentendo l'accesso simultaneo a più dispositivi attraverso più linee di linea.

Aggiornamento: a
quanto pare ci sono controller più recenti che supportano FIS, che consente a più unità di essere "attive" allo stesso tempo. Ciò dovrebbe consentire prestazioni molto superiori a quelle sopra descritte. Apparentemente in questo momento solo un produttore produce questi chip. Consiglio vivamente di partire da SATA in ambienti server. Se è necessario utilizzare unità SATA, considerare di utilizzare ancora controller ed espansori SAS.


La forma plurale del mezzo è media;)
Mark Henderson il

a meno che non si riferisca a un mezzo spirituale o ad elementi del mezzo di dimensioni.
Chris S,

Touché amico mio
Mark Henderson il

3

Sei sicuro di aver provato il moltiplicatore di porte e controller che supporta la moltiplicazione delle porte FIS (Frame Information Structure) ?

AFAIK supporta solo controller e moltiplicatori di immagini al silicio (SiI3726), ma le prestazioni sono simili a SAS della stessa velocità (saturazione del collegamento dell'80-90%).


Non mi ero reso conto che lo stesso moltiplicatore di porte avrebbe dovuto supportare anche il FIS, ma a posteriori ha perfettamente senso. Forse il moltiplicatore di porte incorporato in tutti i miei contenitori economici ($ 100 / ciascuno, ad es. Mediasonic HF2-SU3S2) supporta solo la commutazione basata su comandi. C'è un modo per dirlo a livello di codice (ad es. Output di dmesg)? Non è menzionato nel loro manuale o sito Web, tranne per questo estratto, "Durante la connessione tramite interfaccia eSATA, l'hardware del computer del cliente deve avere un moltiplicatore di porte con commutazione basata su FIS per accedere a più HDD contemporaneamente".
Daniel Browning,

1
@DanielBrowning: c'era un flag che mostrava il supporto FIS per il controller, ma non credo ce ne fosse uno per il moltiplicatore. Potrebbero esserci anche problemi di interoperabilità (SiI rifiuta di lavorare con JMicron). Ottenere il chipset usato e leggere le specifiche del chipset sarebbe l'unico modo per essere sicuro, penso ...
Hubert Kario,

Ho rimosso la ventola dal contenitore HF2-SU3S2 e pubblicato le immagini qui: thebrownings.name/images/2012/2012-01-esata - Sembra un moltiplicatore di porte JMic32 JMic32 e non vedo nulla sulla FIS sul loro sito web: jmicron.com/Product_JMB321.htm - cosa ne pensi?
Daniel Browning,

Questo potrebbe essere il problema. Quello SiI costa quanto l'intero tuo recinto: amazon.com/5-Port-Port-SATA-II-Multiplier-SiI3726/dp/B004G9SKEE Lo proverei sicuramente prima di passare ATAoE o SCSI completo (SAS o iSCSI )
Hubert Kario,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.