2012年11月14日

低電力消費ソフトウエアー: 低電力コンピューティングに必須

前回最近のコンピューティングが低電力に向かっていると書いた。コンピューティングというと、チップやその他のハードウエアを連想するが、当然低電力コンピューティングを実現するには、ハードの上で実行されるソフトウエアも低電力で正しく動作しなければならない。組み込みシステムでない世界では、プロセッサーやメモリーやストレッジは安いのだから、とにかくソフトは分かりやすく書け、リソースはどれだけかかっても構わないと言われてきた。ここに来て、その傾向が変わり始めている。例えば、データセンターでのサーバーは安価で性能も低いサーバーを何台も並列に使用するという方向に進んでいる。もちろんこれは、ウエブやSNSの様なスケール・アウトが必要な環境であり、ハイパーフォーマンス・コンピューティングについてはスケール・アップしなければならないが。

組み込み式システムは過去も今も低電力で作動することが必須だ。最近はセンサーやその他のアプリケーションで、リソースが更に限られたオブジェクトの数が爆発的に伸びてきた。こういった環境で作動するシステムでは、低電力が不可欠だ。ARMチップは低電力で作動することが知られている。しかし、チップだけが低電力でも問題は解決しない。その上で作動するソフトウエアも低電圧をサポートしなければならない。最近参加したARM TechConで4つの会社をインタビューした。そのうちの3社はこの低電力コンピューティングをサポートするソフトウエアやツールを提供している。簡単にその3社の製品を紹介しよう。

yaSSL社。ここはオープンソースのSSLを二重ライセンス(オープンと商業)で提供している。商業的に使用しない場合はオープンソースとして使用できる。この会社のルーツはオープンソースのデータベースの会社のMySQLだ。2005年にMySQLが提供するコードの所有権やライセンスを精査したところ、OpenSSLが問題になった。2点の問題が指摘された。1つはコードそのものが、長年の追加と変更のため、大きくなり過ぎて保守や管理が困難になったことだ。もう1つはそのコードの所有権やライセンスの詳細が不明なことだった。2つ目の問題はここではあまり関係がないので、省略する。

周知のように、プログラムを長年保守していると、必ずしも最初に開発した人が続けて保守するとは限らない。プログラムのサイズが大きくなると、必ずしも保守している人がコードの全てを完全には把握しているとは限らない。その場合、変更を加える場合、設計を見直して根本的な変更を加えるよりも出来るだけ簡単になるような変更を加えがちである。そうなると、バグが挿入される場合もあるが、コードがきたなくなって効率の良い実行ができない場合が生じる。これが長年積み重さなって来ると、保守できない状態になってくる。そこで、コードを一から書き直すということで、yaSSL社が生まれた。その当時はこれからは、益々組み込み式システムの市場が活性化すると読み、システムをできるだけ小さくした。コードの大きさは20–100 kB で、実行に必要なメモリーはわずか5–50 kBだ。更に、市場としては、ゲーム端末、電力網でのメータを含む各種機器やSkypeなどのストリーム・メディアだ。

コードを新規に書き直してそのコードサイズを落とし、必要なリソースを制限することで、新たな市場の台頭に備えることができた訳だ。SSLは標準化されており、少し気のきいたプログラマーなら、独自のSSLのパッケージを開発できるだろう。しかし、yaSSLは機能以外のところで差別化を達成している。学ぶところは多い。

IS2T社: この会社はJava MEのCLDCの解を提供する。MicroEJと呼ばれる製品は開発環境とJVM、そしてシミュレータを提供する。開発環境はEclipseをベースにしている。プラグインを利用してJavaの他CとC++もサポートする。この環境の特徴はともかくコードと必要とされるメモリーが小さい。JVMで言えば、大手のベンダーが 130 KbのRAMを必要とするところ、僅か1.5kBしか必要としない。JVMのサイズから言えば、僅か28kBのフラッシュしか必要としない。しかも、ブートに掛かる時間は120 MHzで2msだ。更にこれで、ユーザー・インターフェース(UI)を開発してもせいぜい90-140 kBで出来てしまう。更に、JNIを使って、Javaのバイトコードから既存のCやC++のコードを呼び出すことができるし、その反対も可能だ。JVMはベアーメタル上でもRTOSの上でも実行可能である。このパッケージを使用すれば、今まででは、気のきいたUIを提供出来なかったInternet of thingsにましなUIを提供できる。例えば、各種メーター類などだ。

