Work overview

Section 06 of 08

Simulation-based network scalability and stress testing

A reinforcement learning-driven adaptive hybrid PLC-RF communication architecture for IoT-based smart metering systems

Noor El-Deen M. Mohamed, Mahmoud A. Shafea, Alaa M. Yousry, and Mohamed M. El-Dakroury · 2026

Contents

Section 06 of 08

  1. 01Introduction
  2. 02System architecture
  3. 03Hybrid IoT communication approach
  4. 04Web application
  5. 05Reinforcement learning for channel selection
  6. 06Simulation-based network scalability and stress testing
  7. 07Discussion
  8. 08Conclusion
Text size
Work overview

Section 6 of 8

Simulation-based network scalability and stress testing

Noor El-Deen M. Mohamed, Mahmoud A. Shafea, Alaa M. Yousry, and Mohamed M. El-Dakroury · about 11 minutes

The preceding sections validated the PPO agent’s channel selection accuracy on individual node-level decisions. This section extends the evaluation to network-scale operation through simulation, assessing whether the learned policy maintains its advantages when applied across large Advanced Metering Infrastructure (AMI) networks of 500 to 5,000 communication nodes under both normal and adversarial conditions. All results provided in this section are simulation-based validation, serving as a key stepping stone toward full operational AMI scale deployment. A conceptual diagram illustrating sub-GHz RF star and PLC mesh topologies under a single Data Concentrator Unit (DCU) is presented in Fig. 15.

Fig. 15: Conceptual architecture of the simulated hybrid PLC-RF smart metering network under a central DCU. Note: While each smart meter node is equipped with both communication interfaces, the two topologies (RF star and PLC mesh) are separated in the diagram for visual clarity.

Fig. 15: Conceptual architecture of the simulated hybrid PLC-RF smart metering network under a central DCU. Note: While each smart meter node is equipped with both communication interfaces, the two topologies (RF star and PLC mesh) are separated in the diagram for visual clarity.

Simulation methodology

A Monte Carlo network simulation was developed to model a hierarchical AMI deployment. The simulated topology organizes N communication nodes into clusters of 50 nodes per Data Concentrator Unit (DCU), yielding K = N / 50 DCU segments. This cluster size reflects the capacity of G3-PLC/PRIME concentrators in low-voltage distribution networks, which typically manage 200–300 smart meters per substation transformer41. The node counts of 500, 1,000, 2,000, and 5,000 were selected to represent single-concentrator through multi-concentrator Neighborhood Area Network (NAN) deployments, consistent with the scale of operational rollouts such as the Enedis Linky project42. Within each cluster, nodes are assigned a distance metric \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$d_i \in [0.1, 1.0]$$\end{document} representing the normalized electrical line length or wireless separation from the local DCU. The PLC interface operates as a logical mesh with 1 to 3 routing hops based on node distance, where each additional hop adds 0.5 ms of end-to-end latency. The RF interface operates as a direct star connection to the DCU, consistent with the IEEE 802.15.4g architecture described in “RF network” section. Channel conditions for each node at each simulation time step are generated from the empirically calibrated distributions in Table 3, with distance-dependent degradation applied to SNR, latency, and packet loss.

The simulation incorporates three realistic impairment mechanisms: (1) correlated impulsive noise bursts, modeled as a 10% per-step probability of a DCU-wide event that increases PLC packet loss by 30–50% and reduces PLC SNR by 60% for all nodes in the affected cluster; (2) traffic congestion, implemented through per-DCU queue thresholds of 30 packets for PLC and 35 packets for RF, beyond which contention increases packet loss and transmission delay quadratically these thresholds correspond to approximately 70% utilization of the shared CSMA/CA medium under G3-PLC mesh overhead43 and the RF star topology’s channel capacity4; and (3) distance-dependent attenuation, where nodes farther from the DCU experience higher baseline packet loss and lower SNR. Four routing policies are compared: the trained PPO agent (using deterministic inference on the same actor network from “Reinforcement learning for channel selection” section), an Always-PLC baseline, an Always-RF baseline, and a Random (50/50) baseline. Each configuration is evaluated over 1,000 simulation time steps with a fixed random seed of 42, measuring Packet Delivery Ratio (PDR), mean and 95th-percentile end-to-end latency, throughput (delivered packets per time step), and jitter.

