計測自動制御学会東北支部 第 218 回研究集会 (2004.10.9)
資料番号 218-13

組込み機器を用いたコンパクトクラスタ計算機の開発と性能評価
Development and Performance Evaluation of aCompact Cluster Computer○佐々木慶文 ∗ ，青木孝文 ∗∗ ，木俣修 ∗∗∗○ Yoshifumi Sasaki∗ , Takafumi Aoki∗∗ , Shu Kimata∗∗∗*石巻専修大学, **東北大学, ***東京エレクトロンデバイス株式会社*Ishinomaki Senshu University, **Tohoku University, ***Tokyo Electron Device Ltd.
キーワード : 組込み機器 (embedded devices)，クラスタ計算機 (cluster computer)，ユビキタス (ubiquitous)，指紋照合 (fingerprint verification)，位相限定相関法 (phase-only correlation method)

連絡先 : 〒 986-8580 宮城県石巻市南境新水戸 1 石巻専修大学理工学部情報電子工学科
佐々木慶文，Tel.: (0225)22-7716，Fax.: (0225)22-7746，E-mail: sasakiy@isenshu-u.ac.jp

1.

PCクラスタなどを用いる必要があり，コストや設はじめに置スペースなどの制約から開発環境を整備・利用
近年，組込みプロセッサ（CPU）は車載ナビゲー
ション，携帯電話，ディジタルカメラ，家電製品など様々な機器に搭載されている．また，これらの組込み機器の中には，先進的な OS やネットワーク機能を備え，論理的にハイエンド CPU を搭載したPC と同等の機能を有するものも少なくない．将来的には，このような高性能組込み機器が相互にネットワーク結合され，並列協調処理を行うようなユビキタスコンピューティング環境が実現されることが予想される 1) ．今後，組込み機器を用いた多様な分散協調アプリケーションの開発が重要となり，このためのプロトタイピング環境の整備が必要になると考えられる．しかしながら，従来，並列協調アプリケーションのプロトタイピングにおいては，巨大なラックにマウントされた高価なすることが困難であった．
これに対して筆者らは，様々なユビキタスコンピューティング応用のプロトタイピングを極めて低コストで実現することを目的とし，ユビキタスコ
ンピューティングクラスタ (Ubiquitous ComputingCluster: UCC) と呼ぶコンパクトクラスタ計算機を開発した 2) ．

UCCは4台の計算ノードとネットワークHUB(100MbpsFast Ethernet)がコンパクトなスケルトンラックにマウントされたクラスタ計算機である．UCC の最大の特徴は，コストを抑えるために，構成要素として組込みCPUを搭載した市販の製品（CommercialOff-The-Shelf: COTS）を用いている点である．
計算ノードとしては組込み CPU，メモリ，ハードディスクドライブ，ネットワークアダプタおよび–1–USBインタフェースを搭載した市販のNetwork At-および#3 の 4 台の計算ノードで構成される．これtached Storage (NAS)を採用した．並列処理のためらの計算ノードは，汎用のネットワーク HUB を介の安定したプロセッサ間通信を実現するため，各して，100Mbps Fast Ethernetで相互に接続される．

計算ノードには Linux OS とリモート通信サービス

ユビキタスコンピューティング応用のプロトタイなどを搭載している．また，並列処理インタフェー

ピング環境を低コストで実現するため，UCC をスとして，最も典型的な Message Passing Interface

構成する機器には，容易に入手可能な COTS 製品(MPI) 3) および Parallel Virtual Machine (PVM)4)を用いた．計算ノードとしては，266MHz 動作のの 2 種類を用意している．

SH4 CPU， 64MB SDRAM， 120GB ハードディス

本クラスタ計算機は，組込み型 COTS 製品を用いクドライブ，100Mbps Fast Ethernet および 2 ポーることにより，世界最小クラスのサイズ（390mm

トの USB 2.0 インタフェースを搭載した Network× 280mm × 150mm），消費電力（60W）およびコ

Attached Storage (NAS)を採用している．計算ノーストを実現している．このため，ユビキタスコン

ドの詳細仕様を Table 1 に示す．

ピューティング応用のプロトタイピングのみなら各計算ノードには，フリーウェアであり，かつ，安ず，教育機関や企業における並列処理技術の教育定したプロセッサ間通信が供給できるという観点プログラムへ容易に導入することが可能である．

から，Linux OS（Debian Linux 2.4.21 for SH4）5)

また，UCC では，各計算ノードに 2 ポートの USBを搭載している．また，プロセッサ間通信を行うインタフェースを搭載しており， Web カメラや音リモートコマンド(rsh,など)をインストールしてい

声入力装置などの様々な USB 入出力機器を接続する．計算ノード#0 は管理サーバを兼ねており，ロることが可能である．このため，比較的容易に各グインIDの管理（NIS），ファイル共有（NFS），リ種アプリケーションシステムへの拡張が可能であモートログイン（telnet）およびファイル転送(FTP)る．

を行うための各種サービスを提供する．

本稿の構成を示す．次章で，開発した UCC の構成

UCCのアプリケーション開発環境としては，GNUを示す．第３章では，並列処理における基本的なC（gcc-3.0.4，g++-3.0.4）および Fortran77 コンパ

