ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

Let's Retz!

2016-12-03 00:04:55 | PG(分散処理)

Asakusa Framework Advent Calendar 2016の3日目です。

Asakusa on M3BPのバッチは1台のサーバーのメモリー上に全データが乗る必要がありますが、当然、バッチの種類およびデータ量によっては、サーバーの全メモリーを使用するわけではありません。
例えばメモリーを512GB搭載しているサーバーであれば、最大128GBしか使わないバッチは4並列まで実行できることになります。
(それぞれのM3BPバッチがマルチスレッドで動くのでCPUのコア数もそれなりに必要ですが、これまでの経験では、コア数はそんなに多くは必要なかったです。メモリーは足りないとバッチが落ちますが)
しかし、256GB使うバッチが混ざっていると3並列まで可能? 256GBのバッチ2つなら2並列?という具合に、並列実行させるのは結構面倒です。

そこでRetzの出番です!(笑)

Retzは、バッチの実行を行うジョブスケジューラーです。
Retz自身はAsakusaFWと直接の関係は無く、AsakusaFW以外でも使用可能です。

スケジューラーと聞くと、個人的には、バッチを特定時刻で起動したり、前のバッチが終わるまで待って後続バッチを実行したりするツールを思い浮かべるのですが、Retzはそういうものではありません。
Retz管理下のクラスター(複数のサーバー)の中からリソース(CPUやメモリー)が空いているサーバーを探し、そのサーバー上でジョブ(バッチ)を実行してくれるものです。
Retzに対して複数のジョブの実行を指示しておけば、リソースが足りている分について並列でジョブを実行してくれます。
リソースが空いていなければ、空くまでジョブの実行を待ちます。 

これを応用し、M3BPマシンでクラスター(1台構成でも可w)を組んでおけば、そのマシンのリソースを使い切るまで、バッチを詰め込んで並列で実行してくれるわけです。

ちなみに、Retzを使ってバッチを実行することを、業界(弊社内のごく一部)用語で「Let's Retz」と言うようです。
^^; 


コメント    この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« バッチのメモリー使用量の確... | トップ | AsakusaFWで転職 »
最新の画像もっと見る

コメントを投稿

PG(分散処理)」カテゴリの最新記事