To clarify the nature and fidelity of this evaluation, the network-scale simulation is a custom Monte Carlo network-level model implemented directly in Python and NumPy, reusing the calibrated PLCRFNetworkEnv channel distributions described in “Simulated training environment” section, rather than an established packet-level or protocol-level network simulator such as NS-3 or OMNeT++. Within this model, PLC attenuation is represented by the empirically calibrated SNR and packet loss ranges in Table 3 combined with a distance-dependent offset, rather than a physical transmission-line or frequency-selective attenuation model, so it reproduces the aggregate statistical effect of attenuation observed in the hardware logs but not per-frequency or per-topology attenuation profiles. RF interference is likewise represented only through the calibrated baseline packet-loss and SNR distributions and the traffic congestion penalty described below, without an explicit co-channel interference or physical-layer collision model, consistent with the memoryless, interference-free channel model already described in “Simulated training environment” section. Routing overhead is approximated by a fixed latency addition of 0.5 ms per PLC mesh hop, based on the node distance to hop count mapping described above, rather than a simulated routing protocol with control-message overhead, route discovery, or topology changes. MAC contention is approximated through a per-DCU queue-threshold penalty that scales with the degree of traffic overflow beyond the 30 packet and 35 packet per-step thresholds for PLC and RF respectively, calibrated to correspond to approximately 70 percent utilization of the shared CSMA/CA medium as reported in43, rather than an explicit CSMA/CA backoff, collision, and retransmission simulation. This model is therefore a lightweight, empirically calibrated statistical abstraction suited to evaluating the scalability of the per-node interface-selection decision itself, which is the object of this study, rather than a substitute for protocol-level or physical-layer network simulation.

Scalability results under normal conditions

Table 14 presents the performance of all four policies across the four network scales under normal operating conditions (no node outages, baseline traffic, impulsive noise active).

Node Count | Policy | PDR (%) | Latency (ms) | P95 Latency (ms) | Throughput (pkt/step)
500 | Always-PLC | 83.54 | \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathbf {3.16} \pm 0.56$$\end{document} | 4.00 | 417.7
 | Always-RF | 85.86 | 21.02 ± 2.94 | 25.94 | 429.3
 | Random | 91.07 | 8.84 ± 7.48 | 19.84 | 455.3
 | PPO | 92.80 | 9.52 ± 8.11 | 21.77 | 464.0
1000 | Always-PLC | 83.32 | \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathbf {3.16} \pm 0.56$$\end{document} | 4.00 | 833.2
 | Always-RF | 85.83 | 21.02 ± 2.94 | 25.94 | 858.3
 | Random | 91.04 | 8.84 ± 7.48 | 19.84 | 910.4
 | PPO | 92.77 | 9.56 ± 8.12 | 21.83 | 927.7
2000 | Always-PLC | 83.31 | \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathbf {3.16} \pm 0.56$$\end{document} | 4.00 | 1666.2
 | Always-RF | 85.81 | 21.02 ± 2.94 | 25.93 | 1716.1
 | Random | 91.05 | 8.85 ± 7.49 | 19.85 | 1821.0
 | PPO | 92.74 | 9.61 ± 8.15 | 21.89 | 1854.8
5000 | Always-PLC | 83.26 | \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathbf {3.16} \pm 0.56$$\end{document} | 4.00 | 4163.2
 | Always-RF | 85.84 | 21.02 ± 2.94 | 25.93 | 4292.2
 | Random | 91.06 | 8.85 ± 7.48 | 19.85 | 4553.0
 | PPO | 92.79 | 9.56 ± 8.12 | 21.81 | 4639.5

Several observations emerge from Table 14. First, the PPO policy achieves the highest PDR at every scale, delivering 92.79% of packets at \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N = 5{,}000$$\end{document} compared to 83.26% for Always-PLC and 85.84% for Always-RF. This represents an 11.4% relative improvement over Always-PLC and an 8.1% improvement over Always-RF. The Random baseline achieves 91.06%, indicating that even uninformed channel diversity provides substantial benefit, but PPO improves upon it by an additional 1.9 percentage points through learned, condition-aware switching. Second, the PPO policy’s performance is scale-invariant: the PDR varies by less than 0.1 percentage points across the entire 500-to-5,000 node range (92.80% to 92.79%). This stability is a direct consequence of the per-node, independent inference architecture described in “Simulation methodology” section: each node makes its channel selection decision based solely on its local channel conditions, without requiring inter-node coordination. Third, the latency profile reveals the expected trade-off: Always-PLC achieves the lowest mean latency (3.16 ms) because PLC links are inherently lower-latency in the calibrated distribution (Table 3), while Always-RF suffers from the highest latency (21.02 ms). The PPO agent’s mean latency of 9.56 ms reflects its mixed-channel strategy, which prioritizes packet delivery over latency minimization a design choice aligned with AMI reliability requirements. The throughput metric scales linearly with node count for all policies, confirming that no policy introduces systemic bottlenecks at these scales. The scalability trends are visualized in Fig. 16.

Fig. 16: Packet delivery ratio and end-to-end latency across network scales (N = 500 to 5, 000).

Fig. 16: Packet delivery ratio and end-to-end latency across network scales (N = 500 to 5, 000).

Stress-test resilience

