Resource management apparatus, resource management method, and computer program for resource management

The resource management device addresses inconsistent output timings by adjusting hardware resource allocation to ensure consistent performance across different processing power configurations, enhancing software development efficiency.

JP7697480B2Active Publication Date: 2025-06-24TOYOTA JIDOSHA KK
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023000186
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-01-04
Publication Date
2025-06-24
Estimated Expiration
2043-01-04

AI Technical Summary

Technical Problem

Existing software development processes face challenges in ensuring consistent output timing across different hardware configurations, particularly when operating on hardware with varying processing power, which can lead to malfunctions and increased development time.

Method used

A resource management device and method that allocates hardware resources to software processes to minimize the absolute value of timing differences between execution on high and low processing power hardware, using evaluation metrics to adjust resource allocation until the timing differences fall within a predetermined range.

Benefits of technology

This approach ensures consistent output timings across hardware configurations, reducing the risk of malfunctions and minimizing development time by appropriately allocating resources, thus facilitating software application development.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007697480000001
    Figure 0007697480000001
  • Figure 0007697480000002
    Figure 0007697480000002
  • Figure 0007697480000003
    Figure 0007697480000003
Patent Text Reader

Abstract

To provide a resource management device capable of appropriately allocating a hardware resource to software in executing the software on prescribed hardware.SOLUTION: A resource management device has a resource allocation unit 32 for determining allocation of a resource of first hardware 21 to a series of processes so as to cause the absolute value sum of differences between output timing of at least one process of a prescribed order in a series of processes when the first hardware 21 executes the series of processes and output timing of a process of a prescribed order when second hardware 22 having processing capacity lower than the first hardware 21 executes a series of processes to be within a prescribed allowable range.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a resource management device, a resource management method, and a computer program for resource management that manage hardware resources assigned to a predetermined process.

Background Art

[0002] Techniques for efficiently using CPU resources of a virtual computer system in a full virtualization environment have been proposed (see Patent Document 1).

[0003] In the virtual computer system disclosed in Patent Document 1, a hypervisor calculates the usage rate of a CPU assigned to a virtual machine based on an HLT instruction from a guest OS, and determines the length of time to assign the CPU to the virtual machine based on the calculated CPU usage rate.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] In order to improve the efficiency of software development, it is desirable that the output of the software does not depend on the hardware. In particular, when operating software that operates on a specific hardware as part of a software application under development on another hardware with higher specifications than the specific hardware, it is desirable that the output of the software is the same as the output when operating on the specific hardware.

[0006] Therefore, an object of the present invention is to provide a resource management device capable of appropriately allocating hardware resources to software when the software is executed on a predetermined hardware.

Means for Solving the Problems

[0007] According to one embodiment, a resource management device is provided. This resource management device has a resource allocation unit that determines the allocation of resources of the first hardware to a series of processes so that the sum of the absolute values of the differences between the output timings of at least one predetermined-order process among the series of processes when the series of processes are executed on the first hardware and the output timings of the predetermined-order process when the series of processes are executed on the second hardware with lower processing power than the first hardware is within a predetermined allowable range.

[0008] In this resource management device, it is preferable that the first hardware has a plurality of arithmetic circuits. And this resource management device preferably further has an initial setting unit that determines the number of arithmetic circuits so that the output timing of each of the series of processes when the series of processes are executed on the first hardware is earlier than the output timing of the corresponding process when the series of processes are executed on the second hardware, and the number of arithmetic circuits allocated to the series of processes is minimized among the plurality of arithmetic circuits.

[0009] Also, in this resource management device, the resource allocation unit preferably determines at least one of the occupancy rate of each arithmetic circuit allocated to the series of processes and the bandwidth of the communication line between the first hardware and other devices so that the sum of the absolute values of the differences between the output timings of the processes in a predetermined order when the series of processes are executed on the first hardware and the output timings of the processes in a predetermined order when the series of processes are executed on the second hardware is within a predetermined allowable range.

[0010] According to another form, a resource management method is provided. This resource management method includes determining the allocation of resources of a first hardware for a series of processes such that the sum of the absolute values of the differences between the output timings of at least one process in a predetermined order among the series of processes when the series of processes are executed on the first hardware and the output timings of the processes in the predetermined order when the series of processes are executed on a second hardware having a lower processing capacity than the first hardware is within a predetermined allowable range.

