Core Worker
CoreWorker 是 Ray 中最核心的组件之一,它封装了分布式系统的复杂性,为上层应用提供简单统一的编程模型。它提供了任务执行、对象管理、Actor调用等核心功能,每个组件都有明确的职责划分,通过良好的接口设计实现了功能解耦和高效协作。
核心文件功能总结
文件名 | 主要类 | 核心功能 | 关键特性 |
---|---|---|---|
core_worker.h/cc | CoreWorker | 工作进程管理 | - 任务提交执行 - 对象存取 - Actor管理 |
reference_count.h/cc | ReferenceCounter | 引用计数 | - 对象生命周期 - 内存管理 - 垃圾回收 |
task_manager.h/cc | TaskManager | 任务管理 | - 任务调度 - 状态追踪 - 重试机制 |
memory_store.h/cc | CoreWorkerMemoryStore | 内存存储 | - 对象缓存 - 快速访问 - 本地存储 |
actor_manager.h/cc | ActorManager | Actor管理 | - Actor创建 - 状态维护 - 调用管理 |
特性 | 实现位置 | 优化目标 | 实现方式 |
---|---|---|---|
本地缓存 | memory_store.cc | 减少网络IO | 内存对象缓存 |
引用追踪 | reference_count.cc | 内存管理 | 分布式GC |
批量操作 | task_manager.cc | 提高吞吐 | 任务批处理 |
异步执行 | core_worker.cc | 提高并发 | 事件驱动 |
核心组件交互
- 内部时序图: