CN115098275A - Multithreading processing system and method for B5G base station broadband digital baseband signal - Google Patents

Multithreading processing system and method for B5G base station broadband digital baseband signal Download PDF

Info

Publication number
CN115098275A
CN115098275A CN202210560340.4A CN202210560340A CN115098275A CN 115098275 A CN115098275 A CN 115098275A CN 202210560340 A CN202210560340 A CN 202210560340A CN 115098275 A CN115098275 A CN 115098275A
Authority
CN
China
Prior art keywords
thread
queue
task
management
threads
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210560340.4A
Other languages
Chinese (zh)
Inventor
孔可赛
张军
王闻今
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202210560340.4A priority Critical patent/CN115098275A/en
Publication of CN115098275A publication Critical patent/CN115098275A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention discloses a multithreading processing system and a multithreading processing method for broadband digital baseband signals of a B5G base station, which comprise a master control thread, a plurality of management threads, a management thread pool, a plurality of worker threads, a worker thread pool, a task queue between the management threads and the worker threads, and a cache pool; the system adopts a mode of a public task queue to improve the communication efficiency between the management thread and the working thread and reduce the time delay caused by internal communication: each management thread governs a task queue and continuously sends newly generated tasks into the queue; the working threads are arranged in a queue, the working threads at the head of the queue continuously poll the task queue to obtain the task with the highest priority, one thread exits the queue after obtaining the task, and the task enters the queue after being executed. The invention can efficiently process the broadband digital baseband signal, the signals between different time slots can not generate mutual interference, and the time delay of the system can be effectively reduced.

Description

