| title | Simulation Framework & Scenarios | ||||||
|---|---|---|---|---|---|---|---|
| subtitle | Discrete Event Simulator Documentation | ||||||
| author | Sergio Gimenez | ||||||
| date | December 4, 2025 | ||||||
| theme | CambridgeUS | ||||||
| colortheme | default | ||||||
| header-includes |
|
- How the Simulator Works (In a Nutshell)
- Available Scenarios
- Single-Tier Scenario Setup
- Two-Tier Scenario Setup
The goal is to generate a synthetic but realistic network graph.
Steps:
- Load gNBs: Real data from OpenCellID.
- Load Agents: Synthetic users based on population density.
- Distribute UPFs: Optimal placement using K-Means.
- Connect the Dots: Proximity-based connections.
- Source: OpenCellID (Public dataset).
- Data: Latitude and Longitude of cell towers.
- Goal: Get ballpark numbers and realistic distribution of Base Stations.
\begin{center} \includegraphics[width=0.45\textwidth]{docs/simulation-details/in-a-nutshell/images/topology_spain_movistar_gnbs.png} \end{center}
- Agents: Represent groups of users (e.g., 1 agent = 1000 users).
- Distribution: Proportional to municipality population.
- Constraints: Placed within valid geographic boundaries (polygons) of municipalities.
\begin{center} \includegraphics[width=0.45\textwidth]{docs/simulation-details/in-a-nutshell/images/topology_spain_movistar_agents.png} \end{center}
- Goal: Place UPFs to minimize squared distance to gNBs.
- Method: K-Means Clustering.
- Optimization: Purely geometric (ignoring orography/roads for simplicity).
- Configurable: The number of UPFs is a parameter (e.g., 52 for Spain - one per province).
We build the graph based on proximity (minimum Haversine distance).
graph LR
UE([UE]) -- NR (closest) --> gNB[gNB]
gNB -- N3 (closest) --> UPF[UPF]
\begin{center} \includegraphics[width=0.6\textwidth]{docs/scenarios/single_tier_architecture/images/graph_viz_movistar_spain distributed.png} \end{center}
We have identified three main simulation scenarios:
- Single-Tier Architecture: Baseline flat topology.
- Two-Tier Architecture: Hierarchical topology with Edge and Regional UPFs.
- Mobility: Scenarios involving user movement and handovers.
Topology:
- Flat network structure.
- gNBs connect directly to distributed UPFs.
- UPFs are independent (no interconnection).
graph LR
UE([UE]) -- NR --> gNB[gNB]
gNB -- N3 --> UPF[UPF]
Config File (config.toml):
[simulation]
scenario_mode = "single_tier"Scenario Definition:
- Define the number of UPFs to spread across the country.
- Example:
"Spain Edge" = 52(One UPF per province).
Topology:
- Hierarchical structure.
- Edge UPFs (UL-CL): Close to gNBs, aggregate traffic.
- Centralized UPFs (PSA): Regional anchors.
graph LR
UE([UE]) -- NR --> gNB([gNB])
gNB -- N3 --> EdgeUPF(["Edge UPF"])
EdgeUPF -- N9 --> PSA(["PSA UPF"])
Hierarchical K-Means Clustering:
- Level 1: Cluster gNBs to place Edge UPFs (e.g., 52 locations).
- Level 2: Cluster Edge UPF locations to place Centralized UPFs (e.g., 5 locations).
Configuration:
[simulation]
scenario_mode = "two_tier"
num_centralized_upfs = 5- The scenario number (e.g., 52) now refers to the count of Edge UPFs.