メッセージパッシング性能の実機による検証結果

イラ，vi および GNU Emacs エディタ，並列処理イを示す．第４章では，ユビキタスコンピューティンタフェースがプリインストールされており，導ング応用のプロトタイピングの例として，指紋照入後，すぐにアプリケーション開発が可能である．

合システムの開発について言及する．指紋照合ア

並列処理インタフェースとしては，最も典型的なルゴリズムとしては，筆者らがこれまでに提案しMPI である mpich-1.25 と PVM-3.4.2 の 2 種類を用意ている位相限定相関関数に基づく手法 7) ,8) を採用している．

し，これを並列化して UCC に実装した．また，実Fig. 2 に UCC を示す．また，UCC の仕様を Table 2機による指紋照合性能の評価を行った結果についに示す．UCC は計算ノードとして組込み機器を用て示す．第５章はまとめである．

いることにより，実際的なユビキタスコンピュー
ティング環境に近い，プロトタイピング環境を提2.

供する．また，すべての構成機器に組込み型COTS

UCC の構成製品を用いたことと OS などのソフトウェアとしてFig. 1 に開発した UCC のアーキテクチャを示す．
開発したクラスタ計算機は，ノード#0，#1， #2

フリーウェアを用いたことにより，サイズ（390mm× 280mm × 150mm），消費電力（60W TYP），コ–2–

ストともに世界最小クラスを達成している．この考えられる．

ため UCC は特別な電源や空調などの設備を必要とFig. 5 はブロードキャスト通信テストの結果であせず，また，卓上に乗るほどコンパクトであるこる．ブロードキャスト通信テストでは，計算ノードとから，プロトタイピングのみならず，教育機関#0 から計算ノード#1，#2 および#3 に対してメッや企業における並列処理技術の教育プログラムなセージを送信した場合の，最も遅い通信時間を測どに比較的容易に導入することが可能である．

定している．結果としては ping-pong通信の場合とUCC の特長の 1 つとして，すべての計算ノードがほぼ同様な傾向が見られる．ピーク性能は 36Mpbs

USB 2.0 インタフェースを搭載している点が挙げ程度と，ping-pong通信の場合ほどは性能が出ないられる．Web カメラ，音声入力装置など USB ベーが，許容できる範囲の結果が得られている．

スの様々な入出力機器やセンサを接続することに以上の性能評価の結果から，UCC は並列処理応用

より，容易に様々なアプリケーションシステムにに対して十分な通信性能を有すると考えられる．

拡張することが可能である．Fig. 3 は UCC に Web
カメラを接続した画像処理システムへの拡張例で

4.

指紋照合システムへの拡張ある．このほかにも，サウンドカードや指紋セン
ユビキタス応用のプロトタイピングの例として，サなどの接続が確認されており，指紋照合システ
ムやマイクロフォンアレイシステムなどへの拡張指紋照合システムの開発を行った．

Fig. 6 に開発したシステムの構成を示す．UCC にが可能である．

USB 指紋センサを接続し，このセンサから取り込

3.

まれる指紋画像と予め登録された指紋データベー

UCC の性能評価

スとの照合を複数のノードにより分散・並列処理

本節では UCC のメッセージパッシング通信性能するようなシステムを構築している．指紋照合のについて基本的な評価を行った結果を示す．評価

アルゴリズムとしては，位相限定相関関数に基づには MPI 関数による通信性能を評価するための典く手法を用いた 7) , 8) ．位相限定相関関数は，画像型的なベンチマークプログラムである Pallas MPIの周波数領域における位相のみを用いた相関関数

benchmark (PMB) 6) を用いた．本稿では，特に基である．Fig. 7 の例に示すとおり，画像の類似度に本的な通信である ping-pong 通信とブロードキャス応じた鋭いピークを発生するという性質から，信ト通信の通信遅延およびバンド幅を測定した．

頼性の高い照合が可能である．また，信号処理にFig. 4 に ping-pong テストの結果を示す．ping-pong基づく手法であるため，システムへの実装が容易テストは，2 つのプロセッサが交互にメッセージをであるという利点がある．

送受信する際の通信遅延およびバンド幅を測定す

Fig. 8 に位相限定相関法に基づく指紋照合の処理

る．データサイズが小さい場合には，通信オーバーの流れを示す．指紋センサから入力された画像は，ヘッドのためにスループットが低くなっているが，2次元離散フーリエ変換され，周波数領域におけるデータサイズが大きくなるにつれて帯域幅は大き位相のみが抽出される．登録指紋については，予くなり，最大で 70Mbps 程度の性能を示している．

め位相を計算したものをデータベースとして登録

UCC では一般的な 100Mbps Fast Ethernet を用いしておく．これらの入力指紋と登録指紋の位相かている点と市販の安価なスイッチング HUB を用いら，位相限定相関関数を計算し，求めた相関値をている点を考慮すると，十分な性能が出ているとスコアとする．すべての登録指紋についてスコア–3–を計算し，このうち最大のものを照合結果としてComputing Cluster: UCC）の開発について報告し出力する．

