WO2014061141A1 - 並列計算装置 - Google Patents

並列計算装置 Download PDF

Info

Publication number
WO2014061141A1
WO2014061141A1 PCT/JP2012/076986 JP2012076986W WO2014061141A1 WO 2014061141 A1 WO2014061141 A1 WO 2014061141A1 JP 2012076986 W JP2012076986 W JP 2012076986W WO 2014061141 A1 WO2014061141 A1 WO 2014061141A1
Authority
WO
WIPO (PCT)
Prior art keywords
core
computing device
cores
calculation
cycle
Prior art date
Application number
PCT/JP2012/076986
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 US14/436,164 priority Critical patent/US20150277988A1/en
Priority to EP12886726.4A priority patent/EP2911055A4/en
Priority to CN201280076396.7A priority patent/CN104718531A/zh
Priority to PCT/JP2012/076986 priority patent/WO2014061141A1/ja
Priority to JP2014541885A priority patent/JPWO2014061141A1/ja
Publication of WO2014061141A1 publication Critical patent/WO2014061141A1/ja

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a multi-core type parallel computing device. Specifically, the present invention relates to a multi-core type parallel computing device that repeatedly processes a plurality of tasks whose processing completion time is restricted by using one or a plurality of cores having variable operation frequencies.
  • the computing capability of the computing device specifically, the amount of computation per unit time can be increased by increasing the computing frequency of the core.
  • the higher the calculation frequency of the core the greater the power consumed by the core.
  • the rate of change in power consumption with respect to the change in calculation frequency increases as the calculation frequency increases. For this reason, from the viewpoint of power consumption, that is, power efficiency, there has been a limit to high performance by increasing the calculation frequency.
  • a multi-core type parallel computing device in which a plurality of cores are mounted on one semiconductor chip has attracted attention.
  • the multi-core type parallel computing device when there are a plurality of tasks to be processed, the computation load per core can be reduced by assigning them to a plurality of cores and performing parallel computation. That is, if the same amount of computation is processed, the multi-core type parallel computing device can lower the computation frequency of each core as compared with the single-core type computing device. Since the power efficiency of the core decreases as the calculation frequency increases, the multicore type parallel computing device can increase the power efficiency of the computing device as a whole as compared with the single core type computing device.
  • the present invention relates to a multi-core type parallel computing device that repeatedly processes a plurality of tasks for which processing completion time is constrained using one or a plurality of cores having variable calculation frequencies, and a core used for processing the plurality of tasks. It is an object of the present invention to prevent task omission that may occur when increasing or decreasing the number of tasks. In order to achieve such a problem, the present invention provides the following multi-core type parallel computing device.
  • the operation frequency of the active core is increased.
  • the computing capacity of the operating core increases, so even if the required processing completion time is shortened, or because the overhead has increased due to inter-core communication associated with the startup of a new core
  • all tasks can be processed within the required processing completion time.
  • a task to be processed is assigned to a new core and an active core in the cycle following the cycle for starting a new core.
  • the operating frequency of the active core is temporarily increased during the cycle of starting a new core. According to this, it is possible to prevent missing of tasks when increasing the number of cores used for task processing while minimizing the increase in power consumption by shortening the time for increasing the calculation frequency of the core.
  • the operation frequency of the active core is temporarily set during the start cycle. It is also preferable to make it higher. More preferably, the operation frequency of the new core is also temporarily increased during the same activation cycle after the new core is activated. According to this, it is possible to prevent missing of tasks when increasing the number of cores used for task processing while minimizing the increase in power consumption by shortening the time for increasing the calculation frequency of the core.
  • the second parallel computing device provided by the present invention is configured such that, when a task to be processed is assigned to a core that is continuously operated by suspending some of the active cores, the operation frequency of the core that is continuously operated To increase. Since the computing capacity of the core that is continuously operated increases as the computation frequency increases, even if there is an overhead due to inter-core communication due to the suspension of some cores, all of them within the required processing completion time It will be possible to handle the task.
  • a task to be processed is preferably assigned to a core that is continuously operated in a cycle of suspending some cores.
  • the operation frequency of the core that is continuously operated is temporarily increased during a cycle in which some of the cores are suspended. According to this, it is possible to prevent missing of tasks when reducing the number of cores used for task processing while minimizing the increase in power consumption by shortening the time for increasing the calculation frequency of the core.
  • Embodiment 1 of this invention It is a figure for demonstrating the control method at the time of a rest of the core by Embodiment 1 of this invention. It is a flowchart which shows the routine performed when the parallel computing device of Embodiment 1 of this invention carries out a rest of some cores. It is a figure for demonstrating the control method at the time of starting of the additional core by Embodiment 2 of this invention. It is a flowchart which shows the routine performed at the time of starting of an additional core by the parallel computing device of Embodiment 2 of this invention.
  • Embodiment 1 The parallel computing device according to the first embodiment of the present invention will be described with reference to the drawings.
  • the parallel computing device is a parallel computing device that calculates a control target value of an actuator related to engine control using a multi-core processor.
  • the type and structure of the automobile engine to which the parallel computing device of the present embodiment is applied can be applied to various automobile engines such as a gasoline engine, a diesel engine, a naturally aspirated engine, and a supercharged engine.
  • the type and number of control target values calculated by the parallel computing device of the present embodiment can be applied to calculation of control target values of various actuators such as a throttle, an ignition device, a variable valve timing device, an injector, and a waste gate valve.
  • FIG. 1 is a diagram showing an outline of the configuration of the parallel computing device of the present embodiment.
  • the parallel computing device 100 receives various types of information related to the operating state and operating environment of the engine from a plurality of sensors provided in the engine.
  • the parallel computing device 100 calculates a control target value for instructing each actuator based on the information.
  • the parallel computing device 100 is a multi-core type parallel computing device having a plurality of cores 102.
  • Each core 102 includes a CPU 104 with a cache and a local memory 106.
  • the local memory 106 stores various programs executed by the CPU 104 and various data used when the programs are executed.
  • the cores 102 are connected by a bus 110. Communication between the cores 102 is performed via the bus 110. Although not shown, a shared memory shared between the cores is also connected to the bus 110.
  • Each core 102 is provided with a frequency / voltage control unit 108 that can control the drive voltage to change the calculation frequency.
  • FIG. 2 is a diagram showing the frequency-power consumption characteristics of the core included in the parallel computing device of the present embodiment.
  • the power consumption of the core tends to increase as the calculation frequency increases.
  • the rate of change in power consumption with respect to the change in calculation frequency increases as the calculation frequency increases.
  • FIG. 3 is a diagram showing the relationship between the required calculation amount per unit time per core and the required calculation frequency.
  • the requested calculation amount per unit time is determined by the number of tasks to be processed and the required processing completion time.
  • engine control a plurality of tasks are repeatedly executed for each combustion cycle in order to calculate control target values of various actuators. That is, the task processing cycle in engine control matches the engine combustion cycle. For this reason, in engine control, it is required to complete the processing of all tasks within one combustion cycle. That is, the processing completion time of a plurality of tasks related to engine control has a restriction determined by the time of the combustion cycle.
  • the relationship between the required calculation amount per unit time and the required calculation frequency is a linear relationship.
  • the required calculation frequency when the requested calculation amount is processed by one core is f1.
  • the calculation amount per core is halved.
  • the required calculation frequency for each core is not f1 / 2 which is half of f1, but is f2 having a frequency higher than f1 / 2. This is because, when related operations are distributed to two cores, communication is required between the two cores for exchanging information used for the operations, and overhead due to communication between the cores occurs.
  • the apparent required calculation amount in each core increases by the amount of overhead, and the required required calculation amount increases, so that the required calculation frequency becomes f2 higher than f1 / 2.
  • the power consumption is equivalent to 2 cores. However, if the power consumption per core is less than half that of 1 core, the total power consumption of 2 cores will be smaller than the total power consumption of 1 core. You can enjoy the benefits.
  • the power consumption is determined by the calculation frequency.
  • the total power consumption for one core is the power consumption corresponding to the frequency f1 in the frequency-power consumption characteristics, and the total power consumption for the two cores is the power consumption corresponding to the frequency f2 in the frequency-power characteristics. 2 times. Whether the total power consumption at the time of 1 core or the total power consumption at the time of 2 cores is smaller depends on the required calculation amount per unit time, that is, the calculation load applied to the parallel processing device.
  • FIG. 4 is a diagram comparing the total power consumption at the time of 1 core and the total power consumption at the time of 2 cores when the calculation load is large.
  • the higher the calculation frequency the greater the rate of change in power consumption with respect to the change in calculation frequency. Therefore, when the calculation load is large and the calculation frequency f1 is high, the power consumption corresponding to the calculation frequency f2 is smaller than half of the power consumption corresponding to the calculation frequency f1, as shown in FIG. Therefore, when the calculation load is large, the total power consumption at the time of 2 cores tends to be smaller than the total power consumption at the time of 1 core.
  • FIG. 5 is a diagram comparing the total power consumption at the time of 1 core and the total power consumption at the time of 2 cores when the calculation load is small.
  • the power consumption corresponding to the calculation frequency f2 is larger than half of the power consumption corresponding to the calculation frequency f1, as shown in FIG. Therefore, when the calculation load is small, the total power consumption for one core tends to be smaller than the total power consumption for two cores.
  • FIG. 6 is a graph showing the relationship between the total power consumption and the required calculation frequency in the case of 1 core and 2 cores.
  • the required calculation frequency in this graph is the calculation frequency required when a required calculation amount per unit time is processed by one core.
  • the power consumption is the total power consumption when the number of cores is increased from 1 core to 2 cores
  • the power consumption when the requested calculation amount is processed from the 1 core to the 2 cores is the total power consumption.
  • the total power consumption at the time of 1 core and the total power consumption at the time of 2 cores are equal at a certain threshold frequency fc, and if the calculation frequency is higher than the threshold frequency fc, the total power consumption at the time of 2 cores is 1 Lower than the total power consumption at the core.
  • the calculation frequency is lower than the threshold frequency fc, the total power consumption at the time of 1 core is lower than the total power consumption at the time of 2 cores.
  • the parallel computing device stores the threshold frequency fc in advance, and selects the number of cores based on whether or not the requested calculation frequency is higher or lower than the threshold frequency fc.
  • the power consumption can be reduced. That is, when the required calculation frequency is higher than the threshold frequency fc, the power consumption can be suppressed to a lower level by selecting parallel calculation by two cores. On the other hand, when the required calculation frequency is lower than the threshold frequency fc, the power consumption can be further suppressed by performing the calculation with one core rather than performing the parallel calculation with two cores.
  • FIG. 7 is a diagram for explaining a problem that occurs when an additional core (core 2) is newly activated when task processing is performed by only one core (core 1).
  • the parallel computing device calculates the time of the next combustion cycle based on the engine speed and the rate of change thereof. Here, a case where the time T2 of the next combustion cycle becomes shorter than the time T1 of the current combustion cycle will be considered.
  • the parallel computing device calculates a calculation amount per unit time using the time of the combustion cycle as a processing completion time, and calculates a required calculation frequency from the calculation amount per unit time. That is, a calculation frequency that can minimize power consumption within a range that satisfies the processing completion time constraint is calculated as the required calculation frequency.
  • the parallel computing device determines to start the core 2 and executes the start processing of the core 2 in the next cycle.
  • the task to be processed is distributed and allocated to the two cores.
  • the calculation frequency of each core is determined so that the total time of the overhead and the calculation time for task processing coincides with the combustion cycle time T2.
  • the required calculation frequency at the time of one core is higher than the threshold frequency fc, switching to parallel calculation by two cores in this way makes the entire parallel computing device as compared with the case of processing a task by one core. Power consumption can be reduced.
  • FIG. 8 is a diagram for explaining a problem that occurs when one core (core 2) is suspended when task processing is performed in parallel computation by two cores.
  • a case where the time T4 of the next combustion cycle becomes longer than the time T3 of the current combustion cycle will be considered.
  • the parallel computing device calculates a required calculation frequency in the case where all tasks are processed by one core from the calculation amount and processing completion time for task processing.
  • the parallel computing device determines that the core 2 is to be paused, and executes the pause processing for the core 2 in the next combustion cycle. To do.
  • the parallel computing device sets the computation frequency of core 1 so that the computation time for task processing coincides with the combustion cycle time T4. decide.
  • the required calculation frequency at the time of one core is lower than the threshold frequency fc, by switching to the calculation by only one core in this way, the parallel calculation apparatus as a whole is compared with the case of performing the parallel calculation by two cores. Power consumption can be reduced.
  • the cycle for suspending core 2 causes overhead due to inter-core communication despite operating only core 1. If the core 2 is to be paused, it is necessary to take the information necessary for processing the task that the core 2 was responsible for from the core 2 to the core 1 and then pause the core 2. For this reason, in the cycle in which the core 2 is suspended, inter-core communication for information takeover occurs, and the overhead due to the inter-core communication is added to the calculation time of the core 1.
  • the parallel calculation apparatus sets the calculation frequency that can minimize power consumption within the combustion cycle time T4 as the required calculation frequency of the core 1. For this reason, when overhead is added to the computation time, some tasks with low priority cannot be processed within the processing completion time. In other words, when switching from parallel computation with two cores to single computation with one core, simply missing an unnecessary core causes task omissions.
  • the parallel control device of the present embodiment employs the following solutions.
  • FIG. 9 is a diagram for explaining a control method when the additional core is activated by the parallel control device of the present embodiment.
  • an additional core core 2
  • core 1 core 1
  • FIG. 9 an example of a case where an additional core (core 2) is newly activated when task processing is performed by only one core (core 1) corresponding to the comparative example described with reference to FIG. To explain.
  • the parallel computing device of the present embodiment calculates the required calculation frequency of the next cycle from the predicted next combustion cycle time T2. Then, it is determined whether or not to activate the core 2 depending on whether or not the requested calculation frequency of the next cycle is higher than the threshold frequency fc. When the requested calculation frequency is higher than the threshold frequency fc, the core 2 activation process is executed in the next cycle.
  • the difference between the control method by the parallel computing device of this embodiment and the comparative example is the setting of the calculation frequency of the core 1 in the cycle (hereinafter referred to as an additional core startup cycle) in which the core 2 is started up. It is the next cycle of the additional core activation cycle that tasks are assigned to the core 1 and the core 2 and the parallel calculation by the two cores is started. In the additional core activation cycle, the single calculation by the core 1 is continued.
  • the processing completion time required in the additional core activation cycle is not the combustion cycle time T1 but the time corresponding to the combustion cycle time T2. Since the combustion cycle time T2 is shorter than the combustion cycle time T1, the processing completion time required in the additional core activation cycle is shorter than the processing completion time of the previous cycle. Therefore, the parallel computing device of the present embodiment causes the core 1 to operate at a calculation frequency higher than the calculation frequency optimized for the combustion cycle time T1 in the additional core startup cycle.
  • the calculation frequency of the core 1 in the additional core start-up cycle is calculated within the calculation frequency optimized for the expected combustion cycle time T2, that is, within the range where the processing completion time does not exceed the combustion cycle time T2.
  • a calculation frequency that can minimize power is preferable.
  • the above-described control method at the time of starting the additional core is implemented by executing the routine shown in the flowchart of FIG. 10 by the parallel computing device of the present embodiment. This routine is executed when a single calculation is performed by one core.
  • the additional core needs to be activated.
  • the amount of calculation of a task to be processed in the next combustion cycle and the time of the next combustion cycle predicted from the engine speed are used as information.
  • the required calculation amount per unit time when all tasks are processed by one core is calculated, and the required calculation frequency is calculated from the calculation amount per unit time. Whether or not the required calculation frequency is higher than the threshold frequency fc is a criterion for determining whether or not the additional core needs to be activated.
  • step S104 it is determined whether or not to activate the additional core in light of the above-described determination criteria.
  • step S106 the process of step S106 is performed.
  • step S106 the additional core activation process is performed in the cycle following the cycle in which it is determined whether the additional core needs to be activated.
  • the drive voltage of the operating core is temporarily increased. Since the calculation frequency of the core is proportional to the drive voltage, increasing the drive voltage increases the calculation frequency. By increasing the calculation frequency and increasing the calculation capability of the core, the processing of all tasks can be completed within the required processing completion time.
  • step S106 the process of step S106 described above is skipped.
  • the task processing is performed by only one core that is still operating.
  • tasks are assigned to two cores, and the tasks are processed by parallel computation using the two cores. Since the calculation frequency of each core can be lowered according to the parallel calculation, the driving voltage of each core can also be lowered. Therefore, the period during which the drive voltage and the calculation frequency are increased as the additional core is activated may be a period of the additional core activation cycle, that is, a temporary period at the longest.
  • FIG. 11 is a diagram for explaining a control method when a partial core is suspended by the parallel control device of the present embodiment.
  • core 2 a case where one core (core 2) is suspended when task processing is performed by parallel calculation using two cores will be described as an example. To do.
  • the parallel computing device of the present embodiment calculates the required calculation frequency when operating only the core 1 from the expected next combustion cycle time T4. Then, it is determined whether or not the core 2 is to be stopped depending on whether or not the requested calculation frequency of the next cycle is lower than the threshold frequency fc. When the requested calculation frequency is lower than the threshold frequency fc, the pause process of the core 2 is executed in the next cycle.
  • the difference between the control method by the parallel computing device of this embodiment and the comparative example is the setting of the calculation frequency of the core 1 in the cycle (hereinafter referred to as “core sleep cycle”) in which the core 2 is paused.
  • core sleep cycle a task is assigned only to the core 1, and the parallel calculation by the core 1 and the core 2 is switched to the single calculation by the core 1. For this reason, the number of tasks that the core 1 is in charge of is larger than that in parallel calculation, and the calculation frequency required for the core 1 is higher than that in parallel calculation.
  • overhead is generated in the same manner as in parallel calculation because information is transferred from the sleep core 2 to the continuously operating core 1.
  • the parallel computing device of the present embodiment causes the core 1 to operate at a higher calculation frequency than the calculation frequency optimized for the combustion cycle time T4 in the core pause cycle.
  • the control method during the pause of the partial cores described above is implemented by executing the routine shown in the flowchart of FIG. 12 by the parallel computing device of the present embodiment. This routine is executed when parallel calculation by two cores is performed.
  • the first step S202 of the flowchart of FIG. 12 it is determined whether or not it is necessary to suspend some of the operating cores.
  • the amount of calculation of a task to be processed in the next combustion cycle and the time of the next combustion cycle predicted from the engine speed are used as information.
  • the required calculation amount per unit time when all tasks are processed by one core is calculated, and the required calculation frequency is calculated from the calculation amount per unit time.
  • Whether or not the requested calculation frequency is lower than the threshold frequency fc is a criterion for determining whether or not it is necessary to pause some cores.
  • step S204 it is determined whether or not to suspend some cores in light of the above criteria. When some cores are suspended, the process of step S206 is executed.
  • step S206 the partial core suspension process is performed in the cycle following the cycle in which it is determined whether or not the partial core is required to be suspended.
  • the driving voltage of the core that is continuously operated is temporarily increased to increase the calculation frequency of the core.
  • step S206 If the partial cores are not paused, the process of step S206 described above is skipped. In this case, parallel computation by two cores continues. Further, in a cycle after the core sleep cycle, task processing is performed by a single calculation by only one core continuously operating. Since the overhead due to the pause of some cores occurs only in the core pause cycle, in the cycle after the core pause cycle, the core calculation frequency is the lowest calculation determined by the amount of task processing and the requested processing completion time The frequency is good. Therefore, the period during which the drive voltage and the calculation frequency are increased in accordance with the suspension of some cores may be a period of the core suspension cycle, that is, a temporary period at the longest.
  • Embodiment 2 FIG. Next, the parallel computing device according to the second embodiment of the present invention will be described with reference to the drawings.
  • FIG. 13 is a diagram for explaining a control method when the additional core is activated by the parallel control device of the present embodiment.
  • an additional core core 2
  • core 1 core 1
  • core 2 core 2
  • the parallel computing device of the present embodiment calculates the required calculation frequency of the next cycle from the predicted next combustion cycle time T2. Then, it is determined whether or not to activate the core 2 depending on whether or not the requested calculation frequency of the next cycle is higher than the threshold frequency fc. When the requested calculation frequency is higher than the threshold frequency fc, the core 2 activation process is executed in the next cycle. Further, tasks are assigned to the core 1 and the core 2 in the same cycle, and parallel computation using the core 1 and the core 2 is started. That is, in the present embodiment, task processing by parallel calculation is started in an additional core activation cycle for executing the core 2 activation processing.
  • the calculation frequency that can minimize the power consumption within the range where the processing completion time does not exceed the combustion cycle time T2 is set as the required calculation frequency of each core.
  • the required calculation frequency overhead due to inter-core communication is taken into consideration in addition to the calculation amount for processing tasks assigned to each core.
  • the core 2 requires startup processing prior to inter-core communication and parallel computation.
  • calculation by the core 1 cannot be started until the core 2 is activated and communication between the cores becomes possible.
  • the time that each core can substantially use for the inter-core communication and the parallel calculation in the additional core activation cycle is a time obtained by excluding the time required for the activation process of the core 2 from the combustion cycle time T2. That is, the substantial processing completion time required in the additional core activation cycle is shorter than the processing completion time of the next and subsequent cycles in which the activation of the core 2 is completed. Therefore, in the additional core startup cycle, the parallel computing device according to the present embodiment operates the core 1 and the core 2 at a calculation frequency higher than the calculation frequency optimized for the combustion cycle time T2.
  • the above-described control method at the time of starting the additional core is implemented by executing the routine shown in the flowchart of FIG. 14 by the parallel computing device of the present embodiment.
  • This routine is executed when a single calculation is performed by one core.
  • processes that are the same as those in the flowchart of the first embodiment are given the same step numbers.
  • step S102 of the flowchart of FIG. 14 it is determined whether or not the additional core needs to be activated.
  • step S104 it is determined whether to activate the additional core based on the determination result in step S102.
  • the contents of steps S102 and S104 are as described in the first embodiment.
  • step S108 the additional core activation process is performed in the cycle following the cycle in which it is determined whether the additional core needs to be activated.
  • step S110 the process of step S110 is subsequently executed.
  • step S110 tasks are assigned to both the active core and the additional core in the additional core startup cycle, and parallel computation using the two cores is started. At that time, both the operating voltage of the active core and the driving voltage of the additional core are temporarily increased to increase the calculation frequency of both cores. By increasing the calculation frequency and increasing the calculation capability of both cores, the processing of all tasks can be completed within the required processing completion time.
  • the task processing is performed by only one core that is still operating. Further, in a cycle after the additional core activation cycle, task processing is performed by parallel computation using two cores following the additional core activation cycle.
  • the substantial process completion time is shortened only for the additional core start cycle due to the start processing of the additional core, and the calculation frequency optimized for the combustion cycle time T2 is set in the subsequent cycles. be able to. Therefore, the period during which the drive voltage and the calculation frequency are increased as the additional core is activated may be a period of the additional core activation cycle, that is, a temporary period at the longest.
  • the operation frequency is increased by increasing the drive voltage of the active core during the additional core activation cycle.
  • the period in which the drive voltage is increased to increase the calculation frequency may be limited to the period in which the operating core is actually executing the calculation for task processing.
  • the operation frequency is increased by increasing the drive voltage of the core that is continuously operated during the core suspension cycle.
  • the period in which the drive voltage is increased to increase the calculation frequency may be limited to a period in which the core that is continuously operating is actually executing a calculation for task processing.
  • the operation frequency is increased by increasing the drive voltage of both the active core and the additional core during the additional core start cycle.
  • the period in which the drive voltage is increased to increase the calculation frequency may be limited to a period in which each of the active core and the additional core is actually executing a calculation for task processing.
  • the control method at the time of starting the additional core according to the first embodiment can also be applied to control when a new core is added in parallel calculation by a plurality of cores.
  • the number of cores used for parallel computation is increased, the processing completion time required for each active core in the cycle for starting the additional core is shorter than that in the previous cycle. In this case, by temporarily increasing the calculation frequency of each operating core, all tasks can be processed within the required processing completion time.
  • the control method when the partial core is paused according to the first embodiment can also be applied to the control when the partial core is paused in parallel computation by a plurality of cores.
  • an overhead is generated for taking over information from a suspended core to each core that is continuously operated.
  • all the tasks can be processed within the required processing completion time by temporarily increasing the calculation frequency of each core that is continuously operated.
  • control method at the time of starting the additional core according to the second embodiment can be applied to the control when a new core is added in parallel calculation by a plurality of cores.
  • parallel calculation using an additional core is also started in the cycle for starting the additional core, the substantial processing completion time required for each active core and the additional core for the time required for the startup process of the additional core is Shorter. In this case, it is possible to process all tasks within the required processing completion time by temporarily increasing the operation frequency of each active core and additional core.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

 本発明は、処理完了時間が制約されている複数のタスクを演算周波数が可変の1又は複数のコアを用いて繰り返し処理するマルチコアタイプの並列計算装置に関する。本発明に係る並列計算装置は、新たにコアを起動させて前記新たなコアと稼動中のコアとに前記複数のタスクを割り当てる場合、前記稼動中のコアの演算周波数を高くする。