Multithreading processing system and method for B5G base station broadband digital baseband signal
Technical Field
The invention belongs to the technical field of wireless communication, and relates to a multithreading processing system and a multithreading processing method for broadband digital baseband signals of a B5G (Beyond 5G) base station.
Background
In B5G mobile communication, a base station needs to support massive MIMO antennas and process wideband baseband signals, and also needs to achieve high throughput and low latency, which puts high demands on the baseband signal processing capability of the base station.
The processing of digital baseband signals is done with a general-purpose processor, which needs to be accelerated in a parallel manner. The parallel implementation mode mainly comprises SIMD instructions and multithreading, wherein the prior art schemes of multithreading are mainly divided into two types, one type is a pipeline parallel mode for parallel processing in time domain, and the other type is a task parallel mode for parallel division of each processing module. However, these two types of multithreading schemes still have disadvantages: the pipeline parallel mode can improve the throughput of the system, but cannot reduce the time delay of the system; signals between different time slots of the task parallel mode can generate mutual interference, and once the corresponding signal processing work cannot be completed in one time slot, time delay accumulation can be caused.
Therefore, it is necessary to design a multi-thread system, and design a matched thread pool and inter-thread communication scheme for it, so that it can have enough baseband signal processing capability to meet the requirement of B5G mobile communication.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provides a multithreading processing system and a multithreading processing method for broadband digital baseband signals of a B5G base station, which can support large-scale MIMO antennas, can efficiently process the broadband digital baseband signals, cannot generate mutual interference among signals in different time slots, and can effectively reduce the time delay of the system.
In order to solve the technical problems, the invention adopts the following technical scheme.
The invention discloses a multithreading processing system of B5G base station broadband digital baseband signals, which comprises a master control thread, a plurality of management threads, a management thread pool, a plurality of worker threads, a worker thread pool, a task queue between the management threads and the worker threads, and a cache pool, wherein the master control thread is used for controlling the number of the worker threads;
the system adopts a mode of a public task queue to improve the communication efficiency between the management thread and the working thread and reduce the time delay caused by internal communication: each management thread governs a task queue and continuously sends newly generated tasks into the queue; the working threads are arranged in a queue, the task queue is polled by the working thread at the head of the queue continuously to obtain the task with the highest priority, one thread exits the queue after obtaining the task, and enters the queue after executing the task;
the task queue is a first-in first-out queue, and the interior of a program of the task queue can be globally accessed;
the cache pool comprises two continuous cache regions which are respectively used for storing single-precision complex type intermediate results and byte type intermediate results; the data types are respectively byte type and single-precision floating-point complex number type.
Furthermore, the program of the master control thread is always in a circulating running state after being started; the system comprises a radio frequency interface which can exchange sampling signals with a radio frequency device, and a management thread pool object which can be used for calling a management thread.
Furthermore, each management thread of the plurality of management threads is bound with a global task queue; the method comprises the following steps: the high-level interface of the protocol stack can exchange binary data with the high level, the built-in function can divide the baseband signal processing module in parallel, and the cache management object can apply for and release the cache from the cache region.
Furthermore, the thread management pool comprises a pointer vector for storing the pointer of the thread management and a vector which is used for storing the state of the thread management and corresponds to the pointer vector one by one.
Furthermore, internal functions of the worker threads can complete tasks of any module in baseband signal processing; a task queue interface that can poll all management threads' task queues, a worker thread pool interface that can access thread pool status.
Furthermore, the worker thread pool comprises a queue for storing pointers of worker threads in an idle state and a vector for storing working states and task information of the worker threads in the worker thread pool.
The invention discloses a multithreading processing method of B5G base station broadband digital baseband signals, which adopts the multithreading processing system of the B5G base station broadband digital baseband signals, and comprises the following steps:
step 1, a master control thread starts to run, initialization work is executed, a management thread pool and a worker thread pool are established, a management thread is established through the management thread pool, and a worker thread is established through the worker thread pool; the newly-built management thread initializes the task queue and enters an idle state; the worker thread enters a running state once being created, wherein the worker thread at the head of the queue continuously polls the task queue for tasks;
step 2, the master control thread enters a main cycle, and the cycle is carried out by taking a time slot as a cycle until a termination instruction is received; in the main cycle, the master control thread firstly takes out an idle management thread from a management thread pool, then completes the synchronization of signal receiving and sending according to a timestamp variable, and then stores a signal obtained from a radio frequency interface into a corresponding cache region after the synchronization, and finally starts the management thread to complete the specific work, and the master control thread completes the current cycle;
step 3, binding a buffer area with proper size in the buffer pool according to the bandwidth of the signal to be processed and the like after the management thread is started; dividing the task modules into multiple tasks one by one in parallel according to the received signal characteristics, and distributing cache for each task; after the tasks are divided, the management thread pushes the tasks into a task queue, and the transmitted task messages comprise task types, task priorities and addresses input into a cache region; after the downlink signals are processed, the management thread calls a radio frequency interface to send out the signals; after the management thread processes a signal of a time slot, releasing the bound cache and returning the bound cache to the thread pool to enter an idle state;
step 4, the worker thread enters an operation state after being created, firstly, whether the thread is positioned at the head of a thread pool queue is judged, if the thread is positioned at the head of the thread pool queue, task queues of all management threads are polled, and tasks are obtained according to priorities and quit the queues; and after the current task is executed, re-entering the thread pool queue for queuing.
Compared with the prior art, the invention has the following advantages and beneficial effects:
1. according to the invention, by combining pipeline parallel with task parallel, the throughput of the system is improved, the time delay is reduced, and meanwhile, the conflict of signal processing among different time slots is avoided. And aiming at various threads, a corresponding thread pool is designed according to the characteristics and the working requirements of the threads, and the efficient management and scheduling of multiple threads can be realized.
2. The invention designs a set of efficient scheduling mechanism for calling the bottom layer working thread: each management thread governs a task queue and continuously sends newly generated tasks into the queue; the working threads are arranged in a queue, the working threads at the head of the queue continuously poll the task queue to obtain the task with the highest priority, one thread exits the queue after obtaining the task, and the task enters the queue after being executed. The mode of adopting the public task queue can effectively improve the communication efficiency between the management thread and the working thread and reduce the time delay caused by internal communication.
3. The invention divides the signal processing in one time slot into a plurality of tasks, thereby designing a buffer area to exchange data among different working threads. The invention combines the characteristics of baseband signals and divides the cache area into two parts, namely a byte type cache area and a floating point complex type cache area. The design can avoid repeated application for releasing the cache, and is more convenient for managing the thread management cache region and informing the cache position of the working thread.
Drawings
FIG. 1 is a system framework diagram of an embodiment of the present invention.
FIG. 2 is a flow chart of a method according to an embodiment of the present invention.
Fig. 3 is a schematic diagram of a cache pool according to an embodiment of the present invention.
Detailed Description
The invention provides a multithreading processing system and a multithreading processing method for broadband digital baseband signals of a B5G base station, wherein the system comprises a physical layer receiving and transmitting master control thread, a plurality of management threads for parallel task division of a baseband signal processing module, a plurality of worker threads for processing baseband tasks, a management thread pool, a worker thread pool, a task queue between the management threads and the worker threads and a cache pool for storing intermediate results. According to the invention, by combining pipeline parallel with task parallel, the throughput of the system is improved, the time delay is reduced, and meanwhile, the conflict of signal processing among different time slots is avoided. And aiming at various threads, a corresponding thread pool is designed according to the characteristics and the working requirements of the threads, and the efficient management and scheduling of multiple threads can be realized. The invention can be applied to a large-scale MIMO-OFDM system base station with B5G standard, is used for processing broadband digital baseband signals, and can improve the system efficiency, the throughput and the time delay.
The present invention will be described in further detail with reference to the accompanying drawings.
As shown in FIG. 1, the multi-thread processing system of the B5G base station broadband digital baseband signal comprises an overall control thread, a plurality of management threads, a management thread pool, a plurality of worker threads, a worker thread pool, a task queue between the management threads and the worker threads, and a buffer pool.
The program of the master control thread is always in a circulating running state after being started, the master control thread comprises a radio frequency interface which can exchange sampling signals with radio frequency equipment, and a management thread pool object is arranged in the master control thread and can be used for calling a management thread.
Each management thread is bound with a global task queue, comprises a radio frequency interface which can exchange sampling signals with radio frequency equipment, comprises a protocol stack high-level interface which can exchange binary data with a high level, and comprises a cache management object which can apply for and release cache from a cache region, wherein the baseband signal processing module can be divided in parallel by a built-in function.
The management thread pool internally comprises a pointer vector for storing the pointer of the management thread and a vector which is in one-to-one correspondence with the pointer vector and is used for storing the state of the management thread.
The internal function of the worker thread can complete the task of any module in the baseband signal processing, the task queue interface can poll the task queues of all management threads, and the worker thread pool interface can access the thread pool state.
The worker thread pool comprises a queue for storing pointers of worker threads in an idle state, and a vector for storing the working state and task information of the worker threads in the worker thread pool.
The task queue is a first-in first-out queue, and the inside of the program can be globally accessed.
The cache pool comprises two continuous cache regions which are respectively used for storing single-precision complex type intermediate results and byte type intermediate results. The data types are respectively byte type and single-precision floating-point complex number type.
As shown in fig. 2, the multithread processing method for B5G base station wideband digital baseband signal of the present invention includes the following steps:
step 1: and the master control thread starts to run, performs initialization work, completes the creation of a management thread pool and a worker thread pool, creates a management thread through the management thread pool, and creates a worker thread through the worker thread pool. The newly-built management thread initializes the task queue and enters an idle state; once created, the worker thread enters a run state in which the worker thread at the head of the queue continually polls the task queue for tasks.
And 2, step: and the master control thread enters a main cycle and circulates by taking a time slot as a cycle until a termination instruction is received. In the main cycle, the master control thread takes out an idle management thread from the management thread pool, then completes the synchronization of signal receiving and sending according to the timestamp variable, and then stores the signal obtained from the radio frequency interface into a corresponding buffer area after the synchronization, and finally starts the management thread to complete the specific work, and the master control thread completes the current cycle.
And step 3: after the management thread is started, a buffer area with a proper size in the buffer pool can be bound according to the bandwidth of a signal to be processed and the like; next, according to the received signal characteristics, dividing the task modules into multiple tasks one by one in parallel, and distributing cache for each task; after the tasks are divided, the management thread pushes the tasks into a task queue, and transmitted task messages comprise task types, task priorities and addresses input into a cache region; after the downlink signals are processed, the management thread calls a radio frequency interface to send out the signals; and after the management thread finishes processing the signal of one time slot, releasing the bound cache and returning to the thread pool to enter an idle state.
And 4, step 4: the worker thread enters an operating state after being created, whether the thread is at the head of a thread pool queue is judged, if the thread is at the head of the thread pool queue, task queues of all management threads are polled, and tasks are obtained according to priorities and exit the queues; and after the current task is executed, re-entering the thread pool queue for queuing.
As shown in fig. 3, the cache pool according to the present invention includes two continuous caches, which are respectively used for storing single-precision complex type intermediate results and byte type intermediate results.