[0011] According to still another form, a computer program for resource management is provided. This computer program for resource management includes instructions for causing a computer to determine the allocation of resources of a first hardware for a series of processes such that the sum of the absolute values of the differences between the output timings of at least one process in a predetermined order among the series of processes when the series of processes are executed on the first hardware and the output timings of the processes in the predetermined order when the series of processes are executed on a second hardware having a lower processing capacity than the first hardware is within a predetermined allowable range.

Advantages of the Invention

[0012] The resource management device according to the present disclosure has an effect that when software is executed on a predetermined hardware, hardware resources can be appropriately allocated to the software.

Brief Description of the Drawings

[0013]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Best Mode for Carrying Out the Invention

[0014] Hereinafter, with reference to the drawings, a resource management device, a resource management method executed by the resource management device, and a resource management computer program will be described. This resource management device determines the hardware resources to be allocated to a series of processes of a predetermined software developed to operate on hardware (second hardware) with relatively low processing power when the software is operated on hardware (first hardware) with relatively high processing power. Specifically, this resource management device measures the difference between the output timing of the processing results of a series of processes by the software when the predetermined software is operated on the first hardware and the output timing of the processing results of a series of processes by the software when the software is operated on the second hardware. Then, this resource management device determines the allocation of the resources of the first hardware to the software so that the absolute value of the difference falls within an allowable range.

[0015] Hereinafter, for convenience of explanation, the predetermined software that is the target of the resource management process may be simply referred to as the target software.

[0016] The first hardware and the second hardware are each hardware capable of executing a predetermined arithmetic process to be executed in a predetermined application, and for example, are electronic control units (ECUs) used for controlling the vehicle itself or any device mounted on the vehicle. However, the first hardware and the second hardware are not limited to ECUs, and any hardware capable of executing a predetermined arithmetic process may be used.

[0017] The first hardware includes one or more arithmetic units. The arithmetic unit may be, for example, an individual arithmetic circuit included in a processor, i.e., a core, or may be arithmetic circuits provided separately from each other. Further, the arithmetic unit is not limited to a general-purpose one, and may be a dedicated arithmetic circuit for executing a specific type of arithmetic. Further, the first hardware may include a memory. Furthermore, the first hardware may include a communication interface for communicating with other devices through a communication line according to a predetermined communication standard. Similarly, the second hardware includes at least one arithmetic unit. The arithmetic unit is not limited to a general-purpose one, for example, and may be a dedicated arithmetic unit for executing a specific type of arithmetic. Further, the second hardware may include a memory. Furthermore, the second hardware may include a communication interface for communicating with other devices through a communication line according to a predetermined communication standard.

[0018] The first hardware has a relatively higher processing capacity than the second hardware. Specifically, the number of arithmetic units included in the first hardware may be larger than the number of arithmetic units included in the second hardware. Alternatively, the number of arithmetic operations per unit time of the arithmetic units included in the first hardware may be larger than the number of arithmetic operations per unit time of the arithmetic units included in the second hardware. Alternatively, the communication bandwidth available to the first hardware may be wider than the communication bandwidth available to the second hardware. Further, the capacity of the memory included in the first hardware may be larger than the capacity of the memory included in the second hardware. Furthermore, the read speed and write speed of the memory included in the first hardware may be faster than the read speed and write speed of the memory included in the second hardware.

[0019] The target software is, for example, software related to the automatic driving control of a vehicle that operates on an ECU. A series of processes included in the target software include, for example, a process of detecting moving objects around the vehicle from sensor signals representing the surroundings of the vehicle, such as an in-vehicle camera, a process of predicting the future trajectory of the moving objects based on the detection result, and a process of creating a planned driving route of the vehicle based on the prediction result. Further, the series of processes may include a process of determining the driver's state based on an image representing the driver obtained by a driver monitoring camera. And the results of those processes are used for vehicle control. Therefore, it is preferable that the timing of each output of the series of processes of the target software does not depend on the hardware on which the target software operates.

[0020] Figure 1 is a hardware configuration diagram of the resource management device. The resource management device 1 includes a communication interface 11, a storage device 12, a memory 13, and a processor 14. The communication interface 11, the storage device 12, and the memory 13 are connected to the processor 14 via signal lines. The resource management device 1 may further include an input device such as a keyboard and a mouse, and a display device such as a liquid crystal display.