Description

並列計算装置
 本発明は、マルチコアタイプの並列計算装置に関する。詳しくは、処理完了時間が制約されている複数のタスクを演算周波数が可変の1又は複数のコアを用いて繰り返し処理するマルチコアタイプの並列計算装置に関する。
 演算周波数が可変のCPUコアを備える計算装置の場合、計算装置の演算能力、具体的には、単位時間当たりの演算量は、コアの演算周波数を高めることによって高くすることができる。しかし、コアの演算周波数を高くするほど、コアで消費される電力は大きくなる。しかも、コアの演算周波数と演算能力との関係は略線形であるのに対し、演算周波数の変化に対する消費電力の変化率は演算周波数が高くなるほど大きくなる。このため、消費電力に対する演算能力、すなわち、電力効率の観点では、演算周波数の高周波数化による高性能化には限界があった。
 そこで、近年では、1つの半導体チップ上に複数のコアを搭載したマルチコアタイプの並列計算装置が注目されている。マルチコアタイプの並列計算装置によれば、処理すべきタスクが複数存在する場合、それらを複数のコアに割り当てて並列計算することにより、1コア当りの演算負荷を低減することができる。すなわち、同じ量の演算を処理するのであれば、マルチコアタイプの並列計算装置は、シングルコアタイプの計算装置に比較して各コアの演算周波数を低くすることができる。コアの電力効率は演算周波数が高くなるほど低下することから、マルチコアタイプの並列計算装置によれば、シングルコアタイプの計算装置よりも計算装置全体としての電力効率を高めることができる。
 ただし、計算装置の電力効率に関する上記の理屈は、必ずしも全ての状況で成立するものではない。実際には複数のタスクをマルチコアタイプの並列計算装置で並列計算する場合、タスクの処理に要する演算時間とは別にコア間通信に伴うオーバーヘッドが発生する。このため、処理するタスクの数は同じであっても、その処理のための演算時間の総和はマルチコアタイプの並列計算装置の方がシングルコアタイプの計算装置よりも大きくなる。タスク処理のための演算量が多いときには、全体に対するオーバーヘッドの割合は小さいため、上述のように、マルチコアタイプの並列計算装置の方が高い電力効率を得ることができる。しかしながら、タスク処理のための演算量が少ないときには、全体に対するオーバーヘッドの割合が大きくなるため、逆にシングルコアタイプの計算装置の方が電力効率は高くなる。
 以上の例では、シングルコアタイプの計算装置とマルチコアタイプの並列計算装置との比較について述べたが、電力効率に関する上述の問題は、マルチコアタイプの並列計算装置において稼動コア数を変更する場合にも当てはまる問題でもある。マルチコアタイプの並列計算装置において稼動コア数を変更する場合、稼動コア数に応じてコア間通信に伴うオーバーヘッドが増減するからである。この点に関し、先行技術である特開2006-344162号公報に開示された並列計算装置は、複数のコアによる消費電力量の合計が最小になるように、並列処理によるオーバーヘッドを考慮して稼動するコアの数と演算周波数とを決定するようになっている。
 しかしながら、上記先行技術には問題がある。その問題とは処理すべきタスクの抜けが発生しうることである。コアを新たに稼動する場合、その起動にはある程度の時間を要する。このため、稼動コア数を増やす必要が生じてから、実際に新たなコアが稼動し、その新たなコアを含む複数のコアにタスクが割り当てられるようになるまでには、コアの起動処理に起因するタイムラグが生じることになる。このタイムラグの間は、既に稼動中のコアのみで全てのタスクを処理することになる。繰り返し処理されるタスクの場合、その処理完了時間には制約があるため、オーバーヘッドと演算時間とを含む必要処理時間と、要求されている処理完了時間との関係によっては、一部のタスクが処理完了時間内で処理しきれない可能性がある。
 また、稼動中のコアのうちの一部のコアを休止する場合にもタスクの抜けが発生する可能性がある。コアを休止する場合には、演算に必要な情報が休止させるコアから継続して稼動させるコアに送信される。このため、ある演算サイクルにおいてコアを休止する場合、休止処理に伴うコア間通信によってオーバーヘッドが発生し、継続して稼動されるコアの演算時間にそのオーバーヘッドが加算されることになる。結果、オーバーヘッドと演算時間とを含む必要処理時間と、要求されている処理完了時間との関係によっては、一部のタスクが処理完了時間内で処理しきれない可能性がある。
