仕事と趣味を通して、世の中を変える。そのために、この人生(時間)を楽しむ
尊敬する言葉:
生存適者
目的のために、有効ならば、手段を選ばずつまり、本末を転倒しない
イベント備忘録:
2016/1/22-24(金-月) Python雪山(仮)
2016/2/19-22(金-月) 札幌(仮)
2016/5/14(土)OSC2016 Gunma
2010-11-26
■[金物]10GBase-T
http://pc.watch.impress.co.jp/docs/column/interface/20101013_399550.html
・信号はPAM16を採用。PAMはPulse Amplitude Modulation(パルス振幅変調)で、要するに信号の電圧の差で値を伝え、PAM16の場合は信号電圧が16段階(=4bit)で区別されることになる。
・信号の変調に128DSQ(Double Square QAM)という技術を採用。QAMは直交振幅変調と訳されるが、この128DSQを使うと2つのSymbolが7bitに相当する。
(中略)
ただ、単にUTP(なりSTP)にPAM16と128DSQを行なっただけだと、エラーレートは10^-2程度である。要するに100bit送ると1bitコケる、というレートでこれでは使い物にならない。そこでLDPC(Low Density Parity Check)と呼ばれるエラー訂正技術を利用した。LDPCを使う場合、1,723bitを送るのに2,048bit必要(つまりエラー訂正に325bit必要)
(中略)
実効転送レートは
11.2×(1723÷2048)≒9.42Gbps
で、微妙に10Gbpsには届かないのであるが、まぁ概ねこれで十分であろうと判断されたようだ。
http://pc.watch.impress.co.jp/docs/column/interface/20101101_403491.html
10GBASE-Tでエラー訂正のために利用されたLDPCが問題である。LDPCはそもそも1963年に開発された技術であるが、あまりの実装の困難さのために30年以上使われないままでいた、というものである。何が困難かというと、計算量が極めて多い点である。なにせ素直に計算すると、符号長をnとしたときに計算量が2^nに比例するという代物である。1bitなら2回で済むのが、100bitなら2^100≒約126.7穰回(=126,7000,0000京回)にもなるわけで、放置されても仕方が無いとは言える。ただ幸いな事に、計算量を減らすためのさまざまな方法が開発され、良く利用される「sum-productアルゴリズム」ではほぼ符号長に比例する程度の計算量で済むようになり、また並列化に適したアルゴリズムなので、とにかく多数の演算器を搭載するFPGAとか、高速演算が可能なDSPなどを使う事である程度実用的になってきた。
http://pc.watch.impress.co.jp/docs/column/interface/20101126_409100.html
サーバー用途に限れば、PHYのレイテンシの大きさ(これは言うまでも無くLDPCの処理にこれだけ時間がかかるという話だ)はあまり問題にならない
(中略)
従来のネットワークを含むほとんどのバスでは、PHYはあくまでも送受信とせいぜいが均一化までで、積極的なエラー検出/訂正は上位レイヤが行なうというのが常だったが、10GBASE-TではLDPCまでPHYに取り込まないとまともな通信がそもそもできない
アナログとデジタルの物量作戦。
素敵すぎる。
10GBaseTとSFP+DACの比較
http://ktaka.blog.clustcom.com/2012/05/10gbasetsfpdac.html
レイテンシ
10GBaseTの規格ではエラー無くデータを転送するために、ブロックエンコーディングを行う。そのためには、ブロックサイズ分のデータを送信PHYに読み込み、エンコーディングを行ったのち、送信することが必要である。受信側では、その反対が必要である。規格によると、送受信PHYのペアで2.56μsの遅延を許容している。ブロックデータのサイズを考慮に入れると、リンクあたり2μs以下にすることは不可能である。
SFP+の場合には、ブロックエンコーディングが無く、より単純なエレクトロニクス構成であるため、遅延は典型値で300ns程度である。
それぞれの場合に、さらにメディア遅延を考慮する必用があるが、光であれ電気信号であれ、およそ5ns/m程度である。
ほー