33800 Docs

← Retour

Fix: Limiter la concurrence GPU1 (RTX 2070S)

Date : 15/02/2026 Status : IMPLEMENTEE Projet : ai-orchestrator Fichier : /stock_8to/33800-stack/projects/ai-orchestrator/app/main.py

Probleme

MAX_SERVER_CONCURRENT = 10 s'applique a TOUS les GPUs de maniere identique.

Resultat : l'orchestrator envoie 10 jobs d'embeddings en rafale sur GPU1, Ollama repond 503 "maximum pending requests exceeded", tous les jobs echouent.

Cause racine

Ligne 793 :

MAX_SERVER_CONCURRENT = 10  # Meme limite pour les 2 GPUs

Ligne 4167 dans can_dispatch() :

if server_count >= MAX_SERVER_CONCURRENT:  # Pas de distinction par GPU
    return False

Fix propose

1 seule modification : rendre la limite par GPU dans GPU_CONFIG.

Avant (ligne 190-193 + 793)

GPU_CONFIG = {
    0: {"name": "RTX 3090", "vram_total": 24576},
    1: {"name": "RTX 2070 Super", "vram_total": 8192},
}
# ...
MAX_SERVER_CONCURRENT = 10

Apres

GPU_CONFIG = {
    0: {"name": "RTX 3090", "vram_total": 24576, "max_server_concurrent": 8},
    1: {"name": "RTX 2070 Super", "vram_total": 8192, "max_server_concurrent": 2},
}

Et dans can_dispatch() (ligne 4167) :

# Avant :
if server_count >= MAX_SERVER_CONCURRENT:

# Apres :
max_concurrent = GPU_CONFIG[gpu_id].get("max_server_concurrent", 4)
if server_count >= max_concurrent:

Pourquoi ces valeurs

Impact

Deploiement

  1. Modifier main.py
  2. git add + commit + push
  3. CI/CD build + deploy
  4. Tester : envoyer 5 jobs embeddings → verifier que max 2 partent sur GPU1, le reste fallback GPU0