特開2006-344162号公報
 本発明は、処理完了時間が制約されている複数のタスクを演算周波数が可変の1又は複数のコアを用いて繰り返し処理するマルチコアタイプの並列計算装置において、前記複数のタスクの処理に使用するコアの数を増減させる際に生じうるタスクの抜けを防止することを課題とする。そして、そのような課題を達成するために、本発明は次のようなマルチコアタイプの並列計算装置を提供する。
 本発明が提供する第1の並列計算装置は、新たにコアを起動させてその新たなコアと稼動中のコアとに処理対象タスクを割り当てる場合、稼動中のコアの演算周波数を高くする。演算周波数が高くなれば稼動中のコアの演算能力は高まることから、要求されている処理完了時間が短くなったとしても、或いは、新たなコアの起動に伴うコア間通信によってオーバーヘッドが増大したとしても、要求されている処理完了時間内で全てのタスクを処理できるようになる。
 新たにコアを起動させる場合、好ましくは、新たなコアを起動するサイクルの次のサイクルにて新たなコアと稼動中のコアとに処理対象タスクを割り当てる。そして、好ましくは、新たなコアを起動するサイクルの間、稼動中のコアの演算周波数を一時的に高くする。これによれば、コアの演算周波数を高める時間を短くして消費電力の増大を最小限に抑えながら、タスク処理に使用するコアの数を増やす際のタスクの抜けを防止することができる。
 新たにコアを起動させる場合、その起動サイクルにて新たなコアと稼動中のコアとに処理対象である複数のタスクを割り当てるとともに、同起動サイクルの間、稼動中のコアの演算周波数を一時的に高くすることも好ましい。より好ましくは、新たなコアを起動した後の同起動サイクルの間、新たなコアの演算周波数も一時的に高くする。これによれば、コアの演算周波数を高める時間を短くして消費電力の増大を最小限に抑えながら、タスク処理に使用するコアの数を増やす際のタスクの抜けを防止することができる。
 本発明が提供する第2の並列計算装置は、稼動中のコアのうち一部のコアを休止させて継続して稼動させるコアに処理対象タスクを割り当てる場合、継続して稼動させるコアの演算周波数を高くする。演算周波数が高くなれば継続して稼動されるコアの演算能力は高まることから、一部のコアの休止に伴うコア間通信によってオーバーヘッドが生じたとしても、要求されている処理完了時間内で全てのタスクを処理できるようになる。
 一部のコアを休止させる場合、好ましくは、一部のコアを休止させるサイクルにおいて継続して稼動させるコアに対し処理対象タスクを割り当てる。そして、好ましくは、一部のコアを休止させるサイクルの間、継続して稼動させるコアの演算周波数を一時的に高くする。これによれば、コアの演算周波数を高める時間を短くして消費電力の増大を最小限に抑えながら、タスク処理に使用するコアの数を減らす際のタスクの抜けを防止することができる。
