Spaces:
Sleeping
Sleeping
File size: 3,326 Bytes
5420f56 18d1f2c 445271b 18d1f2c 5420f56 18d1f2c 5420f56 18d1f2c 445271b 5420f56 18d1f2c 4882fa7 18d1f2c 4882fa7 18d1f2c 4882fa7 18d1f2c 4882fa7 18d1f2c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | ---
title: CRDT-Merge Convergence Lab
emoji: 🔬
colorFrom: gray
colorTo: blue
sdk: gradio
sdk_version: 5.29.0
python_version: "3.12"
app_file: app.py
pinned: true
license: other
license_name: BUSL-1.1
license_link: https://github.com/mgillr/crdt-merge/blob/main/LICENSE
tags:
- crdt
- model-merging
- distributed-systems
- convergence
- neural-network
- federated-learning
short_description: "CRDT convergence proof: 100 nodes, 26 strategies"
---
# CRDT-Merge Multi-Node Convergence Laboratory
**Empirical proof that the two-layer CRDTMergeState architecture guarantees identical merged models across distributed nodes — regardless of merge ordering, network partitions, or strategy choice.**
> **Patent** — UK Application No. 2607132.4, GB2608127.3 | **E4 Trust-Delta Architecture**
> **Paper**: *Conflict-Free Replicated Data Types for Neural Network Model Merging*
> **Library**: [crdt-merge](https://pypi.org/project/crdt-merge/) v0.9.5
## Experiments
### 1. Multi-Node Convergence
Simulates N distributed nodes (up to 100), each contributing a unique model tensor. Nodes merge in multiple random orderings. Verifies that **all orderings produce bitwise-identical Merkle roots and resolved tensors**.
### 2. Network Partition & Healing
Splits nodes into isolated partitions. Each partition gossips internally and converges to its own state. Partitions are then healed (full gossip resumes). Verifies that **all nodes converge to the same state post-healing** — the core CRDT guarantee.
### 3. Cross-Strategy Sweep
Tests **every merge strategy** (weight averaging, SLERP, TIES, DARE, Fisher, evolutionary, and 7+ more) for convergence on the same node set. Verifies that the two-layer architecture provides **universal CRDT compliance regardless of strategy**.
### 4. Scalability Benchmark
Measures gossip and resolve overhead from 2 to 100 nodes. Confirms that the CRDT merge operation (set union on metadata) remains **sub-millisecond regardless of model size**, while resolve time scales linearly with contributions.
## Key Results
| Metric | Result |
|--------|--------|
| Max nodes tested | 100 |
| Strategies verified | 13/13 (no-base) |
| Convergence rate | 100% across all orderings |
| Partition healing | Always converges |
| CRDT merge overhead | < 0.5ms |
| Bitwise reproducibility | Guaranteed |
| E4 trust convergence | 0.000 max divergence, 3.84ms |
| E4 proof-carrying ops | 167K build/s, 101K verify/s |
## How It Works
The two-layer architecture separates concerns:
- **Layer 1 (CRDTMergeState)**: Manages a *set* of model contributions using OR-Set CRDT semantics. Merge = set union — trivially commutative, associative, idempotent.
- **Layer 2 (Strategy)**: Applies any merge strategy as a deterministic pure function over the canonically-ordered contribution set. Same inputs → same outputs.
Since Layer 1 guarantees all replicas converge to the same set of inputs, and Layer 2 is deterministic, **all replicas compute identical merged models**.
## Links
- **GitHub**: [mgillr/crdt-merge](https://github.com/mgillr/crdt-merge)
- **PyPI**: [crdt-merge](https://pypi.org/project/crdt-merge/)
- **Architecture**: [CRDT_ARCHITECTURE.md](https://github.com/mgillr/crdt-merge/blob/main/docs/CRDT_ARCHITECTURE.md)
---
Copyright 2026 Ryan Gillespie / Optitransfer
|