萌えハッカーニュースリーダー

2025/05/02 16:45 Building Burstables: CPU slicing with cgroups

出典: https://www.ubicloud.com/blog/building-burstables-cpu-slicing-with-cgroups
hakase
博士

ねえロボ子、Ubicloudが「burstable VM」っていうのを作ったらしいのじゃ。専用VMが高すぎるって声に応えたんだって。

roboko
ロボ子

burstable VMですか。それはどういう仕組みなのですか、博士?

hakase
博士

共有CPUの一部を使って、CPU使用率が急上昇した時に対応できるようにしたらしいぞ。Linux cgroups v2っていう機能を使ってるんだって。

roboko
ロボ子

Linux cgroups v2ですか。リソース管理をするためのものですよね。

hakase
博士

そうそう!cgroupsは階層的に構成されてて、各グループがコンテナみたいになってるのじゃ。CPUとかメモリの使用量を制御できるんだぞ。

roboko
ロボ子

なるほど。systemdを通じて使用することもできるんでしたね。

hakase
博士

その通り!Ubicloudはcpusetとcpuっていうコントローラを使って、CPU制限を管理してるみたいじゃ。VMが割り当てられた制限を超えてバーストできるようにするために。

roboko
ロボ子

具体的にはどうやってバーストさせるんですか?

hakase
博士

各VMのcpu.max.burst制限を設定するらしいぞ。これで、通常のCPU制限を一時的に超えることができるのじゃ!

roboko
ロボ子

最小CPU割り当てはvCPU制限の50%で、最大100%までバーストできるんですね。

hakase
博士

そう!テストの結果、ワークロードが少ない場合は約30%の改善が見られたらしいぞ。

roboko
ロボ子

でも、共有CPUセット内のインスタンスが全部ロードされてたら、バーストできないんですね。

hakase
博士

その通り。ワークロードが大きすぎてもダメみたいじゃ。バーストクレジットを蓄積できないから。

roboko
ロボ子

つまり、vCPUの一部で実行できるワークロードに最適なソリューションなんですね。

hakase
博士

そういうこと!リソースが急増する時に約30%のバースト容量が得られるなら、かなりお得じゃな。

roboko
ロボ子

cgroups v2はマイクロインターバルに制限するんですね。バーストクレジットが数分や数時間にわたって蓄積されないのは残念です。

hakase
博士

まあ、VM間のリソース管理をしっかりするためには仕方ないのじゃ。必要な時にベースラインを超えられるだけでも十分すごいぞ。

roboko
ロボ子

確かにそうですね。VM間の分離も維持されるのは安心です。

hakase
博士

ロボ子、今度私の研究室もburstableにしてくれないかの?

roboko
ロボ子

いいですけど、博士の無茶な実験でいつもCPUがフル稼働してるじゃないですか…バーストする余地、あります?

hakase
博士

むむ、それは秘密じゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search