Skip to main content

random-graph-datacenter-networks

Random graph-based datacenter network design (RNG) for cost-optimized, fault-tolerant distributed systems. Covers distributed routing protocols exploiting random graph properties, passive optical cabling shuffles, and production deployment patterns. Use when: designing datacenter topologies, optimizing network cost vs performance, implementing distributed routing on non-hierarchical graphs, deploying fault-tolerant network fabrics, or evaluating random graph vs fat-tree tradeoffs.

설치로 이동

소스 정보

저장소
hiyenwong/ai_collection
최근 소스 활동
2026년 6월 4일 13:32
감지된 SKILL.md 언어
영어
스타
2
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
random-graph-datacenter-networks
description
Random graph-based datacenter network design (RNG) for cost-optimized, fault-tolerant distributed systems. Covers distributed routing protocols exploiting random graph properties, passive optical cabling shuffles, and production deployment patterns. Use when: designing datacenter topologies, optimizing network cost vs performance, implementing distributed routing on non-hierarchical graphs, deploying fault-tolerant network fabrics, or evaluating random graph vs fat-tree tradeoffs.
# Random Graph Datacenter Networks (RNG) ## Overview First production deployment of **random graph-based datacenter fabrics** (at Amazon). Random graph topologies provide cost and fault-tolerance advantages over traditional fat-tree designs, but require novel routing and cabling solutions. ## Core Contributions ### 1. RNG Topology Design - Random graph fabric replacing hierarchical fat-tree architecture - Up to **45% cheaper** than fat-tree while matching/exceeding performance - Fault-tolerance inherent in random graph connectivity ### 2. Distributed Routing Protocol - Exploits random graph properties to find large number of **edge-disjoint paths** between endpoint pairs - Enables load balancing across diverse paths - No single point of failure in routing ### 3. Passive Optical Shuffle Device - Novel passive optical device internally shuffles cable endpoints - Reduces cabling complexity to match fat-tree levels - Solves the key practical barrier to random graph deployment ### 4. Production Deployment - Made default datacenter fabric for most Amazon workloads - Validated across range of traffic patterns - Cost-performance tradeoff heavily favors RNG ## Design Principles ### Random Graph Construction ``` For N switches with degree d: 1. Generate random d-regular graph on N nodes 2. Verify connectivity and diameter properties 3. Map to physical switch/rack topology 4. Apply optical shuffle for cabling simplification ``` ### Edge-Disjoint Path Routing ```python def find_edge_disjoint_paths(graph, source, dest, k_paths): """Find k edge-disjoint paths in random graph. Random graphs typically have many short edge-disjoint paths.""" paths = [] working_graph = graph.copy() for _ in range(k_paths): path = shortest_path(working_graph, source, dest) if path: paths.append(path) # Remove edges used by this path for i in range(len(path)-1): working_graph.remove_edge(path[i], path[i+1]) else: break return paths ``` ### Cabling Complexity Reduction Optical shuffle maps: - Random graph logical topology → simplified physical cabling - Each switch port connects through shuffle device - Shuffle internally permutes connections to maintain random graph properties - Result: O(N) cabling complexity (same as fat-tree) ## Cost Analysis | Metric | Fat-Tree | RNG | |--------|----------|-----| | Switch count | O(N·log N) | O(N) | | Cable count | O(N·log N) | O(N) | | Path diversity | Limited by hierarchy | High (random) | | Fault tolerance | Hierarchical bottlenecks | Inherent redundancy | | Cost baseline | 1.0x | 0.55-0.75x | ## Performance Characteristics - **Throughput**: Matches fat-tree for uniform traffic, exceeds for skewed patterns - **Latency**: Comparable (slight increase from non-hierarchical routing offset by shorter average path) - **Fault tolerance**: Superior — random graph has no critical single point of failure - **Scalability**: Better — adding nodes doesn't require restructuring hierarchy ## Implementation Workflow ### Step 1: Generate Random Topology ```python import networkx as nx import random def generate_rng_topology(n_switches, degree=4): """Generate a random regular graph for datacenter fabric.""" G = nx.random_regular_graph(degree, n_switches) # Verify connectivity assert nx.is_connected(G) # Check diameter diameter = nx.diameter(G) return G, diameter ``` ### Step 2: Compute Routing Tables ```python def build_routing_tables(G, k_paths=8): """Build distributed routing tables using edge-disjoint paths.""" routing = {} for src in G.nodes(): routing[src] = {} for dst in G.nodes(): if src != dst: paths = find_edge_disjoint_paths(G, src, dst, k_paths) routing[src][dst] = paths return routing ``` ### Step 3: Deploy Shuffle Mapping - Design optical shuffle permutation matrix - Map logical random graph to physical ports - Verify cabling matches shuffle specification ### Step 4: Validate Performance - Simulate traffic patterns (uniform, incast, all-to-all) - Measure throughput, latency, packet loss - Compare against fat-tree baseline ## Pitfalls - Random graph diameter can be larger than fat-tree — verify worst-case latency - Routing tables grow as O(N²) — consider hierarchical caching for large deployments - Optical shuffle must be manufactured to specification — tolerances matter - Traffic patterns matter: RNG excels with diverse traffic, may underperform on highly localized traffic ## References - arXiv: 2604.15261v1 - Authors: Giacomo Bernardi, Ratul Mahajan, C. Seshadhri et al. - PDF: https://arxiv.org/pdf/2604.15261v1
GitHub에서 보기