Method for evaluating software

A model-based method predicts software energy consumption across devices using predefined energy models and process measurements, addressing the complexity of direct measurement, enabling efficient optimization and integration into software development.

WO2026037822A1PCT designated stage Publication Date: 2026-02-19SIEMENS AG
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/073100
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-14
Filing Date
2025-08-12
Publication Date
2026-02-19

AI Technical Summary

Technical Problem

Existing methods for evaluating software energy consumption are complex, requiring direct measurements on each device type and software version, which is impractical and labor-intensive.

Method used

A model-based approach using predefined energy models and process measurements to predict software energy consumption across different computer systems without direct measurement, utilizing instrumentation and benchmarking to determine process parameters.

Benefits of technology

Enables efficient, low-cost evaluation and optimization of software energy consumption across various devices by predicting energy consumption based on known energy models and process parameters, facilitating automated optimization and integration into software development processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025073100_19022026_PF_FP_ABST
    Figure EP2025073100_19022026_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to the evaluation of software (SW) on the basis of an energy consumption caused by executing the software (SW) with a computer system (HW). The energy consumption E (HW; SW) is determined in a model-based manner using an energy model MODE (HW) specific to the computer system HW and on the basis of one or more process measurement variables PROC (HW; SW; i) which result from an execution of the software SW on the computer system HW. The energy model MODE (HW) is predetermined in such a way that it outputs the energy consumption E (HW; SW) in response to an input of the process measurement variables PROC (HW; SW; i).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] 202411826 Foreign version

[0002] 1

[0003] Description

[0004] Procedures for evaluating software

[0005] The invention relates to the evaluation of software with regard to optimal energy consumption when executed with a computer system.

[0006] Given the importance of sustainability in software development and use, there is a pressing need to optimize software execution with regard to energy consumption. This involves evaluating the energy consumption of the software during its execution on a specific computer system. However, dedicated measurement of energy consumption during software execution is extremely complex – firstly, due to the energy measurement itself, and secondly, because such measurements must ultimately be performed separately for each affected computer system, i.e., for each device type. Furthermore, these energy measurements must be repeated after any software modifications.

[0007] Previous solutions, for example, involve classic performance optimizations, since optimizing performance usually also leads to a reduction in energy consumption. However, this can lead to a quick fix with higher energy consumption.

[0008] Another approach involves energy optimization based on energy or power measurements, for example, using appropriate power strips to determine total energy consumption or hardware-based energy or power measurements of the most important components of the affected computer system. In some cases, it may be sufficient to focus on energy optimization based on processor-integrated energy measurements, such as RAPL for x86 CPUs and NVML for Nvidia GPUs, rather than considering the entire system. However, this approach is also very complex and impractical for a large number of devices, as measurements must be taken at the power strip again for each iteration.

[0009] In any case, with the known approaches, measurements must be taken separately for each software program or software version and for each device type, which drastically increases the effort. 202411826 Foreign version

[0010] 2

[0011] It is therefore an object of the present invention to provide a practical, low-cost approach for evaluating software based on its energy consumption. This object is achieved by the method described in claim 1. Dependent claims describe advantageous embodiments.

[0012] The computer-implemented method proposed here evaluates software SW by determining and outputting the expected energy consumption E(HW1;SW) when the software SW is executed by a specific computer system HW1 from a number H>1 of computer systems HWh with h=1,...,H. The energy consumption E(HW1;SW) is determined using a model-based approach, meaning it is performed without directly measuring the energy itself. This is done using an energy model MODE(HW1) specific to the computer system HW1 and based on one or more process measurements PROC(HW1;SW;i) with i=1,...,l. These process measurements result from the execution of the software SW on the computer system HW1, with the process measurements serving as input values ​​IN for the energy model MODE(HW1), and I representing the number of process measurements used.The energy model MODE(HW1) is predefined in such a way that it outputs the energy consumption E(HW1 ;SW) in response to an input of the process measurement variables PROC(HW1 ;SW;i).

[0013] A "computer system" HW1 can ultimately be any type of computer-based hardware that typically includes at least a processor and at least one memory unit and is designed to run software. However, two computer systems HW1 and HW2 do not differ in that they are two different devices of the same type; that is, computer system HW1 here does not refer to a specific computer. Rather, different computer systems are meant to represent different device types or classes. For example, a first computer system HW1 could represent the device type "iPhone 15," while a second computer system HW2 could represent the device type "Samsung Galaxy S24." A third computer system HW3 could, for example, represent a specific type of Edge device. This selection of examples does not imply that the first computer system "iPhone 15" is a concrete device, identifiable, for example, by its serial number.

[0014] The process parameters PROC(HWh;SW;i) can be parameters that measure the frequency of operations of the respective computer system HWh and / or operating states, e.g., utilization rates, of components of the respective computer system HWh in the 202411826 foreign version

[0015] 3

[0016] These metrics represent software execution (SW) and, as already mentioned, do not measure energy consumption. They can be, for example, performance events or events that represent interactions within the computer system (HWh), such as the frequency of operations in the processing units or accesses to the computer system's memory. Interactions can also manifest as data reloading into or out of memory. An operating state could be, for example, the percentage of CPU utilization during software execution or the CPU clock frequency. More abstract quantities, such as the regularity or locality of memory accesses, can also be used. Regarding frequency, in addition to performance counters, utilization or usage metrics can also be employed.

[0017] According to a first aspect of the invention, to determine the energy consumption E(HWh;SW), the given software SW for determining the process parameters PROC(HWh;SW;i) can first be instrumented on or with the respective computer system HWh in a step S_EXE1, i.e., the process parameters are determined during execution of the software SW. The process parameters PROC(HWh;SW;i) determined in this way can be supplied as input values ​​to the energy model MODE(HWh) in a step S_22. The energy model MODE(HWh) can then, in response to the input values ​​PROC(HWh;SW;i), generate and output an energy statement in a step S_CAL1, which represents the energy consumption E(HWh;SW) of the computer system HWh during execution of the software SW.This first aspect of the invention consequently allows, for a hardware HWh whose energy model MODE(HWh) is known, the expected energy consumption E(HWh;SW) to be determined for any software SW solely by measuring the process parameters PROC(HWh;SW;i), without having to directly measure the energy consumption.

