AWS ParallelCluster ジョブサブミットから GPU インスタンスが起動しジョブを処理開始するまでの時間を OS 別に計測してみた

CentOS 7 よりも Ubuntu 20.04 の方が起動速度が早い!
2022.06.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS ParallelCluster のコンピュートノードで起動する GPU インスタンスの起動速度を調査する機会がありましたので結果をまとめて紹介します。

計測対象

GPU インスタンス(g4dn.2xlarge)をコンピュートノードで起動するときに CentOS 7 と Ubuntu 20.04 の OS による起動速度に差はあるのか、また何分で起動するのか確認するため、OS 違いで各10回起動してみてデータを取得しました。

過去のアップデートで CentOS、Ubuntu の起動速度が改善されています。

計測方法

ジョブをサブミットしてからジョブの処理開始するまでの時間の計測方法は以下のリンクの方法を参考にしています。

確認結果

GPUインスタンス(g4dn.2xlarge)においては、CentOS 7 より Ubuntu 20.04 が1分程度起動速度が早い。

MIN MAX AVG
CentOS 7 0:03:45 0:04:54 0:04:17
Ubuntu 20.04 0:03:03 0:03:24 0:03:14
  • ジョブをサブミットしたタイミングが同じだとほぼ同じ起動時間になる
  • ジョブをサブミットしたタイミングが違うと起動時間に差が生まれる
    • 同じインスタンスタイプでも起動速度は一定ではないことがわかった

検証データ

CentOS 7

項目
OS CentOS 7
ParallelCluster 3.1.4
Instance Type g4dn.2xlarge

JobId 登録 開始 起動時間
1 2022-06-14 2:32:20 2022-06-14 2:36:20 0:04:01
2 2022-06-14 2:32:21 2022-06-14 2:36:20 0:04:00
3 2022-06-14 2:32:21 2022-06-14 2:36:20 0:03:59
4 2022-06-14 2:32:33 2022-06-14 2:36:20 0:03:48
5 2022-06-14 2:32:35 2022-06-14 2:36:20 0:03:45
6 2022-06-14 2:32:36 2022-06-14 2:36:20 0:03:45
7 2022-06-14 4:14:22 2022-06-14 4:19:16 0:04:54
8 2022-06-14 4:14:22 2022-06-14 4:19:16 0:04:54
9 2022-06-14 4:14:23 2022-06-14 4:19:16 0:04:53
10 2022-06-14 4:14:23 2022-06-14 4:19:16 0:04:53

Ubuntu 20.04

項目
OS Ubuntu 20.04
ParallelCluster 3.1.4
Instance Type g4dn.2xlarge

JobId 登録 開始 起動時間
1 2022-06-14 5:24:58 2022-06-14 5:28:03 0:03:06
2 2022-06-14 5:24:58 2022-06-14 5:28:03 0:03:05
3 2022-06-14 5:24:59 2022-06-14 5:28:03 0:03:04
4 2022-06-14 5:24:59 2022-06-14 5:28:03 0:03:04
5 2022-06-14 5:25:00 2022-06-14 5:28:03 0:03:03
6 2022-06-14 7:18:41 2022-06-14 7:22:05 0:03:24
7 2022-06-14 7:18:42 2022-06-14 7:22:05 0:03:24
8 2022-06-14 7:18:42 2022-06-14 7:22:05 0:03:23
9 2022-06-14 7:18:43 2022-06-14 7:22:05 0:03:23
10 2022-06-14 7:18:44 2022-06-14 7:22:05 0:03:22

おわりに

本検証から別の機会に CPU を計測するときは時間帯を考慮して計測したいと思います。長時間の計算処理の場合は、4分程度の起動待ち時間は誤差かもしれませんが、短時間で計算処理が終わるものは計算リソースが使用可能になるまでのオーバヘッドも頭に入れておきたいところです。

OS 違いのクラスターを用意するところまではよかったのですが、ログから起動時間を拾ってまとめるのが地味に時間のかかる作業でしたのでご参考までに共有したかった次第です。