[0021] The communication interface 11 is an example of a communication unit and has an interface circuit for connecting the resource management device 1 to the first hardware 21 and the second hardware 22. Then, the communication interface 11 receives data, one or more software modules and instructions constituting the target software from the processor 14, which are necessary for operating the target software on the first hardware 21 or the second hardware 22, and outputs them to the first hardware 21 or the second hardware 22. Note that the data includes, for example, various types of data such as images and voices to be processed by the target software, and information for specifying hardware resources assigned to the target software. Further, the communication interface 11 receives, from the first hardware 21 or the second hardware 22, a measurement value of the time required for the processing as a result of the processing by the target software, and passes it to the processor 14.

[0022] The storage device 12 is an example of a storage unit and has, for example, a hard disk device or an optical recording medium and its access device. The storage device 12 stores various data and information used in the resource management process. For example, the storage device 12 stores one or more software modules that make up the target software and the data to be processed by the target software. Further, the storage device 12 stores software necessary for executing the target software on the first hardware 21, for example, software for constructing a virtual machine that operates on the first hardware 21. Furthermore, when the target software is executed on the second hardware 22, the storage device 12 stores information representing the resources of the second hardware 22 (hereinafter referred to as reference allocation information for convenience of explanation) that is allocated to a series of processes of the target software. The reference allocation information includes, for example, allocation information regarding memory capacity, the number of arithmetic units, the occupancy rate of arithmetic units, and communication bandwidth. Further, the storage device 12 may store a computer program for executing the resource management process, which is executed on the processor 14. Furthermore, the storage device 12 may store information for specifying the hardware resources to be allocated to the target software.

[0023] The memory 13 is another example of a storage unit and has, for example, a non-volatile semiconductor memory and a volatile semiconductor memory. The memory 13 temporarily stores various data generated during the execution of the resource management process.

[0024] The processor 14 is an example of a control unit and has one or more CPUs (Central Processing Units) and its peripheral circuits. The processor 14 may further have other arithmetic circuits such as a logical arithmetic unit or a numerical arithmetic unit. The processor 14 executes the resource management process.

[0025] FIG. 2 is a functional block diagram of the processor 14 related to the resource management process. The processor 14 includes an initial setting unit 31 and a resource allocation unit 32. Each of these units of the processor 14 is a functional module realized by, for example, a computer program operating on the processor 14. Alternatively, each of these units of the processor 14 may be a dedicated arithmetic circuit provided in the processor 14. The processor 14 executes a resource management process to determine the allocation of resources of the first hardware 21 to the target software.

[0026] The initial setting unit 31 allocates the memory of the first hardware 21 with the same capacity as the memory capacity when a series of processes of the target software are executed by the second hardware 22 to the series of processes of the target software. The initial setting unit 31 may specify the above memory capacity by referring to the reference allocation information stored in the storage device 12.

[0027] Furthermore, when a series of processes of the target software are executed on the first hardware 21, the initial setting unit 31 obtains the minimum value among the number of arithmetic units whose output timing of the corresponding process is earlier than the output timing of each process when a series of processes of the target software are executed by the second hardware 22. Then, the initial setting unit 31 allocates the arithmetic units of the minimum number to the series of processes of the target software. Thereby, the initial setting unit 31 can allocate an appropriate number of arithmetic units to the series of processes while reducing the difference in the results of the series of processes of the target software due to the difference in hardware.

[0028] Therefore, the initial setting unit 31 executes a series of processes of the target software on the second hardware 22. At this time, the initial setting unit 31 allocates the hardware resources specified by the reference allocation information to a series of processes of the target software. Further, the initial setting unit 31 transfers the data read from the storage device 12 and targeted by the target software to the second hardware 22 via the communication interface 11. The initial setting unit 31 measures the time required to execute a series of processes of the target software on the second hardware 22, and stores the measured time in the memory 13 as the reference processing time. Further, the initial setting unit 31 measures the time required from the start of those series of processes until the processes in a predetermined order are completed, and stores the measured time in the memory 13 as the predetermined order reference processing time.