本発明の実施の形態1の並列計算装置の構成の概略を示す図である。 演算周波数が可変のコアの周波数-消費電力特性を示す図である。 マルチコアタイプの並列計算装置における単位時間当たり要求演算量と要求演算周波数との関係を示す図である。 演算負荷が大きい場合の1コア時の合計消費電力と2コア時の合計消費電力とを比較する図である。 演算負荷が小さい場合の1コア時の合計消費電力と2コア時の合計消費電力とを比較する図である。 合計消費電力と要求演算周波数との関係を1コア時と2コア時とで比較して示す図である。 稼動コア数を1コアから2コアに増やす場合に生じうる問題について説明するための図である。 稼動コア数を2コアから1コアに減らす場合に生じうる問題について説明するための図である。 本発明の実施の形態1による追加コアの起動時の制御方法を説明するための図である。 本発明の実施の形態1の並列計算装置により追加コアの起動時に実行されるルーチンを示すフローチャートである。 本発明の実施の形態1による一部コアの休止時の制御方法を説明するための図である。 本発明の実施の形態1の並列計算装置により一部コアの休止時に実行されるルーチンを示すフローチャートである。 本発明の実施の形態2による追加コアの起動時の制御方法を説明するための図である。 本発明の実施の形態2の並列計算装置により追加コアの起動時に実行されるルーチンを示すフローチャートである。
実施の形態1.
 本発明の実施の形態1の並列計算装置について図を参照して説明する。
 本実施の形態の並列計算装置は、マルチコアプロセッサを用いてエンジン制御にかかるアクチュエータの制御目標値を演算する並列計算装置である。本実施の形態の並列計算装置が適用される自動車用エンジンの種類や構造に限定は無い。例えば、ガソリンエンジン、ディーゼルエンジン、自然吸気エンジン、過給エンジン等、様々な自動車用エンジンに適用することができる。また、本実施の形態の並列計算装置が演算する制御目標値の種類や数にも限定は無い。例えば、スロットル、点火装置、可変バルブタイミング装置、インジェクタ、ウエストゲートバルブ等、様々なアクチュエータの制御目標値の演算に適用することができる。
 図1は、本実施の形態の並列計算装置の構成の概略を示す図である。並列計算装置100には、エンジンに備えられる複数のセンサからエンジンの運転状態や運転環境に関する各種の情報が入力される。並列計算装置100はそれらの情報に基づいて各アクチュエータに指示する制御目標値を計算する。並列計算装置100は複数のコア102を有するマルチコアタイプの並列計算装置である。各コア102は、キャッシュ付きのCPU104とローカルメモリ106とを備えている。ローカルメモリ106には、CPU104で実行される各種のプログラムとそのプログラムの実行時に使用される各種のデータが記憶されている。コア102同士はバス110で接続されている。バス110を経由してコア102間での通信が行われる。図示は省略するが、バス110にはコア間で共有される共有メモリも接続されている。また、各コア102には、駆動電圧を制御して演算周波数を変化させることのできる周波数・電圧制御ユニット108が備えられている。
 図2は、本実施の形態の並列計算装置が備えるコアの周波数-消費電力特性を示す図である。コアの消費電力は演算周波数が高くなるにつれて大きくなる傾向がある。また、演算周波数の変化に対する消費電力の変化率は演算周波数が高くなるほど大きくなる。
 図3は、1コア当りの単位時間当り要求演算量と要求演算周波数との関係について示す図である。単位時間当り要求演算量は、処理すべきタスクの数と要求される処理完了時間とによって決まる。エンジン制御では、様々なアクチュエータの制御目標値の演算のため、複数のタスクが燃焼サイクルごとに繰り返し実行される。つまり、エンジン制御におけるタスクの処理のサイクルはエンジンの燃焼サイクルに一致する。このため、エンジン制御では1つの燃焼サイクル内で全てのタスクの処理を完了することが求められる。つまり、エンジン制御にかかる複数のタスクの処理完了時間には、燃焼サイクルの時間により決まる制約がある。
 図3に示すように、演算に使用するコアの数が一定の場合、単位時間当り要求演算量と要求演算周波数との関係は線形関係である。ここで、要求されている演算量を1つのコアで処理する場合の要演算周波数をf1とする。同じ演算量を2つのコアで処理する場合、1つのコア当りの演算量は半分になる。しかしながら、各コアに対する要求演算周波数はf1の半分であるf1/2にはならず、f1/2よりも高い周波数のf2となる。これは、関連する演算を2つのコアに分散させて行う場合には、演算に用いる情報のやり取りのために2つのコア間で通信が必要となり、コア間通信によるオーバーヘッドが発生するためである。オーバーヘッドの分だけ各コアにおける見かけの要求演算量は大きくなり、見かけの要求演算量が大きくなることで要求演算周波数はf1/2よりも高いf2になるのである。
 コア数を1コアから2コアに増やした場合、消費電力量はコア2つ分となる。しかし、1コア当りの消費電力量が1コア時の半分以下であれば、2コア時の合計消費電力量は1コア時の合計消費電力量よりも小さくなり、並列計算による低消費電力化のメリットを享受することができる。消費電力量は演算周波数によって決まる。1コア時の合計消費電力量は周波数-消費電力特性において周波数f1に対応する消費電力量であり、2コア時の合計消費電力量は周波数-消費電力特性において周波数f2に対応する消費電力量の2倍である。1コア時の合計消費電力と2コア時の合計消費電力のどちらが小さいかは、単位時間当り要求演算量、すなわち、並列演算装置にかかる演算負荷の大きさにかかっている。
 図4は、演算負荷が大きい場合の1コア時の合計消費電力と2コア時の合計消費電力とを比較する図である。コアの周波数-消費電力特性によれば、演算周波数が高くなるほど演算周波数の変化に対する消費電力の変化率が大きくなる。このため、演算負荷が大きく演算周波数f1が高い場合には、図4に示すように演算周波数f2に対応する消費電力量は演算周波数f1に対応する消費電力量の半分より小さくなる。よって、演算負荷が大きいときには、1コア時の合計消費電力よりも2コア時の合計消費電力のほうが小さくなる傾向にある。
 一方、図5は、演算負荷が小さい場合の1コア時の合計消費電力と2コア時の合計消費電力とを比較する図である。演算負荷が小さく演算周波数f1が低い場合には、図5に示すように演算周波数f2に対応する消費電力量は演算周波数f1に対応する消費電力量の半分より大きくなる。よって、演算負荷が小さいときには、2コア時の合計消費電力よりも1コア時の合計消費電力のほうが小さくなる傾向にある。
 図6は、合計消費電力と要求演算周波数との関係を1コア時と2コア時とで比較して示すグラフである。このグラフにおける要求演算周波数は、ある単位時間当り要求演算量を1つのコアで処理する場合に要求される演算周波数である。その場合の消費電力が1コア時の合計消費電力であり、同要求演算量を1コアから2コアにコア数を増やして処理する場合の消費電力が2コア時の合計消費電力である。このグラフに示すように、1コア時の合計消費電力と2コア時の合計消費電力とはある閾値周波数fcにおいて等しく、演算周波数が閾値周波数fcより高ければ2コア時の合計消費電力のほうが1コア時の合計消費電力よりも低くなる。逆に、演算周波数が閾値周波数fcより低ければ1コア時の合計消費電力のほうが2コア時の合計消費電力よりも低くなる。
 以上のことから分かるように、並列計算装置に閾値周波数fcを予め記憶しておき、要求演算周波数が閾値周波数fcより高いか低いかを判断基準にしてコア数を選択することにより、並列計算装置の低消費電力化を図ることができる。つまり、要求演算周波数が閾値周波数fcよりも高い場合には、2つのコアによる並列計算を選択することによって消費電力をより低く抑えることができる。逆に、要求演算周波数が閾値周波数fcより低い場合には、2つのコアで並列計算を行うよりも1つのコアで計算を行ったほうが消費電力をより低く抑えることができる。
 ただし、単にコア数の切り替えを行うだけではある問題が生じる。その問題について図7及び図8を用いて解説する。なお、以下に解説する問題は、あくまでも本発明の創案過程において検討された並列計算装置(比較例)において見られた問題である。本実施の形態の並列計算装置では、後述するように問題に対する解決策が施されている。
 図7は、1つのコア(コア1)のみでタスクの処理を行っていた場合に、追加のコア(コア2)を新たに起動する際に生じる問題について説明するための図である。並列計算装置は、エンジン回転数とその変化率とに基づいて次の燃焼サイクルの時間を計算する。ここでは、今回の燃焼サイクルの時間T1に対して次回の燃焼サイクルの時間T2が短くなった場合について検討する。並列計算装置は、燃焼サイクルの時間を処理完了時間として単位時間当り演算量を計算し、単位時間当り演算量から要求演算周波数を計算する。つまり、処理完了時間の制約を満たす範囲内で消費電力を最小にできる演算周波数を要求演算周波数として算出する。処理すべきタスクの演算量が一定の場合、処理完了時間である燃焼サイクルの時間がT1からT2へ短くなれば、単位時間当り演算量は増大して要求演算周波数は高くなる。要求演算周波数が閾値周波数fcよりも高くなることが予想された場合、並列計算装置はコア2を起動させることを判断し、次回サイクルにおいてコア2の起動処理を実行する。
 コア1に加えてコア2が起動することで、処理すべきタスクは2つのコアに分散して割り当てられる。関連するタスクを分散させることでコア間通信によるオーバーヘッドが発生するが、オーバーヘッドとタスク処理にかかる演算時間との合計時間が燃焼サイクル時間T2と一致するように各コアの演算周波数が決定される。1コア時の要求演算周波数が閾値周波数fcよりも高い場合には、このように2つのコアによる並列計算に切り替えることにより、1つのコアでタスクを処理する場合に比較して並列計算装置全体での低消費電力化が可能となる。
 ただし、上記の並列計算によるメリットが得られるのは、コア2が起動した以降のサイクルに限られる。コア2の実際の起動は、起動処理を実行したサイクルの次のサイクルとなる。このため、コア2の起動処理が実行されるサイクルでは、稼動中のコア1のみで全てのタスクを処理しなければならない。しかし、コア1の演算周波数は前回の処理完了時間に対して最適化されているため、今回の処理完了時間内では全てのタスクを処理することができない。タスクは優先度を付けて実行されるため、優先度が低いタスクは処理されるずに残ってしまう。つまり、1つのコアによる計算から2つのコアによる並列計算に切り替える場合、単純に追加のコアを起動するだけではタスクの抜けが発生してしまう。
 図8は、2つのコアによる並列計算でタスクの処理を行っていた場合に、一方のコア(コア2)を休止する際に生じる問題について説明するための図である。ここでは、今回の燃焼サイクルの時間T3に対して次回の燃焼サイクルの時間T4が長くなった場合について検討する。処理すべきタスクの演算量が一定の場合、処理完了時間である燃焼サイクルの時間がT3からT4へ長くなれば、単位時間当り演算量は減少して要求演算周波数は低くなる。並列計算装置はタスクの処理にかかる演算量と処理完了時間とから全てのタスクを1つのコアで処理する場合の要求演算周波数を計算する。そして、1コア時の要求演算周波数が閾値周波数fcよりも低くなることが予想された場合、並列計算装置はコア2を休止させることを判断し、次回の燃焼サイクルにおいてコア2の休止処理を実行する。
 コア2が休止することで、処理すべきタスクは継続して稼動されるコア1に割り当てられる。タスク処理に使用するコアが1つのみであればコア間通信によるオーバーヘッドは発生しないため、並列計算装置はタスクの処理にかかる演算時間が燃焼サイクル時間T4と一致するようにコア1の演算周波数を決定する。1コア時の要求演算周波数が閾値周波数fcよりも低い場合には、このように1つのコアのみによる計算に切り替えることにより、2つのコアによる並列計算を行う場合に比較して並列計算装置全体での低消費電力化が可能となる。
 ただし、コア2を休止させるサイクルのみ、コア1のみを稼動させるにも関わらずコア間通信によるオーバーヘッドが発生する。コア2を休止させるのであれば、コア2が担当していたタスクの処理に必要な情報をコア2からコア1に引き継いでからコア2を休止させる必要がある。このため、コア2を休止させるサイクルでは、情報の引継ぎのためのコア間通信が発生することになり、そのコア間通信によるオーバーヘッドがコア1の演算時間に加算されることになる。ところが、並列計算装置は、燃焼サイクル時間T4内で消費電力を最小にできる演算周波数をコア1の要求演算周波数として設定している。このため、演算時間にオーバーヘッドが加算された場合には、優先度の低い一部のタスクについては処理完了時間内で処理しきれなくなる。つまり、2つのコアによる並列計算から1つのコアによる単独計算に切り替える場合、単純に不要なコアを休止するだけではタスクの抜けが発生してしまう。
 以上述べた問題に対し、本実施の形態の並列制御装置では次のような解決策が採られている。
 まず、追加コアの起動時に生じうるタスク抜け防止するために採られた制御方法から説明する。図9は、本実施の形態の並列制御装置による追加コアの起動時の制御方法を説明するための図である。ここでは、図7を用いて説明した比較例に対応させ、1つのコア(コア1)のみでタスクの処理を行っていた場合に、追加のコア(コア2)を新たに起動するケースを例に採って説明する。
 本実施の形態の並列計算装置は、予想される次回の燃焼サイクル時間T2から次回サイクルの要求演算周波数を計算する。そして、次回サイクルの要求演算周波数が閾値周波数fcよりも高いかどうかによって、コア2を起動させるかどうか判断する。そして、要求演算周波数が閾値周波数fcよりも高い場合、次回サイクルにおいてコア2の起動処理を実行する。
 本実施の形態の並列計算装置による制御方法と比較例との違いは、コア2の起動処理を実行するサイクル(以下、追加コア起動サイクル)でのコア1の演算周波数の設定である。コア1とコア2とにタスクが割り当てられて2つのコアによる並列計算が開始されるのは、追加コア起動サイクルの次回のサイクルである。追加コア起動サイクルでは引き続きコア1による単独計算が行われる。ただし、追加コア起動サイクルにおいて要求される処理完了時間は、燃焼サイクル時間T1ではなく燃焼サイクル時間T2に対応する時間である。燃焼サイクル時間T2は燃焼サイクル時間T1よりも短くなっているので、追加コア起動サイクルで要求される処理完了時間は前回サイクルの処理完了時間よりも短くなる。そこで、本実施の形態の並列計算装置は、追加コア起動サイクルでは、燃焼サイクル時間T1に対して最適化された演算周波数ではなく、それよりも高い演算周波数でコア1を動作させる。
 演算周波数が高くなればコア1の演算能力は高まることから、コア1に対して要求される処理完了時間が短くなったとしても、その要求処理完了時間内で全てのタスクを処理できるようになる。つまり、本実施の形態の並列計算装置によれば、タスク処理に使用するコアの数を増やす際のタスクの抜けを防止することができる。なお、追加コア起動サイクルでのコア1の演算周波数としては、予想される燃焼サイクル時間T2に対して最適化された演算周波数、つまり、処理完了時間が燃焼サイクル時間T2を越えない範囲内で消費電力を最小にできる演算周波数であることが好ましい。
 以上説明した追加コアの起動時の制御方法は、本実施の形態の並列計算装置により図10のフローチャートに示すルーチンが実行されることにより実施される。このルーチンは1つのコアによる単独計算が行われている場合に実行される。
 図10のフローチャートの最初のステップS102では、追加コアの起動の要否が判断される。追加コアの起動要否の判断には、次の燃焼サイクルで処理すべきタスクの演算量と、エンジン回転数から予想される次の燃焼サイクルの時間とが情報として用いられる。それらの情報に基づいて全てのタスクを1コアで処理した場合の単位時間当り要求演算量が計算され、さらに、単位時間当り演算量から要求演算周波数が計算される。要求演算周波数が閾値周波数fcよりも高いかどうかが、追加コアの起動要否を判断する際の判断基準となる。
 ステップS104では、上述の判断基準に照らして追加コアを起動するかどうか決定される。追加コアを起動する場合には、ステップS106の処理が実行される。
 ステップS106では、追加コアの起動要否を判断したサイクルの次のサイクルにおいて追加コアの起動処理が実施される。また、同サイクルでは、稼動中のコアの駆動電圧を一時的に上げることが行われる。コアの演算周波数は駆動電圧に比例するので、駆動電圧を上げることで演算周波数は高くなる。演算周波数を高めてコアの演算能力を上昇させることで、要求される処理完了時間内で全てのタスクの処理を完了することができる。
 追加コアを起動しない場合には、上述のステップS106の処理はスキップされる。この場合、引き続き稼動中の1コアのみでタスクの処理が行われる。また、追加コア起動サイクルの後のサイクルでは、2つのコアにタスクが割り当てられ、2つのコアを用いた並列計算によってタスクの処理が行われる。並列計算によれば各コアの演算周波数を下げることができるので、各コアの駆動電圧も下げることができる。よって、追加コアの起動に伴い駆動電圧及び演算周波数を高くする期間は、長くとも追加コア起動サイクルの期間、つまり一時的な期間で良い。
 次に、一部コアの休止時に生じうるタスク抜け防止するために採られた制御方法について説明する。図11は、本実施の形態の並列制御装置による一部コアの休止時の制御方法を説明するための図である。ここでは、図8を用いて説明した比較例に対応させ、2つのコアによる並列計算でタスクの処理を行っていた場合に、一方のコア(コア2)を休止するケースを例に採って説明する。
 本実施の形態の並列計算装置は、コア1のみを稼動させる場合の要求演算周波数を予想される次回の燃焼サイクル時間T4から計算する。そして、次回サイクルの要求演算周波数が閾値周波数fcよりも低いかどうかによって、コア2を休止させるかどうか判断する。そして、要求演算周波数が閾値周波数fcよりも低い場合、次回サイクルにおいてコア2の休止処理を実行する。
 本実施の形態の並列計算装置による制御方法と比較例との違いは、コア2の休止処理を実行するサイクル(以下、コア休止サイクル)でのコア1の演算周波数の設定である。コア休止サイクルでは、コア1のみにタスクが割り当てられ、コア1とコア2による並列計算からコア1による単独計算に切り替えられる。このため、コア1が担当するタスク数は並列計算時よりも多くなり、コア1に要求される演算周波数は並列計算時よりも高くなる。さらに、コア休止サイクルでは、休止するコア2から継続して稼動するコア1への情報の引継ぎのため、並列計算時と同様にオーバーヘッドが発生する。このため、コア休止サイクルにおけるコア1の見かけの演算量は、オーバーヘッドの分だけ通常の単独計算時よりも増大する。そこで、本実施の形態の並列計算装置は、コア休止サイクルでは、燃焼サイクル時間T4に対して最適化された演算周波数ではなく、それよりも高い演算周波数でコア1を動作させる。
 演算周波数が高くなればコア1の演算能力は高まることから、コア2の休止処理に伴うオーバーヘッドの分だけ見かけの演算量が増大したとしても、燃焼サイクル時間T4から決まる要求処理完了時間内で全てのタスクを処理できるようになる。つまり、本実施の形態の並列計算装置によれば、タスク処理に使用するコアの数を減らす際のタスクの抜けを防止することができる。
 以上説明した一部コアの休止時の制御方法は、本実施の形態の並列計算装置により図12のフローチャートに示すルーチンが実行されることにより実施される。このルーチンは2つのコアによる並列計算が行われている場合に実行される。
 図12のフローチャートの最初のステップS202では、稼動中のコアのうち一部コアを休止させることの要否が判断される。一部コアの休止要否の判断には、次の燃焼サイクルで処理すべきタスクの演算量と、エンジン回転数から予想される次の燃焼サイクルの時間とが情報として用いられる。それらの情報に基づいて全てのタスクを1コアで処理した場合の単位時間当り要求演算量が計算され、さらに、単位時間当り演算量から要求演算周波数が計算される。要求演算周波数が閾値周波数fcよりも低いかどうかが、一部コアの休止要否を判断する際の判断基準となる。
 ステップS204では、上述の判断基準に照らして一部コアを休止するかどうか決定される。一部コアを休止する場合には、ステップS206の処理が実行される。
 ステップS206では、一部コアの休止要否を判断したサイクルの次のサイクルにおいて一部コアの休止処理が実施される。また、同サイクルでは、継続して稼動されるコアの駆動電圧を一時的に上げて同コアの演算周波数を高めることが行われる。演算周波数を高めてコアの演算能力を上昇させることで、要求される処理完了時間内で全てのタスクの処理を完了することができる。
 一部コアを休止しない場合には、上述のステップS206の処理はスキップされる。この場合、引き続き2つのコアによる並列計算が行われる。また、コア休止サイクルの後のサイクルでは、継続して稼動する1コアのみによる単独計算によってタスクの処理が行われる。一部コアの休止に伴うオーバーヘッドはコア休止サイクルでのみ発生するので、コア休止サイクルより後のサイクルでは、コアの演算周波数はタスク処理のための演算量と要求処理完了時間とから決まる最低の演算周波数で良い。よって、一部コアの休止に伴い駆動電圧及び演算周波数を高くする期間は、長くともコア休止サイクルの期間、つまり一時的な期間で良い。
