Збір і порівняння результатів виконання.
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 останніх завершених запусків; встановіть SIMA_SENTINEL_RUN_RETENTION=N у демоні та інтерфейсі командного рядка (CLI), щоб вибрати іншу межу.
Активний запуск обмежений 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 надає інформацію про метадані, тривалість, загальну інтегровану енергію та кількість показників. Сеанс можна вибрати за його унікальною назвою або стабільним ідентифікатором.
clear --force видаляє всі завершені сеанси, зберігаючи при цьому активний запис. Явний прапорець запобігає випадковому масовому видаленню.
Кожен сеанс містить такі дані:
- назва, ідентифікатор, примітка, теги, мітки часу початку/закінчення в UTC та обчислений інтервал між зразками;
- Версія Sentinel та наявні файли ідентифікації плати/операційної системи/SDK.
- визначення показників, одиниці вимірювання, порогові значення, що сигналізують про попередження або критичну ситуацію;
- вихідні значення з позначенням часу, включно з явно вказаними недоступними значеннями та відсутніми значеннями. клавіші; і
- достатньо зразків необробленої енергії, щоб отримати з них енергію.
Енергія обчислюється в джоулях шляхом трапецієподібної інтеграції сусідніх скінченних
power_current_watts зразків. Проміжок не інтерполюється: якщо відсутня будь-яка з кінцевих точок, цей сегмент не вносить внесок в загальну енергію.
Вкладка «Порівняти запуски»
Відкрийте Sentinel і виберіть вкладку 6:
simaai-sentinel
Елементи керування:
| Ключ. | Дія |
|---|---|
Up / Down | Оберіть збережений сеанс. |
Space | Показувати або приховувати; одночасно видно не більше чотирьох результатів. |
Enter | Визначте його як базовий рівень. |
Left / Right | Для кожного відображеного запуску оберіть показник із наведеного переліку. |
w | Перемикайте між режимами часткового та повного перекриття вікон. |
x | Експортуйте видимий вибір у форматі JSON з підтримкою версій, збережіть у /tmp. |
d двічі | Видаліть вибраний завершений запуск. |
r | Запустіть або зупиніть контрольно-пропускний пункт. |
Кожен запуск починається з моменту, коли минуло t=0, починаючи з першого отриманого зраз ка даних;
часові мітки, що відображають реальний час, і змінна затримка між створенням контрольної точки та
першим зразком не використовуються для узгодження. Зразки відображаються з їхніми
оригінальними відносними інтервалами без повторного семплювання або інтерполяції.
Спільне вікно перекриття зупиняється на найкоротшому вибраному запуску. Повна тривалість
зберігає довші кінцеві ділянки та природним чином виключає інші серії.
Відображуваний селектор метрик надає загальну потужність плати, максимальну температуру плати/SoC, завантаження процесора, нормалізоване хвилинне навантаження процесора, Linux використану оперативну пам’ять, виділену пам’ять 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 відображає середні відсоткові відмінності для наступних запусків, коли існують обидва середні значення, і базове значення не дорівнює нулю. Споживачі повинні відхиляти непідтримувані майбутні версії схеми, а не намагатися вгадати їх.
Обидва формати експорту записуються у тимчасову папку-копію, а потім атомарно перейменовуються на потрібний вихідний файл. Вихідна папка має існувати.
Застереження щодо проведення вимірювань.
- Контрольна точка починається тоді, коли інтерфейс командного рядка записує свій поточний запис. Перша
захоплена точка є наступним зразком кешу демона і використовується для порівняння.
t=0; на попередньому етапі створення контрольної точки значення не обчислюються. - Частота збору даних визначається інтервалом оновлення кешу демона. Швидше зчитування даних PMBus відбувається вже об’єднано та включено до опублікованих полів даних.
- Відсутні зразки ніколи не замінюють.
- Часткові або невдалі передачі даних через PMBus зберігають семантику, описану в документації. Панель керування живленням.
- Порівняння дозволяють виявити певні відмінності, але не встановлюють їх остаточно. вони самі по собі не мають статистичної значущості.