Happy My Life

日常とか技術とか

Amazon EC2でAndroid(gingerbread)をビルドする(ベンチマーク編)

前回のエントリーの続き。ということで、実際にrowboatのgingerbreadをビルドして時間を計測してみた。ちなみに、インスタンスは64bitOSが利用できるものしか試していない。

測定方法

同一AMIを利用して、起動するインスタンスを切り替えて測定した。本来なら何度も測定してその平均を取るべきなんだろうけど、今回は1回のみの測定。マイクロインスタンスで時間がかかりすぎて、力尽きたというのが大きな理由…。

マイクロ インスタンス

最初は、一番安いマイクロインスタンスから。

  • 613 MB メモリ
  • 最大2 EC2 Compute Units (短期の定期的なバースト)
  • EBS ストレージのみ
  • 32 ビットまたは 64 ビットのプラットフォーム
  • I/O 性能: 高
  • API 名: t1.micro

ビルド中、メモリ不足によるOOM Killerが発生するのでSwapファイルの設定が必須となる。

実際にビルドしてみたが結論としては使いものにならない。どの程度使いものにならないかというと、6時間近くビルドしてもまだ終わらない…。いい加減疲れたので中断した。

エクストララージ インスタンス

インスタンスの使用は以下の通り

  • 15 GB メモリ
  • 8 EC2 Compute Unit (2 EC2 Compute Unitを有する4仮想コア)
  • 1,690 GB インスタンスストレージ
  • 64-ビット プラットフォーム
  • I/O 性能:高
  • API 名: m1.xlarge
make TARGET_PRODUCT=beagleboard OMAPES=5.x -j4  9158.92s user 767.41s system 409% cpu 40:21.50 total

40分21秒かかった。まあこんなものかな、という感じ。

ハイCPU エクストララージ インスタンス

インスタンスの仕様は以下の通り

  • 7 GB メモリ
  • 20 EC2 Compute Unit (2.5 EC2 Compute Unitを有する8仮想コア)
  • 1690 GB インスタンスストレージ
  • 64-ビット プラットフォーム
  • I/O 性能:高
  • API 名: c1.xlarge
make TARGET_PRODUCT=beagleboard OMAPES=5.x -j8  7185.23s user 891.93s system 713% cpu 18:52.28 total

ビルド時間は、18分52秒となった。 このレベルになると、i7-860マシンとほぼ同等の速度でビルドしていることになる。ちょとした休みの間にAndroidのビルドが完了している感覚なので、気軽にフルビルドできる。

ハイメモリ クアドラプル エクストララージ インスタンス

インスタンスの仕様は以下の通り

  • 68.4 GB メモリ
  • 26 EC2 Compute Unit (3.25 EC2 Compute Unitを有する8仮想コア)
  • 1690 GB インスタンスストレージ
  • 64-ビット プラットフォーム
  • I/O 性能:高
  • API 名: m2.4xlarge
make TARGET_PRODUCT=beagleboard OMAPES=5.x -j8  5916.11s user 626.15s system 749% cpu 14:32.59 total

ビルド時間は14分32秒となった。

これまでのインスタンスで一番はやくビルドが終了した。先のハイCPU エクストララージと比較すると4分の差なので、これをどう見るか次第でないかと。

料金は?

EC2のインスタンスでは時間単位で料金が発生するので、今度は料金も比較対象に含んで比較してみる。

今回はマイクロインスタンス以外はすべて1時間以内でビルドが完了した。EC2では1時間未満のインスタンスは1時間分の料金が発生する。価格はus-westを適応し、$1=83円換算した。

インスタンス 時間 料金 日本円
エクストララージ 40:21 $0.76/h 約63円
ハイCPU エクストララージ 18:52 $0.76/h 約63円
ハイメモリ クアドラプル エクストララージ 14:32 $2.28/h 約190円

という事で、コストも考慮するとパフォーマンスがよいのは、ハイCPU エクストララージインスタンスとなる。

ハイCPU エクストララージインスタンスを1ヶ月(1日8時間 x 20日)利用すると、$121.60(約10092円)となる。

まとめ

ちなみに、ハイCPU エクストララージレベルのPCは、今だとだいたいi7 E2600と同じ性能かと思われる。このクラスのPCは、約8〜10万円程度のクラスなので、毎日フルビルドするような人はEC2を利用するよりPCを購入した方がよいだろう。

ただ、数ヶ月限定など一時的にマシンスペックが必要なときは、EC2も十分選択肢に入るかと。

基礎から学ぶ 組み込みAndroid
坂本 俊之 出村 成和 渡邊 昌之
シーアンドアール研究所
売り上げランキング: 15397