Dominic Rigby

Distributed RL Revision

Date: 30th October - 1st November 2026

Related: IMPALA TorchBeast Distributed PPO DD-PPO

Key Points

Breakdown Into Steps

Where Do We Run the RL?

When Do We Run?

Policy Staleness

Memory Constraints

Common Bottlenecks and their Symptoms

  1. Policy throughput: learner is waiting for actor to create experiences. Increase rollouts capacity to fix, use lighter policy, quantise etc.
  2. Environmnet: same symptom as above but profile inside actor. Environment is taking longer than policy forward pass. Fix by increasing capacity for env / increase efficiency, look to GPU based environments etc.
  3. Learner: queue to learner expands, workers get throttled by rate limiters. Increase learn capacity.
  4. Comms / weights transfer: long time spent on comms related activities. Switch from collocation to separate roles?
  5. OOMs: use lighter models, tensor / pipeline parallelism.
  6. Stragglers: long tail of actor time taken dsitribution is blocking other workers. You could switch to dynamic batching or stop waiting for all N batches to finish. Use a cut-off to stop crazy long stragglers, but be very careful otherwise you will bias towards short and easy answers.

Maxmising Efficiency When Using CPU Based Environment