メインコンテンツまでスキップ

実行結果の記録と比較

Sentinelのチェックポイントは、ワークロードの周辺に生のデーモンサンプルを保持するため、2つ以上のアプリケーションまたはモデルの実行結果を、同じ時間軸で比較できます。 通常のライブキャッシュは、/runの下で短期間のみ保持されます。完了したチェックポイントは、/var/lib/simaai-sentinel/runsに保存され、デーモンの再起動やシステムの再起動後も保持されます。

ワークフローの記録

simaai-sentinel checkpoint --name baseline --note "unoptimized model"
./run-test.sh
simaai-sentinel checkpoint --stop

simaai-sentinel checkpoint --name optimized --tag compiler-v2
./run-test.sh
simaai-sentinel checkpoint --stop

名前は一意である必要があります。別のチェックポイントがアクティブな状態で開始し、アクティブなチェックポイントがないときに停止し、アクティブな実行を削除し、不明または曖昧な実行を選択すると、すべて対処可能なエラーが発生します。

インタラクティブな TUI は、同じ基本的なライフサイクルを提供します。r を押して、チェックポイント名を入力し、Enter キーを押して開始します。赤い RECORDING インジケーターがヘッダーに表示されたままになります。r をもう一度押すと、実行が停止して保存されます。

アクティブなチェックポイントは、排他的なファイルロックの下でアトミックな書き込みと名前の変更を使用して、デーモンによって更新されます。デーモンが再起動すると、アクティブなチェックポイントへの追加を再開します。完了したファイルは二度と書き換えられません。デフォルトでは、最新の 50 件の完了した実行が保持されます。デーモンと CLI で SIMA_SENTINEL_RUN_RETENTION=N を設定して、別の保持数を指定します。アクティブなキャプチャは 21,600 サンプル(デフォルトの 2 秒間隔では約 12 時間)に制限されます。SIMA_SENTINEL_RUN_MAX_SAMPLES=N を設定して、安全制限を変更します。制限に達すると、新しいサンプルは拒否されますが、実行は引き続き停止して保存できます。

実行管理

simaai-sentinel runs list
simaai-sentinel runs show baseline
simaai-sentinel runs delete baseline
simaai-sentinel runs clear --force

list は、録画/完了状態、経過時間、およびサンプル数を表示します。 show は、メタデータ、期間、集計された総エネルギー、およびメトリック数を報告します。実行は、一意の名前または安定した ID で選択できます。

clear --force は、アクティブな録画を保持しながら、すべての完了した実行を削除します。この明示的なフラグは、誤った一括削除を防ぎます。

各実行では、以下の情報を記録します。

  • 名前、ID、注釈、タグ、開始/終了 UTC タイムスタンプ、および推測されたサンプル間隔。
  • Sentinelのバージョンと、利用可能なボード/OS/SDKの識別ファイル。
  • メトリックの定義、単位、警告/重大アラートの閾値。
  • 明示的に利用できない値や欠損値を含む、タイムスタンプが付加された生のデータ値 キー、および
  • エネルギーを生成するために十分な量の未加工の電力サンプル。

エネルギーは、隣接する有限要素に対する台形積分によってジュール単位で計算されます。 power_current_watts サンプル。ギャップは補間されません。どちらかの端点が欠落している場合、そのセグメントはエネルギーに寄与しません。

実行結果の比較タブ

Sentinel を開き、タブ 6 を選択してください。

simaai-sentinel

操作方法:

キー操作
Up / Down保存した実行結果を選択してください。
Space表示または非表示を切り替えます。最大で4つの結果が表示されます。
Enterこれを基準として指定します。
Left / Right表示されているすべての実行結果について、表示する指標の系列を選択してください。
w共通のオーバーラップと完全期間のウィンドウを切り替えます。
x表示されている選択範囲を、バージョン管理されたJSON形式で/tmpにエクスポートします。
d 2回選択した完了済みの実行を削除します。
rチェックポイントを開始または停止します。

すべての実行は、最初に取得されたデーモンのサンプルから経過時間 t=0 で開始されます。 実際の時刻のタイムスタンプと、チェックポイントの作成と最初のサンプルの間の可変遅延は、アラインメントには使用されません。サンプルは、リサンプリングや補間なしに、元の相対的な間隔でプロットされます。共通のオーバーラップウィンドウは、最も短い選択された実行で停止します。完全な期間を維持することで、より長いテールを保持し、他のシリーズは自然に表示されなくなります。

表示されるメトリックセレクターは、合計ボード電力、最大ボード/SoC温度、CPU使用率、正規化された1分間のCPU負荷、Linux RAM使用量、MLA割り当てメモリ、およびEV74 CMAメモリ使用量を提供します。一度に1つのメトリックのみを重ねて表示し、3つまたは4つの選択された実行を読みやすくします。

表示されるすべての実行は、同じ点字線の太さとレンダリングスタイルを使用するため、どのシリーズも他のシリーズよりも目立つことはありません。各実行には、安定した色と明確な凡例記号が割り当てられ、凡例は常に表示されます。概要レポートには、サンプル数、最小値、平均値、中央値、95パーセンタイル、最大値、選択されたベースラインからのパーセント変化、および電力の統合エネルギーが表示されます。オーバーラップモードでは、エネルギーは共通ウィンドウを通してのみ統合されます。

CSV をエクスポート

simaai-sentinel export baseline optimized \
--format csv --output comparison.csv

CSV は、詳細なスキーマを使用します。

run_id,run_name,elapsed_ms,timestamp,category,metric,unit,value,status

各実行、サンプル、および既知の指標ごとに1行のデータが記録されます。statusは、okwarningcriticalunavailable、またはmissingのいずれかです。CSV形式のフィールドは、標準的なダブルクォートのエスケープ処理に従い、pandas、スプレッドシート、およびプロットツールに直接読み込むことができます。

JSON エクスポート

simaai-sentinel export baseline optimized \
--format json --output comparison.json

JSON ドキュメントには、エクスポート用のschema: 1、生成時間、完全な実行メタデータ、メトリックの定義、生のサンプル、集約された電力エネルギー、および定義された各メトリックの実行ごとの統計情報が含まれています。概要duration_msは、TUIおよびCSVと同じ、最初のサンプルを基準とした比較タイムラインを使用します。生のサンプルのタイムスタンプとチェックポイントのメタデータは、元のUTC値を保持します。最初に要求された実行がベースラインであり、baseline_deltas_pctは、両方の平均値が存在し、ベースラインがゼロでない場合に、その後の実行における平均パーセント差を報告します。利用者は、サポートされていない将来のスキーマバージョンを黙って推測するのではなく、拒否する必要があります。

両方のエクスポート形式は、一時的な兄弟ディレクトリに書き込まれ、その後、要求された出力にアトミックに名前が変更されます。出力ディレクトリは、事前に存在している必要があります。

測定時の注意点

  • チェックポイントは、CLIがアクティブなレコードを書き込んだときに開始されます。最初の 取得されたポイントは、次のデーモンキャッシュサンプルの対象となり、比較に使用されます。t=0。以前のチェックポイント作成時には、値は補間されません。
  • キャプチャの頻度は、デーモンのキャッシュ間隔に従います。より高速な PMBus の読み取りは、 すでに集計され、公開されている電力フィールドに統合されています。
  • 不足しているサンプルは補充されません。
  • 一部または失敗したPMBusのパスは、ドキュメントに記載されている意味を保持します。 電源パネル.
  • 比較によって、明確な違いが明らかになります。しかし、それ以上のことは明らかになりません。 それ自体では統計的な有意性を示さない。