>> Tecnologia Eletrônica >  >> Telefones >> Secretárias Eletrônicas

Chamada de Procedimento Remoto Leve (LRPC) Explicada

LRPC: Comunicação Inter-Processo Mínima Sobrecarga

Lightweight Remote Procedure Call (LRPC) é um mecanismo IPC otimizado para comunicação baixa latência, mesma máquina ou rede de confiança, entre processo cliente e servidor. Ao contrário de RPC tradicional (DCOM, CORBA, gRPC), LRPC minimiza marshalling, context switches e configuração conexão.

Características Principais

  • Simplicidade: Sem IDL, geração stubs, ou repositório interface. Assinaturas funções partilhadas via header/módulo.
  • Eficiência: Frequentemente usa memória partilhada, filas lock-free, ou kernel fast-path (ex.: Windows LPC/ALPC, Linux vDSO, seL4 IPC).
  • Assíncrono por Defeito: Cliente enfileira pedido, continua; servidor processa, posta resposta. Bloqueio thread não requerido.
  • Sem Descoberta: Endpoints conhecidos em tempo compilação/deploy (nomes porta, capability pointers).
  • Segurança via Capabilities: Acesso controlado por tokens inforjáveis (handles, capabilities), não ACLs.

Casos Uso Típicos

  • Syscalls microkernel (seL4, Zircon, QNX).
  • High-frequency trading: user-space ↔ kernel bypass.
  • Sandbox browser: renderer ↔ broker process (Chrome Mojo, Firefox IPDL).
  • Sistemas embarcados: core ↔ tarefas periféricas.
  • Game engines: render thread ↔ main thread command buffers.

Contraste com RPC Tradicional

AspetoRPC TradicionalLRPC
MarshallingSerialização completa (protobuf, JSON)Zero-copy / memória partilhada
Latência10–100 µs0,1–2 µs
AcoplamentoSolto (contract-first)Apertado (definições partilhadas)
Transparência RedeSimGeralmente apenas local

LRPC troca generalidade por velocidade. Use quando caller/callee co-localizados, confiam um no outro, e frequência chamadas alta (10K–1M+/seg).