実施の形態2.
 次に、本発明の実施の形態2の並列計算装置について図を参照して説明する。
 本実施の形態の並列制御装置と実施の形態1の並列制御装置とは、追加コアの起動時に生じうるタスク抜け防止するために採られた制御方法において違いがある。図13は、本実施の形態の並列制御装置による追加コアの起動時の制御方法を説明するための図である。ここでは、図7を用いて説明した比較例に対応させ、1つのコア(コア1)のみでタスクの処理を行っていた場合に、追加のコア(コア2)を新たに起動するケースを例に採って説明する。
 本実施の形態の並列計算装置は、予想される次回の燃焼サイクル時間T2から次回サイクルの要求演算周波数を計算する。そして、次回サイクルの要求演算周波数が閾値周波数fcよりも高いかどうかによって、コア2を起動させるかどうか判断する。そして、要求演算周波数が閾値周波数fcよりも高い場合、次回サイクルにおいてコア2の起動処理を実行する。さらに、同サイクルにおいてコア1とコア2にタスクを割り当て、コア1とコア2を用いた並列計算を開始する。つまり、本実施の形態では、コア2の起動処理を実行する追加コア起動サイクルにて並列計算によるタスクの処理を開始する。
 コア1とコア2による並列計算を行うサイクルでは、処理完了時間が燃焼サイクル時間T2を越えない範囲内で消費電力を最小にできる演算周波数が各コアの要求演算周波数として設定される。要求演算周波数の計算には、各コアに割り当てられたタスクの処理のための演算量に加えて、コア間通信によるオーバーヘッドが考慮されている。ただし、追加コア起動サイクルでは、コア2のみ、コア間通信及び並列計算に先立って起動処理が必要となる。また、追加コア起動サイクルでは、コア1による演算もコア2が起動してコア間通信が可能になるまでは開始することができない。このため、追加コア起動サイクルにおいて各コアが実質的にコア間通信及び並列計算に用いることができる時間は、燃焼サイクル時間T2からコア2の起動処理に要する時間を除いた時間となる。つまり、追加コア起動サイクルで要求される実質的な処理完了時間は、コア2の起動が完了している次回以降のサイクルの処理完了時間よりも短くなる。そこで、本実施の形態の並列計算装置は、追加コア起動サイクルでは、燃焼サイクル時間T2に対して最適化された演算周波数ではなく、それよりも高い演算周波数でコア1及びコア2を動作させる。
 演算周波数が高くなれば各コアの演算能力は高まることから、各コアに対して要求される実質的な処理完了時間がコア2の起動時間の分だけ短いとしても、その実質的な要求処理完了時間内で全てのタスクを処理できるようになる。つまり、本実施の形態の並列計算装置によれば、実施の形態1の並列計算装置と同様に、タスク処理に使用するコアの数を増やす際のタスクの抜けを防止することができる。
 以上説明した追加コアの起動時の制御方法は、本実施の形態の並列計算装置により図14のフローチャートに示すルーチンが実行されることにより実施される。このルーチンは1つのコアによる単独計算が行われている場合に実行される。なお、図14のフローチャートに示す各処理のうち、実施の形態1のフローチャートと共通する処理には同一のステップ番号が付されている。
 図14のフローチャートの最初のステップS102では、追加コアの起動の要否が判断される。そして、ステップS104では、ステップS102の判断結果に基づいて追加コアを起動するかどうか決定される。ステップS102及びS104の内容は実施の形態1で述べた通りである。追加コアを起動する場合には、ステップS108の処理が実行される。
 ステップS108では、追加コアの起動要否を判断したサイクルの次のサイクルにおいて追加コアの起動処理が実施される。追加コアの起動が完了すると、続けてステップS110の処理が実行される。
 ステップS110では、追加コア起動サイクルにおいて稼動中のコアと追加コアの両方にタスクを割り当て、2つのコアを用いた並列計算を開始する。また、その際、稼動中のコアの駆動電圧と追加コアの駆動電圧をともに一時的に上げて両コアの演算周波数を高めることが行われる。演算周波数を高めて両コアの演算能力を上昇させることで、要求される処理完了時間内で全てのタスクの処理を完了することができる。
 追加コアを起動しない場合には、上述のステップS108及びS110の処理はスキップされる。この場合、引き続き稼動中の1コアのみでタスクの処理が行われる。また、追加コア起動サイクルの後のサイクルでは、追加コア起動サイクルに引き続き2つのコアを用いた並列計算によってタスクの処理が行われる。ただし、追加コアの起動処理のために実質的な処理完了時間は短くなるのは追加コア起動サイクルのみであり、それ以降のサイクルでは燃焼サイクル時間T2に対して最適化された演算周波数に設定することができる。よって、追加コアの起動に伴い駆動電圧及び演算周波数を高くする期間は、長くとも追加コア起動サイクルの期間、つまり一時的な期間で良い。
