10 Gigabytes per Second in Perspective: A Moving Story

この4部構成のブログ記事の第1部では、10GB/秒でビデオを見ることができる仮想のロボットについて説明しました。 この 10 GB/s が何を意味するのかを十分に理解するために、もう 3 つのパートを記事に追加しました。 第2部では、データの基本単位であるビットとバイト、およびその倍数について定義しました。 3回目では、メガやギガといった複数の接頭辞の定義について紹介しました。 最終回となる第4回は、転送速度で使用される測定値と、それらがネットワークとストレージ メディアにどのように異なって適用されるかを見ていきます。

この原稿を書いている2017年初頭、オーストラリアのアデレードでは、10Gb/sのブロードバンド ネットワークを展開する計画が進められています。 目標とする速度は印象的で、私たちの仮説の映画中毒ロボットの現実の Seagate SSD の 10 GB/s のスループット速度と似ているように聞こえますが、両者は間違いなく同じではありません。 どちらの例もデータ転送速度について述べているため、互いに類似していますが、非常に異なるものでもあります。 4 回にわたるブログの最終回では、この 2 つの類似点と相違点だけでなく、そもそもなぜ異なる単位が測定に使用されているのかも紹介します。

Everything but the Kitchen Sink

ストレージとネットワークに関連するデータ転送のコツに踏み込む前に、キッチンで水がどう流れているかを見ていきましょう。 水道の蛇口は、たとえば、2 g/m の定格を持つかもしれません。 これは、1分間に約2ガロンの水が理論上の最大速度でノズルから流れるように設計されていることを意味します。 しかし、そのような蛇口ヘッドに蓄積されたミネラル、あなたのマンションの全体的な低水圧またはパイプの詰まりなどの要因によって任意の時点で水の流れが損なわれることがあるので、あなたは、その速度を得ることができないかもしれません。 あなたの問題を診断する配管工は、蛇口からの水の流量を 1 g/m と言うかもしれません。

では、これはデータにどのように関係しているのでしょうか。 データでは、これらのフロー レートは帯域幅またはスループットとして表され、どちらも与えられた時間内に移動できる情報量を測定します。 これら 2 つの用語は互換性を持って使用されることが多いですが、実際にはまったく異なります。

帯域幅は、蛇口の水流定格のように、リンクが処理するように設計されているデータ転送の理論上の最大レートを表します。 しかし、トイレの洗浄や配管の漏れなどの外部要因によって、蛇口から最大速度で水が出ないことがあるように、データ ネットワークやコンピュータの世界では、プロトコルのオーバーヘッド、ネットワークの遅延、信頼性などの要因が絡み合って、データ接続がその潜在能力を十分に発揮できないことがよくあります。

Size Matters

帯域幅とスループットの両方は、通常、1 秒あたりのビット数 (b/s) または 1 秒あたりのバイト数 (B/s) – Mb/s, MB/s, Gb/s, GB/s などとして測定されます。 MB/s、Gb/s、GB/sなど。大文字と小文字の違いに注意してください:小さなbはビットを、大きなbはバイトを表します。 Adelaide ネットワークと Seagate SSD の例で使用されている測定基準はデータ転送速度を記述していますが、一方は測定単位としてギガビットを使用し、他方はギガバイトを使用しています。 第2回で思い出したかもしれませんが、最近のバイトは8ビットと定義するのが最も一般的です。 ですから、通常、ビットからバイトに変換するには、ビット数を8で割り、バイトからビットに変換するには、バイト数に8を掛ければよいのです。 これは非常に一般的なルールであり、データ転送速度に関しては顕著な例外を後で見ていきます。

これらの測定単位の変換方法がわかったところで、そもそもなぜ測定方法が異なるのかを見ていきましょう。 メモリやストレージでは、データ転送速度は通常 1 秒あたりのバイト数で表され、ネットワークやインターフェイスでは、データ転送速度は通常 1 秒あたりのビット数で表されます。

よくある誤解は、ネットワークやインターネット関連分野の企業が、ネットワーク速度が実際よりもずっと速いという印象を顧客に与えるために 1 秒あたりのビットを使用しているということです。 その根拠は、8 Gb/s は 1 GB/s よりもずっと聞こえが良いので、顧客は実際よりも速い接続速度を得ていると思うだろうというものです。 しかし、これはマーケティング上の策略ではありません。 もしそうだとしたら、そう考える人は、なぜメモリやストレージの会社のマーケティンググループも、すべてをビットに変換しないのかと問わねばならないかもしれない。

