WO2025173058A1 - Offload control device, offload control method, and offload control program - Google Patents
Offload control device, offload control method, and offload control programInfo
- Publication number
- WO2025173058A1 WO2025173058A1 PCT/JP2024/004762 JP2024004762W WO2025173058A1 WO 2025173058 A1 WO2025173058 A1 WO 2025173058A1 JP 2024004762 W JP2024004762 W JP 2024004762W WO 2025173058 A1 WO2025173058 A1 WO 2025173058A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- time
- predicted
- target task
- computing device
- offload control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
Definitions
- Patent Document 1 describes how tasks are assigned to processor cores taking into consideration the task execution order, task execution period, and communication costs between processor cores. In this way, Patent Document 1 aims to meet the deadlines of each task.
- Patent Document 1 can control task allocation within a processor core within a CPU.
- CPU stands for Central Processing Unit.
- the technology described in Patent Document 1 does not take into account control including external computing devices.
- the technology described in Patent Document 1 cannot optimize computing device allocation or reduce allocation-related processing delays in order to meet each task's deadline in an environment where it is unknown when input data will be available.
- pre-processing is required before the target task can be executed, such as allocating memory on the external computing device and transferring data to that memory. If the timing of input data acquisition is known, the timing of task execution can be determined. Therefore, performing pre-processing immediately before execution can be considered to shorten the time it takes to complete task processing. Note that the data transferred in this data transfer is data other than the input data. However, if the timing of input data acquisition is unknown, pre-processing cannot be performed immediately before task execution. If pre-processing is performed in advance without considering the timing of task execution, it could lead to memory pressure on the external computing device, making it impossible to execute other tasks.
- the purpose of this disclosure is to make it possible to allocate tasks to computing devices, including external computing devices, in a way that makes it easier to meet task deadlines.
- the off-road control device includes: a predicted time management unit that manages a predicted internal time, which is a predicted execution time when a target task is executed in an internal computing device, and a predicted external time, which is a predicted execution time when the target task is executed in an external computing device; an offload control unit that controls whether to cause the external computing device to execute the target task based on the remaining time until the deadline of the target task at a point in time before a reference time at which a time slot corresponding to the data type of input data of the target task starts in time division communication in which time slots available for communication are determined according to data type, and the predicted internal time and the predicted external time managed by the predicted time management unit.
- whether or not to have an external computing device execute a target task is controlled using the remaining time until the deadline of the target task at the point before the reference time at which the time slot corresponding to the data type of input data starts, the predicted internal time, and the predicted external time. This makes it possible to assign tasks to computing devices, including external computing devices, in a way that makes it easier for task deadlines to be met.
- FIG. 1 is a hardware configuration diagram of an off-road control device 10 according to a first embodiment.
- FIG. 1 is a functional configuration diagram of an off-road control device 10 according to a first embodiment.
- 3 is a flowchart of the overall processing of the off-road control device 10 according to the first embodiment.
- 4 is a flowchart of a first control process according to the first embodiment.
- 10 is a flowchart of a second control process according to the first embodiment.
- 10 is a flowchart of a third control process according to the first embodiment.
- 10 is a flowchart of a first control process according to the second embodiment.
- 10 is a flowchart of a second control process according to the second embodiment.
- 10 is a flowchart of a third control process according to the second embodiment.
- 11 is a flowchart of a first control process according to the third embodiment.
- 10 is a flowchart of the overall processing of the off-road control device 10 according to the fourth embodiment.
- the internal processing unit 11 is a processing unit that mainly performs processing.
- a specific example of the internal processing unit 11 is a CPU.
- Memory 12 is a main storage device used as a work area for the internal processing unit 11.
- a specific example of memory 12 is RAM.
- RAM stands for Random Access Memory.
- the storage device 13 is a storage device that stores program images such as an OS and application programs.
- OS is an abbreviation for Operating System.
- Specific examples of the storage device 13 include an SSD or HDD.
- SSD is an abbreviation for Solid State Drive.
- HDD is an abbreviation for Hard Disk Drive.
- the storage device 13 may be a portable recording medium such as an SD (registered trademark) memory card, CompactFlash (registered trademark), NAND flash, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD.
- SD stands for Secure Digital.
- DVD stands for Digital Versatile Disk.
- the external processing unit 14 is a processing unit provided separately from the internal processing unit 11.
- a specific example of the external processing unit 14 is a GPU.
- the offload control device 10 includes, as functional components, a communication management unit 21, a deadline management unit 22, a predicted time management unit 23, and an offload control unit 24.
- the functions of each of the functional components of the offload control device 10 are realized by software.
- the storage device 13 stores programs that implement the functions of each functional component of the off-road control device 10. These programs are read into the memory 12 by the internal processing device 11 and executed by the internal processing device 11. In this way, the functions of each functional component of the off-road control device 10 are implemented.
- FIG. 1 only one internal processing unit 11 is shown. However, there may be multiple internal processing units 11, and the multiple internal processing units 11 may work together to execute programs that realize each function.
- the operation of the off-road control device 10 according to the first embodiment will be described with reference to FIGS.
- the operation procedure of the off-road control device 10 according to the first embodiment corresponds to the off-road control method according to the first embodiment.
- the program that realizes the operation of the off-road control device 10 according to the first embodiment corresponds to the off-road control program according to the first embodiment.
- Step S101 Communication management process
- the communication management unit 21 manages time information of communication time slots corresponding to the data type of input data of each task in time-division communication.
- the offload control unit 24 acquires time information of time slots corresponding to the data type of input data of a target task from the communication management unit 21.
- the time slot corresponding to the data type of input data is called a target slot.
- the communication management unit 21 waits until the reference time of the start time of the time slot indicated by the time information. In other words, the communication management unit 21 waits until the reference time of the start time of the target slot.
- the offload control unit 24 proceeds to step S120. If the offload control unit 24 determines not to cause the external computing device 14 to execute the target task, the offload control unit 24 proceeds to step S130. In other words, if the target task can be executed in time for the deadline even if it is executed by the internal computing device 11, the offload control unit 24 proceeds to step S130.
- Step S113 Calculation processing
- the offload control unit 24 instructs the external computing device 14 to execute the target task.
- the target task is executed by the external computing device 14.
- the offload control unit 24 advances the process to step S114.
- Step S121 Acquisition determination process
- the offload control unit 24 determines whether input data for the target task has been acquired in the target slot. If the input data is acquired, the offload control unit 24 proceeds to step S122. On the other hand, if the input data is not acquired, the offload control unit 24 skips step S122 and ends the process.
- Step S122 Calculation processing
- the offload control unit 24 instructs the external computing device 14 to execute the target task.
- the target task is executed by the external computing device 14.
- the offload control unit 24 ends the processing.
- Step S131 Acquisition determination process
- the offload control unit 24 determines whether input data for the target task has been acquired in the target slot. If the input data is acquired, the offload control unit 24 proceeds to step S132. On the other hand, if the input data is not acquired, the offload control unit 24 skips step S132 and ends the process.
- Step S132 Calculation processing
- the offload control unit 24 instructs the internal processing unit 11 to execute the target task.
- the target task is executed by the internal processing unit 11.
- the offload control unit 24 ends the processing.
- the offload control device 10 controls whether to have the external computing device 14 execute the target task, using the remaining time until the deadline of the target task at the point in time before the reference time at which the target slot starts, the predicted internal time, and the predicted external time. This makes it possible to preferentially assign the external computing device 14, which is capable of high-speed processing, to a task whose deadline is approaching. As a result, the task deadline is more likely to be met.
- the offload control device 10 When a deadline is approaching, the offload control device 10 according to the first embodiment restricts the use of the external computing device by other tasks before acquiring input data for the target task, thereby reducing delays caused by the target task waiting for an available external computing device 14. Furthermore, the offload control device 10 according to the first embodiment releases the usage restriction when it is determined that the target task has started to be executed by the external calculation device 14 or that input data is no longer available. This minimizes the period of usage restriction and reduces the impact on other tasks.
- each functional component is realized by software.
- each functional component may be realized by hardware. The following describes the differences between the first embodiment and the first modification.
- the off-load control device 10 includes electronic circuits. These electronic circuits are dedicated circuits that implement the functions of each functional component.
- Possible electronic circuits include single circuits, composite circuits, programmed processors, parallel programmed processors, logic ICs, GAs, ASICs, and FPGAs.
- GA stands for Gate Array.
- ASIC stands for Application Specific Integrated Circuit.
- FPGA stands for Field-Programmable Gate Array.
- Each functional component may be realized by one electronic circuit, or each functional component may be realized by distributing it among a plurality of electronic circuits.
- ⁇ Modification 2> As a second modification, some of the functional components may be realized by hardware, and other functional components may be realized by software.
- the internal calculation device 11, external calculation device 14, and electronic circuitry are collectively referred to as the processing circuit.
- the functions of each functional component are realized by the processing circuit.
- Embodiment 2 differs from the first embodiment in that advance preparation is performed on the arithmetic unit that performs the target task. In the second embodiment, this difference will be explained, and explanation of the same points will be omitted.
- step S110 in FIG. 3 The first control process (step S110 in FIG. 3) according to the second embodiment will be described with reference to FIG.
- the process of step S211 is the same as the process of step S111 in Fig. 4.
- the processes of steps S213 and S214 are the same as the processes of steps S112 and S113 in Fig. 4.
- the process of step S216 is the same as the process of step S114 in Fig. 4.
- Step S212 Advance preparation process
- the offload control unit 24 performs advance preparations for the external computing device 14 to execute the target task. That is, the offload control unit 24 performs advance preparations at a time before the reference time of the target slot.
- the advance preparations include, for example, allocating memory.
- Step S215 Preparation cancellation process
- the offload control unit 24 cancels the advance preparation performed in step S212. That is, the offload control unit 24 cancels the advance preparation if the input data of the target task is not acquired in the target slot. For example, if the advance preparation was memory allocation, the offload control unit 24 releases the allocated memory.
- step S120 in FIG. 3 The second control process (step S120 in FIG. 3) according to the second embodiment will be described with reference to FIG.
- the processes in steps S222 and S223 are the same as the processes in steps S121 and S122 in FIG.
- Step S221 Advance preparation process
- the offload control unit 24 performs advance preparations for the external computing device 14 to execute the target task.
- Step S224 Preparation cancellation process
- the offload control unit 24 cancels the advance preparation performed in step S221.
- step S130 in FIG. 3 The third control process (step S130 in FIG. 3) according to the second embodiment will be described with reference to FIG.
- the processes in steps S232 and S233 are the same as the processes in steps S131 and S132 in FIG.
- Step S231 Advance preparation process
- the offload control unit 24 performs advance preparations for the internal processing unit 11 to execute the target task.
- Step S234 Preparation cancellation process
- the offload control unit 24 cancels the advance preparation performed in step S231.
- the offload control device 10 performs advance preparations for executing a target task before acquiring input data for the target task. This allows the target task to be executed smoothly, and the target task can be completed more quickly. As a result, it becomes easier to meet the deadline for the target task.
- the offload control device 10 according to the third embodiment sets a reservation flag before acquiring input data for a target task when the deadline is approaching. This makes it possible to reduce delays caused by the target task waiting for an available external computing device 14 when the input data is acquired. Furthermore, the offload control device 10 according to the third embodiment resets the reservation flag when it is determined that the target task has started to be executed by the external calculation device 14 or that input data is not available. This minimizes the period of usage restriction and reduces the impact on other tasks.
- Embodiment 4 differs from the first embodiment in that the predicted external time is longer than the predicted internal time. In the fourth embodiment, this difference will be explained, and explanation of the same points will be omitted.
- Step S403 Off-road control process
- the offload control unit 24 determines the execution method of the target task when input data for the target task is acquired in the target slot, based on the remaining time, the predicted internal time, and the predicted external time. In this case, under the assumption that the predicted external time is longer than the predicted internal time, the offload control unit 24 determines to have the external computing device 14 execute the target task if the predicted external time is shorter than the remaining time. In other words, the offload control unit 24 determines to have the external computing device 14 execute the target task if the deadline can be met even if the target task is executed by the external computing device 14. If it is determined that the external computing device 14 should execute the target task, similar to step S103 in FIG. 3, the offload control unit 24 determines whether to allow other tasks to use the external computing device 14 based on the remaining time and the predicted external time.
- step S410 the offload control unit 24 determines that the external computing device 14 is to execute the target task and that use of the external computing device 14 by other tasks is not permitted. In other words, if there is no delay due to waiting for use of the external computing device 14 and the target task can be executed on the external computing device 14 and still meet the deadline, the offload control unit 24 proceeds to step S410. If the offload control unit 24 determines that the external computing device 14 can be made to execute the target task and that use of the external computing device 14 by other tasks is permissible, the offload control unit 24 proceeds to step S420.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本開示は、外部演算装置を用いたタスクの割り当て技術に関する。 This disclosure relates to a task allocation technique using an external computing device.
特許文献1には、タスクの実行順序と、タスクの実行周期と、プロセッサコア間の通信コストとを考慮して、各タスクをプロセッサコアへ割り当てることが記載されている。これにより、特許文献1では、各タスクのデッドラインを満たすことを目指している。 Patent Document 1 describes how tasks are assigned to processor cores taking into consideration the task execution order, task execution period, and communication costs between processor cores. In this way, Patent Document 1 aims to meet the deadlines of each task.
特許文献1に記載された技術では、CPU内のプロセッサコアにおけるタスク割り当て制御を行うことはできる。CPUは、Central Processing Unitの略である。しかし、特許文献1に記載された技術では、外部演算装置を含めた制御を考慮していない。特に、特許文献1に記載された技術では、入力データがいつ取得できるか分からない環境において、各タスクのデッドラインを満たすための、演算装置割り当ての最適化及び割り当てに関わる処理遅延低減を行えない。 The technology described in Patent Document 1 can control task allocation within a processor core within a CPU. CPU stands for Central Processing Unit. However, the technology described in Patent Document 1 does not take into account control including external computing devices. In particular, the technology described in Patent Document 1 cannot optimize computing device allocation or reduce allocation-related processing delays in order to meet each task's deadline in an environment where it is unknown when input data will be available.
GPU等の外部演算装置では、優先度が高いタスクが実行可能状態になっても、先に実行されているタスクが完了されるまで待たされ遅延する場合がある。GPUは、Graphics Processing Unitの略である。この遅延がデッドライン未達の要因となり得る。
これに対しては、他タスクによる対象の外部演算装置の使用を制限する対応が検討できる。しかし、対象タスクの入力データの取得タイミングが分からないと、入力データを用いた演算に対する外部演算装置の使用タイミングが分からない。そのため、対象の外部演算装置の使用を長時間制限することになる。これは演算リソース利用の観点では非効率であり、他タスクの処理完了までの時間が長くなってデッドライン未達の要因となり得る。
In an external computing device such as a GPU, even if a high-priority task becomes ready to run, it may be delayed until a previously running task is completed. GPU stands for Graphics Processing Unit. This delay can result in missed deadlines.
One solution to this problem is to restrict the use of the target external computing device by other tasks. However, if the timing of acquisition of input data for the target task is unknown, it is also impossible to determine when the external computing device will be used for calculations using the input data. This means that the use of the target external computing device will be restricted for a long period of time. This is inefficient in terms of computing resource utilization, and may result in the time it takes for other tasks to complete processing being extended, resulting in missed deadlines.
また、GPU等の外部演算装置を用いる場合、対象タスクを実行する前に外部演算装置側のメモリの確保及びメモリへのデータ転送といった事前処理が必要である。入力データの取得タイミングが分かればタスクの実行タイミングが分かる。そのため、事前処理を実行タイミングの直前に行うことによりタスクの処理完了時間を短縮することが検討できる。なお、ここでのデータ転送で転送されるデータは入力データ以外のデータが対象である。しかし、入力データの取得タイミングが分からない場合は、事前処理をタスク実行直前に行うことができない。タスクの実行タイミングを考慮せずにあらかじめ事前処理を行った場合は、外部演算装置側のメモリ圧迫などにつながり、他タスクが実行できなくなる可能性がある。 Furthermore, when using an external computing device such as a GPU, pre-processing is required before the target task can be executed, such as allocating memory on the external computing device and transferring data to that memory. If the timing of input data acquisition is known, the timing of task execution can be determined. Therefore, performing pre-processing immediately before execution can be considered to shorten the time it takes to complete task processing. Note that the data transferred in this data transfer is data other than the input data. However, if the timing of input data acquisition is unknown, pre-processing cannot be performed immediately before task execution. If pre-processing is performed in advance without considering the timing of task execution, it could lead to memory pressure on the external computing device, making it impossible to execute other tasks.
本開示は、タスクのデッドラインが満たされ易くなるような、外部演算装置も含めた演算装置に対するタスクの割り当てを実現可能にすることを目的とする。 The purpose of this disclosure is to make it possible to allocate tasks to computing devices, including external computing devices, in a way that makes it easier to meet task deadlines.
本開示に係るオフロード制御装置は、
対象タスクを内部演算装置で実行した場合における予測実行時間である予測内部時間と、前記対象タスクを外部演算装置で実行した場合における予測実行時間である予測外部時間とを管理する予測時間管理部と、
通信可能なタイムスロットがデータ種別に応じて定められた時分割通信における前記対象タスクの入力データのデータ種別に対応するタイムスロットが開始する基準時間前の時点における前記対象タスクのデッドラインまでの残り時間と、前記予測時間管理部によって管理された前記予測内部時間及び前記予測外部時間とから、前記外部演算装置に前記対象タスクを実行させるか否かを制御するオフロード制御部と
を備える。
The off-road control device according to the present disclosure includes:
a predicted time management unit that manages a predicted internal time, which is a predicted execution time when a target task is executed in an internal computing device, and a predicted external time, which is a predicted execution time when the target task is executed in an external computing device;
an offload control unit that controls whether to cause the external computing device to execute the target task based on the remaining time until the deadline of the target task at a point in time before a reference time at which a time slot corresponding to the data type of input data of the target task starts in time division communication in which time slots available for communication are determined according to data type, and the predicted internal time and the predicted external time managed by the predicted time management unit.
本開示では、入力データのデータ種別に対応するタイムスロットが開始する基準時間前の時点における対象タスクのデッドラインまでの残り時間と、予測内部時間及び予測外部時間とを用いて、外部演算装置に対象タスクを実行させるか否かを制御する。これにより、外部演算装置も含めた演算装置に対して、タスクのデッドラインが満たされ易くなるようにタスクの割り当てが可能である。 In this disclosure, whether or not to have an external computing device execute a target task is controlled using the remaining time until the deadline of the target task at the point before the reference time at which the time slot corresponding to the data type of input data starts, the predicted internal time, and the predicted external time. This makes it possible to assign tasks to computing devices, including external computing devices, in a way that makes it easier for task deadlines to be met.
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係るオフロード制御装置10のハードウェア構成を説明する。
オフロード制御装置10は、コンピュータである。
オフロード制御装置10は、内部演算装置11と、メモリ12と、記憶装置13と、外部演算装置14とのハードウェアを備える。
Embodiment 1.
***Configuration Description***
The hardware configuration of an off-road control device 10 according to the first embodiment will be described with reference to FIG.
The off-road control device 10 is a computer.
The off-road control device 10 includes the following hardware: an internal calculation unit 11, a memory 12, a storage device 13, and an external calculation unit 14.
内部演算装置11は、主として処理を行う演算装置である。内部演算装置11は、具体例としては、CPUである。 The internal processing unit 11 is a processing unit that mainly performs processing. A specific example of the internal processing unit 11 is a CPU.
メモリ12は、内部演算装置11のワークエリアとして用いられる主記憶装置である。メモリ12は、具体例としては、RAMである。RAMは、Random Access Memoryの略である。 Memory 12 is a main storage device used as a work area for the internal processing unit 11. A specific example of memory 12 is RAM. RAM stands for Random Access Memory.
記憶装置13は、OS及びアプリケーションプログラム等のプログラムイメージを保管する記憶装置である。OSは、Operating Systemの略である。記憶装置13は、具体例としては、SSD又はHDDである。SSDは、Solid State Driveの略である。HDDは、Hard Disk Driveの略である。
記憶装置13は、SD(登録商標)メモリカード、CompactFlash(登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、Blu-ray(登録商標)ディスク、DVDといった可搬記録媒体であってもよい。SDは、Secure Digitalの略である。DVDは、Digital Versatile Diskの略である。
The storage device 13 is a storage device that stores program images such as an OS and application programs. OS is an abbreviation for Operating System. Specific examples of the storage device 13 include an SSD or HDD. SSD is an abbreviation for Solid State Drive. HDD is an abbreviation for Hard Disk Drive.
The storage device 13 may be a portable recording medium such as an SD (registered trademark) memory card, CompactFlash (registered trademark), NAND flash, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD. SD stands for Secure Digital. DVD stands for Digital Versatile Disk.
外部演算装置14は、内部演算装置11とは別に設けられた演算装置である。外部演算装置14は、具体例としては、GPUである。 The external processing unit 14 is a processing unit provided separately from the internal processing unit 11. A specific example of the external processing unit 14 is a GPU.
図2を参照して、実施の形態1に係るオフロード制御装置10の機能構成を説明する。
オフロード制御装置10は、機能構成要素として、通信管理部21と、デッドライン管理部22と、予測時間管理部23と、オフロード制御部24とを備える。オフロード制御装置10の各機能構成要素の機能はソフトウェアにより実現される。
記憶装置13には、オフロード制御装置10の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、内部演算装置11によりメモリ12に読み込まれ、内部演算装置11によって実行される。これにより、オフロード制御装置10の各機能構成要素の機能が実現される。
The functional configuration of the off-road control device 10 according to the first embodiment will be described with reference to FIG.
The offload control device 10 includes, as functional components, a communication management unit 21, a deadline management unit 22, a predicted time management unit 23, and an offload control unit 24. The functions of each of the functional components of the offload control device 10 are realized by software.
The storage device 13 stores programs that implement the functions of each functional component of the off-road control device 10. These programs are read into the memory 12 by the internal processing device 11 and executed by the internal processing device 11. In this way, the functions of each functional component of the off-road control device 10 are implemented.
図1では、内部演算装置11は、1つだけ示されていた。しかし、内部演算装置11は、複数であってもよく、複数の内部演算装置11が、各機能を実現するプログラムを連携して実行してもよい。 In Figure 1, only one internal processing unit 11 is shown. However, there may be multiple internal processing units 11, and the multiple internal processing units 11 may work together to execute programs that realize each function.
***動作の説明***
図3から図6を参照して、実施の形態1に係るオフロード制御装置10の動作を説明する。
実施の形態1に係るオフロード制御装置10の動作手順は、実施の形態1に係るオフロード制御方法に相当する。また、実施の形態1に係るオフロード制御装置10の動作を実現するプログラムは、実施の形態1に係るオフロード制御プログラムに相当する。
***Explanation of Operation***
The operation of the off-road control device 10 according to the first embodiment will be described with reference to FIGS.
The operation procedure of the off-road control device 10 according to the first embodiment corresponds to the off-road control method according to the first embodiment. Furthermore, the program that realizes the operation of the off-road control device 10 according to the first embodiment corresponds to the off-road control program according to the first embodiment.
ここでは、前提として、通信可能なタイムスロットがデータ種別に応じて定められた時分割通信が用いられる環境であるとする。そのため、タスクの入力データは、その入力データのデータ種別に対応するタイムスロットにのみ取得される。但し、タスクの入力データは、いつ取得できるかは分からないものとする。 Here, we assume that the environment uses time-division communication, where available time slots are determined according to the data type. Therefore, task input data is only obtained in the time slot that corresponds to the data type of that input data. However, it is not known when the task input data will be available.
図3を参照して、実施の形態1に係るオフロード制御装置10の全体的な処理を説明する。
(ステップS101:通信管理処理)
通信管理部21は、時分割通信における各タスクの入力データのデータ種別に対応する通信のタイムスロットの時刻情報を管理する。オフロード制御部24は、通信管理部21から対象タスクの入力データのデータ種別に対応するタイムスロットの時刻情報を取得する。入力データのデータ種別に対応するタイムスロットを対象スロットと呼ぶ。
通信管理部21は、時刻情報が示すタイムスロットの開始時刻の基準時間前まで待機する。つまり、通信管理部21は、対象スロットが開始する時刻の基準時間前まで待機する。そして、通信管理部21は、対象スロットが開始する時刻の基準時間前になると処理をステップS102に進める。基準時間は、事前に設定された時間である。基準時間は、例えば、他タスクに対して外部演算装置14の使用制限を行うことが許容される時間等が設定される。
The overall processing of the off-road control device 10 according to the first embodiment will be described with reference to FIG.
(Step S101: Communication management process)
The communication management unit 21 manages time information of communication time slots corresponding to the data type of input data of each task in time-division communication. The offload control unit 24 acquires time information of time slots corresponding to the data type of input data of a target task from the communication management unit 21. The time slot corresponding to the data type of input data is called a target slot.
The communication management unit 21 waits until the reference time of the start time of the time slot indicated by the time information. In other words, the communication management unit 21 waits until the reference time of the start time of the target slot. Then, the communication management unit 21 proceeds to step S102 when the reference time of the start time of the target slot arrives. The reference time is a time set in advance. For example, the reference time is set to a time during which it is permitted to restrict the use of the external computing device 14 for other tasks.
(ステップS102:情報取得処理(デッドライン管理処理、予測時間管理処理))
デッドライン管理部22は、各タスクのデッドラインまでの残り時間を管理する。オフロード制御部24は、デッドライン管理部22から対象タスクのデッドラインまでの残り時間を取得する。つまり、オフロード制御部24は、対象スロットが開始する基準時間前の時点における対象タスクのデッドラインまでの残り時間を取得する。
予測時間管理部23は、対象タスクを内部演算装置11で実行した場合における予測実行時間である予測内部時間と、対象タスクを外部演算装置14で実行した場合における予測実行時間である予測外部時間とを管理する。オフロード制御部24は、予測時間管理部23から予測内部時間及び予測外部時間を取得する。
(Step S102: Information Acquisition Processing (Deadline Management Processing, Predicted Time Management Processing))
The deadline management unit 22 manages the time remaining until the deadline of each task. The offload control unit 24 obtains the time remaining until the deadline of the target task from the deadline management unit 22. In other words, the offload control unit 24 obtains the time remaining until the deadline of the target task at a point in time before the reference time at which the target slot starts.
The predicted time management unit 23 manages predicted internal time, which is the predicted execution time when the target task is executed by the internal computing device 11, and predicted external time, which is the predicted execution time when the target task is executed by the external computing device 14. The offload control unit 24 obtains the predicted internal time and the predicted external time from the predicted time management unit 23.
(ステップS103:オフロード制御処理)
オフロード制御部24は、ステップS102で取得された残り時間と、予測内部時間及び予測外部時間とから、対象スロットで対象タスクの入力データが取得された場合の対象タスクの実行方法を決定する。
具体的には、オフロード制御部24は、外部演算装置14に対象タスクを実行させるか否かを制御する。また、オフロード制御部24は、外部演算装置14に対象タスクを実行させる場合に、対象タスクとは異なる他タスクによる外部演算装置14の使用を許容するか否かを制御する。
(Step S103: Off-road control processing)
The offload control unit 24 determines an execution method for the target task when input data for the target task is acquired in the target slot, based on the remaining time acquired in step S102, the predicted internal time, and the predicted external time.
Specifically, the offload control unit 24 controls whether or not to cause the external computing device 14 to execute the target task. Furthermore, when the offload control unit 24 causes the external computing device 14 to execute the target task, the offload control unit 24 controls whether or not to allow the external computing device 14 to be used by a task different from the target task.
実施の形態1では、予測内部時間よりも予測外部時間が短いことを前提として説明する。この前提の下では、オフロード制御部24は、残り時間よりも予測内部時間が長い場合に、外部演算装置14に対象タスクを実行させると判定する。つまり、オフロード制御部24は、外部演算装置14で実行しないとデッドラインに間に合わない場合には、外部演算装置14に対象タスクを実行させると判定する。
外部演算装置14に対象タスクを実行させると判定された場合には、オフロード制御部24は、残り時間と予測外部時間とから、他タスクによる外部演算装置14の使用を許容するか否かを判定する。具体的には、オフロード制御部24は、外部演算装置14の使用待ちによる遅延が許されない場合には、他タスクによる外部演算装置14の使用を許容できないと判定する。例えば、オフロード制御部24は、残り時間が予測外部時間よりも閾値時間以上長い場合には、遅延が許されると判定することが考えられる。
In the first embodiment, the description is based on the assumption that the predicted external time is shorter than the predicted internal time. Under this assumption, the offload control unit 24 determines to have the external computing device 14 execute the target task when the predicted internal time is longer than the remaining time. In other words, the offload control unit 24 determines to have the external computing device 14 execute the target task when the deadline will not be met unless the target task is executed by the external computing device 14.
When it is determined that the external computing device 14 should execute the target task, the offload control unit 24 determines whether to allow other tasks to use the external computing device 14 based on the remaining time and the predicted external time. Specifically, the offload control unit 24 determines that other tasks cannot use the external computing device 14 if a delay due to waiting to use the external computing device 14 is not allowed. For example, the offload control unit 24 may determine that a delay is allowed if the remaining time is longer than the predicted external time by at least a threshold time.
オフロード制御部24は、外部演算装置14に対象タスクを実行させ、かつ、他タスクによる外部演算装置14の使用を許容できないと判定した場合には、処理をステップS110に進める。つまり、オフロード制御部24は、対象タスクを外部演算装置14で実行しないとデッドラインに間に合わず、外部演算装置14の使用待ちによる遅延も許されない場合には、処理をステップS110に進める。
オフロード制御部24は、外部演算装置14に対象タスクを実行させ、かつ、他タスクによる外部演算装置14の使用を許容できると判定した場合には、処理をステップS120に進める。つまり、オフロード制御部24は、対象タスクを外部演算装置14で実行しないとデッドラインに間に合わないが、外部演算装置14の使用待ちによる遅延が許される場合には、処理をステップS120に進める。
オフロード制御部24は、外部演算装置14に対象タスクを実行させないと判定した場合には、処理をステップS130に進める。つまり、オフロード制御部24は、対象タスクを内部演算装置11で実行してもデッドラインに間に合う場合には、処理をステップS130に進める。
If the offload control unit 24 determines that the target task should be executed by the external computing device 14 and that use of the external computing device 14 by other tasks is not permitted, the offload control unit 24 proceeds to step S110. In other words, if the target task must be executed by the external computing device 14 in order to meet the deadline and a delay due to waiting for use of the external computing device 14 is not permitted, the offload control unit 24 proceeds to step S110.
If the offload control unit 24 determines that the target task can be executed by the external computing device 14 and that use of the external computing device 14 by other tasks is permissible, the offload control unit 24 proceeds to step S120. In other words, if the target task must be executed by the external computing device 14 to meet the deadline, but a delay due to waiting for use of the external computing device 14 is permissible, the offload control unit 24 proceeds to step S120.
If the offload control unit 24 determines not to cause the external computing device 14 to execute the target task, the offload control unit 24 proceeds to step S130. In other words, if the target task can be executed in time for the deadline even if it is executed by the internal computing device 11, the offload control unit 24 proceeds to step S130.
図4を参照して、実施の形態1に係る第1制御処理(図3のステップS110)を説明する。
(ステップS111:制限処理)
オフロード制御部24は、他タスクによる外部演算装置14の使用制限を行うように設定する。つまり、オフロード制御部24は、対象スロットが開始する時刻の基準時間前の時点において他タスクにより外部演算装置14が使用されないようにする。これにより、オフロード制御部24は、対象スロットで対象タスクの入力データが取得された場合に、対象タスクによる外部演算装置14の使用が、他タスクによって妨げられないようにする。
The first control process (step S110 in FIG. 3) according to the first embodiment will be described with reference to FIG.
(Step S111: Restriction process)
The offload control unit 24 sets restrictions on the use of the external computing device 14 by other tasks. In other words, the offload control unit 24 prevents other tasks from using the external computing device 14 at a point in time before the reference time when the target slot starts. In this way, when input data for the target task is acquired in the target slot, the offload control unit 24 prevents the target task from being prevented from using the external computing device 14 by the other tasks.
(ステップS112:取得判定処理)
オフロード制御部24は、対象スロットにおいて対象タスクの入力データが取得されたか否かを判定する。
オフロード制御部24は、入力データが取得された場合には、処理をステップS113に進める。一方、オフロード制御部24は、入力データが取得されなかった場合には、ステップS113をスキップして処理をステップS114に進める。
(Step S112: Acquisition determination process)
The offload control unit 24 determines whether input data for the target task has been acquired in the target slot.
If the input data is acquired, the offload control unit 24 proceeds to step S113. On the other hand, if the input data is not acquired, the offload control unit 24 skips step S113 and proceeds to step S114.
(ステップS113:演算処理)
オフロード制御部24は、対象タスクの実行を外部演算装置14に指示する。これにより、外部演算装置14によって対象タスクが実行される。オフロード制御部24は、対象タスクの実行が開始されると、処理をステップS114に進める。
(Step S113: Calculation processing)
The offload control unit 24 instructs the external computing device 14 to execute the target task. As a result, the target task is executed by the external computing device 14. When execution of the target task starts, the offload control unit 24 advances the process to step S114.
(ステップS114:制限解除処理)
オフロード制御部24は、ステップS111で設定された使用制限を解除する。つまり、オフロード制御部24は、対象スロットに対象タスクの入力データが取得された場合には、外部演算装置14による対象タスクの実行が開始されると使用制限を解除する。一方、オフロード制御部24は、対象スロットに対象タスクの入力データが取得されなかった場合には、即座に使用制限を解除する。
(Step S114: Restriction removal process)
The offload control unit 24 releases the usage restriction set in step S111. That is, if input data for the target task is acquired in the target slot, the offload control unit 24 releases the usage restriction when execution of the target task by the external computing device 14 begins. On the other hand, if input data for the target task is not acquired in the target slot, the offload control unit 24 immediately releases the usage restriction.
図5を参照して、実施の形態1に係る第2制御処理(図3のステップS120)を説明する。
(ステップS121:取得判定処理)
オフロード制御部24は、対象スロットにおいて対象タスクの入力データが取得されたか否かを判定する。
オフロード制御部24は、入力データが取得された場合には、処理をステップS122に進める。一方、オフロード制御部24は、入力データが取得されなかった場合には、ステップS122をスキップして処理を終了する。
The second control process (step S120 in FIG. 3) according to the first embodiment will be described with reference to FIG.
(Step S121: Acquisition determination process)
The offload control unit 24 determines whether input data for the target task has been acquired in the target slot.
If the input data is acquired, the offload control unit 24 proceeds to step S122. On the other hand, if the input data is not acquired, the offload control unit 24 skips step S122 and ends the process.
(ステップS122:演算処理)
オフロード制御部24は、対象タスクの実行を外部演算装置14に指示する。これにより、外部演算装置14によって対象タスクが実行される。オフロード制御部24は、対象タスクが開始されると、処理を終了する。
(Step S122: Calculation processing)
The offload control unit 24 instructs the external computing device 14 to execute the target task. As a result, the target task is executed by the external computing device 14. Once the target task has started, the offload control unit 24 ends the processing.
図6を参照して、実施の形態1に係る第3制御処理(図3のステップS130)を説明する。
(ステップS131:取得判定処理)
オフロード制御部24は、対象スロットにおいて対象タスクの入力データが取得されたか否かを判定する。
オフロード制御部24は、入力データが取得された場合には、処理をステップS132に進める。一方、オフロード制御部24は、入力データが取得されなかった場合には、ステップS132をスキップして処理を終了する。
The third control process (step S130 in FIG. 3) according to the first embodiment will be described with reference to FIG.
(Step S131: Acquisition determination process)
The offload control unit 24 determines whether input data for the target task has been acquired in the target slot.
If the input data is acquired, the offload control unit 24 proceeds to step S132. On the other hand, if the input data is not acquired, the offload control unit 24 skips step S132 and ends the process.
(ステップS132:演算処理)
オフロード制御部24は、対象タスクの実行を内部演算装置11に指示する。これにより、内部演算装置11によって対象タスクが実行される。オフロード制御部24は、対象タスクが開始されると、処理を終了する。
(Step S132: Calculation processing)
The offload control unit 24 instructs the internal processing unit 11 to execute the target task. As a result, the target task is executed by the internal processing unit 11. When the target task is started, the offload control unit 24 ends the processing.
***実施の形態1の効果***
以上のように、実施の形態1に係るオフロード制御装置10は、対象スロットが開始する基準時間前の時点における対象タスクのデッドラインまでの残り時間と、予測内部時間及び予測外部時間とを用いて、外部演算装置14に対象タスクを実行させるか否かを制御する。これにより、デッドラインが近いタスクに、高速に処理が可能な外部演算装置14を優先的に割り当てることが可能になる。その結果、タスクのデッドラインが満たされ易くなる。
***Effects of First Embodiment***
As described above, the offload control device 10 according to the first embodiment controls whether to have the external computing device 14 execute the target task, using the remaining time until the deadline of the target task at the point in time before the reference time at which the target slot starts, the predicted internal time, and the predicted external time. This makes it possible to preferentially assign the external computing device 14, which is capable of high-speed processing, to a task whose deadline is approaching. As a result, the task deadline is more likely to be met.
実施の形態1に係るオフロード制御装置10は、デッドラインが近い場合には、対象タスクの入力データを取得する前に他タスクの外部演算装置の使用を制限する。これにより、対象タスクが外部演算装置14の空き待ちをすることによる遅延を抑えることができる。
また、実施の形態1に係るオフロード制御装置10は、この使用制限の解除を対象タスクの外部演算装置14での実行開始又は入力データが得られないと判定されたタイミングで行う。これにより、使用制限の期間を最小限にし、他タスクへの影響を抑えることができる。
When a deadline is approaching, the offload control device 10 according to the first embodiment restricts the use of the external computing device by other tasks before acquiring input data for the target task, thereby reducing delays caused by the target task waiting for an available external computing device 14.
Furthermore, the offload control device 10 according to the first embodiment releases the usage restriction when it is determined that the target task has started to be executed by the external calculation device 14 or that input data is no longer available. This minimizes the period of usage restriction and reduces the impact on other tasks.
***他の構成***
<変形例1>
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例1として、各機能構成要素はハードウェアで実現されてもよい。この変形例1について、実施の形態1と異なる点を説明する。
***Other configurations***
<Modification 1>
In the first embodiment, each functional component is realized by software. However, as a first modification, each functional component may be realized by hardware. The following describes the differences between the first embodiment and the first modification.
各機能構成要素がハードウェアで実現される場合には、オフロード制御装置10は、電子回路を備える。電子回路は、各機能構成要素の機能とを実現する専用の回路である。 If each functional component is implemented in hardware, the off-load control device 10 includes electronic circuits. These electronic circuits are dedicated circuits that implement the functions of each functional component.
電子回路としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAが想定される。GAは、Gate Arrayの略である。ASICは、Application Specific Integrated Circuitの略である。FPGAは、Field-Programmable Gate Arrayの略である。
各機能構成要素を1つの電子回路で実現してもよいし、各機能構成要素を複数の電子回路に分散させて実現してもよい。
Possible electronic circuits include single circuits, composite circuits, programmed processors, parallel programmed processors, logic ICs, GAs, ASICs, and FPGAs. GA stands for Gate Array. ASIC stands for Application Specific Integrated Circuit. FPGA stands for Field-Programmable Gate Array.
Each functional component may be realized by one electronic circuit, or each functional component may be realized by distributing it among a plurality of electronic circuits.
<変形例2>
変形例2として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
<Modification 2>
As a second modification, some of the functional components may be realized by hardware, and other functional components may be realized by software.
内部演算装置11と外部演算装置14と電子回路とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。 The internal calculation device 11, external calculation device 14, and electronic circuitry are collectively referred to as the processing circuit. In other words, the functions of each functional component are realized by the processing circuit.
また、以上の説明における「部」を、「回路」、「工程」、「手順」、「処理」又は「処理回路」に読み替えてもよい。 Furthermore, the word "part" in the above description may be interpreted as "circuit," "process," "procedure," "processing," or "processing circuit."
実施の形態2.
実施の形態2は、対象タスクを行う演算装置に対して事前準備を行う点が実施の形態1と異なる。実施の形態2では、この異なる点を説明し、同一の点については説明を省略する。
Embodiment 2.
The second embodiment differs from the first embodiment in that advance preparation is performed on the arithmetic unit that performs the target task. In the second embodiment, this difference will be explained, and explanation of the same points will be omitted.
***動作の説明***
図7を参照して、実施の形態2に係る第1制御処理(図3のステップS110)を説明する。
ステップS211の処理は、図4のステップS111の処理と同じである。ステップS213及びステップS214の処理は、図4のステップS112及びステップS113の処理と同じである。ステップS216の処理は、図4のステップS114の処理と同じである。
***Explanation of Operation***
The first control process (step S110 in FIG. 3) according to the second embodiment will be described with reference to FIG.
The process of step S211 is the same as the process of step S111 in Fig. 4. The processes of steps S213 and S214 are the same as the processes of steps S112 and S113 in Fig. 4. The process of step S216 is the same as the process of step S114 in Fig. 4.
(ステップS212:事前準備処理)
オフロード制御部24は、外部演算装置14が対象タスクを実行するための事前準備を行う。つまり、オフロード制御部24は、対象スロットの基準時間前の時刻になると、事前準備を行う。事前準備は、例えば、メモリ確保等である。
(Step S212: Advance preparation process)
The offload control unit 24 performs advance preparations for the external computing device 14 to execute the target task. That is, the offload control unit 24 performs advance preparations at a time before the reference time of the target slot. The advance preparations include, for example, allocating memory.
(ステップS215:準備キャンセル処理)
オフロード制御部24は、ステップS212で行った事前準備をキャンセルする。つまり、オフロード制御部24は、対象スロットに前記対象タスクの入力データが取得されないと、事前準備をキャンセルする。例えば、事前準備がメモリ確保であった場合には、オフロード制御部24は確保されたメモリを開放する。
(Step S215: Preparation cancellation process)
The offload control unit 24 cancels the advance preparation performed in step S212. That is, the offload control unit 24 cancels the advance preparation if the input data of the target task is not acquired in the target slot. For example, if the advance preparation was memory allocation, the offload control unit 24 releases the allocated memory.
図8を参照して、実施の形態2に係る第2制御処理(図3のステップS120)を説明する。
ステップS222及びステップS223の処理は、図5のステップS121及びステップS122の処理と同じである。
The second control process (step S120 in FIG. 3) according to the second embodiment will be described with reference to FIG.
The processes in steps S222 and S223 are the same as the processes in steps S121 and S122 in FIG.
(ステップS221:事前準備処理)
図7のステップS212と同様に、オフロード制御部24は、外部演算装置14が対象タスクを実行するための事前準備を行う。
(Step S221: Advance preparation process)
As in step S212 of FIG. 7, the offload control unit 24 performs advance preparations for the external computing device 14 to execute the target task.
(ステップS224:準備キャンセル処理)
図7のステップS215と同様に、オフロード制御部24は、ステップS221で行った事前準備をキャンセルする。
(Step S224: Preparation cancellation process)
As in step S215 of FIG. 7, the offload control unit 24 cancels the advance preparation performed in step S221.
図9を参照して、実施の形態2に係る第3制御処理(図3のステップS130)を説明する。
ステップS232及びステップS233の処理は、図6のステップS131及びステップS132の処理と同じである。
The third control process (step S130 in FIG. 3) according to the second embodiment will be described with reference to FIG.
The processes in steps S232 and S233 are the same as the processes in steps S131 and S132 in FIG.
(ステップS231:事前準備処理)
オフロード制御部24は、内部演算装置11が対象タスクを実行するための事前準備を行う。
(Step S231: Advance preparation process)
The offload control unit 24 performs advance preparations for the internal processing unit 11 to execute the target task.
(ステップS234:準備キャンセル処理)
オフロード制御部24は、ステップS231で行った事前準備をキャンセルする。
(Step S234: Preparation cancellation process)
The offload control unit 24 cancels the advance preparation performed in step S231.
***実施の形態2の効果***
実施の形態2に係るオフロード制御装置10は、対象タスクの入力データを取得する前に対象タスクを実行する事前準備を行う。これにより、対象タスクをスムーズに実行可能になり、対象タスクの処理完了を早めることができる。その結果、対象タスクのデッドラインを満たしやすくできる。
***Effects of the Second Embodiment***
The offload control device 10 according to the second embodiment performs advance preparations for executing a target task before acquiring input data for the target task. This allows the target task to be executed smoothly, and the target task can be completed more quickly. As a result, it becomes easier to meet the deadline for the target task.
実施の形態3.
実施の形態3は、他タスクの使用制限をフラグを用いて実現する点が実施の形態1と異なる。実施の形態3では、この異なる点を説明し、同一の点については説明を省略する。
Embodiment 3.
The third embodiment differs from the first embodiment in that the use restriction of other tasks is realized by using a flag. In the third embodiment, this difference will be explained, and explanation of the same points will be omitted.
図10を参照して、実施の形態3に係る第1制御処理(図3のステップS110)を説明する。
ステップS312及びステップS313の処理は、図4のステップS112及びステップS113の処理と同じである。
The first control process (step S110 in FIG. 3) according to the third embodiment will be described with reference to FIG.
The processes in steps S312 and S313 are the same as the processes in steps S112 and S113 in FIG.
実施の形態3では、他タスクは、予約フラグが設定されている場合には前記外部演算装置の使用をしないようになっているものとする。つまり、他タスクは、外部演算装置14を使用する前に予約フラグを確認するようになっており、予約フラグが設定されている場合にはリセットされるまで待機又は他の処理を行うものとする。 In embodiment 3, other tasks are configured not to use the external computing device if the reservation flag is set. In other words, other tasks are configured to check the reservation flag before using the external computing device 14, and if the reservation flag is set, they wait or perform other processing until it is reset.
(ステップS311:制限処理)
オフロード制御部24は、予約フラグを設定する。つまり、オフロード制御部24は、対象スロットの基準時間前の時刻になると、予約フラグを設定する。これにより、他タスクの外部演算装置14の使用が制限され、対象タスクが入力データを取得後に外部演算装置14を優先的に使用できるようになる。
(Step S311: Restriction process)
The offload control unit 24 sets a reservation flag. That is, the offload control unit 24 sets the reservation flag when the time arrives before the reference time of the target slot. This restricts the use of the external processing unit 14 by other tasks, and allows the target task to use the external processing unit 14 preferentially after acquiring input data.
(ステップS314:制限解除処理)
オフロード制御部24は、予約フラグをリセットする。
(Step S314: Restriction removal process)
The offload control unit 24 resets the reservation flag.
***実施の形態3の効果***
以上のように、実施の形態3に係るオフロード制御装置10は、デッドラインが近い場合には、対象タスクの入力データを取得する前に予約フラグを設定しておく。これにより、入力データを取得した場合に、対象タスクが外部演算装置14の空き待ちをすることによる遅延を抑えることができる。
また、実施の形態3に係るオフロード制御装置10は、予約フラグのリセットを対象タスクの外部演算装置14での実行開始又は入力データが得られないと判定されたタイミングで行う。これにより、使用制限の期間を最小限にし、他タスクへの影響を抑えることができる。
***Effects of the Third Embodiment***
As described above, the offload control device 10 according to the third embodiment sets a reservation flag before acquiring input data for a target task when the deadline is approaching. This makes it possible to reduce delays caused by the target task waiting for an available external computing device 14 when the input data is acquired.
Furthermore, the offload control device 10 according to the third embodiment resets the reservation flag when it is determined that the target task has started to be executed by the external calculation device 14 or that input data is not available. This minimizes the period of usage restriction and reduces the impact on other tasks.
実施の形態4.
実施の形態4は、予測内部時間よりも予測外部時間が長い点が実施の形態1と異なる。実施の形態4では、この異なる点を説明し、同一の点については説明を省略する。
Embodiment 4.
The fourth embodiment differs from the first embodiment in that the predicted external time is longer than the predicted internal time. In the fourth embodiment, this difference will be explained, and explanation of the same points will be omitted.
***動作の説明***
図11を参照して、実施の形態4に係るオフロード制御装置10の全体的な処理を説明する。
ステップS401及びステップS402の処理は、図3のステップS101及びステップS102の処理と同じである。ステップS410からステップS430の処理は、図3のステップS110からステップS130の処理と同じである。
***Explanation of Operation***
The overall processing of the off-road control device 10 according to the fourth embodiment will be described with reference to FIG.
The processes in steps S401 and S402 are the same as those in steps S101 and S102 in Fig. 3. The processes in steps S410 to S430 are the same as those in steps S110 to S130 in Fig. 3.
(ステップS403:オフロード制御処理)
図3のステップS103と同様に、オフロード制御部24は、残り時間と、予測内部時間及び予測外部時間とから、対象スロットで対象タスクの入力データが取得された場合の対象タスクの実行方法を決定する。
この際、予測内部時間よりも予測外部時間が長いという前提の下では、オフロード制御部24は、残り時間よりも予測外部時間が短い場合に、外部演算装置14に対象タスクを実行させると判定する。つまり、オフロード制御部24は、外部演算装置14で実行してもデッドラインに間に合う場合には、外部演算装置14に対象タスクを実行させると判定する。
外部演算装置14に対象タスクを実行させると判定された場合には、図3のステップS103と同様に、オフロード制御部24は、残り時間と予測外部時間とから、他タスクによる外部演算装置14の使用を許容するか否かを判定する。
(Step S403: Off-road control process)
Similar to step S103 in FIG. 3, the offload control unit 24 determines the execution method of the target task when input data for the target task is acquired in the target slot, based on the remaining time, the predicted internal time, and the predicted external time.
In this case, under the assumption that the predicted external time is longer than the predicted internal time, the offload control unit 24 determines to have the external computing device 14 execute the target task if the predicted external time is shorter than the remaining time. In other words, the offload control unit 24 determines to have the external computing device 14 execute the target task if the deadline can be met even if the target task is executed by the external computing device 14.
If it is determined that the external computing device 14 should execute the target task, similar to step S103 in FIG. 3, the offload control unit 24 determines whether to allow other tasks to use the external computing device 14 based on the remaining time and the predicted external time.
オフロード制御部24は、外部演算装置14に対象タスクを実行させ、かつ、他タスクによる外部演算装置14の使用を許容できないと判定した場合には、処理をステップS410に進める。つまり、オフロード制御部24は、外部演算装置14の使用待ちによる遅延がなければ、対象タスクを外部演算装置14で実行してもデッドラインに間に合う場合には、処理をステップS410に進める。
オフロード制御部24は、外部演算装置14に対象タスクを実行させ、かつ、他タスクによる外部演算装置14の使用を許容できると判定した場合には、処理をステップS420に進める。つまり、オフロード制御部24は、外部演算装置14の使用待ちによる遅延があっても、対象タスクを外部演算装置14で実行してもデッドラインに間に合う場合には、処理をステップS420に進める。
オフロード制御部24は、外部演算装置14に対象タスクを実行させないと判定した場合には、処理をステップS430に進める。つまり、オフロード制御部24は、対象タスクを内部演算装置11で実行しないとデッドラインに間に合わない場合には、処理をステップS430に進める。
If the offload control unit 24 determines that the external computing device 14 is to execute the target task and that use of the external computing device 14 by other tasks is not permitted, the offload control unit 24 proceeds to step S410. In other words, if there is no delay due to waiting for use of the external computing device 14 and the target task can be executed on the external computing device 14 and still meet the deadline, the offload control unit 24 proceeds to step S410.
If the offload control unit 24 determines that the external computing device 14 can be made to execute the target task and that use of the external computing device 14 by other tasks is permissible, the offload control unit 24 proceeds to step S420. In other words, the offload control unit 24 proceeds to step S420 if the target task can be executed on the external computing device 14 and still meet the deadline, even if there is a delay due to waiting for use of the external computing device 14.
If the offload control unit 24 determines not to cause the external computing device 14 to execute the target task, the offload control unit 24 proceeds to step S430. In other words, if the target task must be executed by the internal computing device 11 in order to meet the deadline, the offload control unit 24 proceeds to step S430.
***実施の形態4の効果***
以上のように、実施の形態4に係るオフロード制御装置10は、予測内部時間よりも予測外部時間が長い場合には、デッドラインが近いタスクに、高速に処理が可能な内部演算装置11を優先的に割り当てることが可能になる。その結果、タスクのデッドラインが満たされ易くなる。
***Effects of the Fourth Embodiment***
As described above, when the predicted external time is longer than the predicted internal time, the offload control device 10 according to the fourth embodiment can preferentially allocate the internal processing unit 11 capable of high-speed processing to a task whose deadline is approaching. As a result, the deadline of the task becomes easier to meet.
以上、本開示の実施の形態及び変形例について説明した。これらの実施の形態及び変形例のうち、いくつかを組み合わせて実施してもよい。また、いずれか1つ又はいくつかを部分的に実施してもよい。なお、本開示は、以上の実施の形態及び変形例に限定されるものではなく、必要に応じて種々の変更が可能である。 The above describes embodiments and variations of the present disclosure. It is also possible to combine several of these embodiments and variations. It is also possible to partially implement one or several of them. It should be noted that the present disclosure is not limited to the above embodiments and variations, and various modifications are possible as needed.
10 オフロード制御装置、11 内部演算装置、12 メモリ、13 記憶装置、14 外部演算装置、21 通信管理部、22 デッドライン管理部、23 予測時間管理部、24 オフロード制御部。 10 Offload control device, 11 Internal processing unit, 12 Memory, 13 Storage device, 14 External processing unit, 21 Communication management unit, 22 Deadline management unit, 23 Predicted time management unit, 24 Offload control unit.
Claims (10)
通信可能なタイムスロットがデータ種別に応じて定められた時分割通信における前記対象タスクの入力データのデータ種別に対応するタイムスロットが開始する基準時間前の時点における前記対象タスクのデッドラインまでの残り時間と、前記予測時間管理部によって管理された前記予測内部時間及び前記予測外部時間とから、前記外部演算装置に前記対象タスクを実行させるか否かを制御するオフロード制御部と
を備えるオフロード制御装置。 a predicted time management unit that manages a predicted internal time, which is a predicted execution time when a target task is executed in an internal computing device, and a predicted external time, which is a predicted execution time when the target task is executed in an external computing device;
an offload control unit that controls whether to cause the external computing device to execute the target task based on the remaining time until the deadline of the target task at a point in time before a reference time at which a time slot corresponding to a data type of input data of the target task starts in time division communication in which time slots available for communication are determined according to data type, and the predicted internal time and the predicted external time managed by the predicted time management unit.
請求項1に記載のオフロード制御装置。 2. The offload control device according to claim 1, wherein the offload control unit causes the external computing device to execute the target task when the predicted external time is shorter than the predicted internal time and the predicted internal time is longer than the remaining time.
請求項1又は2に記載のオフロード制御装置。 3. The offload control device according to claim 1, wherein the offload control unit causes the external computing device to execute the target task when the predicted external time is longer than the predicted internal time and the predicted external time is shorter than the remaining time.
請求項1から3までのいずれか1項に記載のオフロード制御装置。 4. The offload control device according to claim 1, wherein, when the external computing device is caused to execute the target task, the offload control unit controls whether to allow use of the external computing device by another task different from the target task, based on the remaining time and the predicted external time.
請求項4に記載のオフロード制御装置。 5. The offload control device according to claim 4, wherein, when the offload control unit does not allow other tasks different from the target task to use the external computing device, the offload control unit restricts the other tasks from using the external computing device at a time before the reference time of a target slot, which is a time slot corresponding to a data type of input data of the target task.
前記オフロード制御部は、前記他タスクによる前記外部演算装置を許容しない場合には、前記対象スロットの前記基準時間前の時刻になると前記予約フラグを設定する
請求項5に記載のオフロード制御装置。 The other task does not use the external computing device when the reservation flag is set,
6. The offload control device according to claim 5, wherein the offload control unit sets the reservation flag when a time before the reference time of the target slot arrives when the other task does not allow the external calculation device to be used by the other task.
請求項5又は6に記載のオフロード制御装置。 7. The offload control device according to claim 5, wherein the offload control unit releases the usage restriction when the external computing device starts executing the target task if input data for the target task is acquired in the target slot, and immediately releases the usage restriction if input data for the target task is not acquired in the target slot.
請求項1から5までのいずれか1項に記載のオフロード制御装置。 6. The offload control device according to claim 1, wherein the offload control unit performs advance preparations for executing the target task when a time before the reference time of a target slot, which is a time slot corresponding to a data type of input data of the target task, arrives, and cancels the advance preparations if the input data of the target task is not acquired in the target slot.
コンピュータが、通信可能なタイムスロットがデータ種別に応じて定められた時分割通信における前記対象タスクの入力データのデータ種別に対応するタイムスロットが開始する基準時間前の時点における前記対象タスクのデッドラインまでの残り時間と、前記予測内部時間及び前記予測外部時間とから、前記外部演算装置に前記対象タスクを実行させるか否かを制御するオフロード制御方法。 The computer manages a predicted internal time, which is a predicted execution time when a target task is executed in an internal computing device, and a predicted external time, which is a predicted execution time when the target task is executed in an external computing device;
1. An offload control method in which a computer controls whether to cause an external computing device to execute a target task based on the remaining time until the deadline of the target task at a point in time before a reference time at which a time slot corresponding to a data type of input data of the target task starts in time-division communication in which time slots available for communication are determined according to data type, the predicted internal time, and the predicted external time.
通信可能なタイムスロットがデータ種別に応じて定められた時分割通信における前記対象タスクの入力データのデータ種別に対応するタイムスロットが開始する基準時間前の時点における前記対象タスクのデッドラインまでの残り時間と、前記予測時間管理処理によって管理された前記予測内部時間及び前記予測外部時間とから、前記外部演算装置に前記対象タスクを実行させるか否かを制御するオフロード制御処理と
を行うオフロード制御装置としてコンピュータを機能させるオフロード制御プログラム。 a predicted time management process for managing a predicted internal time, which is a predicted execution time when a target task is executed in an internal computing device, and a predicted external time, which is a predicted execution time when the target task is executed in an external computing device;
an external computing device that executes an offload control program that causes a computer to function as an offload control device that performs offload control processing to control whether or not to cause the external computing device to execute the target task, based on the remaining time until the deadline of the target task at a point in time before a reference time at which a time slot corresponding to a data type of input data of the target task starts in time division communication in which time slots available for communication are determined according to data type, and the predicted internal time and the predicted external time managed by the predicted time management processing.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2024/004762 WO2025173058A1 (en) | 2024-02-13 | 2024-02-13 | Offload control device, offload control method, and offload control program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2024/004762 WO2025173058A1 (en) | 2024-02-13 | 2024-02-13 | Offload control device, offload control method, and offload control program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025173058A1 true WO2025173058A1 (en) | 2025-08-21 |
Family
ID=96773664
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2024/004762 Pending WO2025173058A1 (en) | 2024-02-13 | 2024-02-13 | Offload control device, offload control method, and offload control program |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025173058A1 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018063576A (en) * | 2016-10-13 | 2018-04-19 | 富士通株式会社 | Information processing device, information processing method and program |
| WO2019224860A1 (en) * | 2018-05-21 | 2019-11-28 | 三菱電機株式会社 | Communication device, communication method, and communication program |
| JP2020166427A (en) * | 2019-03-28 | 2020-10-08 | 株式会社日立製作所 | Application execution device and application execution method |
-
2024
- 2024-02-13 WO PCT/JP2024/004762 patent/WO2025173058A1/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018063576A (en) * | 2016-10-13 | 2018-04-19 | 富士通株式会社 | Information processing device, information processing method and program |
| WO2019224860A1 (en) * | 2018-05-21 | 2019-11-28 | 三菱電機株式会社 | Communication device, communication method, and communication program |
| JP2020166427A (en) * | 2019-03-28 | 2020-10-08 | 株式会社日立製作所 | Application execution device and application execution method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9710310B2 (en) | Dynamically configurable hardware queues for dispatching jobs to a plurality of hardware acceleration engines | |
| EP3798835B1 (en) | Method, device, and system for implementing hardware acceleration processing | |
| US8572626B2 (en) | Symmetric multi-processor system | |
| CN114138422B (en) | Scalable NVMe storage virtualization method and system | |
| US7103631B1 (en) | Symmetric multi-processor system | |
| WO2017166777A1 (en) | Task scheduling method and device | |
| CN101566957A (en) | Information processing system and task execution control method | |
| TW202414198A (en) | Method for processing multiple tasks, processing device and heterogeneous computing system | |
| US9229765B2 (en) | Guarantee real time processing of soft real-time operating system by instructing core to enter a waiting period prior to transferring a high priority task | |
| CN114168271A (en) | Task scheduling method, electronic device and storage medium | |
| CN112764904A (en) | Method for preventing starvation of low priority tasks in multitask-based system | |
| US20060143204A1 (en) | Method, apparatus and system for dynamically allocating sequestered computing resources | |
| US20060059489A1 (en) | Parallel processing system, interconnection network, node and network control method, and program therefor | |
| US20130247065A1 (en) | Apparatus and method for executing multi-operating systems | |
| WO2025173058A1 (en) | Offload control device, offload control method, and offload control program | |
| US11385927B2 (en) | Interrupt servicing in userspace | |
| CN117806789B (en) | Task processing method and device of multi-core operating system and computing device | |
| CN117112246B (en) | Control device of spin lock | |
| US8135878B1 (en) | Method and apparatus for improving throughput on a common bus | |
| US9619277B2 (en) | Computer with plurality of processors sharing process queue, and process dispatch processing method | |
| JP7054688B2 (en) | Synchronous control system and synchronous control method | |
| CN112306698B (en) | A critical section execution method and device in a NUMA system | |
| WO2022137838A1 (en) | Process allocation control device, process allocation control method, and recording medium storing process allocation control program | |
| CN118916150B (en) | Multi-host task synchronizer and multi-host task synchronization method | |
| CN113934509B (en) | System and operation method supporting hybrid virtual machine manager |
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: 24924877 Country of ref document: EP Kind code of ref document: A1 |