e-SATAポートの乗算の期待されるパフォーマンス?


10

特定の読み取り/書き込みワークロードの場合、esataポートの乗算を使用して、4ディスクアレイから30 MiB /秒を取得します。まったく同じアレイを4つのsata接続に移動すると、同じワークロードで90 MiB /秒が得られます。これは乗数の予想されるパフォーマンスへの影響ですか?そうでない場合、ソフトウェア、コントローラー、またはエンクロージャー間で問題を絞り込むにはどうすればよいですか?

何年にもわたって多数の変数を試した後でも、まったく同じ結果が得られました。

  • 多くのLinuxバージョン(RHEL5、Fedora 9、11、13、16)とそれに伴うすべてのカーネル。
  • 2種類のエンクロージャー(両方ともローエンドの100ドル4ディスクモデル)、合計4つのエンクロージャー。
  • 2種類のSATAコントローラーチップセット(Marvell 88SE91xxおよびSilicon Image 3132)
  • 4つのSATAコントローラー(約$ 30〜$ 60のpci-x1インターフェイスカードと1つのPCI、すべてFISベースのスイッチング)。
  • 3つのSATA速度(1.5-、3.0-、および6.0-Gbps)
  • 4種類のHDD(Samsung Spinpoint F1 1TB、WD Caviar Black 2TB、Seagate Barracuda XT 3TB)。
  • 3台のコンピューター(最初のe-sataアレイを作成したときのAthlon 3ghz + 1GB RAM、次にCore 2 Duo + 4GB、現在はCore i5 750 + 8GB)。

何年も前に最初のeSATAエンクロージャーを作ったとき、遅い速度はPCI(33mhz)カード、未成熟なSATAドライバー、またはおそらくSATA-1.5Gbps 5400 RPMドライブの使用に関連していると思いました。しかし、x1 6Gbpsコントローラー、3.0カーネル、6Gbps 7200rpm HDDを備えた今でも、何も変わっていません。個々のSATA接続に移動するまで、その特定のワークロードに対して同じ30 MiB /秒を引き続き取得します。

これはすべてのポート乗算実装の基本的な制限ですか?


3
うわー、それはいくつかのテスト作業です:)
kubanczyk

回答:


10

はい。パフォーマンスの低下が予想されます。

ATAプロトコルは、複数のドライブにデータを伝送することを意図したものではありませんでした(実際には、ISAバスに基づいており、通信チャネルをストレージドライブに拡張しています)。IDEインターフェースは、「マスター」および「スレーブ」デバイスのデータを伝送することにより、この制限を回避しました。ただし、SATAはケーブル接続ごとに1つのデバイスのみを対象としていたため、同等のメカニズムはありません。

eSATAポートマルチプライヤは、複数の物理メディアを選択できるATAターゲットとして機能します(一度に1つの物理デバイスしかアドレス指定できず、別のデバイスへの切り替えにわずかな遅延があります)。これを古い光ライブラリと比較できます。

これは、エキスパンダーとイニシエーター/ターゲットルーティングを組み込んで構築されたSASとは根本的に異なります(SAS 2.0+は、スイッチドイーサネットネットワークのように機能します)。SASは、複数の回線をトランクに結合して、複数のトランク回線を介して複数のデバイスに同時にアクセスすることもできます。

更新:
明らかに、FISをサポートする新しいコントローラーがあり、複数のドライブを同時に「アクティブ」にすることができます。これにより、上記よりもはるかに高いパフォーマンスが得られます。どうやら現時点では、これらのチップを製造しているメーカーは1社だけです。サーバー環境ではSATAから始めることを強くお勧めします。SATAドライブを使用する必要がある場合は、引き続きSASコントローラーとエクスパンダーの使用を検討してください。


メディアの複数形はメディアです;)
マークヘンダーソン

精神的な媒体または媒体のサイズのアイテムに言及しない限り。
Chris S

友人のトッシェ
マークヘンダーソン

3

FIS(Frame Information Structure)ポート乗算をサポートするコントローラーポートマルチプライヤーを試してみましたか?

AFAIKのみのシリコンイメージコントローラーと乗算器(SiI3726)はこれをサポートしていますが、パフォーマンスは同じ速度のSAS(80〜90%のリンク飽和)に似ています。


ポートマルチプライヤ自体もFISをサポートする必要があるとは思いませんでしたが、振り返ってみると、それは完全に理にかなっています。おそらく、私のすべてのダートチープエンクロージャに組み込まれたポートマルチプライヤ($ 100 /各、たとえばMediasonic HF2-SU3S2)は、コマンドベースのスイッチングのみをサポートします。プログラムで伝える方法はありますか(dmesg出力など)?この抜粋を除いて、マニュアルやウェブサイトには記載されていません。「eSATAインターフェースを介して接続する場合、お客様のコンピューターハードウェアは、複数のHDDに同時にアクセスするためにFISベースのスイッチング付きのポートマルチプライヤーが必要です。」
Daniel Browning

1
@DanielBrowning:コントローラーのFISサポートを示すフラグがありましたが、乗数用のものはないと思います。相互運用性の問題もある可能性があります(SiIはJMicronとの連携を拒否しています)。チップセットを使用し、チップセットの仕様を読み取ることが、確かに唯一の方法だと思います...
Hubert Kario

私はHF2-SU3S2エンクロージャのオフファンを引っ張られ、ここに写真を投稿:thebrownings.name/images/2012/2012-01-esata -それはJMicronのJMB321ポートマルチプライヤのように見える、と私はFISについては何も表示されません彼らのウェブサイト:jmicron.com/Product_JMB321.htm-あなたはどう思いますか?
Daniel Browning

これが問題である可能性があります。SiI 1コストは同じくらいあなたの全体のエンクロージャとして:amazon.com/5-Port-Port-SATA-II-Multiplier-SiI3726/dp/B004G9SKEE私は間違いなくATAoEまたはフルSCSI(SASまたはiSCSIのいずれかに行く前にこれを試してみました)
Hubert Kario、2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.