실행 결과를 캡처하고 비교
Sentinel 체크포인트는 특정 워크로드 주변에 원시 데몬 샘플을 유지하므로 두 개 이상의 애플리케이션 또는 모델 실행을 동일한 시간 흐름에서 비교할 수 있습니다.
일반적인 실시간 캐시는 /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개 샘플(기본 두 초 간격에서 약 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 버전 및 사용 가능한 보드/운영체제/SDK 식별 파일;
- 측정 지표 정의, 단위, 경고/위험 임계값
- 명시적으로 사용할 수 없는 값과 누락된 값을 포함하여, 시간 정보가 포함된 원시 값 키; 그리고
- 에너지 생산에 필요한 충분한 양의 원자재 샘플.
에너지는 인접한 유한 요소에 대한 사다리꼴 적분을 통해 줄 단위로 계산됩니다.
power_current_watts 샘플. 간격은 보간되 지 않습니다. 양쪽 끝점 중 하나라도 누락된 경우 해당 세그먼트는 에너지에 기여하지 않습니다.
실행 결과 비교 탭
Sentinel을 열고 6 탭을 선택하세요.
simaai-sentinel
조작 방법:
| 핵심 | 동작 |
|---|---|
Up / Down | 저장된 실행 파일을 선택하세요. |
Space | 표시하거나 숨기세요. 최대 4개의 결과만 표시됩니다. |
Enter | 이를 기준으로 삼으십시오. |
Left / Right | 화면에 표시되는 각 실행에 대해 표시할 지표 시리즈를 선택하세요. |
w | 일반적인 중첩 영역과 전체 기간의 창을 전환합니다. |
x | 선택한 항목을 버전이 지정된 JSON 형식으로 내보내고, /tmp에 저장합니다. |
d 두 번 | 선택한 완료된 실행 기록을 삭제합니다. |
r | 체크포인트를 시작하거나 중지합니다. |
모든 실행은 첫 번째로 캡처된 데몬 샘플에서 경과된 t=0 시간부터 시작합니다.
실제 시간 스탬프와 체크포인트 생성과 해당 첫 번째 샘플 사이의 가변적인 지연 시간은 정렬에 사용되지 않습니다. 샘플은 재샘플링 또는 보간 없이 원래의 상대적인 간격으로 플롯됩니다. 공통 오버랩 창은 가장 짧게 선택된 실행에서 멈춥니다. 전체 기간 동안 더 긴 꼬리 부분이 유지되고 다른 계열은 자연스럽게 표시되지 않습니다.
보이는 지표 선택기를 통해 총 보드 전력, 최대 보드/SoC 온도, CPU 사용률, 정규화된 1분 CPU 부하, Linux RAM 사용량, MLA 할당 메모리 및 EV74 CMA 메모리 사용량을 확인할 수 있습니다. 한 번에 하나의 지표만 오버레이되므로 세 개 또는 네 개의 선택된 실행을 쉽게 읽을 수 있습니다.
모든 보이는 실행은 동일한 점자 선 두께와 렌더링 스타일을 사용하여 어느 계열이 다른 계열보다 더 두드러지게 보이지 않도록 합니다. 각 실행은 여전히 안정적인 색상과 고유한 범례 기호를 가지며, 범례는 항상 표시됩니다. 요약 보고서에는 샘플 수, 최소값, 평균값, 중앙값, 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
각 실행, 샘플 및 알려진 지표별로 하나의 행이 있습니다. status는 ok 또는 warning 또는 critical 또는 unavailable 또는 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는 두 평균값이 모두 존재하고 기준선이 0이 아닌 경우 후속 실행에 대한 평균 백분율 차이를 보고합니다. 사용자는 지원되지 않는 향후 스키마 버전을 자동으로 추측하기보다는 거부해야 합니다.
두 가지 내보내기 형식 모두 임시 디렉터리에 기록된 후 요청된 출력으로 원자적으로 이름이 변경됩니다. 출력 디렉터리는 미리 존재해야 합니다.
측정 시 주의사항
- 체크포인트는 CLI가 활성 레코드를 기록할 때 시작됩니다. 첫 번째
획득한 지점은 다음 데몬 캐시 샘플이 되며 비교 대상으로 사용됩니다.
t=0; 이전 체크포인트 생성 시에는 값이 보간되지 않습니다. - 캡처 주기는 데몬 캐시 간격에 따라 결정됩니다. 더 빠른 PMBus 읽기는 다음과 같습니다. 이미 게시된 전력 필드에 통합되었습니다.
- 누락된 샘플은 절대로 보충되지 않습니다.