To evaluate robustness under adversarial conditions, a series of stress tests were conducted at the maximum scale of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N = 5{,}000$$\end{document} nodes. Four categories of stress were applied: node outages (5%, 10%, 20% of nodes disabled), traffic overload (, , 10× baseline packet rates), channel degradation (PLC SNR halved and RF packet loss doubled), and impulsive noise (comparison of clean versus noisy channels). Table 15 reports the PDR for all four policies under each scenario.

Stress scenario | Always-PLC | Always-RF | Random | PPO
Normal (No Stress) | 83.26 | 85.84 | 91.06 | 92.79
Node Outage (5%) | 83.90 | 87.16 | 91.06 | 92.95
Node Outage (10%) | 84.48 | 88.45 | 91.09 | 93.07
Node Outage (20%) | 85.76 | 91.05 | 91.03 | 93.33
High Traffic (2×) | 70.83 | 59.15 | 84.17 | 84.45
High Traffic (5×) | 33.77 | 0.00 | 54.19 | 52.66
High Traffic (10×) | 0.00 | 0.00 | 16.83 | 16.76
Channel Degradation | 83.24 | 79.66 | 87.94 | 89.73
Impulsive Noise | 83.27 | 85.85 | 91.04 | 92.77

Under node outages of 5% to 20%, the PPO agent’s PDR actually increases slightly (from 92.79% to 93.33%) because fewer active nodes reduce per-DCU congestion. The Always-RF baseline benefits disproportionately from outages (rising from 85.84% to 91.05% at 20% outage) because RF congestion is more sensitive to node density; nonetheless, PPO maintains a consistent lead across all outage levels. Under high traffic conditions, all policies degrade substantially. At 2× load, PPO maintains 84.45% PDR while Always-RF drops to 59.15%, demonstrating the RF channel’s vulnerability to contention. At 5× load, Always-RF collapses to 0% PDR as all RF packets exceed the congestion threshold, while PPO still delivers 52.66%. At the extreme 10× load, all policies fall below 17% PDR, indicating that the simulated congestion model saturates both channels a physically realistic outcome given that both PLC and RF media share limited bandwidth. Under these extreme conditions, PPO and Random perform comparably because no per-node channel selection strategy can compensate for systemic channel saturation; addressing this would require higher-layer interventions such as rate limiting or load shedding. Under channel degradation (PLC SNR halved, RF loss doubled), PPO achieves 89.73% PDR compared to 79.66% for Always-RF, a 12.6% relative improvement. This scenario specifically stresses the RF channel, and the PPO agent responds by shifting its channel distribution: the PLC selection ratio drops from 48.1% under normal conditions to 34.4% under degradation (Fig. 18), indicating that the agent correctly increases its RF avoidance when RF link quality deteriorates. The impulsive noise scenario demonstrates that the correlated noise model has a modest but measurable impact: PPO’s PDR drops from 93.55% (clean) to 92.77% (noisy), a reduction of less than 1 percentage point, indicating resilience to bursty PLC interference. The stress-test results are visualized in Fig. 17.

Fig. 17: PDR comparison across stress scenarios at \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N = 5{,}000$$\end{document} nodes.

Fig. 17: PDR comparison across stress scenarios at \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N = 5{,}000$$\end{document} nodes.

Fig. 18: PLC vs. RF interface selection ratios under normal and degraded conditions (\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N = 5{,}000$$\end{document}).

Fig. 18: PLC vs. RF interface selection ratios under normal and degraded conditions (\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N = 5{,}000$$\end{document}).

Centralized inference scalability

In a deployment architecture where PPO inference is performed centrally at the DCU or gateway level rather than on individual meter nodes, a key concern is whether the inference computation introduces a bottleneck as the number of managed nodes increases. To evaluate this, Table 16 reports the batch inference timing measured during the simulation on a GPU-equipped server (NVIDIA T4, Google Colab), where all node decisions within a time step are computed in a single batched forward pass through the PPO actor network.

Node Count | Total inference time (s) | Step inference time (ms) | Amortized per-node latency (μs)
500 | 11.45 | 11.45 | 22.90
1000 | 11.66 | 11.66 | 11.66
2000 | 11.25 | 11.25 | 5.63
5000 | 11.34 | 11.34 | 2.27

The total inference time remains constant at approximately 11.3–11.7 seconds across all scales (1,000 simulation steps), confirming that the TensorFlow batch inference operation exhibits O(1) scaling with respect to node count. The amortized per-node latency decreases from 22.9 _μ_s at N = 500 to 2.27 _μ_s at \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N = 5{,}000$$\end{document}, demonstrating favorable parallelization as the batch size grows. These results confirm that centralized PPO inference at a DCU managing up to 5,000 nodes introduces negligible computational overhead relative to the communication latencies of 1–25 ms observed on the PLC and RF links (Table 3). The feasibility of per-node edge inference on resource-constrained hardware is evaluated separately in Section Edge deployment feasibility and hardware profiling.