[0018] According to a second aspect of the invention, it is assumed that the energy models MODE(HWh) are known for a plurality H>1 of computer systems HWh. According to this second aspect, to determine the energy consumption E(HW2;SW) to be expected when executing the given software SW with a second HW2 of these computer systems HWh, in a first step S_EXE2 the given software SW for determining the process parameters PROC(HW1 ;SW;i) can first be instrumented on or with a first HW1 of the computer systems HWh, i.e., the process parameters PROC(HW1 ;SW;i) are determined when executing the software SW with the first computer system HW1. In a second step S_22, the pro- 202411826 Foreign version can be

[0019] Four process measurements PROC(HW1;SW;i) are fed to the energy model MODE(HW2) of the second computer system HW2 as input values ​​IN=PROC(HW1;SW;i). In a third step, the energy model MODE(HW2) of the second computer system HW2 generates and outputs an energy statement S_CAL2 in response to these input values ​​IN. This energy statement, in turn, represents the energy consumption E(HW2;SW) of the second computer system HW2 during the execution of the software SW. This second aspect of the invention thus addresses the procedure in which the software SW, whose expected energy consumption E(HW2;SW) is to be determined on the second computer system HW2, is instrumented on the first computer system HW1, which functions as a reference system or test bench. E(HW2;SW) is then determined by feeding the resulting process measurements PROC(HW1;SW;i) to the energy model MODE(HW2) of the second computer system HW2.With this approach, an energy prediction can be made for any computer system HW2 from the multitude H of computer systems HWh whose energy models are known, indicating what energy consumption the execution of the SW on this arbitrary computer system HW2 would cause, without the software SW being instrumented on the respective computer system HW2 itself.

[0020] Optionally, the process measurements PROC(HW1 ;SW;i) determined in the first step S_21 can be adjusted before the execution of the second step based on a predefined model ML(HW1 ;HW2;i), resulting in process measurements PROC'(HW1;SW;i). The model ML(HW1 ;HW2;i) describes how the process measurements PROC(HW1 ;i) and PROC(HW2;i) behave relative to each other for different computer systems HW1 and HW2. In the second step S_22, the adapted process measurements PROC'(HW1 ;SW;i) can be fed to the energy model MODE(HW2) as input values ​​IN=PROC'(HW1;SW;i), before in the third step S_23 the energy model MODE(HW2) of the second computer system HW2 can generate and output the energy statement in response to these input values ​​IN, which represents how large the energy consumption E(HW2;SW) of the second computer system HW2 is when executing the software SW.This optional training takes into account the possibility that, when the same software SW is executed on different computer systems HW1 and HW2, different process measurements PROC(HW1;SW;i)#PROC(HW2;SW;i) may occur. The deviation of the process measurements is compensated for by ML(HW1 ;HW2;i). 202411826 Foreign version.

[0021] 5

[0022] For the modeling ML(HW1 ;HW2;i), within the framework of the determination of the energy models MODE(HW1), MODE(HW2) described below, the process measurements PROC(HW(1);i), PROC(HW2;i) determined during the determination of the energy models MODE(HW1), can be compared with each other for each i, such that a respective value ML(HW1 ;HW2;i) is a function f of the determined process measurements, i.e. ML(HW1 ;HW2;i)=f(PROC(HW1 ;i);PROC(HW2;i)), where for a respective value ML(HW1 ;HW2;i) it can be the case, for example, that ML(HW1;HW2;i)=PROC(HW1;i) / PROC(HW2;i).

[0023] The term "instrumentation" means that during the instrumentation of software (SW) on a given computer system (HWh), the software (SW) is executed by the computer system (HWh), and the process parameters (PROC(HWh;SW;i)) are determined, for example, by measurement. Here and in the following, the terms "determination" or "calculation" of a process parameter mean that a corresponding measured value is determined or calculated for the respective process parameter.

[0024] The energy model MODE(HWh) for a given computer system HWh can be determined in advance by performing one or more benchmark measurements BEN(b) on the respective computer system HWh. For each benchmark measurement BEN(b), the energy consumption E(b) can be measured. Furthermore, at least the process parameters PROC(HWh;i(b)) affected by the respective benchmark measurement BEN(b) can be determined. The relationships thus established between the affected process parameters PROC(HWh;i(b)) and the energy consumption E(b) can ultimately form the energy model MODE(HWh).

[0025] Here, a BEN(1) of the benchmark measurements BEN(j) can, for example, include block-wise copying of data of varying sizes, from which an energy consumption E(1) for main memory and data cache accesses during cache hits can be derived. Additionally or alternatively, a BEN(2) of the benchmark measurements BEN(j) can include byte-wise copying of selected memory addresses using pseudorandom numbers, from which an energy consumption E(2) for data cache access during cache misses can be derived. Additionally or alternatively, a BEN(3) of the benchmark measurements BEN(j) can include the calculation of a cryptographic hash of pseudorandom data, from which an energy consumption E(3) of such calculations can be derived. Additionally or alternatively, 202411826 Foreign Version

[0026] 6. A BEN(4) of the benchmark measurements BEN(j) may include a calculation of a moving average and / or a product, from which an energy consumption E(5) can be derived, broken down by type of operation, e.g., addition or multiplication, or by number format, e.g., integer or floating point. Additionally or alternatively, a BEN(5) of the benchmark measurements BEN(j) may include calculations using a GPU of the computer system HW, from which an energy consumption E(5) for an accelerator card of the computer system HW can be derived. Additionally or alternatively, a BEN(6) of the benchmark measurements BEN(j) may include saving and loading data to and / or from a storage device (120) of the computer system HW, from which an energy consumption E(6) for accessing the storage device can be derived.Additionally or alternatively, a BEN(7) of the benchmark measurements BEN(j) may include sending and / or receiving data over a network to which the computer system HW is connected, from which an energy consumption E(7) for data transmissions can be derived.

[0027] Further benchmark measurements BEN(j) may include further load tests, each with simultaneous measurement of energy consumption E(j), if external sensors or input devices are available.

[0028] In a test phase S_TST of the software SW, the expected energy consumption E(HW1;SW), E(HW2;SW), E(HW3;SW) for each of several computer systems HW1, HW2, HW3 during execution of the given software SW can be determined and output as described above. Subsequently, in a usage phase S_NTZ of the software SW, the software SW can be executed on the computer system HW1, HW2, HW3 for which the lowest expected energy consumption E(HW1;SW), E(HW2;SW), E(HW3;SW) was determined in the test phase S_TST. In this application, the energy consumption during execution of the software can be reduced or optimized by running it on the computer system for which the lowest energy consumption is predicted.

