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 Malha | Escolha PACELC | Modo Layer 9 | Semântica |
|---|---|---|---|
| Partição detectada | PA (disponível, tolera inconsistência) | Coarse | Propaga apenas macro-eventos; minimiza tráfego; aceita divergência temporária de crenças BDI. |
| Partição detectada | PC (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 alta | EL (latência baixa, consistência relaxada) | Coarse | Reduz resolução cognitiva para manter tempo de resposta do enxame. |
| Sem partição, latência baixa | EC (consistência forte, latência tolerável) | Fine | Compartilha 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 doInternalBuse publica eventosLayer9Transition.paebiru-biology::domain::agent::actor::AbaporuActor: Subscreve aos eventosLayer9Transitione 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
PacelcGovernorcomo ator de controle não-bloqueante no loop GALS. - Biology: O
AbaporuActorpassa a considerar não apenasT(temperatura), mas tambémPeLao decidir o modo de operação. - Economy: Transações Barter multipartido podem sinalizar
RequireFineModecomo pré-condição de saga, forçando uma janela EC na malha. - API: Endpoint
/v1/layer9/pacelcexpõe o vetor atual para diagnóstico externo.
6. SLIs e Limiares Recomendados
| Métrica | Limiar | Justificativa |
|---|---|---|
P_THRESHOLD | 0.15 (15%) | Acima deste valor, o gossip Kademlia entra em flap routing; PA é obrigatório. |
L_THRESHOLD | 150 ms | Latência p99 acima de 150 ms indica congestão intercontinental ou saturação de buffer QUIC. |
T_THRESHOLD | 0.75 (normalizado) | RFC 022; acima deste valor, o hardware entra em thermal throttling. |
HYSTERESIS | 0.10 | Evita 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.