EnvPool: A Highly Parallel Reinforcement Learning Environment Execution Engine

Jiayi Weng, Min Lin, Shengyi Huang, Bo Liu, Denys Makoviichuk +7 more
6/21/2022
cs.LGcs.AIcs.DC

Official code: sail-sg/envpool (1,532 stars, Apache-2.0, last commit 2026-10-20). 1 more implementation below.

Abstract

There has been significant progress in developing reinforcement learning (RL) training systems. Past works such as IMPALA, Apex, Seed RL, Sample Factory, and others, aim to improve the system's overall throughput. In this paper, we aim to address a common bottleneck in the RL training system, i.e., parallel environment execution, which is often the slowest part of the whole system but receives little attention. With a curated design for paralleling RL environments, we have improved the RL environment simulation speed across different hardware setups, ranging from a laptop and a modest workstation, to a high-end machine such as NVIDIA DGX-A100. On a high-end machine, EnvPool achieves one million frames per second for the environment execution on Atari environments and three million frames per second on MuJoCo environments. When running EnvPool on a laptop, the speed is 2.8x that of the Python subprocess. Moreover, great compatibility with existing RL training libraries has been demonstrated in the open-sourced community, including CleanRL, rl_games, DeepMind Acme, etc. Finally, EnvPool allows researchers to iterate their ideas at a much faster pace and has great potential to become the de facto RL environment execution engine. Example runs show that it only takes five minutes to train agents to play Atari Pong and MuJoCo Ant on a laptop. EnvPool is open-sourced at https://github.com/sail-sg/envpool.

View on arXivView PDF

Code Implementations(2)

sail-sg/envpoolOfficial100%
Apache-2.0

C++-based high-performance parallel environment execution engine (vectorized env) for general RL environments.

1,532145C, C++Oct 20, 20212 days agoApache-2.0
atari-gamesbox2dcpp17dm-controldm-env+11 more
MIT
91Shell, PythonJun 2, 20224 years agoMIT

Similar Papers

Cite this paper

@article{weng2022envpool,
  title  = {EnvPool: A Highly Parallel Reinforcement Learning Environment Execution Engine},
  author = {Jiayi Weng and Min Lin and Shengyi Huang and Bo Liu and Denys Makoviichuk and Viktor Makoviychuk and Zichen Liu and Yufan Song and Ting Luo and Yukun Jiang and Zhongwen Xu and Shuicheng Yan},
  year   = {2022},
  eprint = {2206.10558},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2206.10558}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2206.10558.svg)](https://codeofpaper.com/paper/2206.10558)

Discussion