最近の話題 2011年7月30日

1.Facebookの評価でTILERAがIntel,AMDより高性能

  2011年7月25日のThe Registerが,Facdebookが行ったMemecachedの性能評価で,TileraのTILEPro64ベースのサーバが低電力のIntelのXeonやAMDのOpteronを使ったサーバを大きく凌駕したと報じています。

  使用したサーバは,Intelの4コアXeon L5520(クロック2.27GHz)のシングルとデュアルソケット,AMDの8コアのOpteron 6128 HE(クロック2GHz)のシングルとデュアルソケット,そして8個のTILEPro64(クロック866MHz)を搭載したQuanta製のS2Qサーバです。

  評価対象のMemcachedはデータベースのアクセス結果をメインメモリにキャッシュして,以降の同じアクセスを高速化するというプログラムで,Facebookだけでなく,多くの巨大Webサイトで使われているとのことです。このMemcachedはそれぞれのプロセサが巨大なデータベースの一部分を担当し,探しているデータがどのプロセサにキャッシュされているかはハッシュテーブルで見つけられるので,並列化には非常に適したプログラムです。また,複数ノード(CPUチップ)の性能は,ほぼ,1チップの性能のチップ数倍になるので,論文では主に,1チップのノードの性能を論じています。

  実運用ではキーを与えて対応したバリューを読み出すGetがもっとも頻繁に行われるので,Getの性能を評価しています。結果は,TILEPro64 1チップ+32GBメモリで335KTPS(Transaction Per Second),同じ1チップと32GBメモリのOpteronは165KTPS,Xeonも165KTPSです。2チップ+64GBにすると,TILEPRo65は670KTPS,Opteronは若干悪化して160KTPS,Xeonは 若干改善して200KTPSという結果です。

  この2チップ+64GBの構成では,TILEPro64の消費電力は138Wであるのに対して,Opteronは180W,Xeonは140Wとなっており,TILEPro64はXeonと同程度の電力で3.35倍の性能となっています。

  また,体積でも,S2Qは2Uに8チップですが,XeonやOpteronは4U必要であり,半分の体積で済みます。

  この最高性能の構成では,TILEPro64の64コアの内の4コアをLinux OSの実行,8コアをネットワークのロード分散,6コアをハッシュの計算,12コアをデータベースへの書き込みに使うTCP/IP処理,34コアをGetに使うUDP処理に割り当てています。TILEPro64で性能が高いのは,もとのプログラムが並列性が高いことに加えて,通常はグローバルハッシュテーブルへのアクセスはシリアルにする必要がありロックが必要になるが,TILEPro用の実装では,ハッシュ でどのプロセサにアクセスすればよいかが分かる構造としたことにより,並列化のオーバヘッドをなくしている点にあると述べられています。

  7月2日の話題でSeaMicroのAtomベースのサーバがHadoopで高性能という話題を紹介しましたが,それとは異なる用途ですが,小規模多数コアのサーバの方が,性能が出る,消費電力も少なくて済み,体積も小さいという例です。

2.DELLのサーバはマリリンモンローのように設計されている!?

  2011年7月28日のThe Registerが表題のような記事を掲載しています。これはモンローの美貌やプロポーションの話ではなく,映画の「お熱いのがお好き」にあやかった表題です。

  データセンターに設置されるサーバは温度や湿度が厳しく管理された環境ですが,小さな会社や商店などに設置される場合は,温度や湿度が高い環境に置かれてしまうことが多くなります。一般のサーバは35℃,湿度85%というのが仕様上の限界ですが,DELLのPower Edge 11Gサーバは,年間の10%の時間は40℃の環境で動作させても良く,また,45℃という高温でも年間の1%の時間なら保証範囲という設計になっているとのことです。

  このような設計にすることにより,小規模な会社でも使いやすくなり,データセンターでも外気を使用するクーリングなどで夏場の暑い日には温度が上がったとしても保証範囲に入ることになるとのことです。

  しかし,これはPower Edge 11Gは熱い環境にもある程度の時間なら耐えられるということで,「お熱いのが」好きという訳では無いと思います。

3.DIDOは無線の帯域不足の救世主となるか?

  2011年7月28日のEE Timesが無線通信の速度を大幅に向上するReardon社のDIDO(Distributed Input Distributed Output)に関する記事を載せています。

  無線の通信速度は帯域幅とS/N(信号/ノイズ)比で決まるシャノン限界があり,通信速度を上げるには,帯域を増やすか,送信電力を増やしてS/N比を改善する必要があります。また,一つの通信バンドを複数のユーザで使おうとすると混信が起こるので,セルフォーンなどでは時分割で使うことになり, 各ユーザの通信速度はユーザ数に逆比例して遅くなってしまいます。

  このReardon社の技術は,一つのバンドで複数のユーザの通信を時分割ではなく完全に同時に行うことにより,各ユーザの通信速度を犠牲にすることなく,多数のユーザが同時に通信が出来るというものです。複数のユーザが同じ周波数で同時に通信を行おうとすると,当然,混信が起こるのですが,DIDOでは 各ユーザと1対1に設けられた基地局から,複数のユーザの機器にデータを送る場合に,全部の基地局からの電波が混信して合成された結果,1対1通信で受信すべき波形になるように,各基地局から発信す べき電波の波形をDIDOセンターのコンピュータで計算して送るという方法を取ります。

  基地局の配置にもよりますが,ユーザ同志の位置はある程度離れていないと異なる合成波形が作れないのですが,その条件が満足されていれば,10人,あるいはそれ以上のユーザに同じ周波数で同時に最大速度で通信が出来るそうです。

  一見,シャノン限界を超えているようですが,複数ユーザの場合は送信電力はユーザ数倍になっており,各ユーザ平均の送信電力と通信速度はシャノン限界の場合と同じです。大きく異なるのは一つのバンドの送信電力がユーザ数倍になるという点で,高調波などの割り当てられたバンドの外に漏れる電波もユーザ数倍になってしまうという点です。通常の電波割り当てでは,このようなバンドの外への妨害も考慮して無線局の送信電力を制限しているのですが,DIDOを無制限に許すと,このようなバンド外への妨害電波が増えてしまいます。ということで,周波数をうまく使うという点ではDIDOは良いアイデアだと思うのですが,FCC(米国の電波管理局)からはこのような電波使用の許可は得られていないということです。

  なお,通信路は一般に可逆なので,複数の基地局で受信した電波を使ってサーバで計算すれば,アップリンクでも同様に動作する筈です。しかし,DIDOは各基地局から各ユーザ機器までの電波の伝わり方を計測して,各基地局がどのような波形の電波を出すべきかを計算する必要があります。また,ユーザが移動している場合や電波の伝搬状況が変わるとそれに合わせて計算を変える必要があり,現実的にはかなり大変だと思います。 通信路は一般に可逆ですので,全基地局からの波形を計算処理すろことで同じ効果が出るような気がしますが,各ユーザからのアップリンクはこのように計算された波形になっていないので,ノイズに埋もれてしまって再現性が悪いかもそれません。

@891237

inserted by FC2 system