WO2024009747A1 - 情報処理装置、情報処理方法、及び、プログラム - Google Patents
情報処理装置、情報処理方法、及び、プログラム Download PDFInfo
- Publication number
- WO2024009747A1 WO2024009747A1 PCT/JP2023/022684 JP2023022684W WO2024009747A1 WO 2024009747 A1 WO2024009747 A1 WO 2024009747A1 JP 2023022684 W JP2023022684 W JP 2023022684W WO 2024009747 A1 WO2024009747 A1 WO 2024009747A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- core
- temperature
- cores
- task
- physical
- 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.)
- Ceased
Links
Images
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
Definitions
- This technology relates to information processing devices, information processing methods, and programs.
- this technology is designed to prevent CPU cores from reaching high temperatures while suppressing performance deterioration, without relying on the unique thermal characteristics of each type of processor.
- the present invention relates to an information processing device, an information processing method, and a program that provide general-purpose protection through control.
- Patent Document 1 uses parameters such as the thermal gradient (thermal conductivity) for each core of the CPU, the position of the CPU core on the die, the maximum clock frequency for each core, and the voltage regulator efficiency for each core, and A technique has been disclosed for scheduling the data to the optimal core.
- Patent Document 1 it is necessary to understand the unique thermal characteristics of each type of processor and reflect them in the thermal control of the CPU, which lacks versatility.
- This technology was created in view of this situation, and uses software control to universally control high temperatures in the CPU core while suppressing performance degradation, without relying on the unique thermal characteristics of each type of processor. Try to prevent it from happening.
- the information processing device or program of the present technology determines, among the plurality of cores of the processor, based on the thermal distance between the cores corresponding to the degree of influence of temperature on other cores for each of the plurality of cores of the processor.
- This is an information processing device that has a control unit that moves to a different core, or a program that causes a computer to function as such an information processing device.
- the control unit of an information processing device having a control unit calculates a thermal distance between cores corresponding to the degree of influence of temperature on other cores for each of the plurality of cores included in the processor.
- a task is running in a high-temperature core whose temperature is higher than a threshold value, or a task is running in a peripheral core existing at the thermal distance that exerts a temperature influence on the high-temperature core.
- This is an information processing method for moving at least a task to another core different from the high-temperature core.
- the A task running in the high-temperature core or a task running in a peripheral core existing at the thermal distance that exerts a temperature influence on the high-temperature core is moved to at least another core different from the high-temperature core.
- FIG. 1 is a diagram illustrating an example of an IoT system.
- 1 is a block diagram showing a configuration example of an information processing system to which the present technology is applied.
- FIG. 3 is a diagram used to explain a physical core and a logical core. It is a figure explaining the outline of thermal distance estimation processing.
- 12 is a flowchart illustrating a generalized procedure example of a thermal distance estimation process performed by a thermal distance estimation module.
- FIG. 2 is a diagram illustrating a first form of task movement control performed by a CPU control module in the case of a single processor.
- FIG. 7 is a diagram illustrating a second form of task movement control performed by a CPU control module in the case of a multiprocessor.
- FIG. 7 is a diagram illustrating a third form of task movement control performed by a CPU control module in the case of a single processor or multiprocessor.
- 9 is a flowchart showing an example of a procedure using the first to third forms of task movement control shown in FIGS. 6 to 8;
- FIG. 1 is a block diagram showing a configuration example of an embodiment of a computer to which the present technology is applied.
- edge computing which processes and analyzes data using devices such as IoT terminals and servers installed near them, is becoming popular. Edge computing performs calculations on the edge side without sending data to the cloud, so it is characterized by high real-time performance and by dispersing the load, communication delays are less likely to occur. Additionally, with the advent of lightweight, compact, and high-performance single-board computers, edge computing has become applicable to a variety of use cases.
- Autonomous robotics is a typical example of edge computing.
- Autonomous robotics in which robots make their own decisions and act, requires sensing the surrounding situation and processing data in real time.
- edge computing By applying edge computing to autonomous robotics, it becomes possible for devices within the robot to process tasks that require real-time performance without delay.
- CPUfreq Governors is a typical software-based heat reduction method.
- CPUfreq Governors is a method that dynamically changes the CPU operating frequency according to the CPU temperature, reducing system power consumption and heat generation.
- lowering the operating frequency can temporarily reduce power consumption, there is a risk that the performance of all tasks running on that CPU core will deteriorate. This performance deterioration can be a fatal failure in systems that execute tasks that require real-time performance.
- This technology proposes a method to suppress CPU heat generation while suppressing system performance deterioration.
- the task (process or thread) running on that CPU core is moved from the high temperature CPU core to a CPU core with a large thermal distance and low temperature. Controls the temperature of the high-temperature CPU core so that it does not rise any further.
- thermal distance refers to the degree of influence of heat propagation between cores of a CPU. The larger the thermal distance is, the harder it is for heat to propagate, and conversely, the smaller the thermal distance is, the easier it is for heat to propagate.
- FIG. 2 is a block diagram showing a configuration example of an information processing system 1 to which the present technology is applied.
- the information processing system 1 is any type of edge device used in edge computing, and includes CPUs 11-1 and 11-2 as hardware and an operating system including programs executed as software. 12 (referred to as OS 12), a physical core thermal distance estimation module 13 (hereinafter referred to as thermal distance estimation module 13), a CPU control module 14, and a temperature monitoring module 15.
- OS 12 referred to as OS 12
- thermal distance estimation module 13 hereinafter referred to as thermal distance estimation module 13
- CPU control module 14 includes a temperature monitoring module 15.
- the CPU In the case of a single processor or when not limited to a specific CPU, the CPU is referred to as CPU11, and in the case of a multiprocessor to distinguish between multiple CPUs, the letters of the CPU are referred to as CPU1, CPU2, etc. It will be expressed by adding the CPU number afterwards. Note that the information processing system 1 is not limited to an edge device.
- the CPU 11 executes necessary processing as an edge device by loading a program stored in a storage unit (not shown) as hardware into a RAM (not shown) and executing it.
- the CPU 11 is a multi-core having a plurality of individual processing units (CPU cores or simply referred to as cores) within one CPU package. When distinguishing between the plurality of cores that one CPU 11 has, they are expressed by adding a core number after the letter of the core, such as core 1, core 2, . . . .
- the OS 12 manages hardware resources such as task management, file management, storage management, and input/output management, and provides a user interface.
- the thermal distance estimation module 13, CPU control module 14, and temperature monitoring module 15 are, for example, programs that extend the functionality of the OS 12 kernel, run as user processes on the OS 12, and are independent of the OS 12 scheduler. It works.
- the thermal distance estimating module 13 estimates the thermal distance of a plurality of cores included in the CPU 11 . The thermal distance of the core will be described later.
- the CPU control module 14 allocates cores for processing tasks and performs task boost processing.
- the temperature monitoring module 15 monitors the temperature of each core of the CPU 11 in real time.
- the information processing system 1 moves a task running on a high-temperature core or a core adjacent to the high-temperature core to a core that is less influenced by heat propagation (temperature influence) with the high-temperature core. This reduces the temperature of the high-temperature core before the clock frequency control of CPUfreq Governors is activated, thereby preventing performance deterioration due to heat (such as a decrease in processing speed).
- the degree of influence of heat propagation between each core of the CPU 11 is referred to as the thermal distance. That is, it is assumed that the thermal distance from each of the plurality of cores of one CPU 11 is smaller (closer) to other cores that are more easily affected by temperature (cores that are affected by temperature). For example, when focusing on one core as a reference core, it can be said that a core that is physically close to the reference core is generally close in thermal distance to the reference core.
- the thermal distance does not take into account only the physical distance; the temperature of the peripheral circuits of the CPU 11 rises due to the operation of the reference core, and the temperature of the core may rise due to this effect. be considered.
- the second core is the core whose thermal distance is the closest to the first core.
- the first core does not necessarily have the closest thermal distance to the second core.
- the term "thermal distance is close or far” means that the thermal distance is closer (smaller) or farther (larger) than a predetermined threshold value, and the threshold value is the physical quantity (temperature, etc.) used when estimating the thermal distance.
- the CPU core recognized by the OS12 is not a physically existing CPU core (called a physical core), but an abstracted logical core (logical core) that is associated with a physical core. ).
- one CPU 11 has six physical cores 1 to 6 with physical core numbers 1 to 6, and the OS 12 divides these physical cores 1 to 6 into 12 logical cores with logical core numbers 1 to 12.
- a hyper-threading configuration is illustrated in which the cores are recognized as cores 1 to 12 and task assignment etc. are controlled.
- the CPU control module 14 moves tasks between cores in consideration of thermal distance, it is necessary to know in advance the thermal distance of each of the plurality of logical cores to other logical cores.
- the thermal distance between two logical cores is the thermal distance between two physical cores to which these two logical cores are associated. Note that a plurality of logical cores may be associated with the same physical core, and in that case, the thermal distance between those logical cores corresponds to 0.
- the thermal distance between physical cores and the thermal distance between logical cores are to be distinguished, they will be referred to as the thermal distance between physical cores and the thermal distance between logical cores, respectively.
- the overall procedure for heat management processing of the CPU 11 in the information processing system 1 can be broadly divided into the following processes.
- the thermal distance estimation module 13 performs thermal estimation processing between CPU cores, which will be described later, at the time of starting the information processing system 1, etc., to estimate the heat between each logical core.
- the target distance is estimated, and logical core thermal distance estimation information, etc., which will be described later, is created.
- ⁇ Processing 2 In task movement control process 2, after the information processing system 1 is started, the CPU control module 14 performs task movement control based on the temperature information of each physical core from the temperature monitoring module 15 and the logical core thermal distance estimation information. I do. In the task movement control of the CPU control module 14, a physical core whose temperature has risen to a high temperature equal to or higher than a predetermined threshold is detected based on the temperature information of each physical core from the temperature monitoring module 15.
- a task running on a logical core associated with that physical core may
- the logical core is moved to a logical core with a long (large) thermal distance between logical cores and a low temperature (for example, the lowest temperature logical core).
- Moving a task means changing the logical core (or physical core) that executes the task.
- the temperature of the physical core is the temperature of the logical core associated with the physical core.
- the logical core thermal distance estimation information created in advance by the thermal distance estimation module 13 is used.
- Such task movement control prevents performance deterioration (decreased processing speed, etc.) due to heat in the CPU core.
- task boosting or the like is performed to suppress performance deterioration due to overhead caused by task movement.
- FIG. 4 is a diagram illustrating an overview of the thermal distance estimation process. Note that FIG. 4 illustrates the hyper-threading configuration of FIG. 3, and a thermal distance estimation process in that configuration will be described.
- the thermal distance estimation module 13 operates a high-load task on the logic core 1 for a certain period of time. At this time, the temperature monitoring module 15 monitors (detects) the temperature of each of the physical cores 1 to 6, and supplies the detected temperature to the thermal distance estimation module 13.
- the thermal distance estimation module 13 monitors the rise in temperature of each of the physical cores 1 to 6 based on the temperature of each physical core 1 to 6 from the temperature monitoring module 15.
- the process related to monitoring the temperature rise of the physical cores 1 to 6 may be performed by the temperature monitoring module 15.
- the thermal distance estimation module 13 can obtain information that the logical core 1 is mapped (corresponding) to the physical core 4 (referred to as logical core-physical core correspondence relationship information).
- the thermal distance estimation module 13 detects which of the physical cores 1 to 6 (excluding physical core 4) the heat is propagating to as the temperature of the physical core 4 increases. That is, a physical core whose temperature has increased less than that of physical core 4 but whose temperature has increased by a threshold value or more is detected.
- the thermal distance estimating module 13 estimates that the thermal distances of physical cores 1 and 5 are close to physical core 4, using physical core 4 as a reference core.
- the thermal distance estimation module 13 stores the estimation result as physical core thermal distance estimation information that estimates the thermal distance between physical cores. Note that physical cores other than physical cores whose thermal distance between physical cores is close to the reference core are estimated to have long thermal distances. However, the evaluation of the thermal distance between physical cores is not limited to cases where the thermal distance is close (small) or far (large).
- the thermal distance estimation module 13 classifies the magnitude of the temperature rise of the physical core into a plurality of classes using a plurality of different threshold values, and to which class the detected magnitude of the temperature rise belongs. Detect. For example, it is assumed that the higher the temperature rise, the higher the class (class 1, 2, 3, etc.). Then, the thermal distance estimating module 13 assumes that the physical core belonging to a class with a larger temperature increase has a closer physical core-to-physical core thermal distance to the physical core of the largest class, and determines that class as the physical core-to-physical core thermal distance.
- the class represents the proximity of For example, assume that the closer the thermal distance, the larger the class. In this way, the size of the thermal distance between physical cores may be evaluated using a desired number of classes. Further, the thermal distance estimating module 13 may evaluate whether the thermal distance between physical cores is the closest, the farthest, or something else.
- the thermal distance estimation module 13 sequentially operates high-load tasks on all logical cores 1 to 12 for a certain period of time, detects the temperature rise of each physical core 1 to 6, and uses the detection results as Based on the logical core-physical core correspondence relationship information indicating the physical core to which each of the logical cores 1 to 12 is associated, and the relationship between the physical cores 1 to 6 relative to the reference core, with each of the physical cores 1 to 6 as a reference core. Physical core thermal distance estimation information that estimates the thermal distance between each physical core is acquired.
- the thermal distance estimation module 13 sets each of the logical cores 1 to 12 as reference cores, and calculates the logical core 1 relative to the reference core.
- the thermal distance between each of the 12 logical cores is estimated.
- the thermal distance estimation module 13 uses the estimation result as logical core thermal distance estimation information to create a mapping (distance map) representing the logical core thermal distance estimation information.
- the physical core numbers of the physical cores associated with each of the logical cores 1 to 12 can be obtained from the logical core-physical core correspondence information.
- the thermal distances between each of logical cores 1 to 12 with respect to the logical core serving as a reference core are such that each of logical cores 1 to 12 is associated with a physical core to which the logical core serving as a reference core is associated. This is the thermal distance between physical cores, and is obtained from the physical core thermal distance estimation information. Therefore, when each of the logical cores 1 to 12 is used as a reference core, the inter-logical core thermal distance of each of the logical cores 1 to 12 with respect to the reference core can be obtained from the physical core thermal distance estimation information.
- the thermal distance estimation module 13 creates the information, that is, a distance map representing the thermal distance between each of the logical cores 1 to 12 for each of the logical cores 1 to 12 as logical core thermal distance estimation information. do. Note that in the following, the created distance map will also be referred to as logical core thermal distance estimation information.
- physical core 1 is associated with logical cores 3 and 7, and physical core 2 is associated with logical cores 5 and 6.
- Physical core 3 is associated with logical cores 4 and 9
- physical core 4 is associated with logical cores 1 and 2
- physical core 5 is associated with logical cores 8 and 9.
- a case is shown in which it is found that physical core 6 is associated with logical cores 11 and 12.
- logical core thermal distance estimation information indicating that the thermal distances between logical cores of logical cores 3, 7, 8, and 10, which are respectively associated with physical cores 1 and 5, are close (small).
- the logical core thermal distance estimation information is for logical cores 1 and 2, and for logical cores 4, 5, 6, 9, 11, and other than logical cores 1, 2, 3, 7, 8, and 10.
- information indicating that the thermal distance between the 12 logical cores is long (large) is included.
- each of logical cores 3 to 12 other than logical cores 1 and 2 is used as a reference core, it indicates whether the thermal distance between each of logical cores 1 to 12 is close or far from the reference core.
- Logical core thermal distance estimation information is created.
- the thermal distance estimation module 13 is not limited to the case where logical core thermal distance estimation information is finally created from the logical core-physical core correspondence relationship information and the physical core thermal distance estimation information; The core correspondence information and the physical core thermal distance estimation information may be finally created, and the temperature distance between logical cores may be calculated as appropriate from these pieces of information. That is, the thermal distance estimation module 13 creates either one of the physical core thermal distance estimation information and the logical core thermal distance estimation information, and the logical core-physical core correspondence relationship information. It's okay.
- FIG. 5 is a flowchart illustrating a generalized procedure example of the thermal distance estimation process performed by the thermal distance estimation module 13.
- the thermal distance estimation module 13 operates the high-load task on the logical core i of the logical core number i. Note that the initial value of the logical core number i is 1.
- the process proceeds from step S11 to step S12.
- the thermal distance estimation module 13 acquires temperature information of the physical core from the temperature monitoring module 15, and monitors the temperature of all physical cores.
- the process proceeds from step S12 to step S13.
- step S13 the thermal distance estimation module 13 associates the physical core number of the physical core whose temperature has increased the most with the logical core number i.
- the thermal distance estimation module 13 detects that the logical core i is associated with the physical core whose temperature has increased the most. The process proceeds from step S13 to step S14.
- the thermal distance estimation module 13 calculates the physical core numbers of the physical cores whose temperature has increased accordingly (physical cores whose increased temperature is equal to or higher than a predetermined threshold (first threshold)), and the physical core numbers of the physical cores whose temperature has increased concomitantly (physical cores whose increased temperature is equal to or higher than a predetermined threshold (first threshold)), and the physical core numbers of the physical cores whose temperature has increased accordingly.
- a physical core number of a physical core (a physical core whose temperature increase is equal to or less than a predetermined threshold (second threshold)) is stored.
- the process proceeds from step S14 to step S15.
- the thermal distance estimation module 13 determines whether the logical core number i is the number of logical cores, which is the total number of logical cores.
- step S15 the logical core number i is incremented by 1 and the process returns to step S11, and the process repeats steps S11 to S15. If the answer is yes in step S15, the process proceeds from step S15 to step S16.
- step S16 the thermal distance estimation module 13 uses logical core-physical core correspondence relationship information obtained from the information detected in step S13 and physical core thermal distance estimation information obtained from the information stored in step S14. Based on this, the inter-logical core thermal distances of all logical cores (logical core numbers) are estimated for each of all logical cores (logical core numbers), and logical core thermal distance estimation information is created.
- the thermal distance estimation module 13 executes this process when the information processing system 1 is started, etc., so that whether the hardware is a single processor or a multiprocessor is determined. Even if there is, logical core thermal distance estimation information (and physical core thermal distance estimation information) for any CPU 11 can be acquired. Furthermore, even if the hardware configuration around the CPU changes and the degree of influence of heat propagation by the surrounding circuits changes, the thermal distance estimation module 13 performs this process when the information processing system 1 is started, so that the system The thermal distance of the physical core can be estimated using appropriate logical core thermal distance estimation information (and physical core thermal distance estimation information) without depending on the configuration.
- Task movement control The detailed methods of task movement control that can be adopted differ depending on whether the hardware configuration (CPU architecture) of the information processing system 1 is a single processor (and multi-core) or multi-processor (and multi-core).
- a multiprocessor it is possible to adopt the task movement control method that can be adopted in the case of a single processor; method cannot be adopted. Therefore, in the following explanation of task movement control, a method of task movement control that can be adopted in both a single processor and a multiprocessor will be explained as the first form of task movement control shown in FIG. 6 in the case of a single processor, and A method of task movement control that can only be adopted will be described as a second form of task movement control shown in FIG. 7 in the case of a multiprocessor.
- the CPU control module 14 also determines whether each task executed by each CPU core is a high-load task that requires a high load on the CPU core, or a low-load task that requires a low load that is lower than the high-load task. Task information on whether it is a load task can be obtained from the OS 12 or the like. Further, the CPU control module 14 can also obtain task information from the OS 12 or the like as to whether each task requires real-time performance.
- the first and second forms of task movement control shown in FIGS. 6 and 7 can be performed independently of these task information, but the logical cores ( The following description assumes that when the temperature of the physical core (physical core) rises to a high temperature, the third form of task control shown in FIG. 8 is implemented.
- FIG. 6 is a diagram illustrating a first form of task movement control performed by the CPU control module 14 in the case of a single processor.
- the CPU 11 has physical cores 1 to 6, and the tasks shown in the respective blocks are executed in the physical cores 1 to 6. It is also assumed that the logical cores associated with physical cores 1 to 6 are the same as in the example described in FIG. 4.
- a task labeled "RT/HL Task” represents a high-load task that requires real-time performance.
- a task labeled "HL Task” represents a high-load task that does not require real-time performance.
- “Normal Task” represents a low load task.
- the CPU control module 14 acquires temperature information of each physical core 1 to 6 from the temperature monitoring module 15, and monitors the temperature of each physical core 1 to 6. Assume that as a result of monitoring, it is detected that the temperature of the physical core 1 has increased to a high temperature higher than a threshold value, and that a high temperature (simply referred to as high temperature) that is a condition for task movement is detected in the physical core 1.
- a high temperature that is a condition for task movement is detected in the physical core 1.
- the conditions for task migration are not limited to the case where the temperature of the physical core is above a threshold value, but also when the temperature is predicted to be high, such as when the time rate of change of the rising temperature is above a predetermined threshold value. This may be the case.
- the CPU control module 14 determines the temperature of the physical cores 1 to 6 based on the logical core-physical core correspondence relationship information created by the thermal distance estimation process of process 1 and the logical core thermal distance estimation information. is treated as the temperature of logical cores 1 to 12 corresponding to physical cores 1 to 6, respectively, and task movement control is processed as the movement of tasks between logical cores 1 to 12 without being aware of physical cores 1 to 6. be able to.
- the logical core-physical core correspondence relationship information and the physical core thermal distance estimation information may be created by the thermal distance estimation process of process 1.
- the CPU control module 14 processes the task movement control as movement of tasks between physical cores 1 to 6, and appropriately controls the movement source logical core where the task to be moved is executed and the movement destination. It is easier to specify the logical core based on the logical core-physical core correspondence information. Also, the latter is easier to understand intuitively, so in the following explanation of task movement control, we will mainly explain it as movement of tasks between physical cores 1 to 6, and the physical cores will be , can be read as a logical core associated with a physical core. Additionally, when multiple (two in the example in Figure 4) logical cores are associated with one physical core, multiple tasks can be executed in parallel on each physical core, but We do not mention whether it is executed on logical cores.
- the CPU control module 14 controls the high temperature physical core 1 based on the physical core thermal distance estimation information created by the thermal distance estimation process in process 1. to detect physical cores with a long (large) thermal distance between physical cores.
- physical cores having a longer thermal distance between physical cores than physical core 1, which has a high temperature are physical cores 5 and 6, for example.
- the CPU control module 14 identifies a physical core whose temperature is lower than a predetermined threshold value among physical cores 5 and 6, which have a long thermal distance between the physical cores with respect to the physical core 1 which has a high temperature, and transfers the task. Select as destination.
- any physical core may be selected as the task destination, or the physical core with the lower temperature may be selected as the task destination. It may be selected.
- the thermal distance between physical cores is evaluated in more than two classes, ie close and far, one of the physical cores with the farthest thermal distance between physical cores is selected as the destination of the task. This may be the case.
- the CPU control module 14 identifies a physical core with a long thermal distance between physical cores and a low temperature with respect to the high-temperature physical core 1, and selects physical core 6 as the task transfer destination.
- the CPU control module 14 moves the task running on physical core 1 to physical core 6.
- both of them may be moved to physical core 6, or one of them (for example, a task with a higher load) may be moved to physical core 6. It may be moved to 6.
- a plurality of physical cores may be selected as the destination of the task, and the plurality of tasks of the physical core 1 may be moved to different physical cores.
- At least one of the other physical cores different from high-temperature physical core 1 is selected, or at least another physical core different from high-temperature physical core 1 is selected.
- a physical core with a lower temperature among the cores may be selected.
- the CPU control module 14 After moving the task of physical core 1 to physical core 6, the CPU control module 14 temporarily increases the CPU resources of physical core 6 that can be used by the moved task in order to alleviate the overhead associated with moving the task. This will boost the moved task.
- the CPU control module 14 limits the assignment of tasks so that no tasks are assigned to the physical core 1 for a certain period of time in order to cool down the temperature of the physical core 1. This leaves physical core 1 in an idle state, and if CPUfreq Governors is running, its function reduces the clock frequency, which reduces power consumption and lowers the temperature of physical core 1. If the temperature rise occurs again in the physical core 6 after the task is moved and the CPU control module 14 detects that the temperature of the physical core 6 has become high, it detects that the temperature of the physical core 1 is high. Repeat the same process as in the previous case. For example, if the CPU control module 14 selects physical core 5 as the task migration destination as a result of identifying a physical core with a long inter-physical core thermal distance and low temperature compared to physical core 6, Move tasks running on core 6 to physical core 5.
- FIG. 7 is a diagram illustrating a second form of task movement control performed by the CPU control module 14 in the case of a multiprocessor.
- CPUs 11-1 and 11-2 are two CPUs included in the information processing system 1, and are hereinafter referred to as CPU1 and CPU2 using the CPU numbers. It is assumed that the CPU1 and the CPU2 both have physical cores 1 to 6, and the tasks shown in the respective blocks are executed in the physical cores 1 to 6.
- the logical cores associated with physical cores 1 to 6 of CPU1 and CPU2 are the same as the example explained in Figure 4, and two logical cores are assigned to each of physical cores 1 to 6. is assigned. It is assumed that the tasks labeled "RT/HL Task", "HL Task", and "Normal Task” are the same as in FIG. 6.
- the CPU control module 14 is divided into a CPU for high-load tasks and a CPU for low-load tasks as an initial setup.
- CPU1 is a CPU for high-load tasks
- CPU2 is a CPU for low-load tasks. Note that if there are three or more CPUs, any number of these CPUs may be divided into two, one of which may be used as a CPU for high-load tasks, and the other may be used as a CPU for low-load tasks.
- the CPU control module 14 acquires temperature information of each physical core 1 to 6 of each of the CPUs 1 and 2 from the temperature monitoring module 15, and monitors the temperature of each physical core 1 to 6. Assume that as a result of monitoring, it is detected that the temperature of the physical core 4 of the CPU 1 has risen to a high temperature equal to or higher than a threshold value, and that a high temperature that is a condition for task movement is detected in the physical core 4 of the CPU 1. Note that the conditions for task movement can be changed as appropriate, as in the case of the first form of task movement control shown in FIG.
- the CPU control module 14 When detecting that the physical core 4 of the CPU 1 has a high temperature, the CPU control module 14 detects the physical core with the lowest temperature among the physical cores 1 to 6 of the CPU 2 for low-load tasks. Here, assuming that the physical core 1 of the CPU 2 is the physical core with the lowest temperature, the CPU control module 14 selects the physical core 1 of the CPU 2 as the destination of the task. In this case, the CPU control module 14 moves the task running on the physical core 4 of the CPU 1 to the physical core 1 of the CPU 2. Note that if multiple tasks are running on physical core 4 of CPU1, both of them may be moved to physical core 1 of CPU2, or one of them (for example, a task with a higher load) may be moved to physical core 1 of CPU2. ) may be moved to physical core 1 of CPU2.
- a plurality of physical cores of the CPU 2 may be selected as task migration destinations, and a plurality of tasks of the physical core 4 of the CPU 1 may be moved to different physical cores of the CPU 2, respectively.
- at least one of the physical cores of the CPU 2 may be selected as the destination for moving the task of the high-temperature physical core 4.
- the CPU control module 14 moves the CPU of physical core 1 of CPU 2 that can use the moved task to reduce the overhead associated with the movement of the task. Boost the moved task by temporarily increasing resources.
- the CPU control module 14 limits the assignment of tasks so that the task is not assigned to the physical core 4 of the CPU 1 for a certain period of time in order to cool down the temperature of the physical core 4 of the CPU 1. .
- the CPU control module 14 detects that the temperature of the physical core 4 of the CPU 1 after the task has been moved has decreased below a predetermined threshold, the CPU control module 14 transfers the task that was moved to the physical core 1 of the CPU 2 to the original physical core 4 of the CPU 1.
- the task running on physical core 4 of CPU1 is a high-load task that requires real-time performance, and the case is illustrated in which the task is moved to physical core 1 of CPU2. If the task operating on the physical core whose high temperature has been detected is a high-load task that requires real-time performance, the following third form of task movement control may be applied.
- FIG. 8 is a diagram illustrating a third form of task movement control performed by the CPU control module 14 in the case of a single processor or multiprocessor.
- CPU 11 represents one CPU included in the information processing system 1 when the information processing system 1 is a single processor, and represents multiple CPUs included in the information processing system 1 when the information processing system 1 is a multiprocessor. represents any one of the CPUs in .
- the CPU 11 has physical cores 1 to 6, and the tasks shown in the respective blocks are executed in the physical cores 1 to 6.
- the logical cores associated with physical cores 1 to 6 are the same as in the example described in FIG. 4. It is assumed that the tasks labeled "RT/HL Task", "HL Task", and “Normal Task” are the same as in FIG. 6.
- the CPU control module 14 acquires temperature information of each physical core 1 to 6 from the temperature monitoring module 15, and monitors the temperature of each physical core 1 to 6. Assume that as a result of monitoring, it is detected that the temperature of the physical core 1 has increased to a high temperature equal to or higher than a threshold value, and a high temperature that is a condition for task migration is detected in the physical core 1. Note that the conditions for task movement can be changed as appropriate, as in the case of the first form of task movement control shown in FIG. When detecting that the physical core 1 is at a high temperature, the CPU control module 14 controls the high temperature physical core 1 based on the physical core thermal distance estimation information created by the thermal distance estimation process in process 1.
- a physical core having a short thermal distance between physical cores (this is a thermal distance between physical cores that has a temperature effect on physical core 1) and a high temperature is detected.
- this detection is limited to physical cores running tasks that do not require real-time performance.
- the CPU control module 14 detects a low-temperature physical core that is a physical core with a long inter-physical core thermal distance relative to the high-temperature physical core 1. , select where to move the task. Assume that as a result, physical core 6 is selected as the task migration destination.
- the CPU control module 14 moves the task of the physical core 2, which has a close thermal distance between the physical cores to the physical core 1, which has a high temperature, to the physical core 6, in order to alleviate the overhead associated with the movement of the task, Boosts the moved task by temporarily increasing the CPU resources of physical core 6 that the moved task can use.
- the CPU control module 14 limits task assignment so that no task is assigned to the physical core 2 for a certain period of time in order to cool down the temperature of the physical core 1. This leaves physical core 2 in an idle state, and if CPUfreq Governors is running, its function reduces the clock frequency, which reduces power consumption and lowers the temperature of physical core 2. As the temperature of physical core 2 decreases, heat propagation from physical core 2 to physical core 1 is reduced, and the temperature of physical core 1 decreases.
- the third form of task movement control can be employed even when a physical core on which a task that does not require real-time performance is operating rises to a high temperature. For example, regardless of whether the task requires real-time performance or not, it is possible to move a task of a physical core with a close thermal distance between the physical cores and a high temperature to a physical core with a high temperature. good.
- the task of a physical core (peripheral core) with a close thermal distance between the physical cores can be transferred to at least another physical core that is different from the high-temperature physical core and is not the migration source. It may be moved to another physical core that is not a peripheral core or to a physical core with a lower temperature.
- the second form and the third form may be combined.
- a task running on a high-temperature physical core may be The core may be moved to a physical core of a CPU different from the CPU to which the core belongs.
- FIG. 9 is a flowchart showing an example of a procedure using the first to third forms of task movement control shown in FIGS. 6 to 8.
- step S31 the CPU control module 14 acquires temperature information of the physical cores from the temperature monitoring module 15, and monitors the temperatures of all physical cores. The process proceeds from step S31 to step S32.
- step S32 the CPU control module 14 determines whether the temperature of any physical core exceeds a threshold (or is greater than or equal to a threshold). If the answer is NO in step S32, the process returns to step S31. If the answer is yes in step S32, the process proceeds from step S32 to step S33.
- step S33 the CPU control module 14 determines whether the task operated by the high-temperature physical core determined to have exceeded the threshold in step S32 (detected in step S32) is a task requiring real-time performance. Determine whether If the result in step S33 is affirmative, the process proceeds to step S34, where the third form of task movement control shown in FIG. 8 is started. If the result in step S33 is negative, the process proceeds to step S39, where it is determined which of the first form and the second form of task movement control shown in FIGS. 6 and 7 is to be performed (described later).
- step S34 the CPU control module 14 detects a physical core that is close in thermal distance between physical cores and has a high temperature with respect to the high-temperature physical core detected in step S32. The process proceeds from step S34 to step S35. In step S35, the CPU control module 14 detects a physical core that has a longer inter-physical core thermal distance and has a lower temperature than the high-temperature physical core detected in step S32. The process proceeds from step S35 to step S36. In step S36, the CPU control module 14 moves the task running on the physical core detected in step S34 to the physical core detected in step S35. The process proceeds from step S36 to step S37.
- step S37 the CPU control module 14 boosts the task by temporarily increasing the CPU resources of the physical core detected in step S35, that is, the destination physical core to which the task was moved in step S36.
- step S38 the CPU control module 14 temporarily prevents a new task from being assigned to the physical core detected in step S34, that is, the source physical core to which the task was moved.
- step S31 the CPU control module 14 boosts the task by temporarily increasing the CPU resources of the physical core detected in step S35, that is, the destination physical core to which the task was moved in step S36.
- step S38 the CPU control module 14 temporarily prevents a new task from being assigned to the physical core detected in step S34, that is, the source physical core to which the task was moved.
- step S31 the process returns from step S38 to step S31.
- step S39 when step S33 is negative, the process branches depending on whether the CPU architecture (hardware configuration of the information processing system 1) is a single processor and multi-core configuration or a multiprocessor and multi-core configuration.
- the process proceeds to step S40, and the task movement control of the first form shown in FIG. 6 is started.
- the process proceeds to step S44, and the second form of task movement control shown in FIG. 7 is started.
- the CPU control module 14 detects a physical core that has a longer inter-physical core thermal distance and a lower temperature than the high-temperature physical core detected in step S32. The process proceeds from step S40 to step S41.
- step S41 the CPU control module 14 moves the task operating on the high-temperature physical core detected in step S32 to the physical core detected in step S40.
- step S42 the CPU control module 14 boosts the task by temporarily increasing the CPU resources of the physical core detected in step S40, that is, the destination physical core to which the task was moved in step S41.
- step S43 the CPU control module 14 temporarily prevents a new task from being assigned to the high-temperature physical core detected in step S32, that is, the source physical core from which the task was moved. .
- step S43 the CPU control module 14 temporarily prevents a new task from being assigned to the high-temperature physical core detected in step S32, that is, the source physical core from which the task was moved.
- step S43 the process proceeds from step S43 to step S45.
- step S44 branched from step S39, the CPU control module 14 detects a physical core with a low temperature in a CPU different from the CPU to which the high-temperature physical core detected in step S32 belongs.
- the process proceeds from step S44 to step S41, and performs steps S41 to S43.
- the physical core detected in step S40 is replaced with the physical core detected in step S44.
- step S45 the process branches depending on whether the CPU architecture (hardware configuration of the information processing system 1) is a single processor and multi-core configuration or a multiprocessor and multi-core configuration. In the former case, the process returns to step S31.
- step S46 the CPU control module 14 determines whether the temperature of the high-temperature physical core detected in step S32, that is, the physical core from which the task was moved is If the value falls below the predetermined threshold, the physical core detected in step S44, that is, the destination physical core to which the task was moved in step S41, is returned to the physical core detected in step S32.
- the process returns from step S45 to step S31.
- the process of returning a task from the movement destination to the movement source physical core as in step S46 is not limited to the case of the second form of task movement control that goes through the process of step S44, but also applies to tasks that do not go through the process of step S44.
- the movement control may be performed in the same manner in both the first form and the third form.
- CPUs which are semiconductor devices, are sensitive to temperature, so increases in CPU temperature can lead to reduced operating efficiency, malfunctions, and failures.
- Cooling devices such as heat sinks and fans are used to suppress the heat generated by CPUs, but as devices have become smaller in recent years, it may not be possible to secure enough space to install a cooling device.
- This technology uses software control to solve the CPU heat generation problem while suppressing performance degradation. The following existing technologies are known to solve the CPU heat generation problem through software control.
- CPUfreq Governors is a method that dynamically changes the operating frequency according to the CPU temperature to reduce system power consumption and heat generation. By using this mechanism, when the CPU temperature exceeds a certain level, it is possible to reduce the CPU's operating frequency and reduce heat generation.
- the problem with CPUfreq Governors is that they can reduce power consumption and temporarily stop temperature rise by lowering the operating frequency, but there is a risk that the performance of all applications running on that CPU core will deteriorate. Note that by using CPUfreq Governors in conjunction with this technology, the temperature of high-temperature cores can be lowered more quickly.
- Linux (registered trademark) Thermal Pressure is a function that allows the task scheduler to allocate tasks to the optimal CPU cores according to the temperature status of the cores when the operating system (OS) schedules tasks.
- a scheduler that can use Thermal Pressure places tasks on the optimal CPU core after considering the operating frequency changed by CPUfreq Governors. This improves the overall system performance.
- the problem with Linux (registered trademark) Thermal Pressure is that when the core overheats, it is possible to run the system with minimal performance degradation, but when the CPU overheats, the CPUfreq Governor reduces the CPU operating frequency. Therefore, it is not possible to prevent performance degradation of tasks running on that CPU core.
- Android (registered trademark) Thermal Service Android (registered trademark) Thermal Service constantly monitors CPU thermal information using various thermal mitigation signals from Android (registered trademark) Thermal HAL and feeds back status to applications depending on the severity of throttling. This allows running applications to take flexible heat mitigation measures depending on the severity of throttling. For example, when the CPU heats up, it is possible to temporarily suppress the heat generation by stopping tasks that do not require real-time performance.
- the problem with Android (registered trademark) Thermal Service is that in order to use its functions, it is necessary to change the application and take heat reduction measures according to each status situation. Therefore, it is difficult to apply it to third-party applications. Further, even if it is possible to change applications, it is extremely difficult to change all running applications and implement heat reduction measures.
- Patent Document 1 Multi-core dynamic workload management is performed in U.S. Pat. Schedule tasks to the optimal core using parameters such as efficiency. Scheduling is also performed based on whether each task is an idle use case or a low power use case.
- the problem with Patent Document 1 is that the scheduler basically schedules high-load tasks that cause temperature rise to be moved to another CPU core, so it is difficult to handle real-time, high-load tasks that are difficult to move CPU cores. I can't.
- performance degradation occurs due to the overhead of core movement, the scheduler does not take this overhead into account.
- the scheduler knows the location of the CPU core in advance, it does not specify how to know the location of the physical core. Therefore, if the processor provided by the vendor does not specify the location of the physical core, it will be difficult to build a scheduler.
- the thermal distance estimation module 13 Pre-execution of the thermal distance estimation module 13
- the thermal distance between physical cores or the thermal distance between logical cores estimated by the thermal distance estimation module 13 is basically the same value on the same device.
- the thermal distance estimation module 13 can be executed to estimate the thermal distance, and this information can be saved in the OS image. Thereby, it is not necessary to operate the thermal distance estimation module 13 when starting up the information processing system 1, so that the overhead due to module execution can be reduced.
- Containerization of the CPU control module 14 By containerizing each module 13 to 15 (container-type virtualization) and linking with existing ecosystems such as Kubernetes (registered trademark) and Docker (registered trademark), the module load distribution and more flexible thermal management.
- the CPU control module 14 must cooperate with the temperature monitoring module 15 to control tasks while constantly monitoring the CPU status, so the CPU control module 14 itself may become a high-load task and become a bottleneck for performance deterioration. be.
- this problem can be solved to some extent by preparing a module for each CPU and distributing the load. Furthermore, by using containers to link modules, it is possible to more easily control modules according to the system load.
- CPU control module with built-in OS scheduler 14 Instead of operating the CPU control module 14 as a user process, it may be integrated into the OS scheduler as one of the load balancing functions of the OS 12 scheduler. This allows a new thermally aware scheduler to be constructed.
- in-vehicle systems Unlike general systems that operate at a constant indoor temperature, in-vehicle systems must operate even under the hot summer sun. As a result, the heat of the CPU rises more easily than that of a typical system, making the CPU more likely to malfunction. Therefore, by applying this technology, it is possible to suppress the heat increase in the CPU caused by high-load tasks, increase the MTBF (mean time between failures), and lower the failure rate.
- MTBF mean time between failures
- Autonomous Robotics needs to process real-time and CPU-intensive tasks such as sensing data processing, object recognition, and AI processing. When these processes are processed on the edge device side, the temperature of the CPU increases, which may trigger system thermal throttling and lower the CPU operating frequency. In this case, the performance of tasks running on that CPU core deteriorates, making it impossible to complete the requested processing within the expected time. Therefore, by applying this technology, it is possible to keep the system running while suppressing the temperature rise of the CPU and avoiding performance deterioration. Furthermore, small robots may not have enough space to install cooling equipment. Even in such cases, by applying this technology, efficient thermal management can be achieved through software control without relying on cooling devices.
- processors can be applied to any processor that processes data and instructions.
- processors to which this technology can be applied include GPUs (Graphics Processing Units) and LPGAs (Laser Programmable Gate Arrays).
- the series of processes described above can be executed by hardware or software.
- the programs that make up the software are installed on the computer.
- the computer includes a computer built into dedicated hardware and, for example, a general-purpose personal computer that can execute various functions by installing various programs.
- FIG. 10 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processes using a program.
- a CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- An input/output interface 205 is further connected to the bus 204.
- An input section 206 , an output section 207 , a storage section 208 , a communication section 209 , and a drive 210 are connected to the input/output interface 205 .
- the input unit 206 consists of a keyboard, mouse, microphone, etc.
- the output unit 207 includes a display, a speaker, and the like.
- the storage unit 208 includes a hard disk, nonvolatile memory, and the like.
- the communication unit 209 includes a network interface and the like.
- the drive 210 drives a removable medium 211 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
- the CPU 201 executes the above-described series by, for example, loading a program stored in the storage unit 208 into the RAM 203 and executing it via the input/output interface 205 and the bus 204. processing is performed.
- a program executed by the computer (CPU 201) can be provided by being recorded on a removable medium 211 such as a package medium, for example. Additionally, programs may be provided via wired or wireless transmission media, such as local area networks, the Internet, and digital satellite broadcasts.
- the program can be installed in the storage unit 208 via the input/output interface 205 by installing the removable medium 211 into the drive 210. Further, the program can be received by the communication unit 209 via a wired or wireless transmission medium and installed in the storage unit 208. Other programs can be installed in the ROM 202 or the storage unit 208 in advance.
- the program executed by the computer may be a program in which processing is performed chronologically in accordance with the order described in this specification, in parallel, or at necessary timing such as when a call is made. It may also be a program that performs processing.
- the processing that a computer performs according to a program does not necessarily have to be performed chronologically in the order described as a flowchart. That is, the processing that a computer performs according to a program includes processing that is performed in parallel or individually (for example, parallel processing or processing using objects).
- program may be processed by one computer (processor) or may be processed in a distributed manner by multiple computers. Furthermore, the program may be transferred to a remote computer and executed.
- a system refers to a collection of multiple components (devices, modules (components), etc.), regardless of whether all the components are located in the same casing. Therefore, multiple devices housed in separate casings and connected via a network, and a single device with multiple modules housed in one casing are both systems. .
- the configuration described as one device (or processing section) may be divided and configured as a plurality of devices (or processing sections).
- the configurations described above as a plurality of devices (or processing units) may be configured as one device (or processing unit).
- part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) as long as the configuration and operation of the entire system are substantially the same. .
- the present technology can take a cloud computing configuration in which one function is shared and jointly processed by multiple devices via a network.
- the above-mentioned program can be executed on any device. In that case, it is only necessary that the device has the necessary functions (functional blocks, etc.) and can obtain the necessary information.
- each step described in the above flowchart can be executed by one device or can be shared and executed by multiple devices.
- the multiple processes included in that one step can be executed by one device or can be shared and executed by multiple devices.
- multiple processes included in one step can be executed as multiple steps.
- processes described as multiple steps can also be executed together as one step.
- the processing of the steps described in the program may be executed in chronological order according to the order described in this specification, in parallel, or in a manner in which calls are made. It may also be configured to be executed individually at necessary timings such as at certain times. In other words, the processing of each step may be executed in a different order from the order described above, unless a contradiction occurs. Furthermore, the processing of the step of writing this program may be executed in parallel with the processing of other programs, or may be executed in combination with the processing of other programs.
- the present technology can also have the following configuration.
- (1) Based on the thermal distance between cores corresponding to the degree of influence of temperature on other cores for each of the plurality of cores that the processor has, among the plurality of cores, a high temperature core whose temperature is higher than a threshold value is operating. or a control unit that moves a task running in a peripheral core existing at the thermal distance that exerts a temperature influence on the high-temperature core to at least another core different from the high-temperature core. Processing equipment.
- (2) The information processing device according to (1), wherein the control unit selects, among the plurality of cores, a core whose thermal distance is farther than a threshold value from the high-temperature core as the other core.
- thermal distance estimation unit that estimates the thermal distance based on the temperature of each of the plurality of cores when a task is executed on each of the plurality of cores.
- the plurality of cores are a plurality of logical cores
- the thermal distance estimating unit acquires, based on the temperature, correspondence relationship information indicating the physical core to which each of the plurality of logical cores is associated, among the plurality of physical cores that the processor has.
- the control unit moves the task to the source high-temperature core or the peripheral core.
- the information processing device according to any one of (1) to (8) above.
- the control unit moves the task using a core of the same processor as the processor having the high-temperature core as the other core.
- (11) The information processing device according to any one of (1) to (9), wherein the control unit moves the task by using a core of a processor different from the processor having the high-temperature core as the other core.
- the control unit of the information processing device has a control unit that determines which of the plurality of cores is selected based on the thermal distance between the cores corresponding to the degree of influence of temperature on other cores on each of the plurality of cores of the processor. , a task running in a high-temperature core whose temperature is higher than a threshold value, or a task running in a peripheral core existing in the thermal distance that exerts a temperature influence on the high-temperature core, at least the high-temperature core. An information processing method that moves the information to another core that is different from the core.
- a high temperature core whose temperature is above a threshold value is selected.
- a control unit that moves an operating task, or a task that is operating in a peripheral core existing at a thermal distance that exerts a temperature influence on the high-temperature core, to at least another core different from the high-temperature core.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024532003A JPWO2024009747A1 (https=) | 2022-07-08 | 2023-06-20 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022110135 | 2022-07-08 | ||
| JP2022-110135 | 2022-07-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024009747A1 true WO2024009747A1 (ja) | 2024-01-11 |
Family
ID=89453225
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2023/022684 Ceased WO2024009747A1 (ja) | 2022-07-08 | 2023-06-20 | 情報処理装置、情報処理方法、及び、プログラム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JPWO2024009747A1 (https=) |
| WO (1) | WO2024009747A1 (https=) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119987524A (zh) * | 2025-01-15 | 2025-05-13 | 维沃移动通信有限公司 | 热预测方法、装置、电子设备及存储介质 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140108834A1 (en) * | 2006-06-28 | 2014-04-17 | Mark A. Trautman | Method, system, and apparatus for dynamic thermal management |
| JP2014514660A (ja) * | 2011-04-14 | 2014-06-19 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 論理コアの動的マッピング |
| US20140366030A1 (en) * | 2013-06-06 | 2014-12-11 | Empire Technology Development, Llc | Shared cache data movement in thread migration |
| US20170277564A1 (en) * | 2016-03-25 | 2017-09-28 | International Business Machines Corporation | Thermal-And Spatial-Aware Task Scheduling |
| US20180143862A1 (en) * | 2016-11-18 | 2018-05-24 | Qualcomm Incorporated | Circuits and Methods Providing Thread Assignment for a Multi-Core Processor |
| CN109918195A (zh) * | 2019-01-18 | 2019-06-21 | 华南理工大学 | 基于热感知动态任务迁移的众核系统处理器资源调度方法 |
| US20200073726A1 (en) * | 2018-08-29 | 2020-03-05 | International Business Machines Corporation | Learning-based thermal estimation in multicore architecture |
-
2023
- 2023-06-20 JP JP2024532003A patent/JPWO2024009747A1/ja active Pending
- 2023-06-20 WO PCT/JP2023/022684 patent/WO2024009747A1/ja not_active Ceased
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140108834A1 (en) * | 2006-06-28 | 2014-04-17 | Mark A. Trautman | Method, system, and apparatus for dynamic thermal management |
| JP2014514660A (ja) * | 2011-04-14 | 2014-06-19 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 論理コアの動的マッピング |
| US20140366030A1 (en) * | 2013-06-06 | 2014-12-11 | Empire Technology Development, Llc | Shared cache data movement in thread migration |
| US20170277564A1 (en) * | 2016-03-25 | 2017-09-28 | International Business Machines Corporation | Thermal-And Spatial-Aware Task Scheduling |
| US20180143862A1 (en) * | 2016-11-18 | 2018-05-24 | Qualcomm Incorporated | Circuits and Methods Providing Thread Assignment for a Multi-Core Processor |
| US20200073726A1 (en) * | 2018-08-29 | 2020-03-05 | International Business Machines Corporation | Learning-based thermal estimation in multicore architecture |
| CN109918195A (zh) * | 2019-01-18 | 2019-06-21 | 华南理工大学 | 基于热感知动态任务迁移的众核系统处理器资源调度方法 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119987524A (zh) * | 2025-01-15 | 2025-05-13 | 维沃移动通信有限公司 | 热预测方法、装置、电子设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2024009747A1 (https=) | 2024-01-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Bateni et al. | Co-Optimizing Performance and Memory FootprintVia Integrated CPU/GPU Memory Management, anImplementation on Autonomous Driving Platform | |
| US20240029488A1 (en) | Power management based on frame slicing | |
| US9619378B2 (en) | Dynamically optimizing memory allocation across virtual machines | |
| US9946563B2 (en) | Batch scheduler management of virtual machines | |
| CN102334103B (zh) | 具有对于多个虚拟服务器间的共享资源分配的软件控制的微处理器 | |
| US10540202B1 (en) | Transient sharing of available SAN compute capability | |
| US20130167152A1 (en) | Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method | |
| CN103593242A (zh) | 基于Yarn框架的资源共享控制系统 | |
| KR20130061747A (ko) | 코어 마다의 전압 및 주파수 제어 제공 | |
| US10768684B2 (en) | Reducing power by vacating subsets of CPUs and memory | |
| Zhang et al. | Toward qos-awareness and improved utilization of spatial multitasking gpus | |
| US11650650B2 (en) | Modifying an operating state of a processing unit based on waiting statuses of blocks | |
| KR20160081815A (ko) | 데이터 관리 메커니즘을 구비하는 전자 시스템 및 그것의 동작 방법 | |
| CN119847304B (zh) | 散热调控方法、装置、计算机设备、存储介质及程序产品 | |
| CN117348715A (zh) | 节能管理方法、装置、计算设备及计算机可读存储介质 | |
| KR20220049294A (ko) | 스케줄러, 스케줄러의 동작 방법 및 이를 포함한 전자 장치 | |
| WO2024009747A1 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
| CN106133728B (zh) | 知晓可靠性的集成电路热设计 | |
| WO2022166679A1 (zh) | 计算核、计算核温度调整方法、设备、介质、芯片和系统 | |
| US20250021378A1 (en) | Systems, methods, and apparatus for assigning operations to computational devices | |
| Kim et al. | Reducing memory interference latency of safety-critical applications via memory request throttling and Linux Cgroup | |
| US20130346983A1 (en) | Computer system, control system, control method and control program | |
| JP2006277637A (ja) | 温度監視によってジョブを割り当てるマルチプロセッサ計算機システム、及びコンピュータプログラム | |
| KR102183274B1 (ko) | 분산 처리 시스템 및 그 방법, 그리고 이에 적용되는 장치 | |
| US12536084B2 (en) | Cluster node selection with off-band metrics |
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: 23835281 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024532003 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23835281 Country of ref document: EP Kind code of ref document: A1 |