[0029] A computer architecture comprising a plurality H of computer systems HWh with h=1,...,H and H>2, each suitable for executing the software SW, can be configured, as described above, to identify the HWh' of the computer systems HWh for which the lowest energy consumption E(HW1;SW), E(HW2;SW), ... is expected, and to execute the software SW with the computer system HWh' thus identified. This ensures that the given software can be used with minimal energy consumption. 202411826 Foreign version

[0030] 7

[0031] The software SW can further be optimized for a given computer system HWh, taking into account the corresponding energy model for MODE(HWh), such that running the software SW on computer system HWh results in minimal energy consumption E(HWh;SW). If the software is to be run on multiple computer systems HW1,...,HWN, it can be optimized for this multitude of computer systems HW1,...,HWN, taking into account the energy models MODE(HW1),...,MODE(HWN) of these computer systems HW1,...,HWN, such that running the software SW on all computer systems HW1,...,HWN results in minimal total energy consumption EGES, where the total energy consumption EGES is the sum of the energy consumptions.

[0032] E(HW1 ;SW),... ,E(HWN;SW) of the individual computer systems HW1 ,... ,HWN. In these applications, not only the executing computer system is selected, but the software SW itself is optimized, particularly with regard to its execution with the computer system HW, in order to reduce energy consumption. This takes advantage of the fact that the influences of the process parameters on energy consumption are known from the energy model MODE(HW).

[0033] To optimize the process, the software SW can first be instrumented for determining the process parameters PROC(HWh;SW;i) for the execution of the software SW on the computer system HWh. Subsequently, a dependency Z1 of the process parameters PROC(HWh;SW;i) on the software SW can be derived. From the energy model MODE(HWh), a further dependency Z2 between process parameters PROC(HWh;i), e.g., from the benchmark, and energy consumption can be derived, thus revealing the influence of the process parameters PROC(HWh;i) on the energy consumption of the computer system HWh. From dependencies Z1 and Z2, a further dependency Z0 of the energy consumption E(HWh;SW) on the software SW can be derived. Based on dependency Z0, the software SW can then be optimized to minimize the energy consumption E(HWh;SW).This takes advantage of the fact that dependency Z1 reveals how the process measurements PROC relate to the software, while dependency Z2 describes how the process measurements PROC relate to the energy consumption E. Therefore, it is known what influence the individual process measurements PROC have on the energy consumption E and what influence the software SW has on the process measurements PROC. Based on this, the process measurements necessary to achieve a minimum energy consumption E(min) can first be determined.

[0034] 8

[0035] PROC(min) can be derived. Using the dependency Z1, it can then be determined how the software may need to be adapted to achieve PROC(min).

[0036] The dependency Z2 can be determined using the data from the benchmark measurements BEN(j), whereby the dependency Z2 can be derived from the process measurements PROC(HWh;i(j)) recorded in the benchmark measurements BEN(j) and the respective energy consumptions E(j).

[0037] The software SW, optimized for the computer system HWh, can be installed and run on the affected computer system HWh, thus ensuring minimal energy consumption when running the software.

[0038] The solution to this problem is based on a platform approach that focuses on energy consumption rather than performance or speed. This enables energy determination and optimization for various computer systems and device models without requiring measurements on these devices themselves; in other words, cross-device energy determination is possible. This offers several advantages: For example, simultaneous optimization for a family of device models can be achieved with minimal effort. The process is automatable and can be integrated into the CI / CD process of software development. Furthermore, additional device models and computer systems can be added later without significant effort by determining their energy models (MODE). The method can also be extended to device models with different processors, network interfaces, and main and mass storage types.

[0039] Further advantages and embodiments will become apparent from the drawings and the corresponding description.

[0040] The invention and exemplary embodiments are explained in more detail below with reference to the drawings. Identical components in different figures are identified by the same reference numerals. It is therefore possible that no further explanation is provided for a particular reference numeral in the description of a second figure, which has already been explained in connection with another, first figure. In such a case, it can be assumed that the component identified by this reference numeral in the second figure, even without further explanation in connection with the second figure, represents the 202411826 foreign version.

[0041] It exhibits the same properties and functionalities as explained in connection with the first figure. Furthermore, for the sake of clarity, not all reference symbols are shown in all figures, but only those referenced in the description of the respective figure.

[0042] They show:

[0043] FIG 1 a variety of computer systems,

[0044] FIG 2 a method for determining energy consumption according to a first aspect of the invention,

[0045] FIG 3 a method for determining energy consumption according to a second aspect of the invention,

[0046] FIG 4 shows a method for determining an energy model.

[0047] Figure 1 shows a computer architecture 100 with a variety of computer systems HW1, HW2, HW3. Each of the computer systems HW1, HW2, HW3 has a computing unit 110, for example, comprising one or more processors, a memory unit 120, and other components 130 required for the regular operation of a typical computer system. The term computing unit 110 includes, for example, the usual CPU, but can also refer to a GPU, depending on the type of computing unit to which software software (SW) is integrated during execution. The memory units 120 of the computer systems HW1, HW2, HW3 can be, for example, HDDs or SSDs, or other common types of memory units, such as RAM, which stores data, to which data can be written for storage, and from which data can be read. Dynamic memory such as DRAM can also be used here.

[0048] Each of the computer systems HW1, HW2, HW3 is configured in the usual way to execute software SW by means of the respective computing unit 110, which may, for example, be stored in the respective storage unit 120. Arithmetic operations and memory accesses are performed according to the specifications of the software SW. Neither the computing units 110 nor the storage units 120 of the computer systems HW1, HW2, HW3 themselves need to have any special properties for the purposes of the invention.

[0049] Each of the computer systems HW1, HW2, HW3 can ultimately be any type of computer-based hardware that typically includes at least one processor and at least 202411826 foreign version

[0050] 10. This includes a storage device and is designed to execute software (SW), such as an industrial computer, a personal computer, a notebook, a laptop, a tablet computer, a smartphone, as well as an edge device of a network architecture or an entire cloud system. Furthermore, scenarios involving multiple networked computers and distributed software execution should be included. Each of the computer systems HW1, HW2, HW3 can also originate from the consumer electronics domain and be configured, for example, as an audio and / or video device, i.e., a television, camera, streamer, etc.

[0051] In the following, only the computer system HW1 will be used to further explain a first and later a second aspect of the invention. However, the explanations can readily be applied to the other computer systems HW2 and HW3, since they are fundamentally similar in that they each have a computing unit 110 and a storage unit 120 and can execute the software SW.

