仮想化でつくるスケーラブルSMPシステム(1)
さくらインターネット研究所 松本です。今回は仮想化技術を使ったスケーラブルSMPシステム構築についてご紹介させて頂きます。 仮想化では一つの物理ハードウェアを複数の仮想マシンとして利用することが一般的ですが、今回は複数の物理ハードウェアを一つの仮想マシンとして動作させています。 SMPとはSymmetric Multiprocessingの略称であり、CPUのマルチコア化によりLinux等でも一般的に利用され、マルチコア・マルチスレッドに対応するプログラミングも日々増加しています。今回の実験では、仮想的にSMP化を行いスケールアップしたハードウェア環境におけるマルチコア・マルチスレッド対応プログラムの性能評価と今後の可能性について検証を目指しています。
SMPシステム構成
今回、仮想化技術をもちいたSMPシステム構築にはScaleMP社のvSMP Foundationを利用し、四つの物理サーバーをInfiniband 40Gbps QDRによりインターコネクト、プロセッサーを32個持つ一台のSMPシステムとして動作させています。

Fig.1 Virtual SMP Hardware Configuration


Fig.2 Hardware devices for Virtual SMP
仮想的に構成されたSMPシステムでは、通常のハードウェアにOSをインストールして動作させる場合と環境は全く変わりありません。通常のUNIXコマンド、デバイス構成、プログラムの動作環境が提供されており、OS上でのシステム管理には、なんら変化はありません。ただ一点だけ異なることは、仮想的に構成されるSMPシステムでは、参加するすべてのハードウェアが1つのハードウェアに接続されているように見え、それを設定・利用が可能となることです。システム構築の初期段階では、このような点について認識をしっかり持っていることが重要となります。
root@SMP# cat /proc/cpuinfo | grep processor
processor :0
processor :1
processor :2
:
processor :31
次回は、仮想的に構成されたSMPシステムの詳細について、皆様と情報共有できればと思います。
著者

1996年より特別第二種通信事業者のエンジニアとしてインターネット網整備に従事。システム・コンサルタント,ビジネス・コンサルタント等を経て2010年より現職。トヨタ自動車株式会社を兼業。研究テーマは、次世代モバイルセンシング(モノコトの見える化)、次世代モバイルアプリケーション等。