た．開発したクラスタは，すべての構成要素とし以上のアルゴリズムに基づく指紋照合システムをて市販の製品を採用することにより，世界最小ク構築し，実機による実験を行った．Fig. 9 に構築しラスのサイズ，消費電力およびコストを実現してた指紋照合システムを示す．USB 指紋センサとしいる．このため，ユビキタスコンピューティングては富士通製 FINGSENSOR(FS-220U) を用い，こ応用へのプロトタイピングのみならず，教育機関れを計算ノード#0 の USB インタフェースに接続しや企業における並列処理技術の教育プログラムへている．センサから取り込まれた 256 × 256 画素のの容易な導入が可能である．

センサ画像を 128 × 128 画素にリサンプリングした

また，ユビキタスコンピューティング応用の一例

ものを入力画像とした．入力画像は MPI 関数によとして，位相限定相関法に基づく指紋照合システり，処理に用いるすべての計算ノードに転送されムの実現について述べた．実機による性能評価にる．登録指紋としては，-10 度から 12 度まで 2 度おより，2秒弱で指紋照合が可能であることを明らか

きに回転させた 12 枚の画像について，予め位相をにした．比較的計算能力の低い組込み CPU でも分求めたものをファイルに記録しておく．ファイル

散並列処理を行うことにより，実用レベルでのアはNetwork file system (NFS)で共有されており，すプリケーション実現が可能であることが示された．

べての計算ノードから読み出せる．

UCC は東京エレクトロンデバイス株式会社 9) より

本実験では計算ノード数を変化させた場合の処理販売されている．

時間と性能向上率を評価した．処理時間は Linuxのtime コマンドを用いて測定しており，ユーザプロ

参考文献

グラムとシステムの実行時間を合計した値となっ

1) M. Weiser: Some Computer Science Issues in
Ubiquitous Computing, Communications of theACM, 36-7, 75/84, (1993)ている．並列処理インタフェースとしては，起動時間が少ない lam-mpi を使用した．

Fig. 10 に実験結果を示す．結果より，計算ノード数に比例して処理時間が減少していることが明ら

2) UbiquitousComputing
Cluster
http://www.aoki.ecei.tohoku.ac.jp/ucc/(UCC),

3) MPICH-A Portable Implementation of MPI,
http://www-unix.mcs.anl.gov/mpi/mpich/かである．また，4台の計算ノードを用いた場合に4) PVM:
ParallelVirtualMachine,
http://www.csm.ornl.gov/pvm/pvm home.html

は 2 秒弱程度の時間で照合が可能である．以上の

5) Debian Distribution for SH3 andhttp://debian.dodes.org/index.en.html

点からクラスタ技術に基づく分散並列処理を行うことにより，比較的計算性能の劣る組込み機器でも，実用レベルの指紋照合システムを構築することが可能であると考えられる．

5.

SH4,

6) Pallas
MPIBenchmark,
http://www.pallas.com/e/products/pmb/
7) T. Kenji, T. Aoki, Y. Sasaki, T. Higuchi, andK. Kobayashi: High-accuracy subpixel image registration based on phase-only correlation,IEICE
Trans. Fundamentals, vol. E86-A-8, 1925/1934,(2003)
8) K. Ito, H. Nakajima, K. Kobayashi, T. Aoki, andT. Higuchi: A fingerprint matching algorithm using phase-only correlation, IEICE Trans. Fundamentals, E87-A-3, 682/691, (2004)

まとめと今後の展望

本稿では，ユビキタスコンピューティング応用のプロトタイピング環境を低コストで実現するユビキタスコンピューティングクラスタ（Ubiquitous–4–9) Tokyo
ElectronDeviceLimited,
http://www.teldevice.co.jp/eng/index.html

Table 1CPUFig. 1

Architecture of UCC.

Specification of the computing node.
SH4 (SH7751R, 266MHz)

Memory64MB SDRAM

HDD

120GB, ATA133, 5400rpm

NIC

10/100 BASE-T (RTL-8139C+)

I/F

USB 2.0 x 2port

OS

Debian GNU Linux 2.4.21

Table 2Hardware

Overall specification of UCC

Computing nodes

Embedded NAS

Number of nodes

4Network interface

10/100 BASE-T

Power consumption

60W (TYP)

Size [mm]W390 x D280 x H150

System softwareOS

Debian GNU
Linux 2.4.21

Server functions

NIS, NFS

Communication
functinos

telnet,ftp
rsh,rexec,rcp

Development environment

Fig. 2Fig. 3

Photograph of UCC.

Example of an image processing system.

Compilers

GNU C-3.0.4
C++-3.0.4, F77

Editorsvi, GNU Emacs

Parallel processing
interfaces

MPI(mpich-1.2)
PVM-3.0

Fig. 4–5–

Performance of ping-pong communication.

Fig. 5

Performance of broadcast communication.

Fig. 6tem.

Structure of a fingerprint verification sys-Fig.

7method.

Principle of phase-only correlation

Fig. 8

Dataflow of a fingerprint verification.

Fig. 9 Photograph of a fingerprint verification
system.

Fig. 10 Processing time of fingerprint verification.

–6–