[0029] Furthermore, the initial setting unit 31 executes a series of processes of the target software on the first hardware 21. At this time, the initial setting unit 31 measures the time required for a series of processes of the target software while changing the number of arithmetic units used for the execution of the target software among the arithmetic units included in the first hardware 21. Note that when software necessary for executing the target software on the first hardware 21, for example, software for constructing a virtual machine, is required, the initial setting unit 31 also causes that software to be executed on the first hardware 21. Also, the initial setting unit 31 may allocate the maximum allocable hardware resources to the target software and measure the time required for a series of processes of the target software. Alternatively, the initial setting unit 31 may allocate the hardware resources of the first hardware 21 equivalent to the hardware resources specified by the reference allocation information to the target software and measure the time required for a series of processes of the target software. Then, the initial setting unit 31 identifies the minimum number of arithmetic units for which the time required for a series of processes of the target software becomes shorter than the reference processing time. Then, the initial setting unit 31 determines to allocate the minimum number of arithmetic units to the target software.

[0030] The resource allocation unit 32 determines the resources of the first hardware 21 that are allocated to a series of processes of the target software when the series of processes are executed on the first hardware 21. At this time, the resource allocation unit 32 measures the sum of the absolute values of the differences between the output timings of the processes in a predetermined order among the series of processes when the series of processes of the target software are executed on the first hardware 21 and the output timings of the processes in the predetermined order when the series of processes are executed on the second hardware 22. Then, the resource allocation unit 32 determines the allocation of the resources of the first hardware 21 to the series of processes of the target software so that the sum of the absolute values of the differences is within a predetermined allowable range.

[0031] In the present embodiment, the resource allocation unit 32 operates a series of processes of the target software on the first hardware 21 by using the memory capacity set by the initial setting unit 31 and the set number of arithmetic units. At this time, when software necessary for executing the target software on the first hardware 21, for example, software for constructing a virtual machine is required, the resource allocation unit 32 also executes the software on the first hardware 21. Then, the resource allocation unit 32 measures the required time from when the series of processes are started until at least one process in a predetermined order among the series of processes ends. The process in the predetermined order can be, for example, the last process, but is not limited thereto, and can be the first process or any process in the middle.

[0032] The resource allocation unit 32 calculates, as an evaluation value, the absolute value of the difference between the measured required time and the predetermined reference processing time. When the evaluation value is not included in the predetermined allowable range, the resource allocation unit 32 changes the hardware resources used for executing the target software and executes the series of processes of the target software on the first hardware 21 again. Then, the resource allocation unit 32 measures the required time from when the series of processes are started until a process in a predetermined order among the series of processes ends again.

[0033] The hardware resources to be changed are resources other than the memory capacity and the number of arithmetic units set by the initial setting unit 31. For example, it is at least either the occupancy rate of each arithmetic unit allocated to a series of processes of the target software or the bandwidth of the communication line between the first hardware 21 and other devices.

[0034] The resource allocation unit 32 repeats the above process until the evaluation value is within a predetermined allowable range. At this time, the resource allocation unit 32 may change the hardware resources allocated to the target software by a certain amount in a trial-and-error manner, or may change the hardware resources allocated to the target software according to an optimization method such as simulated annealing or the steepest descent method.

[0035] On the other hand, when the evaluation value is within a predetermined allowable range, the resource allocation unit 32 determines the hardware resources used by the target software at that time as the hardware resources allocated to a series of processes of the target software. Then, the resource allocation unit 32 stores the resource allocation information representing the determined hardware resources in the storage device 12.

[0036] FIGS. 3(a) to 3(c) are diagrams for explaining an example of the evaluation value E. In FIGS. 3(a) to 3(c), the horizontal axis represents the elapsed time. Also, outl[i] (i = 1, 2,..., n, where n is the number of a series of processes of the target software) shown above represents the output timing of each process when a series of processes of the target software are operated on the second hardware 22. On the other hand, outh[i] (i = 1, 2,..., n) shown below represents the output timing of each process when a series of processes of the target software are operated on the first hardware 21. In the example shown in FIGS. 3(a) to 3(c), the number n of a series of processes of the target software is 5.

[0037] In the example shown in Fig. 3(a), the predetermined processing order used for calculating the evaluation value E is the last process. In this case, the resource allocation unit 32 calculates the absolute value of the difference between the time from the start of operation until the result of the last process is output when a series of processes of the target software are operated on the first hardware 21 and the time from the start of operation until the result of the last process is output when those series of processes are operated on the second hardware 22 as the evaluation value E. That is, the evaluation value E is represented by |outh[5] - outl[5]|. Then, when the evaluation value E is within a predetermined allowable range, the resource allocation unit 32 determines the hardware resources used by the target software as the hardware resources to be allocated to a series of processes of the target software.

