University College London Accelerates Simulations of Next-Generation Wireless Communications Algorithms with Parallel Computing

“Using Parallel Computing Toolbox, our students adapted MATLAB scripts to run operations in parallel and accelerate data-intensive computations. Then, using MATLAB Parallel Server, they scaled up the simulations to run on a multinode cluster, achieving even greater improvements in execution speed.”

Challenge

Estimate the bit error rate performance of next-generation communication system waveforms at much faster-than-average execution speeds with a high resolution

Solution

Use MATLAB, Parallel Computing Toolbox, and MATLAB Parallel Server to increase the execution speed of Monte Carlo simulations by running them on multicore computers and a multinode cluster

Results

  • Week-long simulations completed overnight
  • Richly formatted code developed and shared
  • More accurate BER estimates produced
Execution time vs. number of subcarriers with eight workers on a local workstation (blue) and with 30 workers on the Myriad cluster using the parfeval (red) and inner parfor (yellow) functions.

Execution time vs. number of subcarriers with eight workers on a local workstation (blue) and with 30 workers on the Myriad cluster using the parfeval (red) and inner parfor (yellow) functions.

The Institute of Communications and Connected Systems (ICCS) at University College London (UCL) seeks to increase the capacity of wireless and mobile communications systems designed for 4G, 5G, and subsequent standards. To meet this goal, the Information and Communication Engineering (ICE) group within ICCS develops novel waveform techniques that improve spectrum efficiency while minimizing adjacent channel interference.

To evaluate the performance of these techniques, ICE performs extensive Monte Carlo simulations in which bit error rate (BER) estimates are produced for a range of signal-to-noise ratios (SNRs). They use MATLAB®, Parallel Computing Toolbox™, and MATLAB Parallel Server™ to run the simulations in parallel on a high-performance computing cluster.

“On a single-core workstation, simulation times grow exponentially with the number of subcarriers,” says Ryan Grammenos, Senior Teaching Fellow at University College London. “When we execute those simulations on a cluster with MATLAB and MATLAB Parallel Server, we see a better than linear gain in performance as the number of subcarriers increases.”

Challenge

ICE group researchers wanted to increase the amount of data that could be transmitted in a given bandwidth. This meant finding an alternative to orthogonal frequency division multiplexing (OFDM), which requires all subcarriers to be orthogonal to each other. Spectrally efficient frequency division multiplexing (SEFDM) is one such alternative.

While non-orthogonal waveforms increase spectral efficiency, they also increase interference, and the computationally intensive algorithms required to mitigate the interference took an impractically long time to run on single-core workstations. In addition, the researchers needed to estimate bit error rates as low as 10-9, and these workstations lacked the resources to run simulations involving one billion bits.

The group had access to UCL’s high-performance research computing platforms but had yet to take advantage of the clusters to run simulations in parallel—first, because the sphere decoders in the researchers’ algorithms were too complex to be parallelized, and second, because the researchers were operating under tight deadlines, and had no extra time to complete the necessary configuration steps and code modifications.

Solution

The ICE group used Parallel Computing Toolbox and MATLAB Parallel Server to accelerate simulations of next-generation communication systems modeled in MATLAB.

Two undergraduate students, a first-year student from UCL and a second-year student from Hong Kong University (HKU), were tasked with finding the most efficient way for the group to make use of the 36 cores on UCL’s Myriad cluster. The students were funded through two competitive scholarship program: the Undergraduate Opportunities Research Scheme (UROS) scheme within the Faculty of Engineering Sciences (FES) at UCL, and the Laidlaw Research and Leadership Programme at UCL.

The students used the MATLAB Profiler to analyze the researchers’ code and measure its execution time. They found that the sophisticated sphere decoder algorithm contained the most time-consuming operations. The students also identified the three factors that most affected execution time: the number of subcarriers in the simulation, the number of SEFDM symbols involved, and the number of Monte Carlo simulations required.

They implemented code optimizations, such as preallocating arrays and vectorizing loops. These changes resulted in a modest reduction in execution time and produced restructured code that made parallelization easier.

Next, the students evaluated three Parallel Computing Toolbox functions for executing code simultaneously on multiple cores of a single workstation: parfor, parfeval, and spmd. On their eight-core workstation, they found that parfor and parfeval performed almost three times faster than the baseline code, depending on the number of subcarriers in the simulation.

Having identified the most promising parallelization techniques on a single workstation, the students then evaluated them on the Myriad cluster running MATLAB Parallel Server. For their application, parfeval provided the fastest simulations, particularly for larger numbers of subcarriers.

The students wrote a report detailing their analysis and a user guide explaining the configuration and setup steps needed to run scripts on the cluster.

The ICE group, as well as other researchers within ICCS, expects to use parallel computing more extensively as they explore 6G technologies.

Results

  • Week-long simulations completed overnight. “With Parallel Computing Toolbox and MATLAB Parallel Server, we can complete simulations that previously took six days in eight hours,” says Grammenos. “That means we can start a simulation with 40 subcarriers before we go home, and in the morning the results are ready for us to analyze—that’s a huge boost to our productivity and ability to meet deadlines.”
  • Richly formatted code developed and shared. “MATLAB makes it easy for us to write complex algorithms and generate richly detailed visualizations—a big help when we publish our results,” says Grammenos. “In addition, with the Live Editor we can create interactive live scripts that are easily understood by our colleagues.”
  • More accurate BER estimates produced. “One advantage of executing our simulations on a cluster with MATLAB Parallel Server is that we have access to machines with more cores and more memory,” says Grammenos. “As a result, we are now able to run simulations of a billion bits to estimate BER, which enables us to produce more accurate BER curves.”

Contributors

Kacper Kapuśniak (UCL), Tanmay Nautiyal (HKU), Tongyang Xu (UCL)

Acknowledgments

The authors would like to acknowledge the use of the UCL Myriad High Throughput Computing Facility (Myriad@UCL), and associated support services, in the completion of this work. The authors would also like to thank UCL’s Laidlaw Scholarship Programme and the Faculty of Engineering Sciences Undergraduate Research Opportunities Scheme (UROS), which helped fund the research that led to these results.