Polling control device, polling control system, polling control method, and polling control program
By estimating processing time based on data size, noise, and workload, the method addresses the challenge of achieving real-time performance and power saving in vRAN systems by optimizing CPU usage and reducing power consumption.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-02-08
- Publication Date
- 2026-04-14
AI Technical Summary
Existing methods for acquiring offload processing results in vRAN systems face challenges in achieving both real-time performance and power saving, with polling consuming high CPU resources and interrupts failing to meet real-time requirements.
A method that estimates the processing time required for a dedicated processing unit by considering factors like data size, noise, and current workload, then waits until the estimated time has elapsed before executing a polling process to request the result, switching to a power-saving mode during this wait period.
This approach achieves both real-time performance and power saving by accurately estimating processing time and optimizing CPU usage, reducing power consumption and data acquisition failures.
Smart Images

Figure 0007845381000001 
Figure 0007845381000002 
Figure 0007845381000003
Abstract
Description
Technical Field
[0001] The present invention relates to a polling control device, a polling control system, a polling control method, and a polling control program.
Background Art
[0002] For the purpose of flexible operation of equipment and reduction of hardware costs, a technique for realizing signal processing as software on a general-purpose server is spreading in vRAN (virtual Radio Access Network) and the like. In softwareization, among signal processing, a configuration is adopted in which error correction code processing such as forward error correction (FEC) is offloaded to a dedicated processing unit installed in a general-purpose server.
[0003] FIG. 5 is a configuration diagram of a server 30z that executes offloading. The server 30z includes a CPU 70z, an OS 80z, and a server HW 90z. The CPU 70z operates an offloading source application 71z and dedicated software 72z that executes error correction code processing on the OS 80z. Further, as the server HW (hardware) 90z, an accelerator (ACC: accelerator) HW 91z that executes error correction code processing is installed. The offloading source application 71z offloads error correction code processing to a dedicated processing unit (dedicated software 72z or accelerator HW 91z) and obtains the processing result.
[0004] Non-Patent Document 1 describes that, as a method for the offloading source application 71z to receive a processing result from a dedicated processing unit, either "result reception technology by polling" or "result reception technology by interrupt processing" is used.
[0005] FIG. 6 is an explanatory diagram in the case of obtaining an offloading processing result by polling. The offload source application 71z repeatedly sends polling query signals to the dedicated processing unit (illustrated by arrows). When the dedicated processing unit generates a processing result, it receives the query signal and quickly returns the processing result to the offload source application 71z. This shortens the time from the completion of processing at the dedicated processing unit at the off-road destination to the detection of completion by the off-road source application 71z, thereby ensuring real-time performance.
[0006] Figure 7 is an explanatory diagram showing how to obtain off-road processing results via interrupt. The off-road source application 71z receives the processing result from the dedicated processing unit only once via an interrupt signal (illustrated by an arrow). As a result, the CPU 70z, which runs the offload source application 71z, does not have to bear the load of constantly monitoring a dedicated processing unit such as polling shown in Figure 6, thus saving power. [Prior art documents] [Non-patent literature]
[0007] [Non-Patent Document 1] DPDK (Data Plane Development Kit), "16. Wireless Baseband Device Library", [online], [Accessed January 27, 2022], Internet <URL: https: / / doc.dpdk.org / guides / prog_guide / bbdev.html> [Overview of the project] [Problems that the invention aims to solve]
[0008] The polling method in Figure 6 offers excellent real-time performance, but the polling (busypoll) consumes 100% of the CPU, resulting in a high load. On the other hand, the interrupt method in Figure 7 is power-efficient, but there is overhead when the CPU70z detects the interrupt, thus failing to meet real-time requirements.
[0009] Therefore, the main objective of the present invention is to provide a method for acquiring offload processing results that achieves both real-time performance and power saving. [Means for solving the problem]
[0010] To solve the aforementioned problems, the polling control device of the present invention has the following features. This invention estimates the processing time required for a predetermined processing unit to perform predetermined processing on the target data that has been offloaded to that predetermined processing unit. As part of the process, a function is calculated that increases processing time as the amount of noise present during the transmission of the target data increases. Processing time estimation unit, Until the estimated processing time has elapsed, the system waits to execute a polling process to request the result of the predetermined processing from the predetermined processing unit. The system is characterized by having a polling control unit that executes the polling process on the predetermined processing unit when the estimated processing time has elapsed. [Effects of the Invention]
[0011] According to the present invention, it is possible to provide a method for acquiring offload processing results that achieves both real-time performance and power saving. [Brief explanation of the drawing]
[0012] [Figure 1] This is a schematic diagram of the polling control system according to this embodiment. [Figure 2] This is a hardware configuration diagram of the server according to this embodiment. [Figure 3] This is a detailed configuration diagram of the polling control system according to this embodiment. [Figure 4] This is a sequence diagram showing the operation of the polling control system according to this embodiment. [Figure 5] This is a diagram showing the configuration of the servers that perform offloading. [Figure 6] This is an explanatory diagram for obtaining off-road processing results by polling. [Figure 7]It is an explanatory diagram when obtaining an offload processing result by an interrupt. [Figure 8] It is a configuration diagram when an antenna is mounted on a communication server independent of the server related to the present embodiment.
Mode for Carrying Out the Invention
[0013] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
[0014] FIG. 1 is an overview diagram of a polling control system. The polling control system is configured such that a server (polling control device) 30 having a CPU 70 and a server HW 90 is connected to the user terminal 10 in FIG. 3 via a network. Further, the server 30 incorporates or is connected so as to be able to access an estimation data storage unit 40.
[0015] In order to achieve both real-time performance and power saving, the server 30 executes the following (Procedure 1) to (Procedure 3). (Procedure 1) The timing estimation unit (processing time estimation unit) 33 estimates the processing time required for dedicated processing (predetermined processing) such as error correction of target data to be offloaded for the target data of dedicated processing before offloading (the time for the dedicated processing unit (predetermined processing unit) 32 to execute error correction code processing). Note that the accelerator HW 91 or dedicated software 72 in FIG. 1 corresponds to the dedicated processing unit 32 in FIG. 3.
[0016] (Procedure 2) The offload source application 71 offloads the processing of the target data received from the user terminal 10 in FIG. 3 as an input signal to an offload destination such as the accelerator HW 91 or dedicated software 72 (dashed arrow). Here, the polling control unit 38 controls to wait for the execution of the polling process (stop polling) for the processing time estimated in (Procedure 1). Thereby, the processing load of polling can be reduced and power saving can be realized. (Step 3) After the estimated processing time has elapsed, the polling control unit 38 performs polling to obtain the processing results of the target data from the offload destination (solid arrow). This enables real-time performance by performing polling at an appropriate time when it is estimated that the offload destination has prepared the processing results of the target data.
[0017] Here, the higher the accuracy of estimating the processing time required for offloading in (Step 1), the better it is possible to achieve both real-time performance and power saving. Therefore, the timing estimation unit 33 refers to the information in the estimation data storage unit 40 (signal characteristic data 41, past processing time data 42, and performance-related data 43) in order to estimate the processing time with high accuracy. The estimation data storage unit 40 provides the information used for the estimation process of the timing estimation unit 33. The signal characteristic data 41 is provided to the timing estimation unit 33 via the signal characteristic estimation unit 34. Past processing time data 42 and performance-related data 43 are provided to the timing estimation unit 33 via a dedicated information acquisition unit 39 that acquires information (dedicated information) that affects the processing time of the dedicated processing unit 32.
[0018] For example, in step 1, the timing estimation unit 33 refers to the size of the target data included in the signal characteristic data 41 provided via the signal characteristic estimation unit 34. Generally, the larger the size, the longer the processing time.
[0019] Alternatively, the timing estimation unit 33 may estimate the processing time in (step 1) by referring to the amount of noise in the target data included in the signal characteristic data 41. Noise refers to unintended data errors (malfunctions) in the target data due to poor radio waves. Causes of noise include interference with other radio signals or electromagnetic waves in the radio section through which the target data is transmitted. Furthermore, the decoding process for error correction codes requires more iterations based on a probability propagation model as the amount of noise in the target data increases. Examples of error correction codes include low-density parity-check codes (LDPC) and Turbo codes. Therefore, the processing time increases with the amount of noise. On the other hand, the process by which the timing estimation unit 33 estimates the processing time using past processing time data 42 and performance-related data 43 will be described later in the explanation of Figures 3 and 4.
[0020] Figure 2 is a hardware configuration diagram of server 30. Server 30 is configured as a computer 900 having a CPU 901, RAM 902, ROM 903, HDD 904, communication I / F 905, input / output I / F 906, and media I / F 907. The communication interface 905 is connected to an external communication device 915. The input / output interface 906 is connected to the input / output device 916. The media interface 907 reads and writes data to the recording medium 917. Furthermore, the CPU 901 controls each processing unit by executing a program (also called an application or app) loaded into the RAM 902. This program can also be distributed via a communication line or by recording it on a recording medium 917 such as a CD-ROM.
[0021] Figure 3 is a detailed diagram of the polling control system. Figure 4 is a sequence diagram showing the operation of the polling control system. Below, we will explain in detail each component of Figure 3 and Figure 8, which will be described later, referring to Figure 4 as appropriate.
[0022] The user terminal 10 has a data transmission unit 11. The data transmission unit 11 transmits the target data generated in the user terminal 10 to the target data transmission unit 21 on the antenna 20 via wireless communication means (S11: data transmission). The communication path between the data transmission unit 11 and the target data transmission unit 21 may be wired instead of wireless. Note that noise may occur during the transmission process in S11, which may damage the target data.
[0023] Antenna 20 is a wireless communication module mounted on the server 30. Antenna 20 transmits and receives radio waves for data communication and can also measure the amount of noise in those radio waves. The target data transmission unit 21 processes a portion of the target data received from the data transmission unit 11 via the communication path and transmits it to the target data receiving unit 31 via the communication path (S12: target data transmission). The communication path between the target data transmission unit 21 and the target data receiving unit 31 may be wireless or wired. The antenna 20 (target data transmission unit 21) may be externally mounted to the server 30 or built into it. Alternatively, as shown in Figure 8, the antenna 20 may be mounted on a separate (independent) communication server 25, which is a device distinct from both the server 30 and the user terminal 10, and the communication server 25 and the server 30 may be connected by a wired connection. This allows for support of the fifth-generation (5G) mobile phone communication standard.
[0024] The server 30 includes a target data receiving unit 31, a dedicated processing unit 32, a timing estimation unit 33, a signal characteristic estimation unit 34, a past processing time acquisition unit 35, a performance-related acquisition unit 36, a noise information acquisition unit 37, and a polling control unit 38. Furthermore, the dedicated information acquisition unit 39 in Figure 1 is materialized as the past processing time acquisition unit 35 and the performance-related acquisition unit 36 in Figure 3.
[0025] The target data receiving unit 31 receives the target data from the target data transmitting unit 21 (S13: target data reception). Then, it converts the data into a format that can be processed by the dedicated processing unit 32, and then requests (offloads) the dedicated processing to the dedicated processing unit 32. In other words, the offload source application 71 in Figure 1 corresponds to the target data receiving unit 31 in Figure 3. On the other hand, the offload source application 71 may be configured to include the data transmission unit 11, the target data transmission unit 21, and the target data receiving unit 31. Furthermore, data input and output between the target data receiving unit 31 and the dedicated processing unit 32 may be conducted via a network. In other words, the dedicated processing unit 32 may be mounted in a separate enclosure from the server 30. Also, to allow the use of existing signal processing software, the interface between the target data receiving unit 31 and the dedicated processing unit 32 may be designed to match the format of existing APIs, function names, and arguments.
[0026] The dedicated processing unit 32 performs dedicated processing based on the target data input from the target data receiving unit 31 (S14: dedicated processing). If the processing is complete, the dedicated processing unit 32 outputs the processing result in response to the result confirmation from the polling control unit 38. The dedicated processing unit 32 may be implemented as the dedicated software 72 shown in Figure 1, or as the accelerator HW91.
[0027] Then, the target data receiving unit 31 inputs the target data to the dedicated processing unit 32 and then notifies the timing estimation unit 33 of signal characteristic data 41 such as the size of the target data (S15: Signal characteristic data notification).
[0028] The timing estimation unit 33 requests the signal characteristic estimation unit 34, the past processing time acquisition unit 35, or the performance-related acquisition unit 36 to acquire at least one of the information (information 1) to (information 3) provided from the estimation data storage unit 40 (S16: data acquisition request). (Information 1) Signal characteristic data 41 provided via the signal characteristic estimation unit 34. (Information 2) Past processing time data 42 provided via the past processing time acquisition unit 35. The past processing time data 42 is, for example, the most recent processing time read from the log of the dedicated processing unit 32. (Information 3) Performance-related data 43 provided via the performance-related data acquisition unit 36. The performance-related data 43 is performance-related information from the dedicated processing unit 32 and is defined by the input status of other tasks other than the target data, accelerator performance, etc. These (Information 1) to (Information 3) are factors that prolong (delay) the processing time. For example, each can be expressed as a delay level of 10, and the higher the delay level, the longer the processing time.
[0029] The timing estimation unit 33 uses the information (1) to (3) requested in S16 to estimate the processing time of the offloaded dedicated processing unit 32 (for example, the time required to correct errors in the target data) (S31: timing estimation). In other words, the timing estimation unit 33 estimates the processing time for the dedicated processing unit 32 to execute the dedicated processing for the target data that has been offloaded to the dedicated processing unit 32. In S31, the timing estimation unit 33 calculates the processing completion time by adding the estimated processing time, starting from the time the processing was offloaded to the dedicated processing unit 32. For example, the timing estimation unit 33 converts the delay degree into processing time. Alternatively, instead of delay degrees, the raw data acquired by each functional unit may be received and converted into processing time by the timing estimation unit 33. Furthermore, in estimating processing time, weights may be assigned to each of (information 1) to (information 3) and reflected in the conversion to processing time.
[0030] Furthermore, the timing estimation unit 33 outputs the processing completion time of S31 to the polling control unit 38, causing the polling control unit 38 to poll the dedicated processing unit 32 at the processing completion time (S32: polling control). The details of the acquisition process for (Information 1) to (Information 3) (S21-S25) are explained below.
[0031] (Information 1) The signal characteristic estimation unit 34 requests the noise information acquisition unit 37 to acquire noise information (S21: Request for noise information acquisition). Noise information refers to information indicating the noise contained in the input signal of the target data input to the offload source application 71. The signal characteristic estimation unit 34 estimates the delay of the signal characteristic data 41 (S25: signal characteristic estimation) by calculating a function that increases the processing time the greater the amount of noise when the target data was transmitted, based on the noise information obtained from the noise information acquisition unit 37 (S25: signal characteristic estimation). The signal characteristic estimation unit 34 responds to the timing estimation unit 33 with the estimated delay of the signal characteristic data 41.
[0032] The signal characteristic data 41 is the error amount of the target data, calculated based on data such as the size of the target data obtained from the timing estimation unit 33 and the amount of noise obtained from the noise information acquisition unit 37. Alternatively, instead of the signal characteristic estimation unit 34, the timing estimation unit 33 may be used to calculate the error amount of the target data based on data such as the amount of noise. Furthermore, the signal characteristic estimation unit 34 may estimate the error amount of the target data from data acquired during the decoding process by the dedicated processing unit 32.
[0033] The noise information acquisition unit 37, triggered by a notification from the signal characteristic estimation unit 34, acquires information regarding the amount of noise in the input signal from the noise information provision unit 22 (S24b: noise information acquisition) and sends it back to the signal characteristic estimation unit 34. Alternatively, instead of being triggered by a notification from the signal characteristic estimation unit 34, the noise information may be transmitted simultaneously when the target data is transmitted from the target data transmission unit 21 to the target data reception unit 31.
[0034] The noise information provision unit 22 provides the noise amount of the communication means used to transmit the target data to the noise information acquisition unit 37 as a numerical value (S24a: Noise information provision). The noise amount is the average over a recent period of time. Alternatively, the noise information provision unit 22 may receive a past time as input and respond with the noise amount for that time that has been recorded. Furthermore, the noise information provision unit 22 may notify a maintenance worker of an alert when the noise amount is high, allowing the worker to identify the cause of radio interference and use the information for maintenance work (optimal placement of communication equipment).
[0035] (Information 2) The past processing time acquisition unit 35 estimates the delay of past processing time data 42 based on input information such as the processing time (past processing time) that the dedicated processing unit 32 required for dedicated processing of past target data (S22: past processing time acquisition). In the estimation process of S22, the past processing time acquisition unit 35 calculates a function in which, for example, the processing time for the current target data increases as the processing time required for past dedicated processing increases. Past processing times may be obtained using statistical information on the processing time from offloading (requesting) to response (answering) in the dedicated processing unit 32.
[0036] The past processing time acquisition unit 35 responds to the timing estimation unit 33 with past processing time data 42 (and its delay level). The input information may include not only past processing time from the dedicated processing unit 32, but also relationship information between that past processing time and the data size. Alternatively, instead of the past processing time acquisition unit 35, the polling control unit 38 may respond to the timing estimation unit 33 with past processing times that it has previously recorded. Furthermore, the past processing time acquisition unit 35 may not have a function to estimate the degree of delay, and may directly send a list of past processing times corresponding to the data size to the timing estimation unit 33.
[0037] (Information 3) The performance-related data acquisition unit 36 calculates the performance-related data 43 (and its delay) based on the current workload of the dedicated processing unit 32 (the workload of tasks other than the task for the target data expected this time) (S23: Performance-related data acquisition). In the calculation process of S23, the performance-related data acquisition unit 36 calculates a function in which, for example, the processing time for the target data increases as the current workload of the dedicated processing unit 32, other than the offloaded dedicated processing, increases. The performance-related data acquisition unit 36 responds to the timing estimation unit 33 with performance-related data 43 (and its delay). Alternatively, the performance-related data acquisition unit 36 may not have a function to estimate the delay, and may directly send the task amount of the dedicated processing unit 32 to the timing estimation unit 33.
[0038] The polling control unit 38 controls the dedicated processing unit 32 to query the polling result based on the processing completion time (timing) of the dedicated processing unit 32 received from the timing estimation unit 33. In other words, the polling control unit 38 waits to execute a polling process to request the result of the dedicated processing from the dedicated processing unit 32 until the estimated processing time has elapsed. When the estimated processing time has elapsed, the polling control unit 38 executes the polling process to the dedicated processing unit 32.
[0039] Here, the polling control unit 38 changes the CPU 70 of the server 30 to a more power-saving mode (such as sleep mode or suspend mode) than the normal power mode during the waiting time until processing is complete. Then, the polling control unit 38 further reduces power consumption by returning to the normal power mode after the waiting time has elapsed. Alternatively, the polling control unit 38 may perform tasks other than polling the target data during the waiting period.
[0040] [effect] The server 30 of the present invention includes a timing estimation unit 33 that estimates the processing time for the dedicated processing unit 32 to execute dedicated processing on the target data that has been offloaded to the dedicated processing unit 32, Until the estimated processing time has elapsed, the system waits for the execution of a polling process to request the result of the dedicated processing from the dedicated processing unit 32. The system is characterized by having a polling control unit 38 that executes a polling process on a dedicated processing unit 32 when an estimated processing time has elapsed.
[0041] This allows for power saving by waiting for the polling process to finish until the dedicated processing unit 32 completes its dedicated processing. Furthermore, real-time performance can be achieved by executing the polling process at an appropriate time after the dedicated processing unit 32 has completed its dedicated processing.
[0042] The present invention is characterized in that the polling control unit 38 changes the server 30 to a power-saving mode from the normal power mode during the period when waiting to execute the polling process, and changes the server 30 back to the normal power mode when executing the polling process.
[0043] This allows for further power savings during standby periods by not only waiting for polling to complete, but also by switching to a power-saving mode.
[0044] The present invention is characterized in that the timing estimation unit 33 estimates the processing time by calculating a function in which the processing time increases as the amount of noise at the time the target data is transmitted increases.
[0045] This improves the accuracy of the estimated processing time by reflecting the amount of noise in the target data, and reduces the number of data acquisition failures due to polling.
[0046] The present invention is characterized in that the timing estimation unit 33 estimates the processing time by calculating a function in which the processing time for the current target data increases as the processing time for past dedicated processing increases.
[0047] This improves the accuracy of the estimated processing time and reduces the number of data acquisition failures due to polling, as the processing time required for past dedicated processes is reflected in the estimated processing time.
[0048] The present invention is characterized in that the timing estimation unit 33 estimates the processing time by calculating a function that increases the processing time of the target data as the amount of other tasks currently performed by the dedicated processing unit 32 (other than the offloaded dedicated processing) increases.
[0049] As a result, the current workload of other tasks in the dedicated processing unit 32 is reflected in the estimated processing time, improving the accuracy of the estimated processing time and reducing the number of failures in data acquisition by polling. [Explanation of Symbols]
[0050] 10 User terminals 11 Data transmission section 20 antennas 21 Target Data Transmission Unit 22 Noise Information Provision Department 25 Communication Servers 30 Server (Polling Control Device) 31 Target data receiving unit 32 Dedicated processing unit (designated processing unit) 33 Timing Estimation Unit (Processing Time Estimation Unit) 34 Signal characteristic estimation unit 35. Past Processing Time Acquisition Unit 36 Performance-related acquisition section 37 Noise Information Acquisition Unit 38 Polling Control Unit 39 Dedicated Information Acquisition Unit 40 Estimation data storage unit 41 Signal Characteristics Data 42. Past processing time data 43 Performance-related data 70 CPU 71 Off-road source applications 72 Dedicated software 80 OS 90 Server Hardware 91 Accelerator HW
Claims
1. A processing time estimation unit calculates a function that increases the processing time as the amount of noise present when the target data is transmitted increases, as a process to estimate the processing time when the predetermined processing unit performs the predetermined processing on the target data that has been offloaded to the predetermined processing unit. Until the estimated processing time has elapsed, the system waits to execute a polling process to request the result of the predetermined processing from the predetermined processing unit. The system is characterized by having a polling control unit that executes the polling process on the predetermined processing unit when the estimated processing time has elapsed. Polling control device.
2. A processing time estimation unit calculates a function that determines the processing time for the target data to be processed by the predetermined processing unit, which has been offloaded to the current target data. This function calculates a function that increases the processing time for the target data to be processed as the amount of other tasks currently performed by the predetermined processing unit, other than the offloaded predetermined processing to be processed, increases. Until the estimated processing time has elapsed, the system waits to execute a polling process to request the result of the predetermined processing from the predetermined processing unit. The system is characterized by having a polling control unit that executes the polling process on the predetermined processing unit when the estimated processing time has elapsed. Polling control device.
3. The polling control unit is characterized in that, during the period when waiting to execute the polling process, the polling control device is changed to a power-saving mode from the normal power mode, and when executing the polling process, the polling control device is changed back to the normal power mode. A polling control device according to claim 1 or claim 2.
4. A polling control system comprising a polling control device according to any one of claims 1 to 3 and a user terminal, The user terminal is characterized by transmitting the target data to the polling control device. Polling control system.
5. The polling control device has a processing time estimation unit and a polling control unit. The processing time estimation unit calculates a function that increases the processing time as the amount of noise present when the target data is transmitted increases, as it estimates the processing time for the predetermined processing unit to perform the predetermined processing on the target data that has been offloaded to the predetermined processing unit. The polling control unit, Until the estimated processing time has elapsed, the system waits to execute a polling process to request the result of the predetermined processing from the predetermined processing unit. The system is characterized by having a polling control unit that executes the polling process on the predetermined processing unit when the estimated processing time has elapsed. Polling control method.
6. The polling control device has a processing time estimation unit and a polling control unit. The processing time estimation unit calculates a function that, as a process to estimate the processing time for the predetermined processing unit to perform the predetermined processing on the target data that has been offloaded to the predetermined processing unit, increases the processing time for the target data as the amount of other tasks currently performed by the predetermined processing unit other than the predetermined processing that has been offloaded increases. The polling control unit, Until the estimated processing time has elapsed, the system waits to execute a polling process to request the result of the predetermined processing from the predetermined processing unit. The system is characterized by having a polling control unit that executes the polling process on the predetermined processing unit when the estimated processing time has elapsed. Polling control method.
7. A polling control program for causing a computer to function as a polling control device according to any one of claims 1 to 3.
Citation Information
Patent Citations
Printing control system, printing control method, information processing device, and printing control program
JP2013089075A
Vehicle communication device and vehicle communication system
JP2017169105A
Input / output completion detecting system
WO2008126138A1