BBOリートベルトの仕組み#
システム概要図#
仕組み#
GSAS-IIの利用#
BBOリートベルトでは、リートベルト解析エンジンにGSAS-IIを利用しています。 粉末リートベルト解析機能しか利用していません。 GSAS-IIによる制限があるところもあり、たとえばプロファイル関数は非対称擬フォークト関数以外の選択肢はありません。
Optunaによる解析条件探索#
機械学習ハイパーパラメータ最適化ツールOptunaを使って学習しながら解析条件を探索します。
解析タスクの非同期処理#
BBOリートベルトサーバーでは解析は非同期で行われます。 すなわち、解析は一旦タスクとしてタスクキューに格納され、別ノードであるワーカーサーバーがタスクを順番に処理していきます。
タスク処理の優先順位#
優先順位の異なるタスクキューが複数あり、優先順位の高いキューのタスクから順番に処理されていきます。 トライアル数の多い解析の場合は、後のトライアルほど優先順位の低いキューに入ります。 また、グループや使用頻度によってどのキューに入れるかの規則が異なることがあります。 これにより、他のユーザーに気遣うことなく解析タスクを実行することができ、逆に他のユーザーの使用状況が過度に影響することもありません。
ワーカーサーバーの自動起動#
ワーカーサーバーは常に稼働しているわけではありません。 解析タスクがキューに入れられるタイミングで、起動していなければ起動します。 起動にはおおよそ5分かかります。 シャットダウンについては、3時間おき(0時、3時、6時、…)にワーカーがタスク処理をしているかどうかチェックが入り、していなければ自動終了します。 これにより、少ないコストで大きな計算資源を割り当てることができます。