Claims (7)

1. A multithreading processing system of B5G base station broadband digital baseband signals is characterized by comprising a master control thread, a plurality of management threads, a management thread pool, a plurality of worker threads, a worker thread pool, a task queue between the management threads and the worker threads, and a cache pool;
the system adopts a mode of a public task queue to improve the communication efficiency between the management thread and the working thread and reduce the time delay caused by internal communication: each management thread governs a task queue and continuously sends newly generated tasks into the queue; the working threads are arranged in a queue, the task queue is polled by the working thread at the head of the queue continuously to obtain the task with the highest priority, one thread exits the queue after obtaining the task, and enters the queue after executing the task;
the task queue is a first-in first-out queue, and the interior of a program of the task queue can be globally accessed;
the cache pool comprises two continuous cache regions which are respectively used for storing single-precision complex type intermediate results and byte type intermediate results; the data types are respectively byte type and single-precision floating-point complex number type.
2. The multithreading system of B5G base station broadband digital baseband signals according to claim 1, wherein the program of the master control thread is always in a loop running state after being started; the system comprises a radio frequency interface which can exchange sampling signals with a radio frequency device, and a management thread pool object which can be used for calling a management thread.
3. The system according to claim 1, wherein said plurality of management threads, each management thread bound to a global task queue; the method comprises the following steps: the high-level interface of the protocol stack can exchange binary data with the high level, the built-in function can divide the baseband signal processing module in parallel, and the cache management object can apply for and release the cache from the cache region.
4. The system of claim 1, wherein the management thread pool comprises a pointer vector for storing the management thread's pointer, a vector for storing the management thread's status and corresponding to the pointer vector.
5. The system of claim 1, wherein said worker threads have internal functions to perform tasks of any module in baseband signal processing; a task queue interface that can poll all management threads' task queues, a worker thread pool interface that can access thread pool status.
6. A system for multithreaded processing of B5G base station wideband digital baseband signals, according to claim 1, wherein said worker thread pool comprises a queue for holding pointers of worker threads in idle state, and a vector for holding worker thread work state and task information therein.
7. A multithreading processing method of B5G base station broadband digital baseband signals is characterized in that a multithreading processing system of B5G base station broadband digital baseband signals is adopted, and the multithreading processing system comprises a master control thread, a plurality of management threads, a management thread pool, a plurality of worker threads, a worker thread pool, a task queue between the management threads and the worker threads and a cache pool; the system adopts a mode of a public task queue to improve the communication efficiency between the management thread and the working thread and reduce the time delay caused by internal communication: each management thread governs a task queue and continuously sends newly generated tasks into the queue; the working threads are arranged in a queue, the task queue is polled by the working thread at the head of the queue continuously to obtain the task with the highest priority, one thread exits the queue after obtaining the task, and enters the queue after executing the task;
the task queue is a first-in first-out queue, and the interior of a program of the task queue can be globally accessed;
the cache pool comprises two continuous cache regions which are respectively used for storing single-precision complex type intermediate results and byte type intermediate results; the data types are respectively byte type and single-precision floating-point complex type;
the method comprises the following steps:
step 1, a master control thread starts to run, initialization work is executed, a management thread pool and a worker thread pool are established, a management thread is established through the management thread pool, and a worker thread is established through the worker thread pool; the newly-built management thread initializes the task queue and enters an idle state; the worker thread enters a running state once being created, wherein the worker thread at the head of the queue continuously polls the task queue for tasks;
step 2, the master control thread enters a main cycle, and the cycle is carried out by taking a time slot as a cycle until a termination instruction is received; in the main cycle, the master control thread firstly takes out an idle management thread from a management thread pool, then completes the synchronization of signal receiving and sending according to a timestamp variable, and then stores a signal obtained from a radio frequency interface into a corresponding cache region after the synchronization, and finally starts the management thread to complete the specific work, and the master control thread completes the current cycle;
step 3, binding a buffer area with proper size in the buffer pool according to the bandwidth of the signal to be processed and the like after the management thread is started; dividing the task modules into multiple tasks one by one in parallel according to the received signal characteristics, and distributing cache for each task; after the tasks are divided, the management thread pushes the tasks into a task queue, and transmitted task messages comprise task types, task priorities and addresses input into a cache region; after the downlink signals are processed, the management thread calls a radio frequency interface to send out the signals; after the management thread processes a signal of a time slot, releasing the bound cache and returning the bound cache to the thread pool to enter an idle state;
step 4, the worker thread enters an operation state after being created, firstly, whether the thread is positioned at the head of a thread pool queue is judged, if the thread is positioned at the head of the thread pool queue, task queues of all management threads are polled, and tasks are obtained according to priorities and quit the queues; and after the current task is executed, re-entering the thread pool queue for queuing.
CN202210560340.4A 2022-05-23 2022-05-23 Multithreading processing system and method for B5G base station broadband digital baseband signal Pending CN115098275A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210560340.4A CN115098275A (en) 2022-05-23 2022-05-23 Multithreading processing system and method for B5G base station broadband digital baseband signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210560340.4A CN115098275A (en) 2022-05-23 2022-05-23 Multithreading processing system and method for B5G base station broadband digital baseband signal

