The present invention relates to a polling control device, a polling control system, a polling control method, and a polling control program.
For the purpose of flexible operation of facilities and reduction in hardware cost, a technique for implementing signal processing as software on a general-purpose server is spreading in a virtual radio access network (vRAN) or the like. In the implementation of signal processing as software, in particular, error correction code processing such as forward error correction (FEC) among the signal processing is offloaded to a dedicated processing unit mounted on the general-purpose server.
The server 30z includes a CPU 70z, an OS 80z, and a server HW 90z.
The CPU 70z operates an offload source application 71z and dedicated software 72z that executes error correction code processing on the OS 80z. In addition, an accelerator (ACC) HW 91z that executes the error correction code processing is mounted as the server hardware (HW) 90z.
The offload source application 71z offloads the error correction code processing to a dedicated processing unit (the dedicated software 72z or the accelerator HW 91z) and obtains a processing result.
Non Patent Literature 1 describes that one of a “result reception technique by polling” and a “result reception technique by interrupt processing” is used as a method by which the offload source application 71z receives the processing result from the dedicated processing unit.
The offload source application 71z continues to transmit a polling inquiry signal to the dedicated processing unit many times (illustrated by arrows). In response to the inquiry signal, the dedicated processing unit promptly returns the processing result to the offload source application 71z when the processing result is generated.
As a result, the time from the processing completion in the dedicated processing unit as an offload destination to the completion detection by the offload source application 71z is shortened, and real-time property can be secured.
The processing result from the dedicated processing unit is returned to the offload source application 71z only once by an interrupt signal (illustrated by arrows).
As a result, the CPU 70z that operates the offload source application 71z does not need to apply a load for constantly monitoring the dedicated processing unit unlike polling in
The polling method in
Therefore, a main object of the present invention is to provide an offload processing result acquiring method that achieves both real-time property and power saving.
In order to solve the above problems, a polling control device of the present invention has the following features.
The present invention is characterized in including: a processing time estimation unit that estimates a processing time during which a predetermined processing unit executes predetermined processing on current target data offloaded to the predetermined processing unit; and
According to the present invention, it is possible to provide an offload processing result acquiring method that achieves both real-time property and power saving.
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
The polling control system is configured such that a server (polling control device) 30 including a CPU 70 and a server HW 90 is connected to a user terminal 10 in
In order to achieve both real-time property and power saving, the server 30 executes the following (procedure 1) to (procedure 3).
(Procedure 1) A timing estimation unit (processing time estimation unit) 33 estimates, before offloading, a processing time required for dedicated processing (predetermined processing) to be offloaded such as error correction (time during which a dedicated processing unit (predetermined processing unit) 32 executes error correction code processing) with respect to target data on which the dedicated processing is performed. Note that an accelerator HW 91 or dedicated software 72 in
(Procedure 2) An offload source application 71 offloads the processing on the target data received as an input signal from the user terminal 10 in
(Procedure 3) After the elapse of the estimated processing time, the polling control unit 38 executes polling for obtaining a processing result of the target data from the offload destination (solid arrows). As a result, polling is executed at an appropriate timing when the offload destination is estimated to have prepared the processing result of the target data, so that the real-time property can be achieved.
Here, the higher the accuracy of estimating the processing time required for offloading in (Procedure 1), the better both the real-time property and the power saving can be achieved. Therefore, the timing estimation unit 33 refers to each piece of information of 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 information used for estimation processing by the timing estimation unit 33.
The signal characteristic data 41 is provided to the timing estimation unit 33 via a signal characteristic estimation unit 34.
The past processing time data 42 and the performance-related data 43 are provided to the timing estimation unit 33 via a dedicated information acquisition unit 39 that acquires information (dedicated information) affecting the processing time of the dedicated processing unit 32.
For example, 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 in (Procedure 1). In general, the larger the size, the longer the processing time.
Alternatively, the timing estimation unit 33 may estimate the processing time with reference to the amount of noise of the target data included in the signal characteristic data 41 in (Procedure 1). The noise is an unintended data error (garble) of the target data due to a radio wave defect. Causes of generation of noise include interference with other wireless signals or electromagnetic waves in a wireless section in which the target data is transmitted and the like.
Note that, in decoding processing of an error correction code, it is necessary to execute more iteration processing (iterations) based on a probability propagation model as the amount of noise included in the target data is larger. The error correction code is, for example, a low-density parity-check (LDPC) code, a Turbo code, or the like. Therefore, the larger the amount of noise, the longer the processing time.
Incidentally, processing in which the timing estimation unit 33 estimates the processing time using the past processing time data 42 and the performance-related data 43 will be described later with reference to
The server 30 is configured as a computer 900 including a CPU 901, a RAM 902, a ROM 903, an HDD 904, a communication I/F 905, an input/output I/F 906, and a media I/F 907.
The communication I/F 905 is connected to an external communication device 915. The input/output I/F 906 is connected to an input/output device 916. The media I/F 907 reads and writes data from and to a recording medium 917. Furthermore, the CPU 901 controls each processing unit by executing a program (also referred to as an application or an app for abbreviation thereof) read into the RAM 902. In addition, the program can be distributed via a communication line or distributed by being recorded in the recording medium 917 such as a CD-ROM.
Hereinafter, each component in
The user terminal 10 includes a data transmission unit 11.
The data transmission unit 11 transmits target data generated in the user terminal 10 to a target data transmission unit 21 of an antenna 20 via a wireless communication means (S11: data transmission). A communication path between the data transmission unit 11 and the target data transmission unit 21 may use wired data transmission instead of wireless data transmission. Note that, in the transmission processing of S11, noise may be generated and the target data may be damaged.
The antenna 20 is a wireless communication module mounted on the server 30 side. The antenna 20 transmits and receives radio waves for data communication and can measure the amount of noise of the radio waves.
The target data transmission unit 21 processes a part of the target data received from the data transmission unit 11 via the communication path, and transmits the processed part to a target data reception unit 31 via a communication path (S12: target data transmission). The communication path between the target data transmission unit 21 and the target data reception unit 31 may use wired data transmission instead of wireless data transmission. Furthermore, the antenna 20 (target data transmission unit 21) may be provided outside the server 30 or may be incorporated.
Alternatively, as illustrated in
The server 30 includes the target data reception unit 31, the dedicated processing unit 32, the timing estimation unit 33, the 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 the polling control unit 38.
Note that the dedicated information acquisition unit 39 in
The target data reception unit 31 receives the target data from the target data transmission unit 21 (S13: target data reception). After the target data is converted into a format in which the dedicated processing unit 32 can perform signal processing, the dedicated processing unit 32 is requested to perform dedicated processing (dedicated processing is offloaded).
That is, the offload source application 71 in
Note that data input/output between the target data reception unit 31 and the dedicated processing unit 32 may be via a network. That is, the dedicated processing unit 32 may be mounted in a housing different from the server 30. Furthermore, in an interface between the target data reception unit 31 and the dedicated processing unit 32, the forms of a function name and an argument may be the same as those of an existing API such that existing signal processing software can be used as it is.
The dedicated processing unit 32 performs dedicated processing on the basis of the target data input from the target data reception unit 31 (S14: dedicated processing). In a case where the processing has been completed, the dedicated processing unit 32 outputs a processing result in response to a result confirmation from the polling control unit 38.
The dedicated processing unit 32 may be implemented as the dedicated software 72 in
After inputting the target data to the dedicated processing unit 32, the target data reception unit 31 notifies the timing estimation unit 33 of the signal characteristic data 41 such as the size of the target data (S15: signal characteristic data notification).
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 (information 1) to (information 3) provided from the estimation data storage unit 40 (S16: data acquisition request).
(Information 1) The signal characteristic data 41 provided via the signal characteristic estimation unit 34.
(Information 2) The past processing time data 42 provided via the past processing time acquisition unit 35. The past processing time data 42 is, for example, the latest processing time read from logs of the dedicated processing unit 32.
(Information 3) The performance-related data 43 provided via the performance-related acquisition unit 36. The performance-related data 43 is performance-related information of the dedicated processing unit 32, and is defined by the input status of other tasks other than the target data, accelerator performance, and the like.
These (information 1) to (information 3) are information that causes prolongation (delay) of a processing time, and are expressed as, for example, degrees of delay in 10 stages or the like, and the larger the numerical value of a degree of delay, the longer the processing time.
The timing estimation unit 33 estimates the processing time (for example, the time required for error correction of the target data) of the dedicated processing unit 32 to which the dedicated processing is offloaded, using (information 1) to (information 3) requested in S16 (S31: timing estimation). That is, the timing estimation unit 33 estimates the processing time during which the dedicated processing unit 32 executes the dedicated processing on the current target data offloaded to the dedicated processing unit 32.
In S31, the timing estimation unit 33 calculates the processing completion time as a result of elapse (addition) of the estimated processing time from the time at which the dedicated processing is offloaded to the dedicated processing unit 32 as a starting point.
For example, the timing estimation unit 33 converts a degree of delay into the processing time. Note that each piece of information does not have to be a degree of delay, and original data acquired by each functional unit may be received and converted into the processing time by the timing estimation unit 33. Furthermore, in the estimation of the processing time, weighting may be performed on each of (information 1) to (information 3), and the weighted information may be reflected in conversion into the processing time.
Furthermore, the timing estimation unit 33 outputs the processing completion time of S31 to the polling control unit 38 to cause the polling control unit 38 to poll the dedicated processing unit 32 at the processing completion time (S32: polling control).
Details (S21 to S25) of the processing of acquiring (information 1) to (information 3) will be described below.
(Information 1) The signal characteristic estimation unit 34 requests the noise information acquisition unit 37 to acquire noise information (S21: noise information acquisition request). The noise information is information indicating noise included in the input signal of the target data input to the offload source application 71.
On the basis of the noise information obtained from the noise information acquisition unit 37, the signal characteristic estimation unit 34 estimates (the degree of delay of) the signal characteristic data 41, for example, by calculating a function in which the processing time becomes longer as the amount of noise when the current target data is transmitted is larger (S25: signal characteristic estimation). The signal characteristic estimation unit 34 responds to the timing estimation unit 33 with (the degree of delay of) the estimated signal characteristic data 41.
The signal characteristic data 41 is, for example, the amount of errors of the target data calculated on the basis of the 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.
Note that, instead of the signal characteristic estimation unit 34, the timing estimation unit 33 may be caused to calculate the amount of errors of the target data on the basis of the data such as the amount of noise. Furthermore, the signal characteristic estimation unit 34 may estimate the amount of errors of the target data from data acquired in decoding processing by the dedicated processing unit 32.
The noise information acquisition unit 37 acquires information regarding the amount of noise of the input signal from a noise information providing unit 22 with the notification from the signal characteristic estimation unit 34 as a trigger (S24b: noise information acquisition), and returns the information to the signal characteristic estimation unit 34. Alternatively, instead of using the notification from the signal characteristic estimation unit 34 as a trigger, 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.
The noise information providing unit 22 provides the noise information acquisition unit 37 with the amount of noise of the communication means used to transmit the target data as a number (S24a: noise information provision). The noise information providing unit 22 responds with an average of the amount of noise over the latest fixed period of time. Alternatively, the noise information providing unit 22 may receive a past time as an input and respond with the recorded amount of noise at the time. Furthermore, the noise information providing unit 22 may be used for maintenance work (optimum arrangement of communication facilities). For example, the noise information providing unit 22 may notify a maintenance person of an alert in a case where the amount of noise is large, thereby identifying a cause of radio wave interference.
(Information 2) The past processing time acquisition unit 35 estimates (the degree of delay of) the past processing time data 42 on the basis of input information such as a processing time (past processing time) required for the dedicated processing unit 32 to perform dedicated processing on past target data (S22: past processing time acquisition). In the estimation processing of S22, for example, the past processing time acquisition unit 35 calculates a function in which the processing time of the current target data becomes longer as the processing time required for the past dedicated processing is longer.
The past processing time may be acquired by use of statistical information of processing time from offloading (request) of processing to a response (response) in the dedicated processing unit 32.
The past processing time acquisition unit 35 responds to the timing estimation unit 33 with (the degree of delay of) the past processing time data 42. The input information may include, in addition to the past processing time from the dedicated processing unit 32, relationship information between the 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 the past processing time recorded in the past. Furthermore, the past processing time acquisition unit 35 may not have the function of estimating the degree of delay, and a past processing time list according to the data size may be directly sent to the timing estimation unit 33.
(Information 3) The performance-related acquisition unit 36 calculates (the degree of delay of) the performance-related data 43 on the basis of the amount of current other tasks of the dedicated processing unit 32 (the input status of tasks other than the task of the target data predicted this time) (S23: performance-related data acquisition). In the calculation processing of S23, for example, the performance-related acquisition unit 36 calculates a function in which the processing time of the current target data becomes longer as the amount of current other tasks of the dedicated processing unit 32 other than the offloaded current dedicated processing is larger.
The performance-related acquisition unit 36 responds to the timing estimation unit 33 with (the degree of delay of) the performance-related data 43. Alternatively, the performance-related acquisition unit 36 may not have the function of estimating the degree of delay, and the amount of tasks of the dedicated processing unit 32 may be directly sent to the timing estimation unit 33.
The polling control unit 38 performs control to make an inquiry about a result of polling to the dedicated processing unit 32 on the basis of the processing completion time (timing) of the dedicated processing unit 32 received from the timing estimation unit 33.
That is, the polling control unit 38 waits for execution of the polling processing for requesting the dedicated processing unit 32 to transmit an execution result of the dedicated processing until the estimated processing time elapses. The polling control unit 38 executes the polling processing on the dedicated processing unit 32 when the estimated processing time has elapsed.
Here, the polling control unit 38 changes the CPU 70 of the server 30 to a mode (sleep mode, suspend mode, or the like) that saves more power than a normal power mode in the waiting time until the processing completion time. The polling control unit 38 then returns to the normal power mode when the waiting time elapses, and thus can achieve further power saving.
Alternatively, the polling control unit 38 may cause another task other than the polling of the target data to be executed during the waiting time.
The server 30 of the present invention is characterized in including: the timing estimation unit 33 that estimates a processing time during which the dedicated processing unit 32 executes dedicated processing on current target data offloaded to the dedicated processing unit 32; and
As a result, the polling processing is waited for until the dedicated processing unit 32 completes the dedicated processing, so that power saving can be achieved. In addition, the polling processing is executed at an appropriate timing when the dedicated processing unit 32 completes the dedicated processing, so that real-time property can be achieved.
The present invention is characterized in that the polling control unit 38 changes the server 30 to a mode that saves more power than a normal power mode during a period in which execution of the polling processing is waited for, and changes the server 30 to the normal power mode when the polling processing is executed.
As a result, not only waiting for the polling processing but also changing to the power saving mode makes it possible to achieve further power saving in the waiting period.
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 becomes longer as the amount of noise when the current target data is transmitted is larger.
As a result, the amount of noise included in the target data is reflected in the processing time to be estimated, so that the accuracy of the processing time to be estimated is improved, and the number of failures in data acquisition by polling is reduced.
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 of the current target data becomes longer as a processing time required for past dedicated processing is longer.
As a result, the processing time required for the past dedicated processing is reflected in the processing time to be estimated, so that the accuracy of the processing time to be estimated is improved, and the number of failures in data acquisition by polling is reduced.
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 of the current target data becomes longer as the amount of current other tasks of the dedicated processing unit 32 other than the offloaded current dedicated processing is larger.
As a result, the amount of current other tasks of the dedicated processing unit 32 is reflected in the processing time to be estimated, so that the accuracy of the processing time to be estimated is improved, and the number of failures in data acquisition by polling is reduced.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2022/004814 | 2/8/2022 | WO |