[0038] Note that the evaluation value is not limited to the above example. For example, the resource allocation unit 32 may calculate the sum of the absolute values of the differences in the output timings of the results when the target software is operated on the first hardware 21 and on the second hardware 22 for two or more of a series of processes of the target software as the evaluation value E. For example, as shown in Fig. 3(b), the evaluation value E may be the sum of the absolute value of the difference in the output timing of the first process result |outh[1] - outl[1]| and the absolute value of the difference in the output timing of the last process result |outh[5] - outl[5]| in a series of processes. Alternatively, as shown in Fig. 3(c), the evaluation value E may be the sum Σ|outh[i] - outl[i]| of the absolute values of the differences in the output timings of the respective process results in a series of processes. Or, alternatively, in each of the above evaluation values E, instead of the timing at which the operation of the target software starts, the time from the output timing of the first process in a series of processes to the output timings of each subsequent process may be calculated.

[0039] FIG. 4 is a diagram for explaining another example of the evaluation value E. In FIG. 4, the horizontal axis represents the elapsed time. Also, outl[i] (i = 1, 2,..., n, where n is the number of a series of processes of the target software) shown on the upper side represents the output timing of each process when a series of processes of the target software is operated on the second hardware 22. On the other hand, outh[i] (i = 1, 2,..., n) shown on the lower side represents the output timing of each process when a series of processes of the target software is operated on the first hardware 21. Also in the example shown in FIG. 4, the number n of a series of processes of the target software is 5.

[0040] In this example, the resource allocation unit 32 uses the interval between the output timings of two consecutive individual process results included in a series of processes of the target software for calculating the evaluation value E. For example, the resource allocation unit 32 calculates the absolute value sum of the differences in the intervals between the output timings of two consecutive individual process results among a series of processes of the target software when the target software is operated on the first hardware 21 and when it is operated on the second hardware 22 as the evaluation value E. That is, the evaluation value E is represented by the following formula. E = Σ|Δh i,i+1 -Δl i,i+1 | Here, Δh i,i+1 is the interval between the output timing of the i-th process result and the output timing of the (i + 1)-th process result when the target software is operated on the first hardware 21. Similarly, Δl i,i+1 is the interval between the output timing of the i-th process result and the output timing of the (i + 1)-th process result when the target software is operated on the second hardware 22.

[0041] By using such an evaluation value E, the resource allocation unit 32 can determine the resources of the first hardware 21 to be allocated to the target software so that the interval between the output timings of two consecutive processing results is constant regardless of the hardware that operates the target software. Even when this evaluation value is used, by bringing this evaluation value within the allowable range, the sum of the absolute values of the differences in the output timings of each process when the target software is operated on the first hardware 21 and when it is operated on the second hardware 22 also decreases until it becomes a certain value or less.

[0042] FIG. 5 is an operation flowchart of the resource management process.

[0043] The initial setting unit 31 of the processor 14 allocates the memory of the first hardware 21 with the same capacity as the memory capacity when a series of processes of the target software are executed by the second hardware 22 to the series of processes of the target software (step S101). Further, the initial setting unit 31 obtains the minimum number among the number of arithmetic units of the first hardware 21 in which the output timing of the corresponding process is earlier than the output timing of each process when a series of processes of the target software are executed by the second hardware 22. Then, the initial setting unit 31 allocates the arithmetic units with the minimum number to the target software (step S102).

[0044] The resource allocation unit 32 of the processor 14 calculates, as an evaluation value E, the sum of the absolute values of the differences between the output timings of the processes in a predetermined order among those series of processes when the series of processes of the target software are executed by the first hardware 21 using predetermined hardware resources and the output timings of the processes in the same predetermined order when those series of processes are executed by the second hardware 22 (step S103). Then, the resource allocation unit 32 determines whether or not the evaluation value E is included in a predetermined allowable range (step S104).

[0045] When the evaluation value E is not within the predetermined allowable range (step S104 - No), the resource allocation unit 32 changes the hardware resources allocated to the target software (step S105). Then, the resource allocation unit 32 repeats the processes after step S103.

[0046] On the other hand, when the evaluation value E is within the predetermined allowable range (step S104 - Yes), the resource allocation unit 32 determines the hardware resources used in step S103 as the hardware resources to be allocated to a series of processes of the target software (step S106). After that, the processor 14 ends the resource management process.