[0052] The execution of the software SW causes the computer system HW1 to perform a variety of different operations, directly dependent on the software SW. These operations include arithmetic operations by the computing unit 110 as well as read and / or write accesses to the memory unit 120. The memory accesses can also include loading or writing from permanent memory to dynamic memory. Each of these operations is associated with energy consumption, so that the execution of the software SW by the computer system HW1 results in a total energy consumption E(HW1;SW).

[0053] Regarding sustainability, it is of interest, for example, to determine the energy consumption caused by running the software SW on the computer system HW1, in order to ultimately optimize or minimize it. To achieve optimization, the software SW itself can be optimized. Alternatively, if several suitable computer systems are available for running the software SW, e.g., HW1, HW2, and HW3, the software SW can be run by the computer system HW1, HW2, or possibly HW3 that promises the lowest energy consumption E(HW1;SW), E(HW2;SW), or E(HW3;SW). In both scenarios, the energy consumption E(HW1;SW), E(HW2;SW), and E(HW3;SW) must first be determined. However, determining energy consumption through measurement is very complex, which is why the approach proposed here proves advantageous. 202411826 Foreign version

[0054] 11

[0055] Again referring solely to the computer system HW1, and still readily transferable to the other computer systems HW2 and HW3, the energy consumption E(HW1;SW) of the computer system HW1, which executes the software SW, is determined according to the first and second aspects of the invention not by means of direct energy measurements, but model-based. For this purpose, a predefined energy model MODE(HW1), specific to the computer system HW1, is used.

[0056] To determine the energy consumption E(HW1 ;SW), a process METH, as shown in FIG. 2, determines specific process measurements PROC(HW1 ;SW;i) with i=1 ,... ,l during the execution of the software SW by the computer system HW1 in a step S_EXE1, where i represents the number of process measurements used. Process measurements PROC(HW1 ;SW;i) are measurements that represent the frequencies of operations, e.g., arithmetic operations and / or memory accesses, data transfer operations, and any I / O operations with peripherals, and / or operating states such as the utilization of components of the computer system HW1 during the execution of the software SW. Sequences of operations in a pipeline and the locations of access patterns can also be included as process measurements. It is important to note that the process measurements are not direct energy measurements.

[0057] The determined process measurements PROC(HW1 ;SW;i) are used as input values ​​for the energy model MODE(HW1). The energy model MODE(HW1), as explained later in connection with FIG. 4, is predefined such that it outputs the energy consumption E(HW1 ;SW) in response to the input of the process measurements PROC(HW1 ;SW;i). In general terms, an energy model MODE(HW) of a computer system HW describes the relationship between process measurements PROC and energy consumption E.

[0058] To determine the energy consumption E(HW1 ;SW) of the computer system HW1 when executing the software SW, the first step S_EXE1 of the METH procedure involves instrumenting the software SW on or with the computer system HW1 to determine the process measurements PROC(HW1 ;SW;i). This means that the process measurements PROC(HW1 ;SW;i) are determined, i.e., the frequencies of operations and / or the utilization of components of the computer system HW1. The term "instrumentation" of software SW on a computer system HW therefore includes the fact that the 202411826 foreign version

[0059] 12

[0060] Software SW is executed with the computer system HW, and the process measurement variables PROC(HW;SW;i) are determined.

[0061] The process parameters PROC(HW1 ;SW;i) determined in this way are fed as input values ​​to the energy model MODE(HW1). In a second step, the energy model MODE(HW1) of the computer system HW1 generates S_CAL1 of the METH procedure in response to the input values ​​PROC(HW1 ;SW;i), an energy statement that represents the energy consumption E(HW1 ;SW) of the hardware HW1 during the execution of the software SW.

[0062] The approach described so far, according to the first aspect of the invention, allows for an energy assessment of any software SW when executed by a computer system HW1, whose energy model MODE(HW1) is known, without direct energy measurement. The software SW is only instrumented on the computer system HW1 in step S_EXE1, i.e., ideally executed once while simultaneously determining the process parameters PROC(HW1 ;SW;i). Based on the process parameters PROC(HW1 ;SW;i), the energy model MODE(HW1) provides the energy consumption E(HW1 ;SW) in step S_CAL1. If a different software SW2 is executed on the computer system HW1 in step S_EXE1, the corresponding energy consumption E(HW1 ;SW2) can be estimated in step S_CAL1 by feeding the process parameters PROC(HW1 ;SW2;i) to the energy model MODE(HW1) and processing them there.In other words, in the first aspect of the invention addressed so far, it is possible, given knowledge of the energy model MODE(HW1) of the computer system HW1, to specify the energy consumption of any software SW as soon as it is instrumented, resulting in the corresponding process measurement variables PROC.

[0063] While the first aspect of the invention aims to determine the energy consumption E(HW1;SWs) resulting from the execution of various software SWs with s=1,...,S on a specific computer system HW1 whose energy model MODE(HW1) is known, the second aspect of the invention addresses the scenario where the energy consumption E(HWh;SW1) to be expected for a specific software SW1 is to be determined when it is executed on various computer systems HWh with h=1,...,H. It can again be assumed that the energy models MODE(HWh) of the computer systems HWh are known. 202411826 Foreign version

[0064] 13

[0065] In the context of the second aspect of the invention, illustrated in FIG. 3, the specific software SW1 is first instrumented in a step S_EXE2, for which any of the computer systems HWh can be used, e.g., HW1. As explained above, the process parameters PROC(HW1 ;SW1 ;i) are determined when the software SW1 is instrumented with the computer system HW1. Based on the knowledge of the energy models MODE(HWh), the energy consumption E(HWh;SW1) that can be expected when the software SW1 is executed with the computer system HWh can then be estimated in step S_CAL2 for each of the computer systems HWh, i.e., also for h1, e.g., for h=2. Thus, for example,To estimate the energy consumption E(HW2;SW1) that arises when the software SW1 is executed with the computer system HW2, the process measurements PROC(HW1 ;SW1 ;i) determined beforehand with HW1 are fed to the energy model MODE(HW2), which then in turn provides the energy consumption E(HW2;SW1).

