Documentation

Architecture

GPUCache est le niveau chaud G3.5 de KV partagé. Le chemin implémenté utilise la mémoire hôte et TCP. RustFS constitue le niveau objet G4, plus froid, hors du chemin des requêtes chaudes.

En développement

BlueField-3, GDS et RDMA réel sont des objectifs en développement : NOT_RUN_HARDWARE. Le chemin actuel copie des données sur l’hôte et ne revendique ni zéro copie ni contournement du CPU.

Le chemin exécutable aujourd’hui

Le service Rust propose Lookup, Reserve/Put, Commit, Get, Release/Cancel et Invalidate sur TCP. MemoryStore et FileStore sont des backends CPU ; FileStore utilise des fichiers ordinaires. Chaque opération de données est soumise à une autorisation. mTLS n’est pas implémenté.

Vérifier l’identité avant de réutiliser

Seuls les blocs validés dont le locataire, le domaine de confiance, le modèle et l’identité complète de disposition sont compatibles peuvent produire un hit. Un hit de préfixe renvoie un bloc stocké entier, jamais un découpage implicite. Un miss, un délai dépassé ou un échec de somme de contrôle entraîne un recalcul.

Un nœud ou plusieurs shards

Un processus peut servir un shard avec les mêmes opérations client. L’annuaire contient des métadonnées bornées ; le client limite routes, connexions et enregistrements de tentatives. Les changements de membres clôturent les opérations en cours par fencing. Les opérateurs publient les instantanés d’epochs clôturés ; découverte automatique et consensus ne sont pas implémentés.

Le stockage froid reste séparé

G4 utilise le manifeste v3, des clés dérivées du contenu et une vérification complète de l’identité. Les anciens manifestes produisent un miss ; un stockage lent ou indisponible renvoie Missing. Les tâches d’écriture en échec conservent leur quota borné. Un PUT ambigu ne déclenche pas de DELETE. Les tests mock sont disponibles ; RustFS réel reste NOT_RUN_HARDWARE.

L’objectif DPU

HostSimulation couvre les messages typés, l’annulation, les pannes et le drain explicite. rdma-nixl et dpu-bf3 ne lient aucun SDK matériel et refusent l’ouverture des périphériques. Une compilation CPU aarch64 n’est pas un déchargement BlueField. L’intégration moteur réelle reste non qualifiée ; engine-spike utilise des blocs factices.

Une perte entraîne un recalcul

G3.5 n’ajoute ni codage d’effacement ni réplica de durabilité. Un transfert dont la fin est inconnue reste en quarantaine jusqu’à un drain explicite ou une clôture plus récente autorisant sa réutilisation. RustFS assure la durabilité des données froides. C’est un contrat de cache, pas une reprise après sinistre ou une qualification à l’échelle d’une flotte.

L’adaptateur froid doit imposer les délais réels d’I/O. Le cœur synchrone ne peut pas interrompre un appel arbitrairement bloquant au stockage objet.