[0047] As described above, when the resource management device operates target software developed to operate on second hardware with relatively low processing power on first hardware with relatively high processing power, it determines the allocation of hardware resources to the software. In particular, the resource management device calculates, as an evaluation value, the absolute value of the difference between the output timing of the processing result by the software when the target software is operated on the first hardware and the output timing of the processing result by the software when the target software is operated on the second hardware. Then, so that the evaluation value falls within an allowable range, the resource management device determines the allocation of the resources of the first hardware to the software. In this way, since the resource management device allocates the resources of the first hardware so that the output timing of each of a series of processes of the target software does not change when executed on the second hardware, it is possible to suppress a difference in the output timing of a series of processes due to hardware. As a result, the resource management device can suppress a malfunction when a series of processes of the target software are executed on the first hardware and the result is used by other software. Therefore, the resource management device can facilitate the use of developed software in the development of software applications and reduce the man-hours required for the development of software applications.

[0048] According to a modification, when determining the hardware resources to be allocated to the target software, the resource allocation unit 32 may also determine the number of arithmetic units among the arithmetic units included in the first hardware 21 that are used for the execution of a series of processes of the target software. In this case, similar to when determining the allocation of other hardware resources, when changing the hardware resources to be used until the evaluation value is included in a predetermined allowable range, the number of arithmetic units used for the execution of a series of processes of the target software may also be changed. Further, the determination of the number of arithmetic units used for the execution of the target software by the initial setting unit 31 is omitted.

[0049] A computer program for causing a computer to realize the functions of each part of the processor of the resource management apparatus according to the above embodiment or modification example may be provided in a form stored in a computer-readable recording medium. Note that the computer-readable recording medium can be, for example, a magnetic recording medium, an optical recording medium, or a semiconductor memory.

[0050] As described above, those skilled in the art can make various changes according to the implemented forms within the scope of the present invention.

Description of Reference Numerals

[0051] 1 Resource management apparatus 11 Communication interface 12 Storage device 13 Memory 14 Processor 21 First hardware 22 Second hardware 31 Initial setting unit 32 Resource allocation unit

Claims

1. A resource allocation unit that determines the allocation of resources of the first hardware to the series of processes so that the sum of the absolute values of the differences between the output timings of at least one process in the series of processes when executed by the first hardware and the output timings of the processes in the predetermined order when executed by the second hardware having a lower processing capacity than the first hardware is within a predetermined allowable range. A resource management device having the same.

2. The first hardware has a plurality of arithmetic circuits. An initial setting unit that further determines the number of arithmetic circuits to be allocated to the series of processes so that the number of arithmetic circuits to be allocated to the series of processes is minimized within a range that satisfies the condition that the output timing of each of the series of processes when executed by the first hardware is earlier than the output timing of the corresponding process when executed by the second hardware. The resource management device according to claim 1.

3. The resource allocation unit determines at least one of the occupancy rate of each arithmetic circuit allocated to the series of processes and the bandwidth of the communication line between the first hardware and other devices so that the sum of the absolute values of the differences between the output timings of the processes in the predetermined order when executed by the first hardware and the output timings of the processes in the predetermined order when executed by the second hardware is within the predetermined allowable range. The resource management device according to claim 2.

4. A resource management method including: determining the allocation of resources of the first hardware to the series of processes so that the sum of the absolute values of the differences between the output timings of at least one process in the series of processes when executed by the first hardware and the output timings of the processes in the predetermined order when executed by the second hardware having a lower processing capacity than the first hardware is within a predetermined allowable range. Including the above.

5. The absolute value sum of the difference between the output timing of at least one processing in a predetermined order among the series of processes when the series of processes are executed by the first hardware and the output timing of the processing in the predetermined order when the series of processes are executed by second hardware having a lower processing capacity than the first hardware is within a predetermined allowable range, and determine the allocation of resources of the first hardware for the series of processes. A resource management computer program for causing a computer to execute this.

Citation Information

Patent Citations

  • Mobile terminal apparatus

    JP2010044590A

  • Data processing device and data processing method

    JP2011242898A

  • Virtual computer system, hypervisor, and virtual computer system management method

    JP2013214146A

  • Image processing apparatus, image processing method, and program

    JP2016099786A

  • Distributed processing execution management program, distributed processing execution management method, and distributed processing execution management device

    JP2017162209A