SSL同様Java仕様も標準化されている。差別化はコードサイズや必要なメモリーのサイズだろう。IS2T社はノウハウを秘密にするため、特許の申請さえしない。実際に証明するには、試しに簡単な仕様を送ると短時間に実装して、デモすることにしているそうだ。ここでも、低電力で動作する標準化された製品で競争している。

IAR社:最後は、IAR社だ。この会社は30年の歴史を持つ。各種の製品があるが、中でもpower debuggerは非常に興味深い。ソースコード段階でのデバッガーは広く行き渡っているが、このデバッガーは各ステートメントのレベルでの電力消費を提供するところがミソだ。ハードの電力消費を測定するのは比較的簡単だ。プローブを挿入して測定すれば良い。ソフトの場合は少し複雑だ。ソフトの場合電力消費はソフトの信号によって、ハードの各コンポーネントがその命令に反応して仕事を実行して電力を消費する。もちろん、ハード全体を測定する場合は総電力消費は分かるのだが、ソフトのそれぞれの部分がどのように電力を消費しているかの細かいところまでは分からない。このデバッガーはそれを提供してくれる。

似たような機能としては、プロファイリングがある。これはソフトの各所にプローブを挿入して実行し、実行した情報を収集するものだ。この情報は各所が何回実行されたか、あるファンクションが何回呼ばれたかなどを提供する。これをもとに、性能を上昇させるために、コードを変更する。しかし、組み込み式システムでは、電力の消費はスピードと共に重要だ。時としては、スピードよりも重要かもしれない。Power debuggerは既存のデバッガーの機能に電力消費の情報を加味している。

更に、もう1点。ARMは最近まで、組み込み式システムなどの低電力の分野のみに特化していたが、サーバーの分野にも参入し始めている。ARMチップを使用するサーバーベンダーのSeaMicroは今年の初めにAMDによって買収された。その他HPもARMベースのサーバーの開発を行っている。低電力で同じ仕事が出来るのであれば、グリーンでクリーンだ。しかも、それがICTのベンダーにとっては千載一遇のチャンスかも知れない。市場を独占している大企業に勝つには、パラダイムがシフトしたときの空白をいかに早く的確に埋めることができたものが、その新しい市場を勝ち取ることができるのだから。
posted by infogreen at 05:08| Comment(0) | ICTとエネルギー

2012年11月08日

新しいコンピューティングの傾向

コンピュータは速ければ速い程良い、メモリーやストレッジは量が多くてアクセス・スピードが速い方が良いと思われてきた。もちろん、スーパーコンピュータなどはこの傾向が続くのだが、ここに来て新たな傾向が見られる。つまり、低電力消費のコンピューティングだ。サーバーの世界に低電力消費をもたらしたSeaMicro(X86ではなく、ARMチップを使用)がチップ・メーカーの大手のAMDによって今年初旬に買収された。AMDは来年にはARM仕様の64ビットのサーバーを販売する予定だ。スーパーコンピュータが性能向上するためには、CPUを含むそれぞれのコンポーネントの性能が向上する必要がある、すなわちスケール・アップが必要だ。しかし、ウエブやSNSの応用では、そんなに高性能のコンピューターは必要ない。むしろ、アクセスが増えれば、それをたくさんのコンピュータに振り向ける方式が好まれる。振り分けられたコンピュータは低速で十分だ。つまり、スケール・アウトだ。スケール・アウトを援護するコンピュータには高性能のCPUやその他のコンポーネントは必要がない。

では、低電力消費のコンピューティングはサーバーの分野だけなんだろうか。いや、むしろ今までには考えもされなかった分野への応用が進んでいる。最近シリコンバレーのサンタクララ市ARMのコンファレンスに参加した。
armtecon-title.jpg


