スーパーコンピューターで大規模なシミュレーションを行っています。これらのシミュレーションは実行に費用がかかるため、時々結果をディスクに書き込む必要があります。また、ほとんどのスーパーコンピューターの最大実行時間は 1 日か 2 日で、その後ジョブは自動的に終了します。その結果、アプリケーションに「再開」機能を追加できるようにする必要があります。
大規模なデータセットの場合、情報をディスクにダンプできる最速の「生」バイナリ ファイルを使用します。後で、これらのバイナリ ファイルを、通常のデスクトップで後処理できる形式に変換できます。ただし、コードの実行時にシミュレーションに関するパラメーター情報をログに記録する必要もあります。これにより、結果がどのパラメーター セットに対応するかを判断する際に問題が発生することはありません。
さらに、ジョブの開始/再開時にパラメーターを設定できるように、構成ファイルが必要です。私がやりたいことは、ロギング/構成ファイルを1つのステップにマージして、コードが次の再開のために必要なすべての情報を構成ファイルに記録できるようにすることです。また、このファイルは、人間が簡単に読み取れる、階層化されたものであり、解析用のライブラリに関して適切にサポートされている必要があります。私の主な関心事は、私が開発している言語です。つまりC++
、サポートがあるといいかもしれませんpython
。
これまでのところ、これをxml
使用してboost::property_tree
いますが、これが最善の方法であるかどうかはわかりません。具体的には、私のxml
ファイルは少し冗長すぎるようです! 使用できるファイル形式のより良いオプションはありますか? ライブラリのサポートはどうですか?ビルド構造の変更を防ぐために、ヘッダーのみのライブラリを好みます。