WO2023152787A1 - ポーリング制御装置、ポーリング制御システム、ポーリング制御方法、および、ポーリング制御プログラム - Google Patents

ポーリング制御装置、ポーリング制御システム、ポーリング制御方法、および、ポーリング制御プログラム Download PDF

Info

Publication number
WO2023152787A1
WO2023152787A1 PCT/JP2022/004814 JP2022004814W WO2023152787A1 WO 2023152787 A1 WO2023152787 A1 WO 2023152787A1 JP 2022004814 W JP2022004814 W JP 2022004814W WO 2023152787 A1 WO2023152787 A1 WO 2023152787A1
Authority
WO
WIPO (PCT)
Prior art keywords
polling
unit
processing time
processing
polling control
Prior art date
Application number
PCT/JP2022/004814
Other languages
English (en)
French (fr)
Inventor
奨悟 斎藤
圭 藤本
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/004814 priority Critical patent/WO2023152787A1/ja
Publication of WO2023152787A1 publication Critical patent/WO2023152787A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead

Definitions

  • the present invention relates to a polling control device, a polling control system, a polling control method, and a polling control program.
  • signal processing especially error correction code processing such as forward error correction (FEC), is offloaded to a dedicated processing unit installed in a general-purpose server.
  • FEC forward error correction
  • FIG. 5 is a configuration diagram of the server 30z that executes offloading.
  • the server 30z has a CPU 70z, an OS 80z, and a server HW 90z.
  • the CPU 70z operates an offload source application 71z and dedicated software 72z for executing error correction code processing on the OS 80z.
  • an accelerator (ACC) HW 91z for executing error correction code processing is installed.
  • the offload source application 71z offloads error correcting code processing to a dedicated processing unit (dedicated software 72z or accelerator HW 91z) and obtains the processing result.
  • Non-Patent Document 1 as a method for the offload source application 71z to receive the processing result from the dedicated processing unit, either "result reception technique by polling” or “result reception technique by interrupt processing” is used. It is stated that the use of
  • FIG. 6 is an explanatory diagram of the case of acquiring offload processing results by polling.
  • the offload source application 71z continues to send polling inquiry signals to the dedicated processing unit (illustrated by arrows). After generating the processing result, the dedicated processing unit receives the inquiry signal and promptly returns the processing result to the offload source application 71z. As a result, the time from the completion of processing in the offload destination dedicated processing unit to the completion detection by the offload source application 71z is shortened, and real-time performance can be ensured.
  • FIG. 7 is an explanatory diagram of a case where the offload processing result is acquired by an interrupt.
  • the offload source application 71z receives the processing result from the dedicated processing unit only once by means of an interrupt signal (indicated by an arrow). As a result, the CPU 70z that runs the offload source application 71z does not need to constantly monitor the dedicated processing unit such as polling in FIG. 6, so power is saved.
  • the polling method in Figure 6 has excellent real-time performance, but the polling (busypoll) that consumes 100% of the CPU causes a high load.
  • the interrupt method of FIG. 7 is power saving, but there is an overhead when the CPU 70z detects interrupt processing, and does not satisfy real-time performance.
  • the main object of the present invention is to provide a method for acquiring offload processing results that achieves both real-time performance and power saving.
  • the polling control device of the present invention has the following features.
  • the present invention provides a processing time estimating unit for estimating a processing time for the predetermined processing unit to execute a predetermined process on current target data offloaded to a predetermined processing unit; waiting until the estimated processing time elapses before executing a polling process for requesting the execution result of the predetermined process from the predetermined processing unit; and a polling control unit that executes the polling process on the predetermined processing unit when the estimated processing time has elapsed.
  • FIG. 1 is a schematic diagram of a polling control system according to this embodiment;
  • FIG. It is a hardware block diagram of the server regarding this embodiment.
  • 1 is a detailed configuration diagram of a polling control system related to this embodiment;
  • FIG. 4 is a sequence diagram showing the operation of the polling control system according to the embodiment;
  • FIG. FIG. 4 is a configuration diagram of a server that executes offloading;
  • FIG. 10 is an explanatory diagram of a case of acquiring an offload processing result by polling;
  • FIG. 11 is an explanatory diagram of a case where an offload processing result is acquired by an interrupt;
  • FIG. 4 is a configuration diagram when an antenna is mounted on a communication server independent of the server according to the present embodiment;
  • FIG. 1 is a schematic diagram of a polling control system.
  • the polling control system is configured by connecting a server (polling control device) 30 having a CPU 70 and a server HW 90 to the user terminal 10 of FIG. 3 via a network.
  • the server 30 incorporates or is accessiblely connected to the estimation data storage unit 40 .
  • the server 30 executes the following (Procedure 1) to (Procedure 3).
  • the timing estimating unit (processing time estimating unit) 33 calculates the processing time (dedicated processing unit ( The time for the predetermined processing unit 32 to execute error correction code processing is estimated before offloading.
  • Accelerator HW 91 or dedicated software 72 in FIG. 1 corresponds to dedicated processing unit 32 in FIG.
  • the offload source application 71 offloads the processing of the target data received from the user terminal 10 of FIG. 3 as an input signal to the offload destination such as the accelerator HW 91 or the dedicated software 72 (broken line arrow).
  • the polling control unit 38 performs control to wait (stop polling) the execution of the polling process for the processing time estimated in (procedure 1). As a result, the polling processing load can be reduced, and power saving can be achieved.
  • the polling control unit 38 executes polling to obtain the processing result of the target data from the offload destination (solid line arrow). As a result, real-time performance can be achieved by executing polling at an appropriate timing when it is estimated that the offload destination has prepared the processing result of the target data.
  • the timing estimator 33 refers to each piece of information in the estimation data storage 40 (signal characteristic data 41, past processing time data 42, 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 estimator 33 via the signal characteristic estimator 34 .
  • the past processing time data 42 and the performance-related data 43 are provided to the timing estimating section 33 via the dedicated information acquisition section 39 that acquires information (dedicated information) that affects the processing time of the dedicated processing section 32 .
  • the timing estimator 33 refers to the size of the target data included in the signal characteristic data 41 provided via the signal characteristic estimator 34 in (procedure 1). In general, the larger the size, the longer the processing time.
  • the timing estimator 33 may refer to the noise amount of the target data included in the signal characteristic data 41 in (procedure 1) to estimate the processing time.
  • Noise is an unintended data error (garbage) of target data caused by poor radio waves.
  • causes of noise generation include other radio signals in the radio section through which the target data is transmitted, interference with electromagnetic waves, and the like.
  • the error correction code is, for example, a low-density parity-check code (LDPC) or Turbo code. Therefore, the larger the amount of noise, the longer the processing time.
  • LDPC low-density parity-check code
  • FIG. 2 is a hardware configuration diagram of the server 30.
  • Server 30 is configured as computer 900 having CPU 901 , RAM 902 , ROM 903 , HDD 904 , communication I/F 905 , input/output I/F 906 and media I/F 907 .
  • Communication I/F 905 is connected to an external communication device 915 .
  • Input/output I/F 906 is connected to input/output device 916 .
  • a media I/F 907 reads and writes data from a recording medium 917 .
  • the CPU 901 controls each processing unit by executing a program (also called an application or an app for short) read into the RAM 902 . This program can be distributed via a communication line or recorded on a recording medium 917 such as a CD-ROM for distribution.
  • a program also called an application or an app for short
  • FIG. 3 is a detailed block diagram of the polling control system.
  • FIG. 4 is a sequence diagram showing the operation of the polling control system.
  • FIG. 3 and FIG. 8 described later will be described in detail while appropriately referring to FIG.
  • the user terminal 10 has a data transmission section 11 .
  • the data transmission unit 11 transmits the target data generated in the user terminal 10 to the target data transmission unit 21 of the antenna 20 via wireless communication means (S11: data transmission).
  • S11 data transmission
  • the communication path between the data transmission unit 11 and the target data transmission unit 21 may be wired data transmission instead of wireless. In the transmission process of S11, noise may occur and target data may be damaged.
  • the antenna 20 is a wireless communication module mounted on the server 30 side.
  • the antenna 20 can transmit and receive radio waves for data communication and measure the amount of noise in the radio waves.
  • the target data transmission unit 21 processes part of the target data received from the data transmission unit 11 via the communication path, and transmits the target data to the target data reception unit 31 via the communication path (S12: target data transmission).
  • the communication path between the target data transmitter 21 and the target data receiver 31 may be wired data transmission instead of wireless.
  • the antenna 20 (target data transmission unit 21) may be provided externally to the server 30 or may be incorporated therein. Alternatively, as shown in FIG.
  • the antenna 20 may be installed in a (independent) communication server 25 which is a device different from the server 30 and the user terminal 10, and the communication server 25 and the server 30 may be connected by wire. . This makes it compatible with the fifth generation (5G) mobile phone communication standard.
  • 5G fifth generation
  • the server 30 includes a target data receiving unit 31, a dedicated processing unit 32, a timing estimating unit 33, a signal characteristics estimating unit 34, a past processing time acquiring unit 35, a performance related acquiring unit 36, and a noise information acquiring unit 37. , and a polling control unit 38 . 1 is embodied as the past processing time acquisition unit 35 and the performance-related acquisition unit 36 in FIG.
  • the target data receiving unit 31 receives target data from the target data transmitting unit 21 (S13: target data reception). Then, after the dedicated processing unit 32 converts the signal into a format that can be processed, the dedicated processing is requested (offloaded) to the dedicated processing unit 32 .
  • the offload source application 71 in FIG. 1 corresponds to the target data receiving unit 31 in FIG.
  • the offload source application 71 may include the data transmission unit 11 , the target data transmission unit 21 , and the target data reception unit 31 .
  • Data input/output between the target data receiving unit 31 and the dedicated processing unit 32 may be performed via a network. That is, the dedicated processing unit 32 may be mounted in a housing different from that of the server 30 .
  • the existing signal processing software can be used as it is, so that the interface with the dedicated processing unit 32 may match the existing API and the format of function names and arguments.
  • the dedicated processing unit 32 performs dedicated processing based on the target data input from the target data receiving unit 31 (S14: dedicated processing).
  • the dedicated processing unit 32 outputs the processing result when the processing is completed 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 in FIG. 1 or may be implemented as the accelerator HW 91 .
  • the target data receiving section 31 After inputting the target data to the dedicated processing section 32, the target data receiving section 31 notifies the timing estimating section 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 acquires at least one of information (information 1) to (information 3) provided from the estimation data storage unit 40 by the signal characteristics estimation unit 34, the past processing time acquisition unit 35, or , the performance-related acquisition unit 36 (S16: data acquisition request).
  • Information 1 Signal characteristic data 41 provided via the signal characteristic estimator 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 acquisition unit 36 .
  • the performance-related data 43 is performance-related information of the dedicated processing unit 32, and is defined by input status of tasks other than the target data, accelerator performance, and the like.
  • the timing estimation unit 33 uses the (information 1) to (information 3) requested in S16 to estimate the processing time of the offloaded dedicated processing unit 32 (for example, the time required for error correction of the target data) (S31 : timing estimation). That is, the timing estimation unit 33 estimates the processing time required for the dedicated processing unit 32 to execute the dedicated processing for the current target data offloaded to the dedicated processing unit 32 . In S ⁇ b>31 , the timing estimating unit 33 calculates the processing completion time after the estimated processing time has elapsed (added) starting from the time when the processing was offloaded to the dedicated processing unit 32 . For example, the timing estimation unit 33 converts the degree of delay into processing time.
  • Each piece of information may be obtained by receiving original data obtained by each functional unit instead of the degree of delay, and may be converted into processing time by the timing estimating unit 33 . Further, in estimating the processing time, each of (information 1) to (information 3) may be weighted and reflected in the conversion to the processing time.
  • the timing estimation unit 33 outputs the processing completion time of S31 to the polling control unit 38, thereby causing the polling control unit 38 to poll the dedicated processing unit 32 at the processing completion time (S32: polling control).
  • S21-S25 The details (S21-S25) of the acquisition processing of (information 1) to (information 3) will be described below.
  • 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 .
  • the signal characteristic estimation unit 34 calculates, for example, a function that increases the processing time as the amount of noise when the current target data is transmitted increases.
  • the (degree of delay) of the signal characteristic data 41 is estimated (S25: signal characteristic estimation).
  • the signal characteristic estimator 34 responds to the timing estimator 33 with (the degree of delay of) the estimated signal characteristic data 41 .
  • the signal characteristic data 41 is, for example, 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 noise amount obtained from the noise information acquisition unit 37 .
  • the timing estimator 33 may be caused to calculate the amount of error in the target data based on data such as the amount of noise.
  • the signal characteristic estimation unit 34 may estimate the error amount of the target data from the data acquired in the decoding process by the dedicated processing unit 32 .
  • the noise information acquiring unit 37 acquires information about the amount of noise in the input signal from the noise information providing unit 22 (S24b: noise information acquisition), and returns it to the signal characteristic estimating unit 34. do.
  • the noise information may be transmitted at the same time when the target data is transmitted from the target data transmitting section 21 to the target data receiving section 31 .
  • the noise information providing unit 22 provides the noise amount of the communication means used to transmit the target data as a number to the noise information obtaining unit 37 (S24a: provide noise information).
  • the amount of noise responds with the average over the most recent fixed time period.
  • the noise information providing unit 22 may receive a past time as an input and respond with the recorded amount of noise at that time.
  • the noise information providing unit 22 may be used for maintenance work (optimal placement of communication equipment), such as identifying the cause of radio wave interference, by notifying the maintenance person of an alert when the amount of noise is large.
  • the past processing time acquisition unit 35 acquires past processing time data 42 ( delay) is estimated (S22: Acquire past processing time).
  • the past processing time acquisition unit 35 calculates, for example, a function in which the longer the processing time required for the past dedicated processing, the longer the current processing time of the target data.
  • the past processing time may be acquired using statistical information of the processing time from the offloading (request) of the processing in the dedicated processing unit 32 to the response (response).
  • the past processing time acquiring unit 35 responds to the timing estimating unit 33 with past processing time data 42 (the degree of delay thereof).
  • 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.
  • the polling control unit 38 may respond to the timing estimation unit 33 with the past processing time recorded in the past.
  • the past processing time acquisition unit 35 may not have the function of estimating the degree of delay, and a list of past processing times corresponding to the data size may be directly sent to the timing estimation unit 33 .
  • the performance-related acquisition unit 36 acquires (the degree of delay of) the performance-related data 43 based on the current amount of other tasks in the dedicated processing unit 32 (input status of tasks other than the task of the target data predicted this time). is calculated (S23: Acquire performance-related data).
  • the performance-related acquisition unit 36 obtains a function that increases the processing time of the current target data as the amount of other current tasks of the dedicated processing unit 32 other than the current dedicated processing that has been offloaded increases. calculate.
  • the performance-related acquisition unit 36 responds to the timing estimation unit 33 with (the degree of delay of) the performance-related data 43 .
  • the performance-related acquisition unit 36 may not have the function of estimating the degree of delay, and the task amount of the dedicated processing unit 32 may be directly sent to the timing estimation unit 33 .
  • the polling control unit 38 controls the dedicated processing unit 32 to inquire about the result of polling. In other words, the polling control unit 38 waits until the estimated processing time elapses before executing the polling process of requesting the dedicated processing unit 32 for the execution result of the dedicated processing. The polling control unit 38 executes polling processing on the dedicated processing unit 32 when the estimated processing time has elapsed.
  • the polling control unit 38 changes the CPU 70 of the server 30 to a power saving mode (sleep mode, suspend mode, etc.) rather than the normal power mode during the waiting time until the processing completion time.
  • the polling control unit 38 can further save power by returning to the normal power mode after the waiting time has elapsed.
  • the polling control unit 38 may cause tasks other than the polling of the target data to be executed during the waiting time.
  • the server 30 of the present invention includes a timing estimating unit 33 for estimating the processing time required for the dedicated processing unit 32 to execute dedicated processing for current target data offloaded to the dedicated processing unit 32; until the estimated processing time elapses, waits for execution of polling processing for requesting the dedicated processing unit 32 for the execution result of the dedicated processing; and a polling control unit 38 for executing polling processing to the dedicated processing unit 32 when the estimated processing time has elapsed.
  • power saving can be achieved by waiting for the polling process until the dedicated processing unit 32 completes the dedicated process.
  • Real-time processing can be realized by executing the polling process at an appropriate timing when the dedicated processing unit 32 completes the dedicated processing.
  • the polling control unit 38 changes the server 30 to a power saving mode from the normal power mode during the period of waiting for execution of polling processing, and switches the server 30 to the normal power mode when executing the polling processing. is characterized by changing to
  • the present invention is characterized in that the timing estimating unit 33 estimates the processing time by calculating a function that increases the processing time as the amount of noise when the current target data is transmitted increases.
  • the amount of noise contained in the target data is reflected in the estimated processing time, improving the accuracy of the estimated processing time and reducing the number of data acquisition failures by polling.
  • the present invention is characterized in that the timing estimating unit 33 estimates the processing time by calculating a function in which the longer the processing time required for past dedicated processing, the longer the current processing time for target data. .
  • the processing time required for past dedicated processing is reflected in the estimated processing time, improving the accuracy of the estimated processing time and reducing the number of data acquisition failures by polling.
  • the timing estimating unit 33 calculates a function that increases the processing time of the current target data as the amount of other current tasks of the dedicated processing unit 32 other than the offloaded dedicated processing of this time increases. It is characterized by estimating the processing time.
  • the current amount of other tasks of the dedicated processing unit 32 is reflected in the estimated processing time, thereby improving the accuracy of the estimated processing time and reducing the number of data acquisition failures by polling.

Landscapes

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

Abstract

サーバ(30)は、専用処理部(32)にオフロードした今回の対象データに対する専用処理を専用処理部(32)が実行する処理時間を推定するタイミング推定部(33)と、推定した処理時間が経過するまでは、専用処理の実行結果を専用処理部(32)に要求するポーリング処理の実行を待機し、推定した処理時間が経過したときに、ポーリング処理を専用処理部(32)に実行するポーリング制御部(38)とを有する。

Description

ポーリング制御装置、ポーリング制御システム、ポーリング制御方法、および、ポーリング制御プログラム
 本発明は、ポーリング制御装置、ポーリング制御システム、ポーリング制御方法、および、ポーリング制御プログラムに関する。
 設備の柔軟な運用とハードウェアコスト削減を目的に、信号処理を汎用サーバ上のソフトウェアとして実現する技術が、vRAN(virtual Radio Access Network)などで広まりつつある。ソフトウェア化においては、信号処理のうち特に前方誤り訂正(FEC:forward error correction)などの誤り訂正符号処理を、汎用サーバに搭載した専用処理部へオフロードする構成がとられる。
 図5は、オフロードを実行するサーバ30zの構成図である。
 サーバ30zは、CPU70zと、OS80zと、サーバHW90zとを有する。
 CPU70zは、OS80z上で、オフロード元アプリケーション71zと、誤り訂正符号処理を実行する専用ソフトウェア72zとを動作させる。また、サーバHW(hardware)90zとして、誤り訂正符号処理を実行するアクセラレータ(ACC:accelerator)HW91zが搭載されている。
 オフロード元アプリケーション71zは、専用処理部(専用ソフトウェア72zまたはアクセラレータHW91z)に対して、誤り訂正符号処理をオフロードし、その処理結果を得る。
 非特許文献1には、オフロード元アプリケーション71zが専用処理部から処理結果を受信する方法として、「ポーリング(Polling)による結果受信技術」と、「割込処理による結果受信技術」とのいずれかを用いる旨が記載されている。
 図6は、オフロード処理結果をポーリングにより取得する場合の説明図である。
 オフロード元アプリケーション71zは、専用処理部に対して、ポーリングの問い合わせ信号を何度も送信し続ける(矢印で図示)。専用処理部は、処理結果を生成すると、問い合わせ信号を受けて迅速に処理結果をオフロード元アプリケーション71zに返信する。
 これにより、オフロード先の専用処理部での処理完了から、オフロード元アプリケーション71zによる完了検知までの時間が短縮化され、リアルタイム性を確保できる。
 図7は、オフロード処理結果を割込により取得する場合の説明図である。
 オフロード元アプリケーション71zには、専用処理部からの処理結果が、割込信号(矢印で図示)により1回だけ返信される。
 これにより、オフロード元アプリケーション71zを動作させるCPU70zは、図6のポーリングのような専用処理部を常時監視する負荷をかけずに済むので、省電力である。
DPDK(Data Plane Development Kit)、"16. Wireless Baseband Device Library"、[online]、[2022年1月27日検索]、インターネット〈URL:https://doc.dpdk.org/guides/prog_guide/bbdev.html〉
 図6のポーリング方式は、リアルタイム性に優れるが、CPUを100%消費するポーリング(busypoll)により負荷が高い。一方、図7の割込方式は、省電力であるが、割込処理をCPU70zが検知するときにオーバヘッドがあり、リアルタイム性を満たさない。
 そこで、本発明は、リアルタイム性と省電力とを両立するような、オフロード処理結果を取得する方式を提供することを主な課題とする。
 前記課題を解決するために、本発明のポーリング制御装置は、以下の特徴を有する。
 本発明は、所定処理部にオフロードした今回の対象データに対する所定処理を前記所定処理部が実行する処理時間を推定する処理時間推定部と、
 推定した処理時間が経過するまでは、前記所定処理の実行結果を前記所定処理部に要求するポーリング処理の実行を待機し、
 推定した処理時間が経過したときに、前記ポーリング処理を前記所定処理部に実行するポーリング制御部とを有することを特徴とする。
 本発明によれば、リアルタイム性と省電力とを両立するような、オフロード処理結果を取得する方式を提供することができる。
本実施形態に関するポーリング制御システムの概要図である。 本実施形態に関するサーバのハードウェア構成図である。 本実施形態に関するポーリング制御システムの詳細な構成図である。 本実施形態に関するポーリング制御システムの動作を示すシーケンス図である。 オフロードを実行するサーバの構成図である。 オフロード処理結果をポーリングにより取得する場合の説明図である。 オフロード処理結果を割込により取得する場合の説明図である。 本実施形態に関するサーバから独立した通信サーバにアンテナを搭載する場合の構成図である。
 以下、本発明の一実施形態について、図面を参照して詳細に説明する。
 図1は、ポーリング制御システムの概要図である。
 ポーリング制御システムは、CPU70とサーバHW90とを有するサーバ(ポーリング制御装置)30が、図3のユーザ端末10とネットワークで接続されて構成される。また、サーバ30は、推定用データ格納部40を内蔵またはアクセス可能に接続する。
 リアルタイム性と省電力とを両立させるために、サーバ30は、以下の(手順1)~(手順3)を実行する。
 (手順1)タイミング推定部(処理時間推定部)33は、オフロードする対象データの誤り訂正などの専用処理(所定処理)の対象データに対して、専用処理に要する処理時間(専用処理部(所定処理部)32が誤り訂正符号処理を実行する時間)をオフロード前に推定する。なお、図1のアクセラレータHW91または専用ソフトウェア72が図3の専用処理部32に対応する。
 (手順2)オフロード元アプリケーション71は、入力信号として図3のユーザ端末10から受信した対象データの処理を、アクセラレータHW91や専用ソフトウェア72などのオフロード先にオフロードする(破線矢印)。ここで、ポーリング制御部38は、(手順1)で推定した処理時間分だけポーリング処理の実行を待機(ポーリングを停止)するように制御する。これにより、ポーリングの処理負荷を削減でき、省電力を実現できる。
 (手順3)推定した処理時間分の経過後に、ポーリング制御部38は、オフロード先から対象データの処理結果を得るためのポーリングを実行する(実線矢印)。これにより、オフロード先が対象データの処理結果を用意できたと推定される適切なタイミングにポーリングを実行することで、リアルタイム性を実現できる。
 ここで、(手順1)でのオフロードに要する処理時間を推定する精度が高いほど、リアルタイム性と省電力とをより良く両立できる。そのため、タイミング推定部33は、処理時間を高精度に推定するために、推定用データ格納部40(信号特性データ41、過去処理時間データ42、性能関連データ43)の各情報を参照する。推定用データ格納部40は、タイミング推定部33の推定処理に使用される情報を提供する。
 信号特性データ41は、信号特性推定部34を介して、タイミング推定部33に提供される。
 過去処理時間データ42、性能関連データ43は、専用処理部32の処理時間に影響する情報(専用情報)を取得する専用情報取得部39を介して、タイミング推定部33に提供される。
 例えば、タイミング推定部33は、(手順1)において、信号特性推定部34を介して提供される信号特性データ41に含まれる対象データのサイズを参照する。一般的に、サイズが大きいほど、処理時間が長くなる。
 または、タイミング推定部33は、(手順1)において、信号特性データ41に含まれる対象データのノイズ量を参照して、処理時間を推定してもよい。ノイズとは、電波不良に伴う対象データの意図しないデータの誤り(化け)である。ノイズが生み出される原因は、対象データが伝送された無線区間における他の無線信号や、電磁波との干渉などが挙げられる。
 なお、誤り訂正符号のデコード処理は、対象データに含まれるノイズ量が多いほど、確率伝搬モデルに基づいた繰り返し処理(iterations)を多く実行する必要がある。誤り訂正符号は、例えば、低密度パリティ検査符号(LDPC:low-density parity-check code)やTurbo符号などである。よって、ノイズ量が大きいほど、処理時間が長くなる。
 一方、タイミング推定部33が過去処理時間データ42、性能関連データ43を用いて処理時間を推定する処理は、図3、図4の説明で後記する。
 図2は、サーバ30のハードウェア構成図である。
 サーバ30は、CPU901と、RAM902と、ROM903と、HDD904と、通信I/F905と、入出力I/F906と、メディアI/F907とを有するコンピュータ900として構成される。
 通信I/F905は、外部の通信装置915と接続される。入出力I/F906は、入出力装置916と接続される。メディアI/F907は、記録媒体917からデータを読み書きする。さらに、CPU901は、RAM902に読み込んだプログラム(アプリケーションや、その略のアプリとも呼ばれる)を実行することにより、各処理部を制御する。そして、このプログラムは、通信回線を介して配布したり、CD-ROM等の記録媒体917に記録して配布したりすることも可能である。
 図3は、ポーリング制御システムの詳細な構成図である。
 図4は、ポーリング制御システムの動作を示すシーケンス図である。
 以下、図4を適宜参照しつつ、図3および後記する図8の各構成要素を詳細に説明する。
 ユーザ端末10は、データ送信部11を有する。
 データ送信部11は、ユーザ端末10内で生成した対象データを、無線の通信手段を介して、アンテナ20の対象データ送信部21に送信する(S11:データ送信)。データ送信部11と対象データ送信部21との間の通信経路は、無線ではなく、有線のデータ送信でもよい。なお、S11の送信処理において、ノイズが発生し、対象データが損傷することもある。
 アンテナ20は、サーバ30側に搭載される無線通信モジュールである。アンテナ20は、データ通信用の電波を送受信するとともに、その電波のノイズ量を測定可能である。
 対象データ送信部21は、データ送信部11から通信経路経由で受信した対象データの一部を処理し、対象データ受信部31に通信路経由で送信する(S12:対象データ送信)。対象データ送信部21と対象データ受信部31との間の通信経路は、無線ではなく、有線のデータ送信でもよい。また、アンテナ20(対象データ送信部21)は、サーバ30に外設してもよいし、内蔵してもよい。
 または、図8に示すように、アンテナ20は、サーバ30ともユーザ端末10とも異なる装置である(独立した)通信サーバ25に搭載し、通信サーバ25とサーバ30とを有線で接続してもよい。これにより、第5世代(5G)の携帯電話通信規格にも対応できる。
 サーバ30は、対象データ受信部31と、専用処理部32と、タイミング推定部33と、信号特性推定部34と、過去処理時間取得部35と、性能関連取得部36と、ノイズ情報取得部37と、ポーリング制御部38とを有する。
 なお、図1の専用情報取得部39は、図3の過去処理時間取得部35および性能関連取得部36として具体化される。
 対象データ受信部31は、対象データ送信部21から対象データを受信する(S13:対象データ受信)。そして、専用処理部32が信号処理可能な形式に変換してから、専用処理を専用処理部32に依頼(オフロード)する。
 つまり、図1のオフロード元アプリケーション71が図3の対象データ受信部31に対応する。一方、オフロード元アプリケーション71が、データ送信部11と、対象データ送信部21と、対象データ受信部31とを内包するように構成してもよい。
 なお、対象データ受信部31と専用処理部32との間のデータ入出力は、ネットワークを介する形でもよい。すなわち、専用処理部32をサーバ30とは別の筐体に搭載する形でもよい。また、対象データ受信部31については既存の信号処理ソフトウェアをそのまま使用できるよう、専用処理部32とのインタフェースは、既存のAPIと関数名・引数の形式をそろえてもよい。
 専用処理部32は、対象データ受信部31から入力された対象データをもとに、専用処理を行う(S14:専用処理)。専用処理部32は、ポーリング制御部38からの結果確認に対して、処理が完了していた場合には、処理結果を出力する。
 専用処理部32は、図1の専用ソフトウェア72として実装してもよいし、アクセラレータHW91として実装してもよい。
 そして、対象データ受信部31は、対象データを専用処理部32に入力した後、対象データのサイズ等の信号特性データ41をタイミング推定部33に通知する(S15:信号特性データ通知)。
 タイミング推定部33は、推定用データ格納部40から提供される(情報1)~(情報3)のうちの少なくとも1つの情報の取得を、信号特性推定部34、過去処理時間取得部35、または、性能関連取得部36に依頼する(S16:データ取得依頼)。
 (情報1)信号特性推定部34を介して提供される信号特性データ41。
 (情報2)過去処理時間取得部35を介して提供される過去処理時間データ42。過去処理時間データ42は、例えば、専用処理部32のログから読み取った直近の処理時間である。
 (情報3)性能関連取得部36を介して提供される性能関連データ43。性能関連データ43は、専用処理部32の性能関連情報であり、対象データ以外の他タスクの投入状況やアクセラレータ性能等で定義される。
 これらの(情報1)~(情報3)は、処理時間を長期化(遅延)させる要因となる情報であり、例えば、それぞれ10段階等の遅延度として表現され、遅延度の数値が大きいほど処理時間が長くなる。
 タイミング推定部33は、S16で依頼した(情報1)~(情報3)を用いて、オフロードした専用処理部32の処理時間(例えば、対象データの誤り訂正にかかる時間)を推定する(S31:タイミング推定)。つまり、タイミング推定部33は、専用処理部32にオフロードした今回の対象データに対する専用処理を専用処理部32が実行する処理時間を推定する。
 S31では、タイミング推定部33は、専用処理部32にオフロードした時刻を起点として、推定した処理時間だけ経過(加算)した結果の処理完了時刻を計算する。
 例えば、タイミング推定部33は、遅延度を処理時間に変換する。なお、各情報は、遅延度ではなく、各機能部で取得した元データを受信し、タイミング推定部33で処理時間に変換してもよい。また、処理時間の推定では、(情報1)~(情報3)それぞれに重みづけを行い、処理時間への変換に反映する形でもよい。
 さらに、タイミング推定部33は、S31の処理完了時刻をポーリング制御部38に出力することで、処理完了時刻にポーリング制御部38から専用処理部32にポーリングをさせる(S32:ポーリング制御)。
 以下、(情報1)~(情報3)の取得処理の詳細(S21-S25)を説明する。
 (情報1)信号特性推定部34は、ノイズ情報をノイズ情報取得部37に取得するように依頼する(S21:ノイズ情報取得依頼)。ノイズ情報とは、オフロード元アプリケーション71に入力される対象データの入力信号に含まれるノイズを示す情報である。
 信号特性推定部34は、ノイズ情報取得部37から得たノイズ情報をもとに、例えば、今回の対象データが伝送された時のノイズ量が多いほど、処理時間が長くなる関数を計算することで、信号特性データ41(の遅延度)を推定する(S25:信号特性推定)。信号特性推定部34は、推定した信号特性データ41(の遅延度)を、タイミング推定部33に応答する。
 信号特性データ41は、例えば、タイミング推定部33から得られる対象データのサイズや、ノイズ情報取得部37から得られるノイズ量等のデータをもとに計算される対象データの誤り量である。
 なお、信号特性推定部34の代わりに、タイミング推定部33に、ノイズ量等のデータをもとに対象データの誤り量を計算させてもよい。また、信号特性推定部34は、専用処理部32による復号処理において取得されるデータから、対象データの誤り量を推定してもよい。
 ノイズ情報取得部37は、信号特性推定部34からの通知をトリガに、ノイズ情報提供部22から入力信号のノイズ量に関する情報を取得し(S24b:ノイズ情報取得)、信号特性推定部34に返信する。または、信号特性推定部34からの通知をトリガとする代わりに、対象データ送信部21から対象データ受信部31へ対象データを送信する際に、同時にノイズ情報を送信する形でもよい。
 ノイズ情報提供部22は、対象データの送信に使用された通信手段のノイズ量を数字としてノイズ情報取得部37に提供する(S24a:ノイズ情報提供)。ノイズ量は、直近の一定時間の平均を応答する。または、ノイズ情報提供部22は、入力として過去の時刻を受信し、記録しておいた当該時刻のノイズ量を応答してもよい。さらに、ノイズ情報提供部22は、ノイズ量が多い場合に保守者にアラートを通知することで、電波干渉の原因を特定するなど、保守作業(通信設備の最適配置)に利用させてもよい。
 (情報2)過去処理時間取得部35は、専用処理部32が過去の対象データへの専用処理に要した処理時間(過去処理時間)などの入力情報をもとに、過去処理時間データ42(の遅延度)を推定する(S22:過去処理時間取得)。S22の推定処理では、過去処理時間取得部35は、例えば、過去の専用処理に要した処理時間が長いほど、今回の対象データの処理時間が長くなる関数を計算する。
 過去処理時間は、専用処理部32での処理のオフロード(依頼)からレスポンス(応答)までの処理時間の統計情報を利用して、取得してもよい。
 過去処理時間取得部35は、過去処理時間データ42(の遅延度)を、タイミング推定部33に応答する。入力情報は、専用処理部32から過去の処理時間に加え、その過去の処理時間とデータサイズとの関係情報を含めてもよい。
 または、過去処理時間取得部35の代わりに、ポーリング制御部38が、過去に記録しておいた過去処理時間を、タイミング推定部33に応答してもよい。さらに、過去処理時間取得部35には遅延度を推定する機能を持たせず、タイミング推定部33にデータサイズに応じた過去の処理時間一覧を直接送付してもよい。
 (情報3)性能関連取得部36は、専用処理部32の現在の他タスク量(今回予想する対象データのタスク以外のタスクの投入状況)をもとに、性能関連データ43(の遅延度)を計算する(S23:性能関連データ取得)。S23の計算処理では、性能関連取得部36は、例えば、オフロードした今回の専用処理以外の専用処理部32の現在の他タスク量が多いほど、今回の対象データの処理時間が長くなる関数を計算する。
 性能関連取得部36は、性能関連データ43(の遅延度)をタイミング推定部33に応答する。または、性能関連取得部36には遅延度を推定する機能を持たせず、タイミング推定部33に専用処理部32の持つタスク量を直接送付してもよい。
 ポーリング制御部38は、タイミング推定部33から受信した専用処理部32の処理完了時刻(タイミング)をもとに、専用処理部32にポーリングの結果問合せを行うように制御する。
 つまり、ポーリング制御部38は、推定した処理時間が経過するまでは、専用処理の実行結果を専用処理部32に要求するポーリング処理の実行を待機する。ポーリング制御部38は、推定した処理時間が経過したときに、ポーリング処理を専用処理部32に実行する。
 ここで、ポーリング制御部38は、処理完了時刻までの待ち時間に、サーバ30のCPU70を通常の電力モードよりも省電力のモード(スリープモード、サスペンドモードなど)に変更しておく。そして、ポーリング制御部38は、待ち時間が経過したら通常の電力モードに復帰させることで、さらに、省電力化を実現できる。
 または、ポーリング制御部38は、待ち時間においては、対象データのポーリング以外の他のタスクを実行させてもよい。
[効果]
 本発明のサーバ30は、専用処理部32にオフロードした今回の対象データに対する専用処理を専用処理部32が実行する処理時間を推定するタイミング推定部33と、
 推定した処理時間が経過するまでは、専用処理の実行結果を専用処理部32に要求するポーリング処理の実行を待機し、
 推定した処理時間が経過したときに、ポーリング処理を専用処理部32に実行するポーリング制御部38とを有することを特徴とする。
 これにより、専用処理部32が専用処理を完了するまでは、ポーリング処理を待機することで、省電力化が実現できる。また、専用処理部32が専用処理を完了した適切なタイミングでポーリング処理を実行することで、リアルタイム性が実現できる。
 本発明は、ポーリング制御部38が、ポーリング処理の実行を待機する期間ではサーバ30を通常の電力モードよりも省電力のモードに変更し、ポーリング処理を実行するときにサーバ30を通常の電力モードに変更することを特徴とする。
 これにより、ポーリング処理を待機するだけでなく、省電力のモードに変更することで、待機期間のさらなる省電力化が実現できる。
 本発明は、タイミング推定部33が、今回の対象データが伝送された時のノイズ量が多いほど、処理時間が長くなる関数を計算することで、処理時間を推定することを特徴とする。
 これにより、対象データに含まれるノイズ量が推定する処理時間に反映されることで、推定する処理時間の精度が向上し、ポーリングによるデータ取得の失敗回数が減少する。
 本発明は、タイミング推定部33が、過去の専用処理に要した処理時間が長いほど、今回の対象データの処理時間が長くなる関数を計算することで、処理時間を推定することを特徴とする。
 これにより、過去の専用処理に要した処理時間が推定する処理時間に反映されることで、推定する処理時間の精度が向上し、ポーリングによるデータ取得の失敗回数が減少する。
 本発明は、タイミング推定部33が、オフロードした今回の専用処理以外の専用処理部32の現在の他タスク量が多いほど、今回の対象データの処理時間が長くなる関数を計算することで、処理時間を推定することを特徴とする。
 これにより、専用処理部32の現在の他タスク量が推定する処理時間に反映されることで、推定する処理時間の精度が向上し、ポーリングによるデータ取得の失敗回数が減少する。
 10  ユーザ端末
 11  データ送信部
 20  アンテナ
 21  対象データ送信部
 22  ノイズ情報提供部
 25  通信サーバ
 30  サーバ(ポーリング制御装置)
 31  対象データ受信部
 32  専用処理部(所定処理部)
 33  タイミング推定部(処理時間推定部)
 34  信号特性推定部
 35  過去処理時間取得部
 36  性能関連取得部
 37  ノイズ情報取得部
 38  ポーリング制御部
 39  専用情報取得部
 40  推定用データ格納部
 41  信号特性データ
 42  過去処理時間データ
 43  性能関連データ
 70  CPU
 71  オフロード元アプリケーション
 72  専用ソフトウェア
 80  OS
 90  サーバHW
 91  アクセラレータHW

Claims (8)

  1.  所定処理部にオフロードした今回の対象データに対する所定処理を前記所定処理部が実行する処理時間を推定する処理時間推定部と、
     推定した処理時間が経過するまでは、前記所定処理の実行結果を前記所定処理部に要求するポーリング処理の実行を待機し、
     推定した処理時間が経過したときに、前記ポーリング処理を前記所定処理部に実行するポーリング制御部とを有することを特徴とする
     ポーリング制御装置。
  2.  前記ポーリング制御部は、前記ポーリング処理の実行を待機する期間では前記ポーリング制御装置を通常の電力モードよりも省電力のモードに変更し、前記ポーリング処理を実行するときに前記ポーリング制御装置を通常の電力モードに変更することを特徴とする
     請求項1に記載のポーリング制御装置。
  3.  前記処理時間推定部は、前記今回の対象データが伝送された時のノイズ量が多いほど、処理時間が長くなる関数を計算することで、処理時間を推定することを特徴とする
     請求項1に記載のポーリング制御装置。
  4.  前記処理時間推定部は、過去の前記所定処理に要した処理時間が長いほど、前記今回の対象データの処理時間が長くなる関数を計算することで、処理時間を推定することを特徴とする
     請求項1に記載のポーリング制御装置。
  5.  前記処理時間推定部は、オフロードした今回の前記所定処理以外の前記所定処理部の現在の他タスク量が多いほど、前記今回の対象データの処理時間が長くなる関数を計算することで、処理時間を推定することを特徴とする
     請求項1に記載のポーリング制御装置。
  6.  請求項1ないし請求項5のいずれか1項に記載のポーリング制御装置と、ユーザ端末とを有するポーリング制御システムであって、
     前記ユーザ端末は、前記今回の対象データを前記ポーリング制御装置に伝送することを特徴とする
     ポーリング制御システム。
  7.  ポーリング制御装置は、処理時間推定部と、ポーリング制御部とを有しており、
     前記処理時間推定部は、所定処理部にオフロードした今回の対象データに対する所定処理を前記所定処理部が実行する処理時間を推定し、
     前記ポーリング制御部は、
     推定した処理時間が経過するまでは、前記所定処理の実行結果を前記所定処理部に要求するポーリング処理の実行を待機し、
     推定した処理時間が経過したときに、前記ポーリング処理を前記所定処理部に実行するポーリング制御部とを有することを特徴とする
     ポーリング制御方法。
  8.  コンピュータを、請求項1ないし請求項5のいずれか1項に記載のポーリング制御装置として機能させるためのポーリング制御プログラム。
PCT/JP2022/004814 2022-02-08 2022-02-08 ポーリング制御装置、ポーリング制御システム、ポーリング制御方法、および、ポーリング制御プログラム WO2023152787A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/004814 WO2023152787A1 (ja) 2022-02-08 2022-02-08 ポーリング制御装置、ポーリング制御システム、ポーリング制御方法、および、ポーリング制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/004814 WO2023152787A1 (ja) 2022-02-08 2022-02-08 ポーリング制御装置、ポーリング制御システム、ポーリング制御方法、および、ポーリング制御プログラム

Publications (1)

Publication Number Publication Date
WO2023152787A1 true WO2023152787A1 (ja) 2023-08-17

Family

ID=87563778

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/004814 WO2023152787A1 (ja) 2022-02-08 2022-02-08 ポーリング制御装置、ポーリング制御システム、ポーリング制御方法、および、ポーリング制御プログラム

Country Status (1)

Country Link
WO (1) WO2023152787A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008126138A1 (ja) * 2007-03-26 2008-10-23 Fujitsu Limited 入出力完了検出システム
JP2013089075A (ja) * 2011-10-19 2013-05-13 Ricoh Co Ltd 印刷制御システム、印刷制御方法、情報処理装置、及び印刷制御プログラム
JP2017169105A (ja) * 2016-03-17 2017-09-21 マツダ株式会社 車両通信装置及び車両通信システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008126138A1 (ja) * 2007-03-26 2008-10-23 Fujitsu Limited 入出力完了検出システム
JP2013089075A (ja) * 2011-10-19 2013-05-13 Ricoh Co Ltd 印刷制御システム、印刷制御方法、情報処理装置、及び印刷制御プログラム
JP2017169105A (ja) * 2016-03-17 2017-09-21 マツダ株式会社 車両通信装置及び車両通信システム

Similar Documents

Publication Publication Date Title
US7539508B2 (en) Reducing idle power consumption in a networked battery operated device
JP5934302B2 (ja) 無線デバイスにおける消費電力の最適化に関する装置と方法
US9794889B2 (en) Power adjustment method and apparatus
JP2012221004A (ja) 並列計算機システム、およびプログラム
JPWO2019161008A5 (ja)
US11582321B2 (en) Service request processing method and related apparatus
WO2018040258A1 (zh) 基站信号发射功率的调整方法、装置、设备及存储介质
CN102026346B (zh) 一种移动终端及其计算方法
TW202107906A (zh) 測量上報方法、接收方法、終端及網路側定位設備
WO2017197879A1 (zh) 功率的调整方法及装置
WO2023152787A1 (ja) ポーリング制御装置、ポーリング制御システム、ポーリング制御方法、および、ポーリング制御プログラム
EP2186071A1 (en) Scanning threshold
WO2019157702A1 (zh) 输出功率调整方法及相关产品
WO2014032421A1 (zh) 分布式多小区多用户波束成形方法、发射机及相关系统
US8792925B2 (en) Mobile station and communication control method
US20030233453A1 (en) Topology probing method for mobile IP system
CN111262654B (zh) 非周期csi请求的响应方法、系统、电子设备和介质
WO2011080809A1 (ja) サーバ
JP7456432B2 (ja) 通信制御装置および方法、並びに、通信端末および方法
KR101346147B1 (ko) 복수의 무선 인터페이스를 가지는 이동단말에서의 연산 처리 장치 및 방법
JP2002290316A (ja) 無線通信装置および送信タイミング推定方法
WO2024032793A1 (zh) 信号处理方法、信道处理方法及通信装置
WO2024067019A1 (zh) 一种节能方法及装置
KR20090063503A (ko) 애드 혹 망에서 이동성을 예측한 전력 제어 장치 및 방법
WO2023030020A1 (zh) 信号中继、指示方法、装置、中继节点、第一网元及介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22925809

Country of ref document: EP

Kind code of ref document: A1