Publications (1)

Publication Number Publication Date
CN115098275A true CN115098275A (en) 2022-09-23

Family

ID=83289264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210560340.4A Pending CN115098275A (en) 2022-05-23 2022-05-23 Multithreading processing system and method for B5G base station broadband digital baseband signal

Country Status (1)

Country Link
CN (1) CN115098275A (en)

Similar Documents

Publication Publication Date Title
US7505410B2 (en) Method and apparatus to support efficient check-point and role-back operations for flow-controlled queues in network devices
US8861434B2 (en) Method and system for improved multi-cell support on a single modem board
US9424101B2 (en) Method and apparatus for synchronous processing based on multi-core system
US11288072B2 (en) Multi-threaded processor with thread granularity
US20190102223A1 (en) System, Apparatus And Method For Real-Time Activated Scheduling In A Queue Management Device
EP2391032B1 (en) Synchronization method and device for real-time distributed system
CN106572500A (en) Scheduling method of hardware accelerators in C-RAN
CN109819478B (en) Data exchange method and device
CN115098275A (en) Multithreading processing system and method for B5G base station broadband digital baseband signal
CN114490048A (en) Task execution method and device, electronic equipment and computer storage medium
CN111984391B (en) Task scheduling method, device, chip, terminal and storage medium
CN116482725B (en) Open satellite navigation baseband signal processing method, device and receiver
CN109257280B (en) Micro-engine and message processing method thereof
CN110955520A (en) Multi-task scheduling method and system for electric energy meter
US20180349185A1 (en) Programmable hardware scheduler for digital processing systems
CN113141385B (en) Data receiving and processing method and device, electronic equipment and storage medium
CN111026809B (en) Distributed execution system for scheduling process
GB2484906A (en) Data processing unit with scalar processor and vector processor array
CN112732404A (en) Program concurrent IO optimization method and system based on Lua coroutine
CN108738035B (en) Data processing method and device of multi-system baseband chip and processing equipment
CN105634983A (en) Queue dispatching method and device
CN114978200B (en) High-throughput large-bandwidth general channelized GPU algorithm
CN113038607B (en) Channel processing method, device and base station
CN115617399A (en) Instruction reading method, arbiter, communication device, and storage medium
US20230131537A1 (en) Network scheduling of multiple entities

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination