Difference between revisions of "GSOC2023ns3-aiFinalReport"

From Nsnam
Jump to: navigation, search
(add MR part)
Line 32: Line 32:
 
| [1] || [https://github.com/hust-diangroup/ns3-ai/pull/96/commits GSOC 2023 improvements] || Draft
 
| [1] || [https://github.com/hust-diangroup/ns3-ai/pull/96/commits GSOC 2023 improvements] || Draft
 
|}
 
|}
 +
 +
= Project Details =
 +
 +
== Community Bonding Period ==
 +
 +
During community bonding period, I started bi-weekly meetings with my mentors and we decided on the project plan, which is
 +
prioritizing the development of new interfaces, than develop more examples & enhance documentations.
 +
 +
There are two new interfaces, including vector interface (later, we called it vector-based message interface, as it shared some fundamentals with
 +
the struct-based message interface) and Gym interface. Also, we talked about some details of new examples like LTE-handover and Multi-BSS.
 +
 +
I also read the ns3-ai code thoroughly to understand its IPC principles and learned some reinforcement learning basics.
 +
 +
== Phase 1 ==
 +
 +
 +
 +
== Phase 2 ==

Revision as of 15:29, 7 September 2023

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

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

Back to GSOC2023ns3-ai (page containing my weekly updates, not the final report)

Project Overview

  • Project Name: ns3-ai enhancements
  • Student: Muyuan Shen
  • Mentors: Collin Brady and Hao Yin

Project Goals

The main focus of this project is to optimize performance and improve usability of the ns3-ai module, which facilitates the connection between ns-3 and Python-based ML frameworks using shared memory.

To accomplish this goal, the project will introduce additional APIs that support data structures such as vector in shared memory IPC. This will effectively reduce the required interaction between C++ and Python, resulting in improved performance. Also, the project will integrate Gymnasium API like ns3-gym's but has a shared-memory-based backend, to turn ns-3 into a environment that agents can efficiently and seamlessly interact with. In addition, the project will enhance the existing examples, documentation and tutorials, while also integrating new examples that cover scenarios like Multi-BSS in VR. By doing so, users will have more comprehensive resources at their disposal. Furthermore, the project aims to provide examples utilizing pure C++-based ML frameworks. This will offer researchers more options for integrating with ML.

The overall aim of the project is to expand and accelerate the capabilities of the ns3-ai module, enabling users to simulate and analyze network related algorithms with enhanced efficiency and flexibility.

Merge Requests and Commits

Throughout the project, my development is based my improvements branch of ns3-ai. I created a single MR that contain all my works. In this MR, there are 124 commits by me, with author name 'ShenMuyuan' or 'Mu-YuanShen' or 'eicsmy'.

Merge Requests
No. Name Status
[1] GSOC 2023 improvements Draft

Project Details

Community Bonding Period

During community bonding period, I started bi-weekly meetings with my mentors and we decided on the project plan, which is prioritizing the development of new interfaces, than develop more examples & enhance documentations.

There are two new interfaces, including vector interface (later, we called it vector-based message interface, as it shared some fundamentals with the struct-based message interface) and Gym interface. Also, we talked about some details of new examples like LTE-handover and Multi-BSS.

I also read the ns3-ai code thoroughly to understand its IPC principles and learned some reinforcement learning basics.

Phase 1

Phase 2