検索
ニュース

超小型サーバを作るには――ARMプロセッサの選び方組み込み技術

ARMアーキテクチャを採用したプロセッサが多数、製品化されている。組み込み機器を設計する場合、どのプロセッサを選べばよいのだろうか。一般には、性能条件を満たした上で、必要な周辺機能を備えたSoCを選択すべきだとされているが、必要な仕様は組み込み機器によって千差万別だ。小型ARMサーバを製品化したぷらっとホームの事例「OpenBlocks」を紹介する。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
ARMプロセッサの選び方、小型サーバを作るには
370gのサーバ

 メモリ空間を40ビット(1Tバイト)に拡張したARMコア「Cortex-A15」を採用したプロセッサが数カ月以内に入手可能になる*1)。Cortex-A15は最大8コア構成が可能だ。まずはデータセンターに設置する比較的大規模なサーバから立ち上がりそうだ。

*1) 韓国Samsung Electronicsは2011年12月に、2コア構成のCortex-A15採用プロセッサ「Exynos 5250」のサンプル出荷を開始し、2012年第2四半期に量産を開始する計画だと発表した。

 これに先立ち、現在入手できる「Cortex-A9」ベースのプロセッサを利用したサーバの製品化計画が続々立ち上がっている。米Hewlett-Packardは2011年11月に「Project Moonshot」を発表。ARMプロセッサを採用することで、データセンター用サーバの消費電力を10分の1に低減することを狙う。米Dellは2012年5月29日に、ARMサーバ「Copper」を発表。3Uサイズのラックマウント筐体に48台のARMサーバを搭載する。

小型サーバでも生きるARMの実力

 大規模サーバにおけるARMアーキテクチャのメリットは、消費電力が小さいこと、さらに消費電力当たりの処理性能が高いことだ。データセンターの総消費電力を減らす取り組みは、ユーザーからも強く求められている。これが大規模ARMサーバ登場の背景にある(関連記事:「サーバからファンを外すとよく冷える、富士通が消費電力40%低減に成功」、記事本文)。

 だが、ARMアーキテクチャの持ち味は大規模サーバだけで生きるのではない。極限まで小型化したサーバでも消費電力当たりの処理性能の高さが望まれている。運用コストの面からメンテナンス要員を用意できないにもかかわらず、長期間にわたって停止できない小規模なサーバ用途がある。例えばDNS(Domain Name System)や、DHCP(Dynamic Host Configuration Protocol)であり、スマートグリッドで重要になるHEMS(Home Energy Management System)やBEMS(Home Energy Management System)といった用途も今後立ち上がるだろう。「これらの用途はクラウドでは代替できず、各現場にサーバを配置する必要がある。画面出力が不要な『ヘッドレス』サーバが求められており、後付けで設定を変えることもないため、床下や場合によっては壁の中に設置することもある。従って、低消費電力でファンレス、小型、軽量といった条件を満たさなければならない」(ぷらっとホーム 製商品事業本部技術部マイクロサーバ課で課長を務める木村友則氏)。

 このような条件は、IA(Intel Architecture)サーバでは満たしにくい。消費電力を十分低減できないからだ。そこで、同社はこれまで「OpenBlocks」と呼ぶ手のひらサイズの小型サーバをPowerPC(一部MIPS)アーキテクチャを採用したプロセッサを内蔵することで製品化してきた。次に同社が狙ったのは低消費電力という持ち味を生かしながら性能を高めることだ。

ARMプロセッサの選び方とは

 同社がARMプロセッサに目を付けたのは、消費電力を低く保つことができることもあるが、プロセッサを製品化しているメーカーが多く、小型サーバに適したARMプロセッサを選びやすいからだという。

 しかしながら、選択肢が多いということは、より明確な基準に従って選択しなければならないということにつながる。どのプロセッサを選べばよいのだろうか。木村氏によれば決め手は2つあったという。

 「サーバでは『ポート単価』が重視される。Gビットイーサネット(GbE)などのポートが、サーバ1台当たり幾つ備わっているかが重要だ(図1)。約2年前にARMアーキテクチャ導入について調査したところ、米Marvell Technology Group(Marvell)のARMプロセッサがこのような目的にかなった製品を計画していることを知った。多数のポートを備えたサーバを設計できるプロセッサであったことがMarvellを選択した理由だ」(同氏)。手のひらサイズのサーバではポートの増設は不可能だ。1台で完結するためには、最初の状態で多数のポートを備えていなければならない。


図1 ARMプロセッサを採用した小型サーバOpenBlocks AX3の背面 内部にSATAポート×1とMini PCI Express x1を1スロット、外部にeSATAポート×1やRS-232Cポート2、USB2.0ポート2の他、GbEポート(1000BASE-T)を最大4ポート備える。OpenBlocks AX3の寸法は101×142.1×41mm、重量は約370g。出典:ぷらっとホーム

 Marvellの「ARMADA XP」は、2コアまたは4コア構成のSoC。最大動作周波数は1.6GHz、GbEを最大4ポート接続できる。「ARMADA XPにGbEのPHYチップとDRAM、フラッシュメモリを接続するだけで、サーバを設計できることが魅力だ」(木村氏、図2)。


図1 OpenBlocks AX3の内蔵基板 MarvellのCortex-A9ベースのデュアルコアプロセッサ「ARMADA XP」(1.33GHz)を採用した(中央背面に実装されている)。消費電力は最大13W。重量は約370g。ARM9ベースのプロセッサ(600MHz)を採用した製品もある。

なぜサーバにFPUが必要なのか

 もう1つの条件がある。プロセッサが浮動小数点演算ユニット(FPU)を内蔵していることだ。FPUとは、浮動小数点演算を実行する専用回路であり、一般にはグラフィックスや科学技術計算で役立つと考えられている。ヘッドレスサーバとして使うWeb関連のサーバには、グラフィックス処理は不要だ。科学技術計算をこなそうとするユーザーもいない。それにもかかわらず、なぜFPUが必要なのだろうか。

 「現在のWeb関連のサーバソフトウェアは、PHPやRuby、Pythonなどのスクリプト言語やJavaを利用している。これらの言語はプログラマの明示的な指定がなくても、動的に変数の型を変換する。この変換時にFPUが役立つ」(木村氏)。FPUの代わりを果たすソフトウェアライブラリも存在するが、実行速度が10分の1程度に落ちてしまい、サーバ性能のボトルネックになってしまうのだという。FPUを備えていることが、ARMADA XPを選んだもう1つの理由だった。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る