[0066] In detail, to determine the expected energy consumption E(HW2;SW1) when executing software SW1 with a second HW2 of the computer systems HWh, the software SW1 is instrumented in a first step S_21 to determine the process parameters PROC(HW1 ;SW1 ;i) on the first HW1 of the computer systems HWh. In a second step S_22, the process parameters PROC(HW1 ;SW1 ;i) determined in this way are fed to the energy model MODE(HW2) of the second computer system HW2 as input values ​​IN=PROC(HW1 ;SW1 ;i). In a third step S_23, the energy model MODE(HW2) of the second computer system HW2 generates and outputs an energy statement in response to these input values ​​IN, which represents the energy consumption E(HW2;SW1) of the second computer system HW2 when executing software SW1.

[0067] This second aspect of the invention addresses the procedure in which the software SW1, whose expected energy consumption E(HW2;SW1) is to be determined on the second computer system HW2, is instrumented on the first computer system HW1, which functions as a reference system or test bench. E(HW2;SW1) is then determined by feeding the resulting process measurements PROC(HW1 ;SW1 ;i) into the energy model MODE(HW2) of the second computer system HW2. With this approach, an energy forecast can be generated for any computer system HW2 from the multitude H of computer systems HWh whose energy models are known.

[0068] 14 is made, which indicates what energy consumption the execution of SW1 on any given computer system HW2 would cause, without the software SW1 being instrumented on the respective computer system HW2 itself.

[0069] The second aspect of the invention utilizes, as a first approximation, the fact that the implementations of software SW1 with the different computer systems HW1 and HW2 would essentially produce the same process measurements PROC(HWh;SW1;i), i.e., PROC(HW2;SW1;i) = PROC(HW1;SW1;i). An acceptable deviation can be, for example, 10–20%. If the deviation for a specific process measurement, i.e., for a specific i, is larger, a model can be used for this process measurement as described below. Consequently, software SW1 does not need to be separately instrumented on the second computer system HW2 if the energy consumption E(HW2;SW1) is to be determined.Rather, the software SW1 can be instrumented with the reference system HW1, and the resulting process measurements PROC(HW1;SW1;i) can be used to determine the expected energy consumptions E(HWh;SW1) with sufficient accuracy using any energy model MODE(HWh) of the other computer systems HWh. In the above explanation, the phrase "essentially the same process measurements" expresses that the respective process measurements are so similar that the energy consumptions E(HWh;SW1) can be determined with this "sufficient accuracy".

[0070] For example, considering a possible process measurement PROC(HW;SW1 ;i) "computation steps during execution of software SW1", it can be assumed that if the execution of software SW1 with the first computer system HW1 results in ST1=1000 computation steps, then approximately ST2=1000 computation steps can also be expected with the second computer system HW2. If the behavior differs for another process measurement PROC(HW;SW1 ;i'), i.e., PROC(HW2;SW1;i')#PROC(HW1;SW1;i'), where the deviation is, for example, >20%, it is possible to apply the previously mentioned model ML(HW1 ;HW2;i'), which describes how the process measurements PROC(HW1 ;i') and PROC(HW2;i') behave relative to each other for different computer systems HW1 and HW2. The ML models can be determined, for example, within the framework of determining the energy models MODE.Using such a modeling ML(HW1 ;HW2;i') the process measurements PROC(HW1 ;SW1 ;i) determined during the instrumentation of the software SW1 on the computer system HW1 can be corrected before application with the energy model MODE(HW2) of the other computer system HW2, resulting in adapted process measurements PROC'(HW1 ;SW1 ;i), so that the 202411826 foreign version.

[0071] 15

[0072] Applying the adapted process measurements PROC'(HW1;SW1;i) with the energy model MODE(HW2) yields the energy consumption E(HW2;SW1) with sufficient accuracy. An example of this is when the second computer system HW2 has different, e.g., smaller, cache sizes than the first computer system HW1. In this case, it cannot be ruled out that when executing software SW1 on the second computer system HW2, a greater number of so-called "cache misses" occur than when executing it on the first computer system HW1. A "cache miss" describes the situation in which a value is not stored in the cache but must be reloaded.

[0073] In the event that such a deviation of the process measurements is to be expected, the process measurements PROC(HW1;SW) determined in the first step S_21 are adjusted before the execution of the second step based on the pre-determined modeling ML(HW1;HW2;i), resulting in the process measurements PROC'(HW1;SW;i), in order to determine the energy consumption E(HW2;SW) to be expected when executing the given software SW with a second HW2 of the computer systems HWh. In the second step S_22, the adapted process measurements PROC'(HW1;SW;i) are fed to the energy model MODE(HW2) as input values ​​IN=PROC'(HW1;SW;i), so that in the third step S_23, the energy model MODE(HW2) of the second computer system HW2 generates and outputs the energy statement in response to these input values ​​IN, which represents how large the energy consumption E(HW2;SW) of the second computer system HW2 is when executing the software SW.

[0074] The combination of the first and second aspects of the invention now leads to the determination of the energy consumption E(HWh;SW) that can be expected when the software SW is executed with the computer system HWh for each software SW whose process measurement variables PROC were determined with at least one computer system HW1 from a plurality H of computer systems HWh, whose energy models MODE(HWh) are known.

[0075] To determine the energy model MODE(HW1) for a specific computer system HW1, a defined benchmark BEN is executed on this computer system HW1 to determine the process measurements PROC(HW1;i) for this benchmark BEN. The energy consumption of the computer system HW1 is measured, thus establishing a relationship between the process measurements PROC(HW1;i) and the energy consumption. Standard methods can be used to measure energy consumption, which express the energy consumed, for example, in joules.

[0076] 16. Determine. Running the benchmark BEN means that a large number B of different benchmark measurements BEN(b) with b=1 ,B are performed with the computer system HW1 to cover a large variance of cases that can occur during an operation, in order to be able to assign which operations require which energy.

[0077] The energy model MODE(HW1) of the computer system HW1 is thus determined in advance using a METH_MOD procedure, typically universally, i.e., independently of the software SW of later interest. For this purpose, as shown in FIG. 4, in a step S_BEN of the METH_MOD procedure, the aforementioned benchmark BEN, comprising one or more benchmark measurements BEN(b), is first executed with the computer system HW1. For each benchmark measurement BEN(b), the energy consumption E(b) is measured, as indicated above, using a standard procedure, taking care to ensure that only the energy consumption caused by the execution of the software SW, and not other system consumption, is considered. Secondly, the process parameters PROC(HW1;i) are determined. Various approaches are available for this purpose, offering easy access to the respective system HWh, for example, by reading the so-called "Performance Monitoring Counter" (PMC).via the Performance Application Programming Interface (PAPI). In practice, it may not be possible to measure an unlimited number of PMCs at once, which is why the instrumentation of the software or the benchmark must be distributed across multiple runs. Each run determines only a subset of PMCs until all desired process parameters have been determined. This approach relies on the program flow not changing too significantly with each iteration, meaning the process should be as reproducible as possible.

