USB3接続5GBASE-Tネットワークアダプター
USB 3.1 Gen1 to 5GbE Network Adapter Guide - ServeTheHome
ServeTheHomeがUSB3接続5GBASE-Tネットワークアダプターについてレビューを掲載している。この記事では「USB 3.1 Gen1」となっているが、消費者から見ると実質的にはSuperSpeed USB = USB 3.0 = USB 3.1 Gen 1 = USB 3.2 Gen 1x1であり、USB 3.1 Gen 1はUSB 3.0を置き換える規格である。本稿では元記事に倣い「USB3.1 Gen 1」で統一する。
NBASE-T策定の経緯についてはInternet Watchなどに詳しいが、恐らく業界としては1000BASE-Tの次は10GBASE-Tと想定していたのだろうが、1000BASE-Tが1999年に規格化され2005年頃には広く普及していたのに対し、10GBASE-Tは2006年に規格化された後もPHYが厄介で未だに普及していない。その一方でWi-Fiのbackhaulなどの用途で1 Gbpsでは帯域が不足してきており、そこで2016年に10GBASE-Tをベースに信号速度を落としPHYを簡略化して策定されたのがNBASE-T(2.5GBASE-T・5GBASE-T)である。10GBASE-Tは14年を経た今でも巨大なヒートシンクが必要でポート単価$100ほどするが、2.5GBASE-T・5GBASE-Tは登場から間もない段階でポート単価がそれぞれ$20~30・$40~60程度となっている。
従って、ServeTheHomeのレビューではUSB3.1 Gen1接続の5GBASE-T対応製品のみを扱っているが、類似の製品としては2.5GBASE-T対応製品もある。
USB 3.0/3.1 Gen 1の信号レベルでの理論上の転送速度が最大5 Gbpsのため5GBASE-Tネットワークアダプターは、PCIeポートやThunderbolt/USB 4ポートを持たないラップトップPCや小型PCなどでは実質的に最高速のネットワークアダプターということになる。
同種の製品は各社から発売されておりServeTheHomeの記事に掲載された製品以外に日本でもPlanexの5GBASE-T対応製品やBuffaloやPlanexの2.5GBASE-T対応製品が存在しているが、実は中のネットワークコントローラーは5GBASE-T対応製品はMarvell/旧Aquantia AQC111U・2.5GBASE-T対応製品はRealtek RTL8156で共通している。他に旧AquantiaでAQC112Uという2.5GBASE-T対応コントローラーも存在するのだが…恐らく価格のせいで搭載製品を見たことが無い。
実は、USB3.1 Gen 1接続のネットワークアダプターでは理論上でも5 Gbpsに達しないため、5GBASE-T規格のアダプターだからといってベンチマーク結果を見るまでもなく5 Gbpsは達成できない点には注意が必要である。
まず、USBという観点で見ると3.1 Gen 1のエンコーディングが8b/10bのため5 Gbps PHYでもデータ帯域は500 MB/s(4 Gbps)である。また、USBはホスト-デバイス間でパケット通信が行われるためデータパケットのヘッダやCRC-32などの20 Bytesのオーバーヘッドがあり最大1024 Bytesのパケットの場合でペイロードは最大1004 Bytesとなり最大490 MB/s(3.92 Gbps)である。さらに、ネットワークという観点で見ればホストコンピューター-USBネットワークコントローラーでやり取りされるIPデータグラムはTCP Header 20 Bytes + IP Header 20 Bytesの計40 Bytesのオーバーヘッドが含まれるから、これらオーバーヘッドを全て除外すると9000 Bytes Jumbo Frameの場合で最大488 MB/s(3.90 Gbps)の帯域が得られる計算になる。記事中ではiperf3(TCP)で測定しているため、測定結果は理論値の最大でも3.90 Gbpsを超えることは無く、実際にはこれより劣化することになる。
そう考えると、ServeTheHomeのiperf3測定で3.45 Gbpsという実測結果は、5GBASE-TのTCPレベルでの転送速度(最大4.97 Gbps)に対し理論値の約69.30%でしかないが、USB 3.1 Gen 1接続であることも考慮すると理論値の約88.46%を達成していることになり悪くない数字のように思う。
こうなってくると気になるのは2.5GBASE-Tとの性能差である。なにせ上記の通り5GBASE-Tの場合はUSBがボトルネックとなって理論上でも最大3.90 Gbpsに制限されているが2.5GBASE-TではUSBはボトルネックとならないからである。
同じServeTheHomeの記事でSabrent NT-S25Gのレビューが掲載されているが、これによると約1.9 Gbps程度のようだ(ただし測定方法も正確な測定値も不明瞭)。つまりUSBという接続形式による制約を考えず規格上の転送速度で比較すると、5GBASE-TのアダプターではTCPレベルで最大4.97 Gbpsで3.45 Gbps(実効約69.30%)に対し2.5GBASE-TのアダプターではTCPレベルで最大2.49 Gbpsで1.9 Gbps(実効約76.33%)を達成していることになる。
個人的にはUSB3.1 Gen 1の性能を活かす意味で5GBASE-Tのアダプターを推したいところであるが、現状では2.5GBASE-T対応アダプターと5GBASE-T対応アダプターの価格差は無視し難いものがある。そもそも、ネットワーク機器の常として1台分だけ買い換えても意味が無くハブや対向の装置のアダプターも替える必要が出てくるため、アダプター単品で見れば$20~30程度の価格差でもネットワーク全体で見れば差額は巨大になる。恐らく用途によって使い分けることになるだろう。
「ほんとにあった半導体業界のハナシ」について
元AMDで営業を担当されていた方のコラムであるが、一部、私の理解とは違う印象である。
Appleの自社製CPU製造・Macへの搭載の経緯についてであるが、当初Samsungを採用した経緯についてはITMediaに大原氏の記事があるが、そちらの方が正確に思える。
まず、AppleはiPhone以前からNewton(1993年)やiPod(2001年~)でArmプロセッサーの採用実績があり(AppleはArm前身のAcornの初期の出資元の1社である)、iPhoneの開発にあたってSamsungが既に持っていたArmベースの携帯電話用SoCをAppleがカスタマイズして採用した。iPhone以前からSamsungは自社製品=テレビ・セットトップボックス向けSoCだけでなく携帯電話向けにもSoCを開発しており、WikipediaにAシリーズのリストを見てもA4以前は完全にSamsung S3C/S5L/S5P SoCの系譜である。また、A4~A5/A5XまではAppleも独自IPは持っておらず搭載するArm製CPUコアやImagination製GPUコアの既成のIPを変更していたにすぎない。例えば2011年のSamsung Exynos 4/Apple A5ではCPUは共通で、Samsungは自社向けExynos 4でGPUに9.6 GFLOPSのMali-400を採用しているがAppleはA5で12.8 GFLOPSのPowerVR SGX543MP2を採用といった具合である。だから、「Samsungが当時ケーブルTVのセットトップボックス用に使用していた統合型CPUをベースに設計した」という表現は適切でない。
また、AppleはA6/A6Xで初めて採用した自社製CPUの開発にあたり、P.A.Semi(2008年)とIntrinsity(2010年)とを買収したが、CPUアーキテクチャーに強いP.A.Semiに対しIntrinsityの強みは物理設計にある。Intrinsityは高速駆動の物理設計のスペシャリストで例えばIBMが~500 MHzで動作させていたPowerPC 400シリーズをAMCCと共同で2 GHz動作させたりしている。Samsung/Apple共同開発のApple A4には1.0 GHz駆動のArm Cortex-A8が搭載されているが、これはAppleに買収される前のIntrinsityとSamsungが共同開発した高速駆動版Cortex-A8 "Hummingbird"である。つまり、2011年頃の時点でスマートフォン向けSoCでノウハウを持っていたのはAppleではなくSamsungである。だから「Samsungはスマートフォン用のSoC設計のノウハウを生かして独自のCPUを開発しAppleが激怒した」というのは言い掛かりに近い。
また、Intelがx86アーキテクチャーベースのスマートフォン用プロセッサーの開発に失敗したのは事実ではあるが、記事中にある「Appleをはじめとする他のスマートフォンメーカーが相次いで採用したのでArmはこの市場での標準アーキテクチャーとなった」というのは順序が逆である。
スマートフォンやその前身の高性能PDAでArmが支配的となったのは2000年頃のMicrosoft PocketPCの時代である。ほかにPDA用プロセッサーとしては旧Motorola MC68KやMIPSもあったが、2002年頃にはIntel XScale・Arm Arm11といったArmアーキテクチャー以外は淘汰されており、例えばSharpが2005~08年頃に発売していたW-Zero3なども例外なく全てArmである。iPhoneが登場した2007年・Androidが登場した2008年時点ではArm以外の選択肢は無かったと言っていい。
XBoxのCPUが発表直前にAMD K7からIntel Pentium III(スペックはCeleronであるが、Intel/MicrosoftはPentium IIIと呼んでいる)へと変更となったことについてはPC Watch後藤氏の2002年の記事でも既報であるが、内容が若干異なっている。明日論氏は「IntelがMicrosoftに強力な圧力をかけ最後の土壇場でメインCPUをAMDからIntelに変更させたらしい。どうやらIntelがとんでもなく低い値段を提示した」とするが、後藤氏は「AMDの方がオファー価格は安かったが、AMDがMicrosoftにFabへの投資とギャランティを求めたため」としている。どちらも正しいとすると、CPU単体ではAMDの方が安かったが、AMDは製造設備に不安がありMicrosoftにFabへの投資を求めたため、総合的にIntelの方が安かったということではないかと思う。