Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

RFC 052 — Mapeamento PACELC para Decisão de Granularidade da Camada 9

Status: PROPOSED STANDARD Pilar: S1 (Kernel) / S2 (Biologia) Dependências: RFC 022 (Granularidade Camada 9), RFC 012 (Neuromorphic GALS), RFC 003 (Pipeline de Portais Ordenados)

1. Resumo

Este documento formaliza a transição Fine ↔ Coarse da Camada 9 (cognição) como uma função de decisão explícita sob o modelo PACELC (Partition/Availability — Consistency/Latency/Else). Em vez de uma heurística termodinâmica pura, o nó PAEBIRU passa a computar um vetor de decisão PACELC que integra latência de malha, taxa de partição observada e temperatura computacional local, produzindo uma escolha arquitetural fundamentada em teoria de sistemas distribuídos.

2. Motivação

A RFC 022 estabeleceu o gatilho termodinâmico (Langevin) para transição de granularidade. Contudo, a cognição distribuída opera em um espaço de trade-offs mais amplo do que apenas entropia local:

  • Um nó pode estar energeticmente saudável, mas a malha sofrer partições frequentes (cenário AP).
  • Um nó pode estar em restrição térmica, mas a malha exigir consistência causal para uma transação de barter multipartido (cenário CP).

O modelo PACELC fornece o vocabulário canônico para expressar esses trade-offs. Este RFC os integra ao runtime GALS do Kernel.

3. Fundamentos: PACELC no Contexto PAEBIRU

O teorema PACELC afirma:

Se houver Partição (P), um sistema distribuído deve escolher entre Disponibilidade (A) e Consistência (C). Else (sem partição), deve escolher entre Latência (L) e Consistência (C).

Mapeamento para os modos da Camada 9:

Condição de MalhaEscolha PACELCModo Layer 9Semântica
Partição detectadaPA (disponível, tolera inconsistência)CoarsePropaga apenas macro-eventos; minimiza tráfego; aceita divergência temporária de crenças BDI.
Partição detectadaPC (consistente, sacrifica disponibilidade)Não aplicável em PAEBIRU por design; o nó prefere PA e delega consistência aos CRDTs.
Sem partição, latência altaEL (latência baixa, consistência relaxada)CoarseReduz resolução cognitiva para manter tempo de resposta do enxame.
Sem partição, latência baixaEC (consistência forte, latência tolerável)FineCompartilha deliberação BDI completa, estados de intenção e gradientes de aprendizado.

4. Especificação Técnica

4.1. Variáveis de Entrada

O Kernel computa, a cada ciclo de manutenção (heartbeat GALS), o seguinte vetor:

#![allow(unused)]
fn main() {
pub struct PacelcVector {
    /// Taxa de perda de pacotes gossip nos últimos N ciclos (0.0–1.0).
    pub partition_indicator: f64,
    /// Latência p99 de RTT para peers do bucket Kademlia mais próximo (ms).
    pub latency_p99_ms: f64,
    /// Temperatura computacional local (Equações de Langevin, RFC 022).
    pub computational_temperature: f64,
    /// Carga média do ZeroTrustPipeline (portões 1–5) como proxy de congestão.
    pub gate_utilization: f64,
}
}

4.2. Função de Decisão

A transição obedece a uma máquina de estados híbrida com histerese (evita oscilação):

IF partition_indicator > P_THRESHOLD  // Padrão: 0.15 (15% loss)
    → PA  → Coarse
ELSE IF latency_p99_ms > L_THRESHOLD  // Padrão: 150 ms
    → EL  → Coarse
ELSE IF computational_temperature > T_THRESHOLD  // RFC 022
    → EL  → Coarse  (termodynamic override)
ELSE
    → EC  → Fine

A histerese é aplicada sobre a transição Coarse → Fine: o nó só retorna a Fine quando todas as condições de Coarse estiverem abaixo de threshold * (1 - HYSTERESIS), onde HYSTERESIS = 0.10.

4.3. Integração com o Kernel

  • paebiru-kernel::domain::scheduler::PacelcGovernor: Novo ator GALS que consome métricas do InternalBus e publica eventos Layer9Transition.
  • paebiru-biology::domain::agent::actor::AbaporuActor: Subscreve aos eventos Layer9Transition e ajusta a frequência de spikes do SNN e a política de stigmergia.
  • Observabilidade: O vetor PACELC é exportado como métrica Prometheus (paebiru_pacelc_vector{component="partition|latency|temperature"}).

5. Impacto Arquitetural

  • Kernel: Adição do PacelcGovernor como ator de controle não-bloqueante no loop GALS.
  • Biology: O AbaporuActor passa a considerar não apenas T (temperatura), mas também P e L ao decidir o modo de operação.
  • Economy: Transações Barter multipartido podem sinalizar RequireFineMode como pré-condição de saga, forçando uma janela EC na malha.
  • API: Endpoint /v1/layer9/pacelc expõe o vetor atual para diagnóstico externo.

6. SLIs e Limiares Recomendados

MétricaLimiarJustificativa
P_THRESHOLD0.15 (15%)Acima deste valor, o gossip Kademlia entra em flap routing; PA é obrigatório.
L_THRESHOLD150 msLatência p99 acima de 150 ms indica congestão intercontinental ou saturação de buffer QUIC.
T_THRESHOLD0.75 (normalizado)RFC 022; acima deste valor, o hardware entra em thermal throttling.
HYSTERESIS0.10Evita oscilação Fine↔Coarse em cenários de borda (borderline).

7. Referências

  • RFC 022 — Granularidade da Camada 9 (Langevin-Triggered).
  • RFC 012 — Neuromorphic GALS: O Coração Assíncrono.
  • RFC 003 — Pipeline de Portais Ordenados (ZeroTrust).
  • Brewer, E. CAP Twelve Years Later: How the “Rules” Have Changed. Computer, 2012.
  • Abadi, D. Consistency Tradeoffs in Modern Distributed Database System Design. IEEE Computer, 2012.