Real-time algorithm for beamforming weight management in constrained FPGA memory

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2019-12-16

Department

Major/Subject

Computer Science

Mcode

SCI3042

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

71

Series

Abstract

Nowadays, wireless mobile network technology is the prevalent method for transporting data. The growing amount of mobile devices demand more performance from the network. A base transceiver station (BTS) communicates with multiple user equipment (UE) with multiple-input multiple-output (MIMO) technology. MIMO allows the usage of a technique called beamforming, where the superposition principle of concurrent signals is utilized to create beams that allow different signals to be directed into desired directions. User data signals are beamformed with beamforming weight vectors in a matrix multiplication. We inspect an architecture where the BTS is split into two parts: the system module that controls which data signals are directed to which UEs with which beams, and the radio module that performs the beamforming matrix multiplications in a dedicated hardware field-programmable gate array (FPGA). The beamforming control architecture in the BTS is given, along with the definition on how a software must ensure that a certain number of weight vectors is written into certain hardware memory blocks in the hardware during a time slot. A cache algorithm is used to achieve better performance by minimizing the number of performed write instructions and written duplicate vectors. In this thesis, we present previously implemented single-threaded algorithms operating with private memory, and propose multi-threaded replacements with shared memory. Finally, we compare the trade-offs between the algorithms. The results indicate that, given fast hardware writes, the less complex single-threaded algorithms are sufficient in performance. However, when writing into the hardware is considered expensive, the multi-threaded algorithms excel.

Langattomat mobiiliverkot ovat nykään käytetyin tapa datan kommunikointiin. Näiden verkkojen suorituskyvyn tarve on jatkuvassa kasvussa mobiililaitteiden määrän lisääntyessä. Tukiasema kommunikoi monen mobiililaitteen kanssa MIMO-teknologialla käyttäen montaa antennia signaalien lähetykseen ja vastaanottamiseen. MIMO:n avulla rinnakkaisista signaaleista voidaan muodostaa elektromagneettisen superpositioperiaatteen avulla keila, jota voidaan ohjata haluttuihin suuntiin. Tämä niin sanottu keilanmuodostus tapahtuu käyttäen matriisikertolaskua käyttäjien datasignaalien ja keilanmuodostuksen painovektorien välillä. Tarkastellussa järjestelmässä tukiaseman systeemimoduuli päättää datasignaalien kanssa käytetyt keilat, jotta haluttu data päätyisi vain halutuille käyttäjille. Tukiaseman radiomoduuli taas suorittaa keilanmuodostuksessa käytetyt matriisikertolaskut tarkoitukseen räätälöidyllä FPGA-laitteistolla. Laitteiston arkkitehtuurissa painovektorit kirjoitetaan FPGA:ssa oleville muistipaikoille, ja ohjelmistolla on vastuu varmistaa, että tietyt vektorit ovat kirjoitettu muistipaikoille tiettyjen aikarajojen sisällä. Tähän ohjelmisto käyttää välimuistialgoritmia, jonka tarkoitus on saavuttaa parempi suorituskyky minimoiden vektorien muistikirjoituksien ja muistiin kirjoitettujen kopiovektorien määrä. Tässä diplomityössä esitellään aikaisemmin toteutetut yhden säikeen muistialgoritmit, joissa säikeet käyttävät yksityisiä muistipaikkoja. Näiden algoritmien lisäksi ehdotetaan korvaavia uusia muistialgoritmeja, jotka käyttävät montaa säiettä rinnakkaisesti jakaen laitteistomuistipaikkoja säikeiden välillä. Algoritmeja vertaavien kokeiden tulokset osoittavat yleisellä tasolla, että yksinkertaisemmat yhden säikeen algoritmit suoriutuvat tehtävästä hyväksyttävästi, kun muistiin kirjoitus on nopeaa. Kun taas laitteistomuistiin kirjoittaminen on hidasta ja välteltävää, rinnakkaiset algoritmit ylittävät yhden säikeen algoritmien suorituskyvyn.

Description

Supervisor

Kaski, Petteri

Thesis advisor

Väisänen, Niko

Keywords

beamforming, cache algorithm, macro-benchmarking, multi-threaded cache policy, parallel processing, thread synchronization

Other note

Citation