[0078] However, depending on the specific characteristics of the respective benchmark measurement BEN(b), not all process measurement variables PROC(HW1;i) may be affected; i.e., at least the measurement variables PROC(HW1;i(b)) of the hardware HW1 affected by the respective benchmark measurement BEN(b) are determined.

[0079] The energy model MODE(HW1) is formed in a subsequent step S_MOD of the METH_MOD procedure based on the relationships thus determined between the relevant process measurements PROC(HW1;i(b)) and the energy consumptions E(b). 202411826 Foreign version

[0080] 17

[0081] To form the energy model MODE(HW1) in step S_MOD, for example, a suitably configured artificial neural network KNN can be used, which is trained in a known manner with the data E(b) and PROC(HW1 ;i(b)) recorded in the individual benchmark measurements BEN(b).

[0082] The BEN benchmark ideally covers every operation that can be expected from the respective HWh computer system:

[0083] For example, in a measurement BEN(1) of the benchmark measurements BEN(b), block-wise copying of data of varying sizes can be performed, from which an energy consumption E(1) for main memory and data cache accesses during cache hits can be derived. This measurement BEN(1) could, for example, include copying from a first address range of main memory to a second, where, for example, all data from a memory address 0x1000000 to 0x1001000 is copied to another memory address 0x2000000 to 0x2001000.

[0084] In a further measurement BEN(2) of the benchmark measurements BEN(b), a byte-wise copying using pseudorandom numbers of selected memory addresses can be performed additionally or alternatively, from which an energy consumption E(2) for data cache accesses during cache misses can be derived. This can be implemented similarly to the copying in measurement BEN(1), except that instead of a contiguous area being copied, the contents of many individual, possibly scattered, memory addresses are copied to other scattered memory addresses.

[0085] In a further measurement BEN(3) of the benchmark measurements BEN(b), a calculation of a cryptographic hash of pseudorandom data can be performed additionally or alternatively, from which an energy consumption E(3) of such calculations can be derived.

[0086] In a further measurement BEN(4) of the benchmark measurements BEN(b), a calculation of a moving average and / or a product of, for example, the entries of a long vector of random numbers can be performed, from which an energy consumption E(5) can be derived, broken down by type of operation, e.g., addition or multiplication, or by number format, e.g., integer or floating point. 202411826 Foreign version

[0087] 18

[0088] In a further measurement BEN(5) of the benchmark measurements BEN(b), calculations can be performed using a GPU of the computer system HW1, from which an energy consumption E(5) for an accelerator card of the hardware HW1 can be derived. The same benchmarks can be determined here as are used for the CPU.

[0089] In a further measurement BEN(6) of the benchmark measurements BEN(b), data can be saved to and / or loaded from the storage device 120 of the computer system HW1, either additionally or alternatively. This allows for the derivation of an energy consumption E(6) for accessing the storage device 120. The type of data used is irrelevant; for example, a sequence of pseudorandom numbers is used. As above, multiple tests with varying datasets are conceivable.

[0090] In a further measurement BEN(7) of the benchmark measurements BEN(b), data can be sent and / or received via a network to which the computer system HW1 may be connected, either additionally or alternatively. This allows for the derivation of energy consumption E(7) for data transmissions, which can be broken down into "sending" E(7_1) and "receiving" E(7_2). Any type of network is suitable, e.g., a LAN or a Wi-Fi network.

[0091] Depending on how a given computer system HWh is configured, i.e., which components it comprises, which external components it may be connected to, e.g., sensor systems and / or input / output devices, etc., and in which network architecture it may be integrated, additional benchmark measurements are possible, so that further load tests can be carried out while simultaneously determining the energy consumption E(b) and process parameters PROC(HWh;i(b)), which further improve the realism or accuracy of the energy estimation of the energy model MODE(HWh).

[0092] Within the framework of the described determination of the energy models MODE(HWh), but also generally independently thereof, the optional models ML(HW1;HW2;i) introduced above can also be determined. As described, the benchmarks BEN provide information about the process parameters PROC(HWh;i) for each computer system HWh. Assuming that the same benchmark BEN is used for different Corn- 202411826 Foreign version

[0093] Given that 19 computer systems HW1 and HW2 are executed, a comparison of the respective determined process measurements PROC(HW1;i) and PROC(HW2;i) can reveal the relationship between these two different computer systems. For example, if PROC(HW1;i=2)=1000 and PROC(HW2;i=2)=950 are determined for each benchmark, and a linear relationship is assumed, these values ​​can be compared. The model ML(HW1;HW2;i=2) for this process measurement with i=2 would then contain a value ML(HW1;HW2;i=2)=950 / 1000=0.95. In reality, the relationships between process measurements can be more complex.

[0094] The approach proposed so far within the framework of the first and second aspects of the invention thus provides for the model-based determination of the expected energy consumption E(HW;SW) for the execution of software SW with a computer system HW, using the energy model MODE(HW) of the computer system HW. The energy model MODE(HW) is determined beforehand using the benchmark BEN. Since it is determined universally, i.e., independently of any specific software to be executed, it can be used for any software SW of interest, provided its process parameters PROC are known. To determine the energy consumption E(HW;SW), it is sufficient to execute the software SW of interest once and thereby determine the process parameters PROC(HW;SW;i). These parameters are then fed into the energy model MODE(HW), which subsequently outputs the expected energy consumption E(HW;SW).

[0095] The predicted energy consumption E(HW;SW) when executing software SW with computer system HW can be used to evaluate the software SW by assessing the associated energy consumption E(HW;SW) during execution. As part of an optimization process, a first approach can investigate whether executing the same software SW with different computer systems HW1, HW2, HW3 results in different energy consumptions E(HW1;SW), E(HW2;SW), E(HW3;SW). For example, does execution in the cloud HW1, on an edge device HW2, or with a different computer system HW3 lead to lower energy consumption? Depending on which computer system HW1, HW2, or HW3 exhibits the lowest energy consumption, the software SW would subsequently be executed with that corresponding computer system.For this purpose, in a test phase of the software SW for several computer systems HW1 , HW2 , HW3, the foreign version of the given software SW 202411826 is used.

