mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-21 20:41:13 +00:00
86 lines
2.7 KiB
Markdown
86 lines
2.7 KiB
Markdown
# Resource Limit Tests
|
|
|
|
### NFT-RES-LIM-01: Jetson Memory Budget
|
|
|
|
**Summary**: Validate that runtime memory stays below the 8 GB shared LPDDR5 limit.
|
|
|
|
**Traces to**: AC-4.2, Restrictions Onboard Hardware
|
|
|
|
**Preconditions**:
|
|
- Jetson Orin Nano Super in production power/thermal mode.
|
|
- BASALT + wrapper, cache index, FAISS CPU index, and FDR enabled.
|
|
|
|
**Monitoring**:
|
|
- CPU/GPU shared memory, process RSS, CUDA allocations, FAISS index memory.
|
|
|
|
**Duration**: Minimum 60 minutes steady-state replay plus relocalization triggers.
|
|
|
|
**Pass criteria**: Peak memory <8 GB shared; no OOM kill; no silent descriptor/index eviction.
|
|
|
|
---
|
|
|
|
### NFT-RES-LIM-02: Thermal And Power Envelope
|
|
|
|
**Summary**: Validate sustained 25 W operation without thermal throttling across the environmental envelope.
|
|
|
|
**Traces to**: AC-NEW-5
|
|
|
|
**Preconditions**:
|
|
- Jetson cooling solution installed.
|
|
- Hot-soak chamber or production thermal test setup at +50 °C.
|
|
|
|
**Monitoring**:
|
|
- Power mode, temperature sensors, throttle flags, CPU/GPU clocks, per-frame latency.
|
|
|
|
**Duration**: 8 hours at sustained representative workload.
|
|
|
|
**Pass criteria**: No thermal throttle event; p95 latency remains <400 ms; QGC receives thermal warning if any threshold is approached.
|
|
|
|
---
|
|
|
|
### NFT-RES-LIM-03: Satellite Cache Storage Budget
|
|
|
|
**Summary**: Validate persistent satellite cache footprint for up to 400 km² operational area.
|
|
|
|
**Traces to**: AC-8.3, Restrictions Satellite Imagery
|
|
|
|
**Monitoring**:
|
|
- Cache imagery, overviews, manifests, sidecars, FAISS descriptors/indexes.
|
|
|
|
**Duration**: Full cache build/load test.
|
|
|
|
**Pass criteria**: Persistent cache is <=10 GB unless the implementation explicitly defines and gets approval for a separate descriptor/index budget.
|
|
|
|
---
|
|
|
|
### NFT-RES-LIM-04: Flight Data Recorder Rollover
|
|
|
|
**Summary**: Validate FDR storage cap and rollover behavior under an 8-hour synthetic mission.
|
|
|
|
**Traces to**: AC-NEW-3, AC-8.5
|
|
|
|
**Preconditions**:
|
|
- Synthetic 8-hour load with 3 fps navigation frames, full-rate IMU, emitted `GPS_INPUT`, health telemetry, tile writes, and failure thumbnails.
|
|
|
|
**Monitoring**:
|
|
- FDR segment sizes, rollover events, retained payload classes.
|
|
|
|
**Duration**: 8 hours.
|
|
|
|
**Pass criteria**: FDR remains <=64 GB per flight; rollover is logged; no raw nav/AI frames are retained; no payload class is silently dropped.
|
|
|
|
---
|
|
|
|
### NFT-RES-LIM-05: Cold Start Resource Spike
|
|
|
|
**Summary**: Validate that CUDA/TensorRT/ONNX/FAISS initialization does not violate boot or memory budgets.
|
|
|
|
**Traces to**: AC-NEW-1, AC-4.2
|
|
|
|
**Monitoring**:
|
|
- Initialization time, peak memory, engine/index load time.
|
|
|
|
**Duration**: 50 cold-start trials.
|
|
|
|
**Pass criteria**: First valid `GPS_INPUT` <30 s p95; peak memory <8 GB; no first-run engine build occurs at runtime.
|