その他.
 本発明は上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば次のように変形して実施してもよい。
 実施の形態1では、新たにコアを起動する場合、追加コア起動サイクルの期間、稼動中のコアの駆動電圧を上げて演算周波数を高めている。しかし、駆動電圧を上げて演算周波数を高める期間は、稼動中のコアが実際にタスクの処理のための演算を実行している期間に限定してもよい。
 また、実施の形態1では、一部のコアを休止する場合、コア休止サイクルの期間、継続して稼動するコアの駆動電圧を上げて演算周波数を高めている。しかし、駆動電圧を上げて演算周波数を高める期間は、継続して稼動するコアが実際にタスクの処理のための演算を実行している期間に限定してもよい。
 実施の形態2では、新たにコアを起動する場合、追加コア起動サイクルの期間、稼動中のコアと追加コアの両方の駆動電圧を上げて演算周波数を高めている。しかし、駆動電圧を上げて演算周波数を高める期間は、稼動コアと追加コアのそれぞれが実際にタスクの処理のための演算を実行している期間に限定してもよい。
 実施の形態1の追加コアの起動時の制御方法は、複数のコアによる並列計算において新たにコアを追加する場合の制御にも応用することができる。並列計算に用いるコア数を増やす場合、追加コアの起動処理を行うサイクルにおいて稼動中の各コアに要求される処理完了時間は前サイクルよりも短くなる。この場合、稼動中の各コアの演算周波数を一時的に高くすることにより、要求されている処理完了時間内で全てのタスクを処理できるようになる。
 実施の形態1の一部コアの休止時の制御方法は、複数のコアによる並列計算において一部のコアを休止する場合の制御にも適用することができる。並列計算に用いるコア数を減らす場合、休止させるコアから継続して稼動させる各コアへの情報の引継ぎのためのオーバーヘッドが発生する。この場合、継続して稼動させる各コアの演算周波数を一時的に高くすることにより、要求されている処理完了時間内で全てのタスクを処理できるようになる。
 また、実施の形態2の追加コアの起動時の制御方法は、複数のコアによる並列計算において新たにコアを追加する場合の制御にも応用することができる。追加コアを起動するサイクルにて追加コアを用いた並列計算も開始する場合、追加コアの起動処理に要する時間の分だけ稼動中の各コア及び追加コアに要求される実質的な処理完了時間は短くなる。この場合、稼動中の各コア及び追加コアの演算周波数を一時的に高くすることにより、要求されている処理完了時間内で全てのタスクを処理できるようになる。
