計算ノードの使い分け:常時稼働とオンデマンドGPU、省電力を物理で分ける

パステル系を描いたアイキャッチ画像

ホームラボの機材が増えてくると、ある時点で必ず一つの問いに行き当たります。「重いものも軽いものも、結局1台のハイスペック機にまとめた方が楽なのではないか」。

この問いは自然ですし、間違いとも言い切れません。ただ当ラボでは、あえて逆を選びました。常時稼働させるノードと、必要なときだけ起こすGPUノードを、物理的に分けています。今回はその判断の理由を、能力・電力・運用のしやすさという三つの軸で整理します。電力や発熱の実測値は次回に送り、ここでは「どう分けるか」という考え方に絞ります。

目次

「全部入りの1台」をやめた理由

高性能なGPUと大容量メモリを積んだマシンを1台用意し、そこに監視も自動化もAI推論も全部載せる。構成としては単純で、初期投資も一見まとまって見えます。

それでも分けた理由は三つあります。

第一に、障害範囲です。全部入りの1台が落ちると、軽い常時処理まで巻き込まれて止まります。死活監視そのものが同じ箱に乗っていれば、何が落ちたのか観測する手段ごと失うことになります。

第二に、電力です。重いGPUは仕事をしていなくても、起動して待機しているだけで相応に電力を食います。24時間回し続ける軽処理と、たまにしか使わない重処理を同じ電源の下に同居させると、使っていない能力にずっと電気を払い続けることになります。

第三に、運用のしやすさです。1台に役割を集めるほど、再起動・更新・実験の影響が全体に及びます。役割で分けておけば、AI検証用のノードを気軽に作り直しても、常時稼働の中継機能は無傷のままです。

常時稼働の層:軽くて止まらないものを置く

24時間動き続けてほしいものは、省電力で堅実なノードに寄せています。エージェント群の中継・運用を担うオーケストレータ用の小型ノード(以前はMac miniが担っていた役割を移行したもの)が、この層の中心です。

ここに置くのは、CPU性能よりも「落ちないこと」と「電気を食わないこと」が効いてくる処理です。死活監視や軽い自動化のように、止まると気づけなくなる種類の機能ほど、この常時稼働層に置く価値があります。監視を実際に落として通知の失敗まで作って試した記録は死活監視をDownと通知失敗込みで検証した記事にまとめているので、観測側の作り込みはそちらを参照してください。

GPU計算ノードは2系統に分け、サブは普段落とす

重いGPU処理は、常時稼働層とは別の系統に分けています。当ラボではGPUノードを2系統で運用しています。メインがRTX 4090クラス、サブがRTX 3090 Tiクラスです。

ポイントは、サブを普段は落としておく、という運用です。サブノードはWoL(Wake-on-LAN)で必要なときだけ起こし、仕事が終わればまた眠らせます。常時通電しておく価値があるのはメイン側だけで、たまにしか使わない予備の計算力まで24時間温めておく必要はない、という判断です。

この「起こして使い、終わったら落とす」運用は、省電力と能力を両立させるための要です。能力が欲しいときには確かにそこに在る。けれど使っていない時間にまで電力を払わない。クラウドの従量課金GPUに近い感覚を、手元の機材で再現していると言ってもいいかもしれません。

仮想化基盤も役割で分ける

図解: 役割ごとの基盤分離(Proxmox / 汎用 / 監視系 / AI検証用 / 安定運用)
図解: 役割ごとの基盤分離(AI生成)

仮想化基盤にはProxmoxを複数台で運用し、これも役割で分離しています。汎用、監視系、AI検証用といった単位で基盤そのものを分けることで、片方で実験的な構成をいじっても、もう片方の安定運用に波及しません。当ラボ全体の機材レイアウトは自宅ラボの物理構成まとめでも俯瞰しています。

台数や個々のスペックをここで断定するつもりはありません。確定している思想だけを言えば、「1台に全部の役割を背負わせない」という一点に尽きます。

比較:どの分け方を選ぶか

構成の選び方 初期の手間 電力の無駄 障害範囲 向いている人
全部入りハイエンド1台 小さい 大きい(重い機材を常時通電) 広い(全機能が道連れ) とにかく台数を増やしたくない
役割で分けた複数ノード+WoL やや大きい 小さい(使う時だけ起こす) 狭い(障害が局所化) 24h運用と重処理を両立したい
クラウドGPU従量課金 小さい 自分では持たない 委ねる 自宅に重い機材を置きたくない
重いノードも常時稼働 最大 レイテンシ最優先・電気代を問わない

導入してよい条件 / まだ見送ってよい条件

役割分散+WoLに踏み込む価値があるのは、おおむね次の条件が揃ったときです。

  • 24時間止めたくない軽処理(監視・自動化)と、たまに使う重処理(GPU)の両方を抱えている
  • 重い機材の待機電力が、無視できない負担になり始めている
  • 全部入りの1台が落ちたときに困る、と実感したことがある

逆に、次のような場合は急いで分ける必要はありません。

  • 常時動かしたい処理がまだ無く、必要なときだけマシンを使えば足りる
  • GPU処理の頻度が低く、その都度クラウドの従量課金で済ませた方が安い
  • 電気代より、構成をシンプルに保つことの方が今は大事

結局のところ、「全部入りの1台か、役割で分けた複数台か」という最初の問いへの当ラボの答えは、こうなります。止めたくないものは省電力ノードに薄く広げて常時稼働させ、能力が欲しいものはWoLで必要なときだけ起こす。この二層を物理で分けておくことが、電力と運用の両面でいちばん無理がありませんでした。次回は、この構成で実際にどれくらい電力と発熱が動くのか、実測の数値に踏み込みます。

役割を分ける判断

常時稼働側には停止しにくい小さな仕事を置き、GPU計算は必要時だけ起動します。停止失敗や消費電力は機器・負荷で変わるため、本稿の構成を数値保証には使わず、稼働時間と電力を自環境で比較してください。

この検証を回している環境

この検証は、自宅の常設ラボ(使い捨てVM/LXCを回す母艦+GPU+VLAN分離ネットワーク)で動かしています。使っている機材と選定理由、全体構成は1本にまとめています。

ラボ構成のまとめを見る →
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次