[0096] The expected energy consumption E(HW1;SW), E(HW2;SW), E(HW3;SW) is determined and output as described above. In a subsequent usage phase of the software SW, it is executed using the computer system HW1, HW2, HW3 for which the lowest expected energy consumption E(HW1;SW), E(HW2;SW), E(HW3;SW) was determined in the test phase.

[0097] As part of the optimization process, a second approach, either as an alternative or in addition to the first approach proposed above, can optimize the software SW itself, particularly with regard to its execution on the computer system HW1, in order to reduce the energy consumption E(HW1;SW). This approach leverages the fact that, firstly, the influence of the process parameters PROC(HW1;i) on the energy consumption E(HW1;SW) of the computer system HW1 is known from the energy model MODE(HW1), and secondly, the influence of the software SW on the process parameters PROC(HW1;SW;i) can be derived from its instrumentation on the computer system HW1, thus revealing how the execution of the software SW affects these process parameters. Therefore, the software SW is optimized for the computer system HW1, taking into account the energy model MODE(HW1) of the computer system HW1, such that its execution on the computer system HW1 results in minimal energy consumption.In the event that the software SW is to be executed on multiple computer systems HW1,...,HWN, the software SW can be optimized for this multitude of computer systems HW1,...,HWN, taking into account the energy models MODE(HW1),...,MODE(HWN) of these computer systems HW1,...,HWN, such that executing the software SW on the computer systems HW1,...,HWN results in a minimum total energy consumption EGES, where the total energy consumption EGES is the sum of the energy consumptions E(HW1;SW),...,E(HWN;SW) of the individual computer systems HW1,...,HWN. For the optimization, the software SW is first instrumented on the computer system HW1 to determine the process parameters PROC(HW1;SW;i) for the execution of the software SW on the computer system HW1. From this, a dependency Z1 of the process measurement variables PROC(HW1 ;SW;i) on the software SW can be derived.

[0098] Furthermore, a dependency Z2 between process parameters PROC and energy consumption E, and thus the influence of the process parameters on the energy consumption of the computer system HW1, is derived from the predefined energy model MODE(HW1). In particular, the data from the benchmark measurements BEN(j) can be used; that is, the aforementioned dependency Z2 is derived from the data recorded during the benchmark measurements BEN(j), encompassing the process parameters. [202411826 Foreign version]

[0099] 21

[0100] PROC(HW1 ;i(j)) and the respective energy consumptions E(j) are derived. Since Z1 represents the influence of the software SW on the process parameters, and Z2 shows how the process parameters in turn relate to the energy consumption, the dependency Z0 of the energy consumption E(HW1 ;SW) on the software SW can be derived from the dependencies Z1 and Z2 in a subsequent step. Finally, based on the knowledge of the dependency Z0, the software SW can be optimized for execution on the computer system HW1 such that the energy consumption E(HW1 ;SW) is minimized.

[0101] Process measurements PROC(HW;i)=m(i) can be, for example, those mentioned in connection with the "Performance Application Programming Interface" (PAPI). As a basis for the energy model MODE(HW) for a computer system HW, a linear model with features f(k) can be provided, which is based on the polynomial combinations of the various process measurements m(i). For example, f(1)=m(1), f(2)=m(2), f(3)=m(3),... , f(a)=m(1)*m(1), f(a+1)=m(1)*m(2), f(a+2)=m(1)*m(3),... , f(b)=m(1)*m(1)*m(1), f(b+1)=m(1)*m(1)*m(2), f(b+2)=m(1)*m(1)*m(3) etc. For the MODE model itself, MODE = PARA(O) + £ =1 (PARA(a) * f(a)).

[0102] As already mentioned, the benchmark BEN is executed at least once, but ideally multiple times (K), for model creation, whereby computational loads and / or data volumes can be varied for different executions. K executions of the benchmark BEN yield K pairs of energy value E and process measurements m(i;j). From this, the parameters PARA(a) of the MODE model can be calculated as follows:

[0103] PARA(O) E(l)- 1 m(l; 1) ... m(l; n)

[0104] = (F T F) 1 F T with F =

[0105] PARA(n). E(k). 1 m(k; 1) ... m(k; n)

[0106] Although the present invention has been described with reference to specific embodiments, it is understood that various changes and modifications can be made to the described embodiments without departing from the scope of the inventive idea. The foregoing description should be regarded as illustrative and not as limiting, and such that all equivalents and / or combinations of embodiments are not affected by the description.

[0107] 22. Thus, the invention is not limited to the embodiments described above; rather, variations can be derived by a person skilled in the art without deviating from the scope of the invention.

Claims

202411826 Foreign version 23 Patent claims 1. Computer-implemented method for evaluating software SW, wherein, for the purpose of evaluation, the expected energy consumption E(HW1 ;SW) when the given software SW is executed by a specific computer system HW1 is determined and output from a number H>1 of computer systems HWh with h=1,... ,H, wherein - the determination of the energy consumption E(HW1;SW) is model-based using an energy model MODE(HW1) specific to the particular computer system HW1 and based on one or more process measurements PROC(HW1;SW;i) with i=1,... ,l resulting from an execution of the software SW on the computer system HW1, and - the energy model MODE(HW1) is predefined in such a way that it outputs the energy consumption E(HW1;SW) in response to an input of the process measurement variables PROC(HW1 ;SW;i).

2. Method according to claim 1, characterized in that the process measurement variables PROC(HWh;SW;i) are measurement variables that represent frequencies of operations of the respective computer system HWh and / or operating states of components of the respective computer system HWh during the execution of the software SW.

3. Method according to one of claims 1 to 2, characterized in that the energy consumption E(HWh;SW) is determined using - in one step S_EXE1 the given software SW for determining the process measurement variables PROC(HWh;SW;i) is instrumented on the respective computer system HWh, - the process measurements PROC(HWh;SW;i) determined in this way are fed to the energy model MODE(HWh) as input values, - in one step S_CAL1, the energy model MODE(HWh) generates and outputs an energy statement in response to the input values ​​PROC(HWh;SW;i), which represents the energy consumption E(HWh;SW) of the computer system HWh when executing the software SW.