100 並列計算装置
102 コア
104 CPU
106 ローカルメモリ
108 周波数・電圧制御ユニット
110 バス

Claims (6)

  1.  処理完了時間が制約されている複数のタスクを演算周波数が可変の1又は複数のコアを用いて繰り返し処理するマルチコアタイプの並列計算装置であって、
     前記並列計算装置は、新たに起動される新たなコアと稼動中のコアとに前記複数のタスクを割り当てる場合、前記稼動中のコアの演算周波数を高くすることを特徴とする並列計算装置。
  2.  前記並列計算装置は、前記新たなコアを起動するサイクルの次のサイクルにて前記新たなコアと前記稼動中のコアとに前記複数のタスクを割り当て、前記新たなコアを起動するサイクルの間、前記稼動中のコアの演算周波数を高くすることを特徴とする請求項1に記載の並列計算装置。
  3.  前記並列計算装置は、前記新たなコアを起動するサイクルにて前記新たなコアと前記稼動中のコアとに前記複数のタスクを割り当てるとともに、前記サイクルの間、前記稼動中のコアの演算周波数を高くすることを特徴とする請求項1に記載の並列計算装置。
  4.  前記並列計算装置は、前記新たなコアを起動した次の前記サイクルの間、前記新たなコアの演算周波数も高くすることを特徴とする請求項3に記載の並列計算装置。
  5.  処理完了時間が制約されている複数のタスクを演算周波数が可変の1又は複数のコアを用いて繰り返し処理するマルチコアタイプの並列計算装置であって、
     前記並列計算装置は、稼動中のコアのうち一部のコアを休止させて継続して稼動させるコアに前記複数のタスクを割り当てる場合、前記継続して稼動させるコアの演算周波数を高くすることを特徴とする並列計算装置。
  6.  前記並列計算装置は、前記一部のコアを休止させるサイクルにて前記継続して稼動させるコアに前記複数のタスクを割り当てるとともに、前記サイクルの間、前記継続して稼動させるコアの演算周波数を高くすることを特徴とする請求項5に記載の並列計算装置。
