>> Technologie Électronique >  >> Téléphones >> Répondeurs

Appel de procédure distant léger (LRPC) expliqué

LRPC : Communication inter-processus minimal-overhead

Lightweight Remote Procedure Call (LRPC) est un mécanisme IPC optimisé pour communication faible latence, même machine ou réseau de confiance, entre processus client et serveur. Contrairement RPC traditionnel (DCOM, CORBA, gRPC), LRPC minimise marshaling, changements contexte, et mise en place connexion.

Caractéristiques clés

  • Simplicité : Pas IDL, génération stubs, ni répertoire interfaces. Signatures fonctions partagées via header/module.
  • Efficacité : Souvent utilise mémoire partagée, files lock-free, ou fast-path noyau (ex. Windows LPC/ALPC, Linux vDSO, seL4 IPC).
  • Asynchrone par défaut : Client enfile requête, continue ; serveur traite, poste réponse. Pas blocage thread requis.
  • Pas découverte : Points finaux connus compilation/déploiement (noms ports, pointeurs capacités).
  • Sécurité via capacités : Contrôle accès par jetons inforgables (handles, capabilities), pas ACLs.

Cas d'usage typiques

  • Syscalls microkernel (seL4, Zircon, QNX).
  • Trading haute fréquence : user-space ↔ kernel bypass.
  • Sandbox navigateur : renderer ↔ processus broker (Chrome Mojo, Firefox IPDL).
  • Systèmes embarqués : cœur ↔ tâches périphériques.
  • Moteurs jeu : render thread ↔ main thread command buffers.

Contraste RPC traditionnel

AspectRPC traditionnelLRPC
MarshalingSérialisation complète (protobuf, JSON)Zero-copy / mémoire partagée
Latence10–100 µs0,1–2 µs
CouplageFaible (contract-first)Fort (définitions partagées)
Transparence réseauOuiGénéralement local seulement

LRPC échange généralité pour vitesse. Utilisez quand appelant/appelé co-localisés, se font confiance, et fréquence appels élevée (10K–1M+/sec).

Répondeurs