基調講演はコンピューティングと電力消費の研究をしているStanford大学のJonathan Koomey 教授だった。2007年に米国環境保護庁が発表した米国データセンターによる電力消費のレポートの元になる仕事をするなど、この分野での専門家だ。
koomey-armtechcon.jpg

Stanford大学のJonathan Koomey 教授

教授の話はコンピューティングの歴史をkWあたりどれくらい仕事ができるかというメトリックを使って、1940年代から現在に至るまでの変遷を語った。コンピューティングの性能向上と言うとICの上にどれだけのトランジスターを搭載できるか(Moore's Law)という話が有名だ。この理論によると、約2年で搭載量は2倍になる。これは、スケール・アップの時代の話だ。現に、ICから発生する熱の処理の問題でこれ以上搭載量を増加できないと言う地点にきており、それがMulti Coreを生んでいる。教授のメトリックはどれだけ少ない電力で仕事ができるかと言うもので、低電力消費の傾向にぴったりだ。

結論から言えば、1.5年毎に同じ電力消費で出来る仕事量は2倍になっている。これを10年単位に直すと、100倍となる(複利計算)。このおかげで、以前は考えもできなかったアプリケーションが考案されており、その一部は実装されている。その一部だけをここで紹介しよう。薬の錠剤に仕込んだ微小のセンサーは薬が体内で溶けると消化液に反応(電力源)して作動を開始する。そして、必要な情報を収集して体の表面に張られた小さなパッチでその電波を受けて、必要なコンピュータにその情報を送ることができる。センサーで大きな問題となるのは、その電力源だ。数年持続するバッテリーを搭載するものが主だが、最近は思いもかけない電力源から、電力を得るものが開発されている。先ほどの消化液の他、血糖、熱、光、運動エネルギーなどが考えられる。中には、市街地で飛び交う様々な電波を電力源にするものもあるとのことで、これは驚きだ。これには、TV、ラジオ、WiFi、無線電話、無線通信などの電波を含む。

今後もこの傾向は続くだろう。では、どこまで消費電力を削減して有益な仕事ができるコンピューティングを推し進めることができるのだろうか。上で述べたようなトランジスターの搭載数の限界はあるものの、MITの有名なRichard Feynman 教授の研究によれば、理論上この傾向(1.5年で同じ電力で仕事量が2倍)が頭打ちになるのは2041年とのことだ。後、30年近くある。上で示した例は驚愕に値するが、今から30年後だと同じ電力での仕事量は何倍になるのか。複利計算なので、計算は読者に任せるが、かなりの数値になるだろう。驚愕を通り越して、恐ろしい気もするが、考えてみれば30年後は筆者はもういないだろう。
posted by infogreen at 05:20| Comment(0) | ICTとエネルギー

2012年11月02日

ICTと物性

電気屋の頃、研究室配属の時、どの研究室を選ぶか他の皆は一生懸命考えていた。グウタラ学生だった筆者はあれこれ考えるのも面倒だし、競争率の高い研究室を選ぶと話合いとか抽選で決まるので、これも面倒だという事で、誰も応募しない研究室を選んだ。その程度だから、友人が「物性をやっているXX研究室を選んだ。」と嬉しそうに言うのを聞いて、「そう、物性ね。」と思った。もちろん、物性がなにか分かっていなかった。今も分かっていないのかも知れないが、物性・材料がなければICTは成立たない。例えば、半導体とか、燃料電池(FC)とか、バッテリーを構成する材料のことだ。

最近3つの動きにぶつかったので、書いて見る。それぞれに関しては、後日時間があればもう少し詳細に取り上げてみたい。その3つとは、FC、新しいバッテリー技術と高電圧に耐えられる半導体だ。

FC
FCは水素を燃料として、燃焼(火力発電)も必要とせず、化学反応だけで電力を生成する。もちろん、二酸化炭素のような温室効果ガスも放出しない。できるのは水だ。FCについては後日もう少し詳細な話をするつもりだ。滅茶苦茶簡単に言えば、小学校や中学でやった水の電気分解の反対のようなものだ。原理は似たようなものでもその手法は幾つかあり、出力も異なる。また用途も、携帯用、設置型、自動車用などがある。日本でも、ガス会社が家庭用のものを提供している。大型のデータセンターとなると、何十MWのも電力を必要とする。つい最近までは、FCは電力容量が小さすぎてデータセンターには向かないと切り捨てられてきた。最近になってeBayがUtah州の最新のデータセンターにFCを使用すると発表してから、FCに注目が集まっている。eBayの他AppleもNorth CarolinaのデータセンターにFCを設置している。

通常データセンターの運用は電力会社から電力供給を受けて、その補助用としてUPSやディーゼルエンジンの発電機を設置するのが常道だ。eBayの場合はFCを通常の電力源として、むしろ電力会社からの電力供給を補助用にしている。このことは、大きな発想の転換だ。Bloom Energy社のFCは一台は大型の冷蔵庫程度の大きさで、200kWの発電を行う。現在は6MW分の電力を確保するため、30台を設置している。通常のUPSとデーゼル発電機に比較すると必要とされるスペースもぐーんと小さくなる。言いことずくめの様だ。問題は、その安定度と信頼性だ。eBayもこれを導入するにあたり、長期に渡り他の解やベンダーも含め精査したようだが、最後はCEOの鶴の一声で決まった。電力不足に悩む日本、果たしてFCは救世主になるのだろうか。

バッテリー
電気自動車(EV)に対する期待は大きい。シリコンバレーではPriusはでこにでも走っており、Leafも結構見かけるようになった。しかし、所詮ここは最新のものを試してみようと思うお金に余裕のある人が集まっているから。全米からみるとまだまだだということだ。なぜ、普及しないかの大きな原因の1つは走行距離が短いことだ。一回の充電で100マイル(160km)しか走らない。ガソリンの自動車で大体300マイル(480km)は走ると言われている。電力不足でエンコしてしまうのが一番の恐怖だそうだ。バッテリーの技術も進歩した。最近はリチウム・イオン電池が主流だが、まだまだ容量が足らない。これが解決すれば、爆発的に伸びるのではなかろうか。

いま、高容量のバッテリーに開発がIBMを主体に開発が進んでいる。バッテリーの方充電の際に必要となる酸素は以前は電池内の物質から調達していた。そのため、十分な量を短時間で得ることが困難であった。このリチウム空気電池は外気を取り入れて必要な酸素を入手する。また、酸素を外に放出でこの問題を解決した。この結果電力密度を約10倍に高めることができるとのことだ。この研究は2009年から始まり、日本の旭化成も協力している。しかし、完成は2025年あたりと推測されている。それまで、今のEVに対する興味と支持が続くのか心配でだ。

高電圧半導体
2万ボルトの高電圧に耐える半導体の作成に京都大学の木本恒暢 工学研究科教授 のグループが成功したと報じられている。電力の送電、変電 には高電圧に耐える半導体が必須だが現在まではせせいぜい8千ボルト程度だった。このため、高電圧直流送電などへの応用が開ける。一般的に今の電力網の多くの危機は電気機械式のものが大多数だ。例えば、変圧器は1次側と2時側とのコイルの巻き数によって電圧の変換比が決まっており、自在に変動させることは出来ない。また、変換で電圧にゆがみが生じても修復する機能はない。しかし、もし変圧器をエレクトロニクスで実現すれば、ソフトウエアによるコントロールで変換比を自在にコントロールできるだけでなく、電力の波形、周波数や上下も簡単に修正することが容易となる。

30数年前の「物性」はこれだけの時を経て、筆者の前にまた現れた。今度は過去と違いその重要性を理解している積もりだ。ICTはともかく、この物性の分野は上からも分かるように、日本でも多く研究されており、成果もでている。今後も期待したい分野である。
posted by infogreen at 06:50| Comment(0) | ICTとエネルギー