4. Method according to one of claims 1 to 3, characterized in that the energy models MODE(HWh) are known for a plurality H>1 of computer systems HWh, wherein the energy consumption of the given software SW is determined using a 202411826 Foreign version 24 second HW2 of the computer systems HWh expected energy consumption E(HW2;SW) - in a first step S_EXE2 the given software SW for determining the process measurement variables PROC(HW1;SW;i) is instrumented on a first HW1 of the computer systems HWh, - in a second step S_22 the process measurements PROC(HW1;SW;i) determined in this way are supplied to the energy model MODE(HW2) of the second computer system HW2 as input values ​​IN=PROC(HW1;SW;i), - in a third step, S_CAL2 generates and outputs an energy statement in response to these input values, representing the energy consumption E(HW2;SW) of the second computer system HW2 when executing the software SW.

5. Method according to claim 4, characterized in that - the process measurements PROC(HW1;SW;i) determined in the first step S_EXE2 are adjusted before the execution of the second step based on a predefined model ML(HW1;HW2;i), which describes how the process measurements PROC(HW1 ;i), PROC(HW2;i) behave towards each other for different computer systems HW1, HW2, resulting in process measurements PROC'(HW1 ;SW;i), - in the second step S_22 the adapted process measurements PROC'(HW1;SW;i) are fed to the energy model MODE(HW2) as input values ​​IN=PROC'(HW1;SW;i), - in the third step S_CAL2, the energy model MODE(HW2) of the second computer system HW2 generates and outputs the energy statement in response to these input values, which represents how large the energy consumption E(HW2;SW) of the second computer system HW2 is when executing the software SW.

6. Method according to any one of claims 1 to 5, characterized in that the energy model MODE(HWh) for a respective computer system HWh is determined by - a benchmark BEN comprising one or more benchmark measurements BEN(b) is performed with the respective computer system HWh, wherein in each benchmark measurement BEN(b) - the energy consumption E(b) used in the process was measured and - at least the measured variables PROC(HWh;i(b)) of the process measured variables PROC(HWh;i) of the computer system HWh that are affected by the respective benchmark measurement BEN(b), 202411826 Foreign version 25 The relationships determined in this way between the process measurements PROC(HWh;i(b)) and the energy consumptions E(b) form the energy model MODE(HWh).

7. Method according to claim 6, characterized in that - a BEN(1) of the benchmark measurements BEN(j) includes block-wise copying of data of varying sizes, and / or - a BEN(2) of the benchmark measurements BEN(j) includes a byte-wise copying of pseudorandom numbers from selected memory addresses, and / or - a BEN(3) of the benchmark measurements BEN(j) includes a calculation of a cryptographic hash of pseudorandom data, and / or - a BEN(4) of the benchmark measurements BEN(j) includes a calculation of a moving average and / or a product, and / or - a BEN(5) of the benchmark measurements BEN(j) includes calculations using a GPU of the computer system HW, and / or - a BEN(6) of the benchmark measurements BEN(j) includes storing and loading data to and / or from a storage device (120) of the computer system HW, and / or - a BEN(7) of the benchmark measurements BEN(j) includes sending and / or receiving data over a network to which the computer system HW is connected, 8. Method according to any one of claims 1 to 7, characterized in that - in a test phase S_TST of the software SW for several computer systems HW1, HW2, HW3, the energy consumption E(HW1 ;SW), E(HW2;SW), E(HW3;SW) expected during the execution of the given software SW is determined and output, - the software SW is executed in a usage phase S_NTZ of the software SW with the computer systems HW1 , HW2 , HW3 for which the lowest expected energy consumption E(HW1 ;SW), E(HW2;SW), E(HW3;SW) was determined in the test phase S_TST. 202411826 Foreign version 26 9. Method according to claim 5 and one of claims 7 to 8, characterized in that for the modeling ML(HW1 ;HW2;i) for each i the process measurements PROC(HW1 ;i), PROC(HW2;i) determined in the determination of the energy models MODE(HW1 ;i), are compared with each other, such that a respective value ML(HW1 ;HW2;i)=f(PROC(HW1 ;i);PROC(HW2;i).) is a function f of the determined process measurements.

10. Method according to any one of claims 1 to 9, characterized in that the software SW - for a given computer system HWh, taking into account the respective energy model MODE(HWh), is optimized such that the execution of the software SW with this computer system HWh results in a minimal energy consumption E(HWh;SW), or - for a large number of computer systems H W1 , ... , H WN, taking into account the energy models MODE(HW1),... ,MODE(HWN) of these computer systems HW1 ,... ,HWN, is optimized such that an execution of the software SW with the computer systems HW1 ,... ,HWN results in a minimum total energy consumption EGES, where the total energy consumption EGES is the sum of the energy consumptions E(HW1 ;SW),... ,E(HWN;SW) of the individual computer systems HW1 ,... ,HWN.

11. Method according to claim 10, characterized in that for optimization - the software SW for determining the process measurements PROC(HWh;SW;i) is instrumented for the execution of the software SW with the computer system HWh on the computer system HWh and a dependency Z1 of the process measurements PROC(HWh;SW;i) on the software SW is derived, - from the energy model MODE(HWh) a dependency Z2 between process measurement variables PROC(HWh;i) and energy consumption is derived, - from the dependencies Z1, Z2 a dependency Z0 of the energy consumption E(HWh;SW) on the software SW is derived, - the software SW is optimized based on the dependency Z0 in such a way that the energy consumption E(HWh;SW) is minimized.

12. Method according to claim 11, characterized in that the dependency Z2 is determined using the data from the benchmark measurements BEN(j), wherein the 202411826 Foreign version 27 The dependency Z2 is derived from the process measurements PROC(HWh;i(j)) recorded during the benchmark measurements BEN(j) and the respective energy consumptions E(j).

13. Method according to one of claims 10 to 12, characterized in that the software SW optimized for the computer system HWh is installed on the computer system HWh.

14. Computer system HW, characterized in that software SW optimized for this computer system HW according to a method according to one of claims 10 to 13 is installed for execution on the computer system HW.

15. Computer architecture (100) comprising a plurality H of computer systems (110, 120, 130) HWh with h=1 ,... ,H and H>2 for executing a software SW, characterized in that the computer architecture (100) is set up, - in a method according to claim 9 to identify the HWh' of the computer systems HWh for which the lowest energy consumption E(HW1 ;SW), E(HW2;SW), ... is to be expected, - to run the software SW with the identified computer system HWh'.

Citation Information

Patent Citations

  • A platform independent energy consumption estimation method of a computer program

    EP4400973A1