aobench on ZeroVM

by syoyo

動かすアプリが決まっている場合に有益そうな, 次世代の(アプリケーション?)仮想化プラットフォーム ZeroVM で aobench を動かせるようにして, どこでもセキュアに aobench を実行する可能性を検討してみましょう.
(ZeroVM の中身はアプリを NativeClient でビルドして sandbox 実行するのがキモのようです)

http://zerovm.org/wiki/The_Cloud_Hypervisor

検証環境

– Ubuntu 12.04.3 LTS

インストール

Ubuntu 12.04 LTS 用にはプレビルトバイナリがあるのでこれを活用します.

http://zerovm.org/wiki/Download

を参考に ZeroVM 環境やコンパイラをインストールします.


$ sudo apt-get install zerovm-zmq
$ sudo apt-get install zerovm-cli
$ sudo apt-get install zerovm-zmq-dbg
$ sudo apt-get install zerovm-zmq-dev
$ sudo apt-get install gcc-4.4.3-zerovm

Makefile などを流用するためにサンプルコードを取得します.

$ git clone https://github.com/zerovm/zerovm-samples

hello サンプルを参考に aobench サンプルを作ります.

$ cd zerovm-samples
$ cp -Rf hello aobench

Makefile をいじり適当にファイル名を aobench に変えます. -lm を加えて数学ライブラリをリンクするようにします. cat $(NAME).stdout.log の行を削除しておきます.

aobench の C コードを https://code.google.com/p/aobench/ などから取得します. ファイルに画像を出力しているところを stdout に出力するように変えます.

ビルド and 実行を行います.

$ make
$ cat aobench.stdout.log > ao.ppm
$ eog ao.ppm

aobench.stdout.log に結果が書かれているので, これを変換して aobench 画像が出れば成功です.

aobench-zerovm

Happy ZeroVM hacking!

Advertisements