GSOC2024RLUsability5G

From Nsnam
Jump to navigation Jump to search

Main Page - Roadmap - Summer Projects - Project Ideas - Developer FAQ - Tools - Related Projects

HOWTOs - Installation - Troubleshooting - User FAQ - Samples - Models - Education - Contributed Code - Papers

Back to GSoC 2024 projects

Project Overview

  • Project Name: Enhancement of RL Approach Accessibility in NR
  • Student: Hyerin Kim
  • Mentors: Amir Ashtari, Katerina Koutlia, Bijana Bojovic, Gabriel Ferreira
  • Google page: https://summerofcode.withgoogle.com/programs/2024/projects/vPuZgTe1
  • Project Goals: In this project, I will design a new RL based MAC scheduler of NR and implement it in 5g-lena integrating with ns3-gym. Additionally, I will enhance the usability of 5G-lena in terms of RL approach by providing an example using the designed RL based scheduler.
  • Repository: https://gitlab.com/mye280c37/5g-lena-integrated-with-ns-3-gym/-/tree/gsoc24-nr-usability?ref_type=heads (fork nr GitLab)
  • About Me: I am currently pursuing a Master's degree in Computer Science and Engineering at Seoul National University, South Korea. My research at the Mobile Computing & Communications Laboratory focuses on resource allocation methods in NR V2X Sidelink. As an undergraduate, I conducted research on improving spatial reuse in dense Wi-Fi environments and implemented a Reinforcement Learning (RL)-based modified OBSS/PD algorithm using ns3 gym. I believe that participating in GSoC 2024 presents an excellent opportunity for me to contribute to enhancing the usability of 5G and RL experiences on ns-3, while also deepening my understanding of 5G technology, mechanisms, and system architecture.

Milestones

The planned milestones are outlined below

Phase1. Design example (3 weeks)

  • Familiar with 5g-lena (2 weeks)
  • Design Scenario (e.g., UEs deployment, UEs speed, cell configuration, …) (1 week)
- Define Assumption (e.g., delay, TDMA/OFDMA, …)

Phase2. Design RL based Scheduler (6 +1 weeks)

  • Design scheduler (2 weeks)
- input/output
- goal of optimization
  • Design RL process (1 week)
- Define suitable RL techniques considering optimization objective of the scheduler and computational complexity
  • Implementation of RL based scheduler in 5g lena (3 +1 weeks)
- Create the test
- Create documentation
- Create MR to 5g lena (Milestone 1)

Phase3. RL Integration (4 weeks)

  • Design RL framework (1 week)
- Define RL technique
  • Develop gym scripts (3 weeks)
- Develop gym python scripts
- Develop ns3 gym interface in RL 5g lena example
- Validate RL process of the example
- Create MR to 5g lena (Milestone 2)

Phase4. Evaluation (3 +1 weeks)

  • Evaluate the result of example compared with other schedulers
- Write simulation campaign scripts
- Execute scripts
- Plotting python scripts
  • Address review comment of the MR 1 and 2
  • Update MR 1 and 2 with necessary modification
  • Create brief description of the work and the results for 5g lena blog (Milestone 3)

Weekly Report

Week 1 [May 27 - Jun. 02]

Familiar with 5g-lena (1)

  • Studied cttc-nr-demo example with cttc-nr-demo tutorial
- quasi-ideal assumption
- RAN Lifecycle (i.e. downlink packet flow from gNB to UE)
- How to configure the scenario, EPC, physical layer, and traffic(application)
- (Doubt) What do I consider when I configure bands, carrier component, BWP?

Week 2 [Jun. 02 - Jun. 09]

Familiar with 5g-lena (2)

  • Studied schedulers in 5g-lena
- Studied MAC Layer section related to schedulers in NR module documentation
- Studied cttc-nr-simple-qos-sched example

Week 3 [Jun. 10 - Jun. 16]

Design Scenario

  • Analyzed the QoS Scheduler in 5g-lena
- Page: QoS Scheduler Simulation Results Analysis
- Reference: Koutlia, Katerina, Sandra Lagén, and Biljana Bojovic. "Enabling QoS Provisioning Support for Delay-Critical Traffic and Multi-Flow Handling in ns-3 5G-LENA." Proceedings of the 2023 Workshop on ns-3. 2023.
  • Created an initial example code
- Created the example based on the example named 'cttc-nr-simple-qos-sched'
- Altered the default UE count to 3, assigning each UE a single QoS flow represented by 5QI indices 1, 80, and 87, which denote GBR, non-GBR, and Delay Critical GBR resource types, respectively
- Commit: Add new example cttc-nr-initial-my-sched

Week 4 [Jun. 17 - Jun. 23]

Design Scheduler (1)

  • Modified the initial example
- Add a new parameter `numTrafficProfile`
▻ Specify the flow profile based on the number of traffic types. Possible values are 2 and 3
▻ If the `numTrafficProfile` is 2, two types of traffic (5QI 80, 87), same as ‘cttc-nr-multi-flow-qos-sched’, is installed in 3 UEs. Two UE have 5QI 80 traffic and the other has 5QI 87 traffic
▻ If the `numTrafficProfile` is 2, three types of traffic (5QI 1, 80, 87), as defined initially, is installed in 3 UEs repectively.
- Commit: Add a parameter for the number of traffic types