PCT/JP2012/076986 2012-10-18 2012-10-18 並列計算装置 WO2014061141A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US14/436,164 US20150277988A1 (en) 2012-10-18 2012-10-18 Parallel computing device
EP12886726.4A EP2911055A4 (en) 2012-10-18 2012-10-18 PARALLEL COMPUTER DEVICE
CN201280076396.7A CN104718531A (zh) 2012-10-18 2012-10-18 并行计算装置
PCT/JP2012/076986 WO2014061141A1 (ja) 2012-10-18 2012-10-18 並列計算装置
JP2014541885A JPWO2014061141A1 (ja) 2012-10-18 2012-10-18 並列計算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/076986 WO2014061141A1 (ja) 2012-10-18 2012-10-18 並列計算装置

Publications (1)

Publication Number Publication Date
WO2014061141A1 true WO2014061141A1 (ja) 2014-04-24

Family

ID=50487729

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/076986 WO2014061141A1 (ja) 2012-10-18 2012-10-18 並列計算装置

Country Status (5)

Country Link
US (1) US20150277988A1 (ja)
EP (1) EP2911055A4 (ja)
JP (1) JPWO2014061141A1 (ja)
CN (1) CN104718531A (ja)
WO (1) WO2014061141A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016062312A (ja) * 2014-09-18 2016-04-25 トヨタ自動車株式会社 車載電子システム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6051924B2 (ja) * 2013-02-21 2016-12-27 富士通株式会社 情報処理装置の制御方法、制御プログラム、情報処理装置
KR20160054850A (ko) * 2014-11-07 2016-05-17 삼성전자주식회사 다수의 프로세서들을 운용하는 장치 및 방법
US10275280B2 (en) 2016-08-10 2019-04-30 International Business Machines Corporation Reserving a core of a processor complex for a critical task
US10248457B2 (en) 2016-08-10 2019-04-02 International Business Machines Corporation Providing exclusive use of cache associated with a processing entity of a processor complex to a selected task
US10248464B2 (en) 2016-10-24 2019-04-02 International Business Machines Corporation Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex
US10223164B2 (en) 2016-10-24 2019-03-05 International Business Machines Corporation Execution of critical tasks based on the number of available processing entities
US11533272B1 (en) * 2018-02-06 2022-12-20 Amesite Inc. Computer based education methods and apparatus
KR20210016707A (ko) * 2019-08-05 2021-02-17 삼성전자주식회사 성능효율을 바탕으로 한 스케줄링 방법, 스케줄링 장치 및 컴퓨터 판독가능 저장 매체
CN112799838A (zh) * 2021-01-27 2021-05-14 Oppo广东移动通信有限公司 任务处理方法、多核处理器及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099432A (ja) * 2000-09-22 2002-04-05 Sony Corp 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
JP2006344162A (ja) 2005-06-10 2006-12-21 Mitsubishi Electric Corp 並列計算装置
JP2010039543A (ja) * 2008-07-31 2010-02-18 Autonetworks Technologies Ltd 処理装置、クロック周波数決定方法、及びコンピュータプログラム
WO2012108058A1 (ja) * 2011-02-10 2012-08-16 富士通株式会社 スケジューリング方法、設計支援方法、およびシステム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254812B1 (en) * 2002-05-31 2007-08-07 Advanced Micro Devices, Inc. Multi-processor task scheduling
US7788670B2 (en) * 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
US8099619B2 (en) * 2006-09-28 2012-01-17 Intel Corporation Voltage regulator with drive override
WO2008108133A1 (ja) * 2007-03-02 2008-09-12 Nec Corporation タスク群割当方法、タスク群割当装置、タスク群割当プログラム、プロセッサ及びコンピュータ
JP2010113419A (ja) * 2008-11-04 2010-05-20 Toyota Motor Corp マルチコア制御装置
EP2435914B1 (en) * 2009-05-26 2019-12-11 Telefonaktiebolaget LM Ericsson (publ) Method and scheduler in an operating system
US20110153984A1 (en) * 2009-12-21 2011-06-23 Andrew Wolfe Dynamic voltage change for multi-core processing
JP5515792B2 (ja) * 2010-01-28 2014-06-11 トヨタ自動車株式会社 内燃機関制御装置
US8612984B2 (en) * 2010-04-28 2013-12-17 International Business Machines Corporation Energy-aware job scheduling for cluster environments
CN103229123B (zh) * 2010-11-25 2016-08-31 飞思卡尔半导体公司 在多核处理器内管理功率的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099432A (ja) * 2000-09-22 2002-04-05 Sony Corp 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
JP2006344162A (ja) 2005-06-10 2006-12-21 Mitsubishi Electric Corp 並列計算装置
JP2010039543A (ja) * 2008-07-31 2010-02-18 Autonetworks Technologies Ltd 処理装置、クロック周波数決定方法、及びコンピュータプログラム
WO2012108058A1 (ja) * 2011-02-10 2012-08-16 富士通株式会社 スケジューリング方法、設計支援方法、およびシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2911055A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016062312A (ja) * 2014-09-18 2016-04-25 トヨタ自動車株式会社 車載電子システム

Also Published As

Publication number Publication date
US20150277988A1 (en) 2015-10-01
JPWO2014061141A1 (ja) 2016-09-05
CN104718531A (zh) 2015-06-17
EP2911055A4 (en) 2016-01-20
EP2911055A1 (en) 2015-08-26

Similar Documents

Publication Publication Date Title
WO2014061141A1 (ja) 並列計算装置
JP4370336B2 (ja) 低消費電力ジョブ管理方法及び計算機システム
JP5324934B2 (ja) 情報処理装置および情報処理方法
CN102541659B (zh) 一种服务器业务请求处理方法和装置
WO2016115000A1 (en) Hybrid scheduler and power manager
WO2014188561A1 (ja) マルチcpuシステム及びマルチcpuシステムのスケーリング方法
KR20170021338A (ko) 데이터 처리 시스템을 위한 전력 인식 작업 스케쥴러 및 관리자
JP5316718B1 (ja) マルチコア・プロセッサ
US20150121387A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
JPWO2010122709A1 (ja) 若化処理装置、若化処理システム、コンピュータプログラムおよびデータ処理方法
CN103412786A (zh) 一种高性能服务器架构系统及数据处理方法
US9417924B2 (en) Scheduling in job execution
JP2020135214A (ja) タスク管理装置
JP4985662B2 (ja) プログラム、及び制御装置
CN109889406B (zh) 用于管理网络连接的方法、装置、设备和存储介质
JP2016126426A (ja) マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラム
US9170839B2 (en) Method for job scheduling with prediction of upcoming job combinations
WO2012124295A1 (ja) コンピュータシステム、制御システム、制御方法および制御プログラム
JP4363417B2 (ja) コンピュータ装置およびコンピュータ制御方法
JP7263746B2 (ja) 情報処理装置
JP5673576B2 (ja) エンジン制御装置
JP2016184315A (ja) 電子制御装置
JP2016206817A (ja) 電子制御装置
US11947486B2 (en) Electronic computing device having improved computing efficiency
JP5614395B2 (ja) 内燃機関の制御装置

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: 12886726

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014541885

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14436164

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2012886726

Country of ref document: EP