Bytes for Computers

コンピュータとそのメモリやストレージ間のデータ転送について話すとき、転送はほとんど1秒あたりのバイト数で表現されます。 第 2 回で、バイトはコンピュータのメモリやストレージ デバイスのデータの最も基本的なアドレス指定可能単位であり、コンピュータは主にバイトに関心を寄せていることを確認しました。 また、第3回で見たように、コンピュータがメモリ内のデータにアクセスするときは、バイト単位で行われます。 そのため、コンピュータに個々のビットを特定したり操作したりするように指示すると、まずそのビットが属するバイトにアクセスし、さらにそのビットを分離するための操作を行う必要があるのです。 さらに、ファイルは何バイトで構成されているかも測定されるため、転送速度を1秒あたりのバイト数で表すと、コンピュータシステムのある部分から別の部分にファイルをコピーするのにかかるであろう時間を把握するのに便利です。 これは、スループットとして最も一般的に表現されます。

コンピュータが一般的にそのすべての周辺デバイスと同じ言語を話すので、この標準は単一システム内のファイル転送にうまく機能します。

Bits for Networks

ネットワーク接続、または 2 台以上のコンピュータがデータを共有するためにワイヤまたは空中でリンクされている状況では、転送レートは伝統的にビット/秒単位で記述されています。 これは、コンピュータ システム自体とは異なり、ネットワークを介して移動するデータは、ビットの塊ではなく、一度に 1 ビット、または 1 バイト以上、連続して転送されるからです。 あるコンピュータはバイトを作るのに 4 ビットを必要とし、別のコンピュータは 6 ビットを必要とし、さらに別のコンピュータは 8 ビットを必要としました。 したがって、データがあるコンピューターから別のコンピューターに転送されるとき、送信側コンピューターのバイトが受信側コンピューターのバイトと異なるサイズである可能性があるため、転送が何バイトで行われたかを測定することは実用的ではありませんでした。 ネットワーク エンジニアは、転送レートを 1 秒あたりのビット数で測定します。そうすることで、ファイル内のデータだけでなく、必要なすべてのデータを転送するネットワーク リンクの実際の能力が最も正確に反映されるからです。 ほとんどのネットワーク通信では、リンク上で送信されるビットのすべてが、実際に転送されるファイルの一部であるとは限りません。 ネットワークはしばしばエンコード方式を採用し、送信される各バイトに追加のビットを付加しています。 これらの余分なビットには、データが正しい受信者に送信され、データがエラーなく送信され、問題なく受信されたことを確認するためにネットワークが必要とする情報などが含まれています。

一般的なエンコーディング方式は 8b/10b と呼ばれ、その名前は、リンク上で送信される 8 ビットごとに、メタデータとして 2 ビット追加されることから付けられました(つまり、8 ビットバイトごとに 10 ビットのデータが送信されることになる)。 このエンコード方式では、ネットワーク上でデータを確実に転送するだけで、20%のオーバーヘッドが発生します。 アデレードが目指す10Gb/秒のブロードバンド・ネットワークは、理論的にはバイトで測ると約1.25GB/秒(10Gb÷8)ですが、20%のオーバーヘッドを考慮すると、1GB/秒に近い数字となります。 PCIe 3.0規格では128b/130bという方式が採用されています。 これは、128ビットのデータに対して2ビットのオーバーヘッドが追加されることを意味します。 新しいスキームは、8b/10b 標準よりも効率的で、アップグレードにより、以前の 20% のオーバーヘッド ペナルティと比較して、わずか約 1.5% のオーバーヘッド ペナルティとなります。 特に、転送中のデータを見ることになると、その傾向が強くなります。 残念ながら、ギガバイトとギガビットは、似ているけれど異なるものを測定するための非常に異なる単位ですが、現実世界では、人々はしばしば 10 GB/s と 10 Gb/s を同じように短縮して、「10 ギガ」としています。

しかしながら、うまくいけば、10 ギガのスループットで Netflix 映画を見ていると宣言しているロボットは、まもなく 10 ギガのネットワークにいると自慢しているオーストラリア人と全く異なることを述べているということが非常に明確にわかるでしょう。

コメントを残す

メールアドレスが公開されることはありません。