mirror of
https://github.com/Crosstalk-Solutions/project-nomad.git
synced 2026-10-17 05:14:19 +02:00
DockerService.getServiceURL() resolves ai.remoteOllamaUrl ahead of the local container, so when a remote AI host is configured the AI channel measures THAT machine while every other channel measures this one. The submission then reports someone else's tok/s under this hardware's CPU, RAM and disk. Under v2 this matters more than it did under v1: ai_tokens_per_second carries 0.30 of the weight and the score is uncapped, so a remote GPU's throughput is no longer limited by a clamp. Adds a guard alongside the existing submit-time checks. Uses the same truthiness predicate as getServiceURL, so the guard fires exactly when the remote routing it is guarding against would occur. KVStore.clearValue() nulls the value and getValue() returns null for that, so a cleared key correctly does not trip it. Blocks submission only. Running the benchmark locally is still useful to the operator — it just isn't a result about this box, so it shouldn't go on a board that ranks hardware. Known limitation: the check reads the KV at submit time, not at measurement time, so benchmarking with a remote host and then clearing the setting before submitting would still get through. That is a deliberate workaround rather than an accident, and closing it properly needs a column on benchmark_results to record how inference was reached. Worth doing if it ever shows up in practice; not worth a migration on the evidence available. Refs #1151 |
||
|---|---|---|
| .. | ||
| controllers | ||
| data | ||
| exceptions | ||
| jobs | ||
| middleware | ||
| models | ||
| services | ||
| utils | ||
| validators | ||