Skip to main content
QUICK REVIEW

[논문 리뷰] ns3-gym: Extending OpenAI Gym for Networking Research

Piotr Gawłowicz, Anatolij Zubow|arXiv (Cornell University)|2018. 10. 09.
Software-Defined Networks and 5G참고 문헌 8인용 수 58
한 줄 요약

ns3-gym은 OpenAI Gym을 ns-3 네트워크 시뮬레이터와 통합하여 RL 기반 네트워킹 연구를 표준화하고 에뮬레이션/테스트베드에서 테스트를 가능하게 한다.

ABSTRACT

OpenAI Gym is a toolkit for reinforcement learning (RL) research. It includes a large number of well-known problems that expose a common interface allowing to directly compare the performance results of different RL algorithms. Since many years, the ns-3 network simulation tool is the de-facto standard for academic and industry research into networking protocols and communications technology. Numerous scientific papers were written reporting results obtained using ns-3, and hundreds of models and modules were written and contributed to the ns-3 code base. Today as a major trend in network research we see the use of machine learning tools like RL. What is missing is the integration of a RL framework like OpenAI Gym into the network simulator ns-3. This paper presents the ns3-gym framework. First, we discuss design decisions that went into the software. Second, two illustrative examples implemented using ns3-gym are presented. Our software package is provided to the community as open source under a GPL license and hence can be easily extended.

연구 동기 및 목표

  • RL 프레임워크와 시뮬레이터 인터페이스를 통합하여 네트워킹용 RL 프로토타이핑에 대한 장벽을 낮춘다.
  • 어떤 ns-3 시뮬레이션 스크립트든 Gym 환경으로 변환할 수 있는 일반적인 OpenAI Gym 인터페이스를 제공한다.
  • 공통 API를 통해 네트워킹에서의 RL 접근법을 벤치마킹하고 공정하게 비교를 촉진한다.
  • 시뮬레이션과 실제 네트워크를 연결하기 위해 실제 하드웨어를 이용한 에뮬레이션을 가능하게 한다.

제안 방법

  • Gym이 에이전트를 제공하고 ns-3가 환경을 제공하는 2블록 아키텍처를 도입한다.
  • ns-3 시뮬레이션 라이프사이클과 상태/행동 교환을 관리하는 일반적인 OpenGymInterface를 설계한다.
  • GetObservationSpace, GetActionSpace, GetObservation, GetReward, GetGameOver, GetExtraInfo, ExecuteActions 같은 함수들을 갖는 C++ ns3-gym 인터페이스를 구현한다.
  • 관찰 및 행동에 대해 일반적인 Gym 공간(Discrete, Box, Tuple, Dict)을 지원한다.
  • 환경을 ns-3 스크립트 내에서 전적으로 정의할 수 있도록 하며, 사용자 정의를 위한 선택적 커맨드 라인 인수를 허용한다.
  • 사전 정의된 RL 매핑을 위한 커스텀 환경(TCPNs3Env, DASHNs3Env 등)을 제공한다.

실험 결과

연구 질문

  • RQ1OpenAI Gym을 ns-3와 어떻게 통합하여 재사용 가능한 RL 기반 네트워킹 연구 워크플로를 만들 수 있는가?
  • RQ2Gym과 ns-3 사이의 일반 인터페이스가 최소한의 사용자 노력으로 다양한 네트워킹 문제를 지원할 수 있는가?
  • RQ3맞춤형 환경과 에뮬레이션 기능이 RL 기반 네트워킹 연구의 실용성을 향상시키는가?
  • RQ4연구자들이 공통의 구성 가능한 네트워킹 환경에서 RL 접근방식을 비교할 수 있는가?
  • RQ5학습 기반 네트워킹 작업에서 ns3-gym 프레임워크의 유용성을 보여주는 예는 무엇인가?

주요 결과

  • ns3-gym은 통신을 위해 ZMQ와 Protocol Buffers를 사용하여 OpenAI Gym과 ns-3 사이의 작동하는 다리를 제공합니다.
  • ns3-gym C++ 인터페이스와 OpenGymInterface를 구현함으로써 어떤 ns-3 스크립트든 Gym 환경으로 사용할 수 있습니다.
  • TCP 및 DASH용 커스텀 환경은 네트워킹 문제에 대한 실제적인 RL 매핑을 보여줍니다.
  • 에뮬레이션 및 실험실(리얼 테스트베드) 지원은 코드 변경 없이 시뮬레이션에서의 학습과 실제 하드웨어에서의 평가를 가능하게 한다.
  • 예시들(랜덤 액세스 제어, 인지적 무선통신)은 RL이 무선 네트워크에서 효과적인 전략을 학습할 수 있음을 보여준다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.