异步I/O算子的所有并行实例是否共享同一Broadcast State?
Broadcast State 在算子实例间的共享逻辑
- 核心结论:Broadcast State并非在所有算子实例间共享同一份内存数据,而是每个算子实例都会持有一份独立且完整的Broadcast State副本。
- 底层逻辑:Broadcast State的工作机制是将广播流中的数据推送到算子的每一个并行实例,每个实例独立接收并维护本地的State副本。这种设计既保证了每个并行实例能直接获取完整的广播数据,避免跨实例状态访问的性能损耗,也能确保各实例状态的一致性。
- Async I/O Operator 场景说明:针对Async I/O Operator,上述逻辑完全适用。每个Async I/O并行实例都会接收广播流元素,更新自身本地的Broadcast State副本;在异步请求处理流程中,实例直接使用自身持有的这份State数据,无需依赖其他实例的状态资源。
内容的提问来源于stack exchange,提问作者Techie97
相关产品推荐
相关产品推荐

