Expand description
DistributedBrick: Work-stealing and data locality (PROBAR-SPEC-009-P10)
This module enables distributed brick execution with:
- Work-stealing across nodes
- Data locality awareness
- Multi-backend dispatch (CPU/GPU/Remote/SIMD)
§Architecture
┌─────────────────────────────────────────────────────────────┐
│ DISTRIBUTED BRICK FLOW │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. DistributedBrick<B> wraps any Brick │
│ 2. BrickDataTracker tracks data locality │
│ 3. MultiBrickExecutor selects best backend │
│ 4. BrickCoordinator handles PUB/SUB coordination │
│ │
└─────────────────────────────────────────────────────────────┘§References
- PROBAR-SPEC-009-P10: Distribution - Repartir Integration
Structs§
- Backend
Selector - Backend selector for choosing optimal execution backend
- Brick
Coordinator - PUB/SUB coordinator for brick communication
- Brick
Data Tracker - Track where brick weights/data reside across workers
- Brick
Input - Input data for brick execution
- Brick
Output - Output data from brick execution
- Data
Location - Data location entry for a specific piece of data
- Distributed
Brick - Distributed brick wrapper for multi-backend execution
- Execution
Metrics - Metrics from brick execution
- Multi
Brick Executor - Multi-backend executor for brick operations
- Scheduler
Stats - Scheduler-wide statistics
- Subscription
- Subscription to brick events
- Task
Spec - Task specification for distributed execution
- Work
Stealing Scheduler - Work-stealing scheduler for distributed brick execution
- Work
Stealing Task - A task that can be executed by workers and potentially stolen
- Worker
Id - Unique identifier for a worker node
- Worker
Queue - Per-worker task queue supporting work-stealing
- Worker
Stats - Statistics for a single worker
Enums§
- Backend
- Execution backend for brick operations
- Brick
Message - Message for PUB/SUB coordination