Dataflow optimization apparatus and method for low-power operation of multicore systems
View Patent ↗The present disclosure relates to a dataflow optimization method for low-power operation of a multicore system, the dataflow optimization method including: a step (a) of creating an FSM including a plurality of system states in consideration of dynamic factors that trigger a transition in system states for original dataflow; and a step (b) of optimizing the original dataflow through optimization of the created FSM.
1. A dataflow optimization method for low-power operation of a multicore system, the dataflow optimization method comprising steps of:
creating a Finite State Machine (FSM) including a plurality of system states in consideration of dynamic factors that trigger a transition between system states for an original dataflow composed of a plurality of tasks, the dynamic factors indicating events that trigger the transition between the system states, wherein the dynamic factors are factors related to at least one of a Quality of Service (QoS) change and a power budget change, and wherein the plurality of system states are sequentially arranged in accordance with a QoS level or a power budget level;
optimizing the original dataflow through optimization of the created FSM and storing the optimized original dataflow in a database; and
in response to detecting a change in system state during runtime, controlling an unmanned flying object to autonomically adapt by extracting a response to the change in system state on the basis of the optimized original dataflow stored in the database, and providing the response to the unmanned flying object,
wherein the step of creating further comprises creating the FSM such that a state transition is possible only between adjacent system states among the plurality of system states that were sequentially arranged,
wherein the step of optimizing further comprises:
mapping each of the plurality of tasks corresponding to the created FSM to at least one core of multiple cores to decide candidate mapping information; and
determining whether predetermined conditions are satisfied by applying a priority-based list-scheduling to the plurality of tasks mapped to the multiple cores, and deciding the candidate mapping information as a final mapping information when the predetermined conditions are satisfied as a result of the determination,
wherein in the step of mapping, each task of the plurality of tasks is designated with at least one slot among slots of the multiple cores as many as a maximum parallelism degree of the each task of the plurality of tasks, and
wherein the predetermined conditions include a condition that sets latency to be a predetermined time or less in parallelizing the plurality of tasks scheduled through the multiple cores.
2. The dataflow optimization method of claim 1 , wherein the creating step is to create the system states included in the FSM as many as the number of QoS levels if a type of an optimization problem is QCPM (QoS-Controlled-Power Minimization) in which power consumption is to be minimized in connection with a QoS level, and
to create the system states included in the FSM as many as the number of power budget levels if the type of optimization problem is PCQM (Power-Constrained-QoS-Maximization) in which a QoS level is to be maximized in connection with the power budget.
3. The dataflow optimization method of claim 1 , wherein, in the step of determining, the predetermined conditions are conditions that minimize power consumption if a type of an optimization problem is QCPM (QoS-Controlled-Power-Minimization), and are conditions that maximize a QoS level in association with the power budget if the type of the optimization problem is PCQM (Power-Constrained-QoS-Maximization).
4. The dataflow optimization method of claim 1 , wherein the latency indicates a time difference between start of a first task among the plurality of tasks and completion of a last task among the plurality of tasks.
5. A dataflow optimization apparatus for low-power operation of a multicore system, the dataflow optimization apparatus comprising:
a processor; and
a memory storing instructions executable by the processor,
wherein the processor is configured to:
create a Finite State Machine (FSM) including a plurality of system states in consideration of dynamic factors that trigger a transition between system states for an original dataflow composed of a plurality of tasks, the dynamic factors indicating events that trigger the transition between the system states, wherein the dynamic factors are factors related to at least one of a Quality of Service (QoS) change and a power budget change, and wherein the plurality of system states are sequentially arranged in accordance with a QoS level or a power budget level;
optimize the original dataflow through optimization of the created FSM and store the optimized original dataflow in a database;
in response to detecting a change in system state during runtime, control an unmanned flying object to autonomically adapt by extracting a response to the change in system state on the basis of the optimized original dataflow stored in the database, and provide the response to the unmanned flying object,
wherein the processor is further configured to create the FSM such that a state transition is possible only between adjacent system states among the plurality of system states that were sequentially arranged,
wherein the processor is further configured to:
map each of the plurality of tasks corresponding to the created FSM to at least one core of multiple cores to decide candidate mapping information; and
determine whether predetermined conditions are satisfied by applying a priority-based list-scheduling to the plurality of tasks mapped to the multiple cores, and decide the candidate mapping information as a final mapping information when the predetermined conditions are satisfied as a result of the determination,
wherein in the mapping, each task of the plurality of tasks is designated with at least one slot among slots of the multiple cores as many as a maximum parallelism degree of the each task of the plurality of tasks, and
wherein the predetermined conditions include a condition that sets latency to be a predetermined time or less in parallelizing the plurality of tasks scheduled through the multiple cores.
6. The dataflow optimization apparatus of claim 5 , wherein the predetermined conditions are conditions that minimize power consumption if a type of an optimization problem is QCPM (QoS-Controlled-Power-Minimization), and are conditions that maximize a QoS level in association with the power budget if the type of the optimization problem is PCQM (Power-Constrained-QoS-Maximization).
7. The dataflow optimization apparatus of claim 5 , wherein the latency indicates a time difference between start of a first task among the plurality of tasks and completion of a last task among the plurality of tasks.
8. The dataflow optimization apparatus of claim 5 , wherein the processor is further configured to:
create the system states included in the FSM as many as the number of QoS levels if a type of an optimization problem is QCPM (QoS-Controlled-Power-Minimization) in which power consumption is to be minimized in connection with a QoS level, and
create the system states included in the FSM as many as the number of power budget levels if the type of the optimization problem is PCQM (Power-Constrained-QoS-Maximization) in which a QoS level is maximized in connection with the power budget.