WO2010025994A1 - Verfahren und vorrichtung zum bestimmen von anforderungsparametern an mindestens eine physische hardwareeinheit - Google Patents

Verfahren und vorrichtung zum bestimmen von anforderungsparametern an mindestens eine physische hardwareeinheit Download PDF

Info

Publication number
WO2010025994A1
WO2010025994A1 PCT/EP2009/059342 EP2009059342W WO2010025994A1 WO 2010025994 A1 WO2010025994 A1 WO 2010025994A1 EP 2009059342 W EP2009059342 W EP 2009059342W WO 2010025994 A1 WO2010025994 A1 WO 2010025994A1
Authority
WO
WIPO (PCT)
Prior art keywords
hardware unit
virtual
operating parameter
computer system
physical
Prior art date
Application number
PCT/EP2009/059342
Other languages
English (en)
French (fr)
Inventor
Florian Mangold
Harald RÖLLE
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to EP09780864A priority Critical patent/EP2318962A1/de
Priority to US13/058,254 priority patent/US8457944B2/en
Publication of WO2010025994A1 publication Critical patent/WO2010025994A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Definitions

  • the present invention relates to a method for determining request parameters to at least one physical hardware unit, which ensure a well-defined program flow.
  • the invention furthermore relates to a computer system which is suitable for carrying out the method, and to a computer program product which causes the execution of a corresponding method for determining requirement parameters.
  • software systems can be modularly constructed by reusable software components.
  • Software components here are, for example, program modules, libraries or packages.
  • Computer systems can be constructed modularly by hardware components, whereby the compatibility of the hardware components is given by standardized interfaces.
  • several software components should be executable not only on individual but on different computer systems without significant additional effort.
  • the reusability of software components, especially on different computer systems results in an optimized cost-benefit ratio. Reusability motivates the creation of high quality software code that has been adequately tested and well documented. Another advantageous aspect is the ability to buy high quality software code from external developers.
  • a software product includes at least one software component.
  • software parameters specify request parameters for the executing hardware components which ensure a well-defined program run.
  • the program sequence here includes the execution of a software component.
  • Request parameters are determined, for example, by testing the software product on different physical computing systems. Due to the increasing diversity of computer systems, however, these requirement parameters can no longer or only insufficiently be determined empirically. In particular, dependencies between the operating parameters of the hardware units used can only be determined with enormous empirical effort. If corresponding requirement parameters are completely and sufficiently accurate, statements about operating parameters of the required hardware components are possible. In particular, costs can be saved when using the corresponding hardware units by exchanging a more efficient but more expensive hardware unit with a less expensive hardware unit. The use of high-performance hardware units leads to increased operating costs, in particular higher energy consumption or higher heat radiation, which must be compensated by more intensive use of cooling components.
  • a method for determining request parameters is provided to at least one physical hardware unit of a physical computer system comprising a plurality of hardware units. At least one physical hardware unit is simulated as a virtual hardware unit with varying operating parameters, resulting in different performance characteristics. Performance characteristics of the physical hardware unit should correspond to predefined performance characteristics. For this purpose, a predetermined program sequence is executed using a hardware unit simulated as a virtual hardware unit, with operating parameters of the virtual hardware unit being varied. From this requirement parameters can be determined which correspond to the operating parameters of the physical hardware unit, which ensure a well-defined program run. The request parameters are determined as a function of a monitored performance parameter of the virtual hardware unit. Imaging the physical hardware unit is to provide and operate virtual hardware units according to the functionality of a physical hardware unit.
  • Request parameters are those operating parameters of a hardware component which are at least necessary for the well-defined and error-free execution of a software component.
  • Operating parameters describe non-functional properties of a hardware component. Examples include: clocking of a processor, read or write access times of a memory, capacity of a memory, rotations of a hard disk or the bandwidth of a transmitting or receiving device. Operating parameters can be summarized in operating parameter profiles relating to a hardware component.
  • Performance characteristics describe the non-functional behavior of the hardware unit or of the computer system resulting from the operating parameters as a function of the execution of the program sequence. Performance characteristics may refer to physical and / or virtual hardware units or computer systems.
  • a program sequence may include, for example, a test routine, an algorithm, a software program, a command sequence and / or a program routine for calculating an output or for providing a service.
  • a well-defined program sequence is ensured if, for example, predetermined requirements, which can be referred to as "constraints", are met.
  • Predefined requirements can include non-functional requirements, which in turn can affect functional requirements.
  • predefined response times may be required, with non-compliance with the predefined response times resulting in a time-out, a synchronization error or a general misconduct. can.
  • the avoidance of a synchronization error can be a functional requirement.
  • Requirements can be defined in particular with regard to a real-time behavior of the predetermined program sequence. If, for example, a picture sequence is defined by the program sequence, a real-time request, for example, is compliance with a minimum number of pictures per time unit.
  • a further requirement with regard to the minimum number of images is, for example, the most equidistant fading in of the respective image, in order to prevent delays or jerks, for example in video information.
  • a physical computer system is modeled as a virtual computer system, wherein the virtual computer system can in turn consist of several virtual hardware units. Due to the variable operating parameters of the virtual hardware units, various hardware units can be monitored, in turn, with various operating parameter profiles with regard to their execution of the predefined program sequence. It is advantageous here that due to the use of the virtual hardware units no physical modifications to the corresponding computer system must be performed. In addition, it is advantageous that operating parameters or operating parameter profiles of the hardware units used can be tested systematically, for example by a predetermined test program. The test program may cause execution of the program flow with varying operating parameters and determination of the request parameters.
  • a physical computer system can be present, for example, as a computer, PC, EDP system, electronic data processing system, workstation and / or EDP system.
  • At least one selection of the following method steps is carried out: simulating the physical hardware unit as a virtual hardware unit for forming at least part of the virtual computer system tems, which corresponds to the physical computer system; Assigning at least one operating parameter profile to the virtual hardware unit, which comprises at least one operating parameter; Executing the predetermined program flow using the virtual hardware unit; Varying the operating parameter profile of the virtual hardware device while executing the program flow; Monitoring the performance of the virtual computer system during execution of the program flow and determining the request parameters depending on the monitored performance characteristic of the virtual computer system, the request parameters corresponding to those operating parameters of the physical hardware unit, which ensure a well-defined program flow.
  • the emulation may also include emulating or virtualizing.
  • emulation may include providing partial functionality by the virtual hardware device, where unrendered functionality may be provided by a physical hardware device.
  • Virtualization can hereby include the complete provision of functionality by the virtual hardware unit.
  • the simulated hardware unit is virtually present and is for example described and / or simulated by a software component and / or by a library.
  • the physical hardware unit is physical, ie material.
  • Associating operating parameter profiles may include, for example, selecting suitable operating parameters and assigning appropriate ranges of definitions to the operating parameters.
  • operating parameters are assigned in a suitable manner to operating parameter profiles.
  • the suitability of the assignment results from the respective application scenarios. For example, it may be appropriate, in accordance with an existing physical hardware unit, to associate the virtual hardware unit with as identical as possible operating parameters.
  • An assignment can be made in accordance with a physical hardware unit to be developed, with operating parameters of the physical hardware unit to be developed. disguised physical hardware unit test as an operating parameter profile of a virtual hardware unit assigned.
  • an identical operating parameter profile and / or functionality of a physical hardware unit may not exist for an operating parameter profile and / or for a functionality of a virtual hardware unit.
  • the hardware unit would then be purely virtual. Then there is no corresponding physical hardware unit for the virtual hardware unit.
  • Virtual hardware units can be present, for example, as emulated hardware units or as virtualized hardware units.
  • the program sequence is executed using at least one virtual hardware unit, wherein the corresponding operating parameter profile of the virtual hardware unit can be varied, for example, according to a predetermined test program. This results in performance characteristics of the virtual computer system during the
  • Executing the program flow Executing the program flow.
  • the performance characteristics are monitored.
  • request parameters of the program flow to the physical hardware unit or to the physical hardware units can be determined.
  • Requirement parameters here are those operating parameters of the physical hardware unit, which ensure a well-defined program flow.
  • Requirement parameters can also be determined as a function of operating parameter profiles of one or more virtual hardware units. In particular, dependencies of different operating parameters of the physical hardware units can be determined systematically on the basis of the resulting performance characteristics.
  • At least one selection of method steps can be carried out iteratively or temporally in parallel.
  • operating parameter profiles be varied in program sequences depending on other operating parameter profiles.
  • an operating parameter describing the capacity of a working memory may be varied depending on an operating parameter describing the capacity of a hard disk memory.
  • An advantageous result would be, for example, that due to the monitored performance characteristics of expensive memory can be replaced by relatively less expensive hard disk space for cost reduction. This is useful, for example, if the access times of a hard disk compared to the main memory are sufficient to ensure the well-defined program run.
  • a monitored performance parameter may be an access time to a working memory.
  • operating parameter profiles can be varied in such a way that monitored performance characteristics are successively lowered until a well-defined program sequence is no longer guaranteed.
  • the requirement parameters can thus be determined from the monitored performance characteristics as a function of the respective operating parameter profile.
  • the varying of the operating parameter profile takes place, for example, via a corresponding interface device of the virtual computer system or of the respective virtual hardware unit.
  • a hypervisor may have a suitable interface device.
  • the varying of the operating parameter profiles can also be done in dependence on the monitoring of the performance characteristic. If the measured performance characteristic does not agree at least with a predetermined desired performance characteristic, operating parameters influencing the performance parameter can be varied accordingly.
  • the monitoring of the performance characteristic may include acquiring, measuring, estimating, logging and / or storing performance characteristics.
  • Measuring includes any kind of observing, comparing, digital or analogue recording of performance characteristics.
  • Estimating includes any kind of extrapolation, interpolation, extrapolation and / or inference or deduction.
  • a predetermined amount of information may be present which reflects empirical values of performance characteristics or already monitored performance characteristics.
  • the invention further relates to a computer system for determining request parameters to at least one physical hardware unit of a physical computer system comprising a plurality of hardware units.
  • the computer system may have a control device which performs an aforementioned method.
  • the computer system can have a simulation device, an association device, an execution device, a variation device and / or a request parameter determination device.
  • the simulation device, the association device, the execution device, the variation device and / or the requirement parameter determination device can also be included in the control device.
  • the replica device may replicate the physical hardware device as a virtual hardware device and provide functionality of the physical hardware device through the virtual hardware device.
  • the allocation device can assign corresponding operating parameter profiles to virtual hardware units.
  • the execution device can execute the predetermined program run using the virtual hardware unit.
  • the use of the virtual hardware unit may be performed, for example, in a passive or active manner.
  • a hardware unit can actively compute to take steps. Calculation steps are, for example, basic arithmetic operations or value assignments to variables. Passive use includes, for example, logging the performance characteristics.
  • An arithmetic unit can be embodied as a processor, microprocessor, computer, computer system, CPU (central processing unit), arithmetic arithmetic unit or circuit.
  • the varying means may vary the operating parameter profile of the virtual hardware unit during program execution. Varying includes, for example, assigning a calculated, estimated, measured, or user-entered value to the operating parameter. The value can be calculated as a function of monitored performance characteristics or other operating parameter profiles. For example, the operating parameters may be varied such that the monitored performance characteristics decrease with each successive execution of the program flow. As the operating parameters are to be varied, the varying device can also read from a data memory.
  • the monitoring device can monitor performance characteristics of the virtual hardware unit, which are used to execute the predetermined program sequence. On the basis of the monitored performance characteristics, the request parameter determination device can determine the request parameters of the program sequence to the hardware unit.
  • the replica device, the association device, the execution device, the variation device, the monitoring device and the request parameter determination device can be in physical form, but they can also be virtual as replicated hardware units, the functionality of the physical hardware unit being at least partially replicated.
  • the aforementioned devices can be implemented as a computer program part.
  • the invention relates to a computer program product which causes a method for determining request parameters to be carried out on at least one physical hardware unit.
  • request parameters can be determined for at least one physical hardware unit or dependencies between operating parameter profiles between a plurality of hardware units as a function of a monitored performance parameter.
  • FIG. 1 shows a flow diagram of a variant of a method for determining request parameters
  • Figure 2 is a schematic representation of a computer system for determining requirement parameters
  • FIG. 3 shows a flow chart of a variant of a method for determining request parameters
  • Figure 4 is a schematic representation of a computer system for determining requirement parameters.
  • FIG. 1 shows a flow chart of a variant of a method for determining request parameters.
  • a predetermined program sequence is executed using a physical hardware unit modeled as a virtual hardware unit.
  • an operating parameter profile of the virtual hardware unit is varied.
  • method steps 100 "executing a program run” and 101 "varying the operating parameter profile”.
  • FIG. 1 shows a further arrow which connects the method steps 101 and 100. Arrows indicate a possible execution order of the method steps.
  • a request parameter are those operating parameters of a hardware component which are at least required for executing a predetermined program sequence.
  • Operating parameters describe non-functional properties of a hardware unit. Examples include: clocking a processor, read or write access times of a memory, capacity of a memory, revolutions of a hard disk, bandwidth of a transmitting or receiving device.
  • Operating parameters can be summarized in operating parameter profiles relating to a hardware component.
  • the request parameter of a database management system for a hard disk is, for example, a required access time during a read operation. If the access time is above the request parameter, the well-defined program sequence of the database management system can not be ensured, for example by a time-out.
  • a request parameter of a program flow to a hard disk may be a minimum capacity of 500 GB, since otherwise generated data volumes can not be stored persistently.
  • the virtual hardware unit has performance characteristics which result depending on the operating parameter profile and the program sequence to be executed. On the basis of a monitored performance parameter, request parameters of the program sequence to the physical hardware unit are determined in a method step 102.
  • FIG. 2 shows a schematic representation of a computer system 1 for determining requirement parameters of a given program sequence for at least one physical hardware unit.
  • the computer system 1 has a control device 11, which communicates via an interface device IIa with replicating devices 12, 13 and 14. Communication is indicated by double arrows.
  • a block 12 is a replica device for replicating a hard disk
  • a block 13 is a replica device for replicating a removable storage drive
  • a block 14 is a replica device for replicating a network card. Reproducing devices for simulating other physical hardware units are also conceivable here.
  • Physical hardware units are hereby hardware components necessary for the operation of a computer system, wherein the use can take place in a passive or active manner.
  • the use of the virtual hardware device may include passive or active use.
  • a hardware unit may actively perform computational steps, such as primitive operations or value assignments to variables.
  • an assignment of the operating parameters to the operating parameter profile, the simulation of the physical hardware units, the execution of the program sequence and / or the determination of the request parameters can be initiated by a virtual hardware unit which is implemented as a computing unit.
  • An arithmetic unit may be embodied as a processor, microprocessor, computer, computer system, CPU, central processing unit, arithmetic arithmetic unit and / or circuit.
  • a passive use includes For example, logging the performance characteristics and / or storing the operating parameters, the operating parameter profiles and / or the particular request parameters.
  • Performance characteristics describe the non-functional behavior of the hardware unit or of the computer system resulting from the operating parameters as a function of the execution of the program sequence. Performance characteristics may refer to physical and / or virtual hardware units or computer systems.
  • a performance parameter is a processing time of a program sequence resulting from the clocking of a computer unit and / or clocking of a memory by a virtual computer system.
  • a program flow may include a test routine, an algorithm, a software program, a command sequence, and / or a program routine for calculating an output or providing a service.
  • a program flow may be a software component to be tested.
  • a response time is a performance parameter which can be influenced by the operating parameter "number of revolutions" of a hard disk.
  • the computer system 1 described in FIG. 2 comprises an output unit 10 which outputs the request parameters detected by the control device 11.
  • An output unit may be a printer, a screen or a device for reproducing an acoustic signal.
  • a device for storing the request parameters can be provided.
  • the device for storing the request parameters can be present as any type of memory, for example as a hard disk, flash disk, CD, DVD, tape and / or as a removable disk.
  • the replication of the physical hardware unit is particularly advantageous when the physical hardware unit is in operation and operation can not be interrupted. For example, if the physical hardware device provides a service, it can be replicated and request parameters to the physical hardware device can be determined using the replicated virtual hardware device.
  • the offered service can thus be offered without interruption of the physical hardware unit.
  • operating parameter profiles can be varied systematically and reproducibly without modification of the physical computer system.
  • request parameters can be determined which are those operating parameters of the physical hardware unit which ensure a well-defined program flow.
  • control device 11 may comprise the following devices: an allocation device IIb for assigning the operating parameter profile to the virtual hardware unit, an execution device 11c for executing the predetermined program sequence using the virtual hardware unit, a varying device Hd for varying the Operating parameter profile of the virtual hardware unit during the program flow, a monitoring device He for monitoring the performance characteristic and a request parameter determination device Hf for determining the request parameters.
  • the allocation unit Hb assigns an operating parameter profile to a virtual hardware unit which is provided by one of the replication means 12, 13 or 14. Suitable operating parameter profiles are read out by the allocation unit Hb, for example via the control device 11, from a data memory 9, provided as a function of a performance parameter, or stored in the memory. dependence of a user input. User can hereby be another device or a human user, for example an administrator.
  • mapping may also include assigning a definition area to an operating parameter. Mapping may further include assigning operating parameters to operating parameter profiles. If the procedure is carried out for the first time, assignment can also include occupying the operating parameters with initial values. For example, a clock rate of a processor, which was simulated by a replica device as a virtual processor, initially occupied at 2 GHz. Similarly, a replicated virtual memory can initially be allocated 2 GB.
  • the execution unit 11c executes a predetermined program flow using the virtual hardware unit.
  • the program flow is thus carried out by the virtual hardware unit or by the virtual hardware unit in cooperation with the other virtual hardware units or, in the case of emulation, in cooperation of physical hardware units with the virtual hardware unit.
  • the use includes active as well as passive use.
  • the varying device Hd varies the operating parameter profile of the respective virtual hardware unit. Varying includes, for example, assigning a calculated, estimated, measured, or user-entered value to the operating parameter. The value can be calculated as a function of monitored performance characteristics or other operating parameter profiles. For example, the operating parameters may be varied such that the monitored performance characteristics decrease with each successive execution of the program flow. As the operating parameters are to be varied, the varying device Hd can also read out via the control device 11 from a data memory 9. The monitoring of the performance characteristics is done by a monitoring device He. The monitoring device He monitors performance characteristics of a hardware unit, a selection of hardware units or the entire virtual computer system. From the monitored performance characteristics, the request parameter determination device Hf determines the request parameters of the program flow to the physical hardware unit. The request parameters are those operating parameters which ensure a well-defined program run.
  • request parameters may refer to a physical hardware device, a selection of physical hardware devices, or a physical computer system.
  • FIG. 3 shows a flowchart of a variant of a method for determining request parameters.
  • a physical hardware unit is modeled as a virtual hardware unit.
  • the simulated, virtual hardware unit is used in the method steps 201, 202, 203 and 204, which is graphically represented in FIG. 3 by a higher-level method step 200 by means of a block comprising the method steps 201, 202, 203 and 204.
  • Method step 200 includes the provision of a virtual hardware unit, which can be done, for example, by emulation or virtualization.
  • the method step may be performed by a hypervisor.
  • a hypervisor might be VMWare.
  • a hypervisor may comprise a replica device, such as the replica device 12 described in FIG. 2 for replicating a hard disk, the replica device 13 for replicating a removable storage drive, and / or the replica device 14 for replicating a network card.
  • Emulating may include partially providing functionality by the virtual hardware device, wherein unrendered functionality may be provided by a physical hardware device. For example, at emulating, reading accesses to a first record of a hard disk by a virtual hardware unit, and write accesses to a second record of the hard disk by a physical hardware unit. Virtualizing can describe the full deployment of functionality by the virtual hardware device.
  • a virtual hard disk is hereby a virtual hardware unit which provides the functionality of a physical hard disk by emulating or virtualizing. Operating parameters of the virtual hardware unit, such as storage capacity, may be provided using a physical hard disk. Likewise, a physical disk can provide storage for multiple virtual disks. Even with a complete one
  • a virtual hard disk requires physical memory to provide the operating parameter storage capacity according to the physical storage capacity available.
  • the number of virtual hardware units included may be different than the number of physical hardware units of the replicated physical computer system.
  • the number of virtual hardware units included may be different than the number of physical hardware units of the replicated physical computer system.
  • Replicating a physical hardware unit is not necessarily a bijection between physical hardware units and virtual hardware units, but may also be an n: m mapping.
  • n and m are each natural numbers that designate the number of respective hardware units.
  • Replication of a physical hardware unit therefore includes providing and operating a virtual hardware device according to the functionality of the respective physical hardware device.
  • an operating parameter profile is assigned to the virtual hardware unit.
  • suitable operating parameters are selected from a set of operating parameters and assigned operating parameter profiles, which in turn are assigned to the virtual hardware unit.
  • the assignment comprises assigning definition ranges to the operating parameters. If the method is executed a first time, the assignment also includes the assignment of initial values to the operating parameters.
  • a predetermined program sequence is executed using the virtual hardware unit.
  • a program sequence here may include a test routine, an algorithm, a software program, a command sequence and / or a program routine.
  • a program flow may be an Office program, a database management system, a video player, a control program or server service.
  • program sequences can be executed server-side or client-side and / or distributed.
  • an Office program sets request parameters to the operating parameter storage capacity of a physical disk because it is installed locally on the hard disk.
  • a well-defined program sequence can be, for example, that the generated documents can be stored persistently at any time.
  • an Office program also makes request parameters to a physical disk.
  • the Office program requires a network connection, which is provided, for example, via a physical network card.
  • requirements parameter to the physical network card can then be, for example, a predetermined bandwidth.
  • the memory can be emulated as virtual memory.
  • the program flow of the Office program is then executed using the virtual memory, which has been assigned an operating parameter profile in a step 201.
  • the execution of the office program takes place in a step 202, wherein a corresponding operating parameter profile, which determines the storage capacity of the virtual main memory, is varied in a step 203.
  • a corresponding operating parameter profile which determines the storage capacity of the virtual main memory
  • the capacity is successively reduced by a test program, which can make the change in the values assigned to the operating parameters via a suitable interface.
  • the program flow is considered to be no longer well-defined if, due to the reduced storage capacity of the virtual main memory, there are considerable time delays due to the fact that data is transferred to the hard disk memory.
  • the time delay is a performance characteristic of the virtual hardware unit used. If the time delay exceeds a predetermined desired performance characteristic, the well-defined program sequence is no longer guaranteed.
  • the request parameters now describe those operating parameters of the main memory which, when the Office program is executed, use the virtual main memory to fulfill the target performance characteristic.
  • the use of the inventive method in the example described is advantageous because the request parameters of the Office program to the physical memory can be determined systematically and without modifications to a physical computer system.
  • operating parameter profiles are varied. Varying here includes assigning changed values to the operating parameters. This can be done as a function of a further operating parameter profile of a virtual hardware unit.
  • operating parameters can be varied in such a way that performance characteristics measured in a program run decrease in a next program run. For example, in each subsequent program sequence, the clocking of a processor can be reduced so that the respective execution of the program sequence takes longer in comparison to the previous execution of the program sequence. For example, it can be tested at which clocking of the processor a time-out occurs. How to vary the corresponding operating parameters can be read from a data memory, calculated, estimated or also determined by user input.
  • a performance parameter is an execution time that requires executing a program flow using the virtual hardware unit.
  • request parameters to the physical hardware unit are determined.
  • method steps 200, 201, 202, 203, 204, and 205 may be performed in parallel, partially in parallel, or iteratively in the same order.
  • method step 203 in which the operating parameter profiles are varied, can be carried out in parallel to method step 202.
  • the operating parameters are varied while executing the program flow using the virtual hardware unit.
  • method step 204 "monitoring the performance characteristic” may be performed in parallel with method step 202 "executing the program flow” and step 203 "varying the operating parameter profiles” so as to monitor the resulting performance characteristics.
  • method step 201 may also be carried out in parallel to executing the program sequence in method step 202. Possible execution sequences of the method steps are marked accordingly in FIG. 3 by arrows.
  • FIG. 4 shows a schematic representation of a computer system 3 for determining requirement parameters.
  • a predetermined program sequence 300 is tested by a test program 302 in an instance of a test 301 with respect to the request parameters of the predetermined program sequence to at least one physical hardware unit.
  • the test program 302 may also be referred to as a "test driver". Both the program flow 300 and the test program 302 access via a guest operating system 303, alternatively also
  • the virtual machine system includes the virtual hardware units 305a, 305b, 305c, 305d, and 305e.
  • Hardware units are provided by replicating devices 306a, 306b, 306c, 306d, and 306e, which may be included in a replica device 306, respectively.
  • Imitators 306a, 306b, 306c, 306d, and 306e each form a physical hardware unit as a virtual one
  • the replicating devices 306a, 306b, 306c, 306d and 306e may have a performance limiter device which provides the operating parameter profile of the respective virtual hardware unit varies such that a decreasing performance characteristic results in each repetition of executing the program flow.
  • a performance limiter device may correspond, for example, to a varying device described in FIG.
  • Performance limiter devices can have a performance limiting control device, via which the interface device 310 is controlled.
  • Physical hardware units can be present, for example, as a network card, as an exchange storage drive, as a hard disk, as a storage component, as a processor or as a microprocessor.
  • the operating parameter profiles of the virtual hardware units can be assigned or varied by the test program 302 via an interface device 310.
  • the test program 302 causes execution of the program flow 300 for each test 301 and monitors the performance characteristics resulting from the program flow 300 and the operating parameter profile of the virtual hardware unit. Performance characteristics are logged by the test program 302, and depending on the logged performance characteristics, the test program 302 determines request parameters of the program flow 300 to the physical hardware unit. This can, for example, as already described, by successively reducing the performance characteristics and
  • Imaging device 306 with its associated imaging devices 306a, 306b, 306c, 306d and 306e accesses physical computer system 308 via host operating system 307, alternatively also referred to as "host operating system", which is shown in FIG. 4 by bidirectional arrows is marked.
  • host operating system alternatively also referred to as "host operating system”
  • guest operating system 303
  • host operating system 307 may be available as a version of Windows or as a version of Linux.
  • the physical computer system 308 has the physical hardware units 309a, 309b, 309c, 309d, and 309e.
  • the replicating devices 306a, 306b, 306c, 306d, and 306e may replicate physical hardware devices that differ from the physical hardware units 309a, 309b, 309c, 309d, and 309e in terms of operating parameter profiles and operating parameter definition ranges, thus simulating a physical computer system which does not correspond to the physical computer system 308.
  • a possible deployment scenario of the computer system 3 described in FIG. 4 is the testing of virtual hardware units (305a, 305b, 305c, 305d, 305e) of a virtual computer system 304 when executing program sequences 300 using a conventional hard disk and / or using it a working memory.
  • An advantageous result would be, for example, that because of the monitored performance characteristics, more expensive main memory can be replaced by comparatively less expensive hard disk space for cost reduction. This makes sense, for example, if, to ensure the well-defined program sequence 300, the lower access times of a hard disk compared with the main memory are sufficient.
  • swap data can be stored to a large extent on the disk space, which is less expensive compared to main memory. Since the data are thus stored on the hard disk and not on the main memory, thus memory can be saved.
  • the performance characteristics write speed and read speed are asymmetrical with flash disks, unlike a conventional hard disk. For example, writing to the flash disk takes longer than reading from the flash disk.
  • the computer system 3 described above can be used to model the physical hardware unit hard disk and the physical hardware unit flash disk.
  • the program flow can now be used a first time a virtual hard disk and a second time using a virtual flash disk.
  • By varying the operating parameter profiles of the virtual hardware unit hard disk and the virtual hardware unit Flash Disk its performance characteristics can now be systematically monitored when executing the program sequence. For example, the test simulates replacing a traditional hard disk with a flash disk. If the performance characteristics of physical hardware units of an existing physical computer system ensure well-defined program execution, corresponding physical hardware units can be used by physical hardware units with reduced performance characteristics. This allows a cost reduction can be achieved.
  • request parameters can be determined systematically, including an operating system (303), without the use of expensive physical hardware components (309a, 309b, 309c, 309d, 309e) and without modifications to a physical computer system (308).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

Ein Verfahren und eine Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit Die Betriebsparameter von nachgebildeten, virtuellen Hardwareeinheiten (305a, 305b, 305c, 305d, 305e) werden zum Beispiel über eine Schnittstelleneinrichtung (310) einer Nachbildevorrichtung (306) während des Ausführens eines Programmablaufs (300) auf den virtuellen Hardwareeinheiten derart variiert, dass Anforderungsparameter des Ausführens eines Programmablaufs (300) an mindestens eine physische Hardwareeinheit (309a, 309b, 309c, 309d, 309e) bestimmt werden können. Demgemäß ist ein Verfahren und eine Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit (309a, 309b, 309c, 309d, 309e) vorgesehen. Das Verfahren und die Vorrichtung finden bei der Bestimmung von Anforderungsparameter von Softwareprodukten an zu verwendende Hardwarekomponenten Einsatz. Vorteilhaft ist hierbei, dass Anforderungsparameter systematisch, unter Einbeziehung eines Betriebssystems (303), ohne Verwendung teurer, physischer Hardwarekomponenten (309a, 309b, 309c, 309d, 309e) und ohne Modifikationen an einem physischen Rechnersystem (308) bestimmt werden können.

Description

Beschreibung
Verfahren und Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit
Die vorliegende Erfindung betrifft ein Verfahren zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit, welche einen wohldefinierten Programmablauf gewährleisten. Die Erfindung betrifft ferner eine Rechneran- läge, welche sich zur Durchführung des Verfahrens eignet, sowie ein Computerprogrammprodukt, welches die Durchführung eines entsprechenden Verfahrens zur Bestimmung von Anforderungsparametern veranlasst.
Bei der Entwicklung von hardware- wie auch softwareimplementierten Systemen ist die Kompatibilität von Komponenten, insbesondere deren Wiederverwendbarkeit, nach Möglichkeit zu gewährleisten. Hierzu können Softwaresysteme modular durch wieder verwendbare Softwarekomponenten aufgebaut sein. Software- komponenten sind hierbei beispielsweise Programmmodule, Bibliotheken oder Packages. Rechneranlagen können durch Hardwarekomponenten modular aufgebaut sein, wobei die Kompatibilität der Hardwarekomponenten durch standardisierte Schnittstellen gegeben ist. Beispielsweise sollen mehrere Software- komponenten nicht nur auf einzelnen, sondern auf unterschiedlichen Rechneranlagen ohne signifikanten Mehraufwand ausführbar sein. Durch die Wiederverwendbarkeit von Softwarekomponenten, insbesondere auf unterschiedlichen Rechneranlagen, ergibt sich ein optimiertes Kosten-Nutzen-Verhältnis. Durch die Wiederverwendbarkeit ist die Erstellung von qualitativ hochwertigem Softwarecode motiviert, welcher ausreichend getestet und gut dokumentiert ist. Ein weiterer vorteilhafter Aspekt ist die Möglichkeit qualitativ hochwertigen Softwarecode von externen Entwicklern zuzukaufen.
Der Ansatz Softwarekomponenten nicht zielsystemspezifisch konstruieren zu müssen, hat sich mit der Verbreitung der höheren Programmiersprachen durchgesetzt. Es werden Software- komponenten erstellt, welche durch Übersetzer beziehungsweise Compiler von der Hochsprache in die Maschinensprache des jeweiligen Zielsystems übersetzt werden. Zuvor wurden Softwarekomponenten direkt in der Maschinensprache für das jeweilige Zielsystem implementiert. Da Maschinensprachen im Gegensatz zu Hochsprachen für den Menschen weniger intuitiv verständlich sind, war dieses Vorgehen mit einem höheren Aufwand und höherer Fehleranfälligkeit verbunden. Insbesondere konnte der Softwarecode zumeist nicht wiederverwendet werden. Die stets neue Implementierung der Softwarekomponenten führte ebenfalls zu einer erhöhten Fehleranfälligkeit. Aufgrund der Kosteneffizienz und des Wiederverwendungsaspekts sollen Softwarekomponenten nicht genau auf ein Zielsystem und dessen genauen technischen Details konstruiert werden. Man geht bewusst eine Abstraktion ein, um schneller, effizienter und fehlerfreier eine Softwarekomponente zu entwickeln.
Die Kompatibilität von Hardwarekomponenten ist eine nichtfunktionale Anforderung, die gewünscht und notwendig ist. An- dererseits zeigt die Hardware durch den Technologiefortschritt eine hohe Diversität. So können unterschiedliche Controller beispielsweise mit spezifischen Leistungsdaten verwendet werden. Analog gibt es unterschiedliche Speichermedien, die sich untereinander bezüglich Preis und Leistung er- heblich unterscheiden. Hardwareeinheiten haben zumeist Standardschnittstellen, die funktional vollständig identisch sind. Ein Softwareentwickler weiß, insbesondere durch spezielle Entwurfs- und Architekturmuster, wie Schichtung oder Proxies, zumeist nicht auf welche genaue Ausprägung einer Hardwareeinheit die Softwarekomponente zugreift.
Aus den vorgenannten Aspekten ergibt sich, dass eine vollständige Testabdeckung einer Softwarekomponente bezüglich der verwendeten Hardwarekomponenten nur mit signifikantem Aufwand möglich ist. So können Hardwarekomponenten, auf der die Softwarekomponente ausgeführt werden soll, kompatibel bezüglich der hardwarebasierten Schnittstellen sein, jedoch können die Leistungskenngrößen der Hardwarekomponenten den Anforderungs- Parametern der Softwarekomponente nicht genügen. Dies kann in einem besonders nachteiligen Fall zu einem nichtgebrauchsfähigen Softwareprodukt bezüglich der verwendeten Hardwarekomponenten führen. Ein Softwareprodukt umfasst hierbei mindes- tes eine Softwarekomponente.
Beispielsweise werden bei Softwareprodukten Anforderungsparameter an die ausführenden Hardwarekomponenten angegeben, welche einen wohldefinierten Programmablauf gewährleisten. Der Programmablauf umfasst hierbei das Ausführen einer Softwarekomponente. Anforderungsparameter werden zum Beispiel durch Tests des Softwareprodukts auf verschiedenen physischen Rechneranlagen ermittelt. Durch die steigende Diversität der Rechneranlagen können diese Anforderungsparameter jedoch nicht mehr beziehungsweise nur ungenügend empirisch ermittelt werden. Insbesondere können Abhängigkeiten zwischen den Betriebsparametern der verwendeten Hardwareeinheiten nur mit enormem empirischem Aufwand ermittelt werden. Liegen entsprechende Anforderungsparameter vollständig und ausreichend ge- nau vor, sind Aussagen über Betriebsparameter der benötigten Hardwarekomponenten möglich. Insbesondere können bei der Verwendung der entsprechenden Hardwareeinheiten Kosten eingespart werden, indem eine performantere aber teurere Hardwareeinheit durch eine günstigere Hardwareeinheit ausgetauscht wird. Der Einsatz von zu performanten Hardwareeinheiten führt zu erhöhten Betriebsnebenkosten, insbesondere höhere Energieaufnahme beziehungsweise höherer Wärmeabstrahlung, welche durch intensiveren Einsatz von Kühlkomponenten kompensiert werden muss.
Durch den großen Umfang funktional kompatibler Hardwareeinheiten können herkömmliche Techniken zur Bestimmung von Anforderungsparametern nur ausgewählte Betriebsparameterprofile testen. Ein vollständiger Test aller Betriebsparameterprofile für bestehende Hardwarekomponenten ist durch die große Vielfalt der möglichen Kombinationen von Hardwarekomponenten zum Ausbilden einer geeigneten Rechneranlage nahezu unmöglich. Üblicherweise werden genaue Anforderungen an die Hardwarekom- ponenten nur rudimentär und unsystematisch bestimmt. Es wird daher häufig nicht mit ausreichendem Umfang an Hardwarekomponenten getestet, sondern nur auf wenigen exemplarischen Rechneranlagen .
Der Einsatz mathematischer Modelle, wie beispielweise Markov- ketten oder gewichtete Petri-Netze zur Bestimmung von Anforderungsparametern, erfordert aufwendigen Experteneinsatz, kann fehlerbehaftet und/oder ungenau sein, was sich als be- sonders nachteilig erweisen kann.
Es ist daher eine Aufgabe der vorliegenden Erfindung ein verbessertes Verfahren zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit bereitzustellen.
Diese Aufgabe wird durch ein Verfahren zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit gemäß Patentanspruch 1 gelöst.
Demgemäß ist ein Verfahren zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit eines mehrere Hardwareeinheiten umfassenden physischen Rechnersystems vorgesehen. Es wird mindestens eine physische Hardwareeinheit als virtuelle Hardwareeinheit mit variierenden Be- triebsparametern nachgebildet, wodurch sich unterschiedliche Leistungskenngrößen ergeben. Leistungskenngrößen der physischen Hardwareeinheit sollen dabei vordefinierten Leistungskenngrößen entsprechen. Hierzu wird unter Verwendung einer als virtuelle Hardwareeinheit nachgebildeten Hardwareeinheit ein vorgegebener Programmablauf ausgeführt, wobei Betriebsparameter der virtuellen Hardwareeinheit variiert werden. Hieraus lassen sich Anforderungsparameter bestimmen, welche den Betriebsparametern der physischen Hardwareeinheit entsprechen, welche einen wohldefinierten Programmablauf gewährleis- ten. Die Anforderungsparameter werden in Abhängigkeit einer überwachten Leistungskenngröße der virtuellen Hardwareeinheit bestimmt . Unter Nachbilden der physischen Hardwareeinheit versteht man das Bereitstellen und Betreiben von virtuellen Hardwareeinheiten gemäß der Funktionalität einer physischen Hardwareeinheit.
Anforderungsparameter sind diejenigen Betriebsparameter einer Hardwarekomponente, welche zum wohldefinierten und fehlerfreien Ausführen einer Softwarekomponente mindestens erforderlich sind.
Betriebsparameter beschreiben nicht-funktionale Eigenschaften einer Hardwarekomponente. Beispiele hierfür können sein: Taktung eines Prozessors, Lese- oder Schreibzugriffszeiten eines Speichers, Kapazität eines Speichers, Umdrehungen einer Fest- platte oder die Bandbreite einer Sende- oder Empfangseinrichtung. Betriebsparameter können in Betriebsparameterprofilen bezüglich einer Hardwarekomponente zusammengefasst werden.
Leistungskenngrößen beschreiben hierbei das sich aus den Be- triebsparametern ergebende nicht-funktionale Verhalten der Hardwareeinheit oder des Rechnersystems in Abhängigkeit des Ausführens des Programmablaufs. Leistungskenngrößen können sich auf physische und/oder auf virtuelle Hardwareeinheiten oder Rechnersysteme beziehen. Ein Programmablauf kann bei- spielsweise eine Testroutine, einen Algorithmus, ein Softwareprogramm, eine Befehlssequenz und/oder eine Programmroutine, zur Berechnung einer Ausgabe oder zum Bereitstellen eines Dienstes umfassen.
Ein wohldefinierter Programmablauf ist dann gewährleistet, wenn beispielsweise vorgegebene Anforderungen, welche als "Constraints" bezeichnet werden können, erfüllt werden. Vorgegebene Anforderungen können nicht-funktionale Anforderungen umfassen, welche sich wiederum auf funktionale Anforderungen auswirken können. Beispielsweise können vordefinierte Antwortzeiten gefordert werden, wobei ein Nichteinhalten der vordefinierten Antwortzeiten zu einem Time-out, zu einem Synchronisationsfehler oder einem allgemeinen Fehlverhalten füh- ren kann. Die Vermeidung eines Synchronisationsfehlers kann dabei eine funktionale Anforderung sein. Anforderungen können insbesondere bezüglich einem Echtzeitverhalten des vorgegebenen Programmablaufs definiert werden. Wird beispielsweise ei- ne Bildsequenz durch den Programmablauf definiert, so ist beispielsweise eine Echtzeitanforderung ein Einhalten einer Mindestbildanzahl pro Zeiteinheit. Eine weitere Anforderung bezüglich der Mindestbildanzahl ist beispielsweise ein möglichst äquidistantes Einblenden des jeweiligen Bildes, um Verzögerungen beziehungsweise Ruckein, beispielsweise in Videoinformationen, zu verhindern.
Somit wird ein physisches Rechnersystem als ein virtuelles Rechnersystem nachgebildet, wobei das virtuelle Rechnersystem wiederum aus mehreren virtuellen Hardwareeinheiten bestehen kann. Durch die variierbaren Betriebsparameter der virtuellen Hardwareeinheiten können diverse Hardwareeinheiten mit wiederum diversen Betriebsparameterprofilen bezüglich deren Ausführung des vordefinierten Programmablaufs überwacht werden. Vorteilhaft ist hierbei, dass aufgrund der Verwendung der virtuellen Hardwareeinheiten keine physischen Modifikationen an der entsprechenden Rechneranlage durchgeführt werden müssen. Außerdem gestaltet sich vorteilhaft, dass Betriebsparameter beziehungsweise Betriebsparameterprofile der verwende- ten Hardwareeinheiten systematisch, beispielsweise von einem vorgegebenen Testprogramm, getestet werden können. Das Testprogramm kann das Ausführen des Programmablaufs mit variierenden Betriebsparametern und das Bestimmen der Anforderungsparameter veranlassen.
Ein physisches Rechnersystem kann beispielsweise als Computer, PC, EDV-Anlage, elektronische Datenverarbeitungsanlage, Workstation und/oder EDV-System vorliegen.
In einer Variante des Verfahrens wird zumindest eine Auswahl der folgenden Verfahrensschritte ausgeführt: Nachbilden der physischen Hardwareeinheit als virtuelle Hardwareeinheit zum Ausbilden zumindest eines Teils des virtuellen Rechnersys- tems, welches dem physischen Rechnersystem entspricht; Zuordnen von mindestens einem Betriebsparameterprofil an die virtuelle Hardwareeinheit, welches mindestens einen Betriebsparameter umfasst; Ausführen des vorgegebenen Programmablaufs unter Verwendung der virtuellen Hardwareeinheit; Variieren des Betriebsparameterprofils der virtuellen Hardwareeinheit während des Ausführens des Programmablaufs; Überwachen der Leistungskenngröße des virtuellen Rechnersystems während des Ausführens des Programmablaufs und Bestimmen der Anforde- rungsparameter in Abhängigkeit der überwachten Leistungskenngröße des virtuellen Rechnersystems, wobei die Anforderungsparameter denjenigen Betriebsparametern der physischen Hardwareeinheit entsprechen, welche einen wohldefinierten Programmablauf gewährleisten.
Das Nachbilden kann auch Emulieren oder Virtualisieren umfassen. Hierbei kann Emulieren das teilweise Bereitstellen von Funktionalität durch die virtuelle Hardwareeinheit umfassen, wobei nicht bereitgestellte Funktionalität von einer physi- sehen Hardwareeinheit bereitgestellt werden kann. Virtualisieren kann hierbei das vollständig Bereitstellen von Funktionalität durch die virtuelle Hardwareeinheit umfassen. Die nachgebildete Hardwareeinheit liegt virtuell vor und wird beispielsweise durch eine Softwarekomponente und/oder durch eine Bibliothek beschrieben und/oder nachgebildet. Die physische Hardwareeinheit liegt physisch, also materiell vor.
Zuordnen von Betriebsparameterprofilen kann beispielsweise das Auswählen geeigneter Betriebsparameter und die Zuweisung von geeigneten Definitionsbereichen an die Betriebsparameter umfassen. Hierbei werden Betriebsparameter in geeigneter Weise Betriebsparameterprofilen zugewiesen. Die Eignung der Zuweisung ergibt sich aus den jeweiligen Anwendungsszenarien. Beispielsweise mag es geeignet sein, gemäß einer vorhandenen physischen Hardwareeinheit, der virtuellen Hardwareeinheit möglichst identische Betriebsparameter zuzuordnen. Eine Zuordnung kann gemäß einer zu entwickelnden physischen Hardwareeinheit erfolgen, wobei Betriebsparameter der zu entwi- ekelnden physischen Hardwareeinheit testweise einem Betriebsparameterprofil einer virtuellen Hardwareeinheit zugeordnet werden .
Beispielsweise kann zu einem Betriebsparameterprofil und/oder zu einer Funktionalität einer virtuellen Hardwareeinheit kein identisches Betriebsparameterprofil und/oder Funktionalität einer physischen Hardwareeinheit vorhanden sein. Die Hardwareeinheit wäre dann rein virtuell. Dann gibt es zur virtu- eilen Hardwareeinheit keine entsprechende physische Hardwareeinheit .
Virtuelle Hardwareeinheiten können beispielsweise als emulierte Hardwareeinheiten oder als virtualisierte Hardwareein- heiten vorliegen. Der Programmablauf wird unter Verwendung zumindest einer virtuellen Hardwareeinheit ausgeführt, wobei das entsprechende Betriebsparameterprofil der virtuellen Hardwareeinheit beispielsweise gemäß eines vorgegebenen Testprogramms variiert werden kann. Hieraus ergeben sich Leis- tungskenngrößen des virtuellen Rechnersystems während des
Ausführens des Programmablaufs. Die Leistungskenngrößen werden dabei überwacht. Ausgehend von den überwachten Leistungskenngrößen des virtuellen Rechnersystems können Anforderungsparameter des Programmablaufs an die physische Hardwareein- heit, beziehungsweise an die physischen Hardwareeinheiten bestimmt werden. Anforderungsparameter sind hierbei diejenigen Betriebsparameter der physischen Hardwareeinheit, welche einen wohldefinierten Programmablauf gewährleisten. Anforderungsparameter können auch in Abhängigkeit von Betriebspara- meterprofilen einer oder mehrerer virtuellen Hardwareeinheiten bestimmt werden. Insbesondere können Abhängigkeiten unterschiedlicher Betriebsparameter der physischen Hardwareeinheiten anhand der resultierenden Leistungskenngrößen systematisch bestimmt werden.
Bei der Durchführung des Verfahrens können zumindest eine Auswahl von Verfahrensschritten iterativ oder zeitlich parallel ausgeführt werden. Ferner können Betriebsparameterprofile in Programmabläufen in Abhängigkeit anderer Betriebsparameterprofile variiert werden. Beispielsweise kann ein Betriebsparameter, der die Kapazität eines Arbeitspeichers beschreibt, in Abhängigkeit eines Betriebsparameters, der die Kapazität eines Festplattenspeichers beschreibt, variiert werden. Ein vorteilhaftes Resultat wäre hierbei beispielsweise, dass aufgrund der überwachten Leistungskenngrößen teuerer Arbeitsspeicher durch vergleichsweise kostengünstigeren Festplattenspeicher zur Kostenreduktion ersetzt werden kann. Dies ist beispielsweise sinnvoll, wenn zur Gewährleistung des wohldefinierten Programmablaufs die mit dem Arbeitsspeicher verglichen niedrigeren Zugriffszeiten einer Festplatte ausreichend sind. Beispielsweise kann eine überwachte Leistungskenngröße eine Zugriffszeit auf einen Arbeitsspeicher sein.
Ferner können Betriebsparameterprofile derart variiert werden, dass überwachte Leistungskenngrößen sukzessive abgesenkt werden, bis ein wohldefinierter Programmablauf nicht mehr gewährleistet ist. Aus den überwachten Leistungskenngrößen in Abhängigkeit des jeweiligen Betriebsparameterprofils können somit die Anforderungsparameter bestimmt werden.
Das Variieren des Betriebsparameterprofils erfolgt beispielsweise über eine entsprechende Schnittstelleneinrichtung des virtuellen Rechnersystems, beziehungsweise der jeweiligen virtuellen Hardwareeinheit. Beispielsweise kann ein Hypervi- sor über eine geeignete Schnittstelleneinrichtung verfügen. Das Variieren der Betriebsparameterprofile kann ferner in Abhängigkeit der Überwachung der Leistungskenngröße geschehen. Stimmt die gemessene Leistungskenngröße nicht mindestens mit einer vorgegebenen Soll-Leistungskenngröße überein, können auf die Leistungskenngröße Einfluss nehmende Betriebsparameter entsprechend variiert werden.
Das Überwachen der Leistungskenngröße kann ein Erfassen, Messen, Schätzen, Protokollieren und/oder Speichern von Leistungskenngrößen umfassen. Hierzu wird beispielsweise der Programmablauf unter Verwendung einer virtuellen Hardwareeinheit ausgeführt und sich daraus ergebende Leistungskenngrößen gemessen oder durch beispielsweise statistische Verfahren geschätzt. Das Messen umfasst hierbei jede Art des Beobachtens, des, des Vergleichens, des digitalen oder des analogen Erfas- sens von Leistungskenngrößen. Das Schätzen umfasst hierbei jede Art der Hochrechnung, Interpolation, Extrapolation und/oder Inferenz beziehungsweise Deduktion. Als Voraussetzung zum Schätzen kann beispielsweise eine vorgegebene Menge an Informationen vorliegen, welche Erfahrungswerte von Leis- tungskenngrößen oder bereits überwachte Leistungskenngrößen wiedergegeben .
Die Erfindung betrifft ferner eine Rechneranlage zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit eines mehrere Hardwareeinheiten umfassenden physischen Rechnersystems. Die Rechneranlage kann über eine Steuereinrichtung verfügen, welche ein vorgenanntes Verfahren ausführt. Ferner kann die Rechneranlage über eine Nachbildeinrichtung, eine Zuordnungseinrichtung, eine Ausführungsein- richtung, eine Variierungseinrichtung und/oder eine Anforde- rungsparameterbestimmungseinrichtung verfügen. Die Nachbildeinrichtung, die Zuordnungseinrichtung, die Ausführungseinrichtung, die Variierungseinrichtung und/oder die Anforde- rungsparameterbestimmungseinrichtung können auch in der Steu- ereinrichtung umfasst sein.
Die Nachbildeeinrichtung kann die physische Hardwareeinheit als virtuelle Hardwareeinheit nachbilden und Funktionalität der physischen Hardwareeinheit durch die virtuelle Hardware- einheit bereitstellen. Die Zuordnungseinrichtung kann virtuellen Hardwareeinheiten entsprechende Betriebsparameterprofile zuordnen.
Die Ausführungseinrichtung kann den vorgegebenen Programmab- lauf unter Verwendung der virtuellen Hardwareeinheit ausführen. Die Verwendung der virtuellen Hardwareeinheit kann beispielsweise in passiver oder aktiver Weise durchgeführt werden. Beispielsweise kann eine Hardwareeinheit aktiv Rechen- schritte ausführen. Rechenschritte sind beispielsweise Grundrechenoperationen oder Wertzuweisungen an Variablen. Eine passive Verwendung umfasst beispielsweise das Protokollieren der Leistungskenngrößen. Eine Recheneinheit kann als Prozes- sor, Mikroprozessor, Computer, Computersystem, CPU (=Central Processing Unit) , arithmetische Recheneinheit oder Schaltkreis ausgeführt sein.
Die Variierungseinrichtung kann das Betriebsparameterprofil der virtuellen Hardwareeinheit während des Programmablaufs variieren. Das Variieren umfasst beispielsweise das Zuweisen eines errechneten, geschätzten, gemessenen oder durch einen Benutzer eingegebenen Werts an den Betriebsparameter. Der Wert kann hierbei in Abhängigkeit von überwachten Leistungs- kenngrößen oder anderen Betriebsparameterprofilen errechnet werden. Beispielsweise können die Betriebsparameter derart variiert werden, dass sich bei jeder aufeinanderfolgenden Ausführung des Programmablaufs die überwachten Leistungskenngrößen verringern. Wie die Betriebsparameter zu variieren sind, kann die Variierungseinrichtung ferner aus einem Datenspeicher auslesen.
Die Überwachungseinrichtung kann Leistungskenngrößen der virtuellen Hardwareeinheit überwachen, welche zum Ausführen des vorgegebenen Programmablaufs verwendet werden. Auf Grundlage der überwachten Leistungskenngrößen kann die Anforderungspa- rameterbestimmungseinrichtung, die Anforderungsparameter des Programmablaufs an die Hardwareeinheit bestimmen.
Die Nachbildeeinrichtung, die Zuordnungseinrichtung, die Ausführungseinrichtung, die Variierungseinrichtung, die Überwachungseinrichtung und die Anforderungsparameterbestimmungs- einrichtung können in physischer Form vorliegen, sie können aber auch als nachgebildete Hardwareeinheiten virtuell vor- liegen, wobei die Funktionalität der physischen Hardwareeinheit zumindest teilweise nachgebildet ist. Beispielsweise können vorgenannte Einrichtungen als Computerprogrammteil implementiert sein. Die Erfindung betrifft darüber hinaus ein Computerprogrammprodukt, welches die Durchführung eines Verfahrens zum Bestimmen von Anforderungsparametern an mindestens eine phy- sische Hardwareeinheit veranlasst.
Somit werden ein Verfahren und eine Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit beschrieben, wodurch umfangreiche, präzise und systematische Tests des Ausführens von Programmabläufen auf unterschiedlichen Zielsystemen ermöglicht werden. Ferner können die Anforderungsparameter an mindestens eine physische Hardwareeinheit, beziehungsweise Abhängigkeiten zwischen Betriebsparameterprofilen zwischen mehreren Hardwareeinheiten in Abhängigkeit einer überwachten Leistungskenngröße bestimmt werden .
Weitere vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche sowie der im Folgenden beschrie- benen Ausführungsbeispiele. Im Weiteren wird die Erfindung anhand beispielhafter Implementierungen unter Bezugnahme auf die beigelegten Figuren näher erläutert. Es zeigt dabei:
Figur 1 ein Ablaufdiagramm einer Variante eines Verfahrens zum Bestimmen von Anforderungsparametern;
Figur 2 eine schematische Darstellung einer Rechneranlage zur Bestimmung von Anforderungsparametern;
Figur 3 ein Ablaufdiagramm einer Variante eines Verfahrens zum Bestimmen von Anforderungsparametern; und
Figur 4 eine schematische Darstellung einer Rechneranlage zur Bestimmung von Anforderungsparametern.
In den Figuren sind gleiche beziehungsweise funktionsgleiche Elemente mit den gleichen Bezugszeichen versehen worden, sofern nichts Anderes angegeben ist. Figur 1 zeigt ein Ablaufdiagramm einer Variante eines Verfahrens zum Bestimmen von Anforderungsparametern. Hierbei wird in einem ersten Verfahrensschritt 100 ein vorgegebener Pro- grammablauf unter Verwendung einer als virtuelle Hardwareeinheit nachgebildeten physischen Hardwareeinheit ausgeführt. In einem nächsten Verfahrensschritt 101 wird ein Betriebsparameterprofil der virtuellen Hardwareeinheit variiert. Um Anforderungsparameter an die physische Hardwareeinheit empirisch zu ermitteln, kann es notwendig sein, die Verfahrensschritte 100 "Ausführen eines Programmablaufs" und 101 "Variieren des Betriebsparameterprofils" nacheinander iterativ auszuführen. Dies wird in Figur 1 durch einen weiteren Pfeil, der die Verfahrensschritte 101 und 100 verbindet, gekennzeichnet. Pfeile zeigen hierbei eine mögliche Ausführungsreihenfolge der Verfahrensschritte an.
Ein Anforderungsparameter sind diejenigen Betriebsparameter einer Hardwarekomponente, welche zum Ausführen eines vorgege- benen Programmablaufs mindestes erforderlich sind. Betriebsparameter beschreiben nicht-funktionale Eigenschaften einer Hardwareeinheit. Beispiele hierfür können sein: Taktung eines Prozessors, Lese- oder Schreibzugriffszeiten eines Speichers, Kapazität eines Speichers, Umdrehungen einer Festplatte, Bandbreite einer Sende- oder Empfangseinrichtung. Betriebsparameter können in Betriebsparameterprofilen bezüglich einer Hardwarekomponente zusammengefasst werden.
Anforderungsparameter eines Datenbankmanagementsystems an ei- ne Festplatte ist beispielsweise eine geforderte Zugriffszeit bei einem Lesevorgang. Liegt die Zugriffszeit über dem Anforderungsparameter kann, beispielsweise durch einen Time-Out, der wohldefinierte Programmablauf des Datenbankmanagementsystems nicht gewährleistet werden. Ein Anforderungsparameter eines Programmablaufs an eine Festplatte kann beispielsweise eine Mindestkapazität von 500 GB sein, da sonst generierte Datenmengen nicht persistent gespeichert werden können. Die virtuelle Hardwareeinheit weist Leistungskenngrößen auf, welche sich in Abhängigkeit des Betriebsparameterprofils und des auszuführenden Programmablaufs ergeben. Anhand einer überwachten Leistungskenngröße werden in einem Verfahrens- schritt 102 Anforderungsparameter des Programmablaufs an die physische Hardwareeinheit bestimmt.
Figur 2 zeigt eine schematische Darstellung einer Rechneranlage 1 zur Bestimmung von Anforderungsparametern eines vorge- gebenen Programmablaufs an mindestens eine physische Hardwareeinheit. Die Rechneranlage 1 verfügt über eine Steuereinrichtung 11, welche über eine Schnittstelleneinrichtung IIa mit Nachbildeeinrichtungen 12, 13 und 14 kommuniziert. Kommunikation ist durch Doppelpfeile angedeutet. Beispielsweise handelt es sich bei einem Block 12 um eine Nachbildeeinrichtung zum Nachbilden einer Festplatte, bei einem Block 13 um eine Nachbildeeinrichtung zum Nachbilden eines Wechselspeicherlaufwerks und bei einem Block 14 um eine Nachbildeeinrichtung zum Nachbilden einer Netzwerkkarte. Hierbei sind auch Nachbildeeinrichtungen zum Nachbilden anderer physischer Hardwareeinheiten denkbar. Physische Hardwareeinheiten sind hierbei zum Betrieb eines Rechnersystems notwendige Hardwarekomponenten, wobei die Verwendung in passiver oder aktiver Weise erfolgen kann.
Analog kann die Verwendung der virtuellen Hardwareeinheit passive oder aktive Verwendung umfassen. Beispielsweise kann eine Hardwareeinheit aktiv Rechenschritte ausführen, beispielsweise Grundrechenoperationen oder Wertzuweisungen an Variablen. Beispielsweise kann ein Zuordnen der Betriebsparameter an das Betriebsparameterprofil, das Nachbilden der physischen Hardwareeinheiten, das Ausführen des Programmablaufs und/oder das Bestimmen der Anforderungsparameter durch eine virtuelle Hardwareeinheit veranlasst werden, welche als Re- cheneinheit implementiert ist. Eine Recheneinheit kann als Prozessor, Mikroprozessor, Computer, Computersystem, CPU, Central Processing Unit, arithmetische Recheneinheit und/oder Schaltkreis ausgeführt sein. Eine passive Verwendung umfasst beispielsweise das Protokollieren der Leistungskenngrößen und/oder das Speichern der Betriebsparameter, der Betriebsparameterprofile und/oder der bestimmten Anforderungsparameter.
Leistungskenngrößen beschreiben hierbei das sich aus den Betriebsparametern ergebende nicht-funktionale Verhalten der Hardwareeinheit oder des Rechnersystems in Abhängigkeit des Ausführens des Programmablaufs. Leistungskenngrößen können sich auf physische und/oder auf virtuelle Hardwareeinheiten oder Rechnersysteme beziehen. Beispielsweise ist eine Leistungskenngröße eine sich aus Taktung einer Rechnereinheit und/oder Taktung eines Speichers ergebende Bearbeitungszeit eines Programmablaufs durch ein virtuelles Rechnersystem.
Ein Programmablauf kann eine Testroutine, einen Algorithmus, ein Softwareprogramm, eine Befehlssequenz und/oder eine Programmroutine, zur Berechnung einer Ausgabe oder zum Bereitstellen eines Dienstes umfassen. Beispielsweise kann ein Programmablauf eine zu testende Softwarekomponente sein. Bei- spielsweise soll für ein Datenbankmanagementsystem getestet werden, welche Anforderungen an eine verwendete Festplatte bezüglich Antwortzeiten benötigt werden. Eine Antwortzeit ist hierbei eine Leistungskenngröße, welche durch den Betriebsparameter "Anzahl der Umdrehungen" einer Festplatte beeinflusst werden kann.
Ferner umfasst die in Figur 2 beschriebene Rechneranlage 1 eine Ausgabeeinheit 10, welche die durch die Steuereinrichtung 11 erfassten Anforderungsparameter ausgibt. Eine Ausga- beeinheit kann hierbei ein Drucker, ein Bildschirm oder eine Vorrichtung zur Wiedergabe eines akustischen Signals sein. Alternativ zu der Ausgabeeinheit kann eine Vorrichtung zum Speichern der Anforderungsparameter vorgesehen sein. Die Vorrichtung zum Speichern der Anforderungsparameter kann als jegliche Art von Speicher, beispielsweise als Festplatte, Flash Disk, CD, DVD, Band und/oder als Wechseldatenträger, vorliegen . Das Nachbilden der physischen Hardwareeinheit ist besonders dann vorteilhaft, wenn die physische Hardwareeinheit in Betrieb ist und der Betrieb nicht unterbrochen werden kann. Bietet die physische Hardwareeinheit beispielsweise einen Dienst an, so kann sie nachgebildet werden und unter Verwendung der nachgebildeten, virtuellen Hardwareeinheit können Anforderungsparameter an die physische Hardwareeinheit bestimmt werden. Der angebotene Dienst kann somit ohne Unterbrechung der physischen Hardwareeinheit angeboten werden. Insbesondere ist es möglich, das Nachbilden von Hardwareeinheiten softwarebasiert durchzuführen. Hierzu können Betriebsparameterprofile ohne Modifikation des physischen Rechnersystems systematisch und reproduzierbar variiert werden. Hierdurch können Anforderungsparameter bestimmt werden, welche diejenigen Betriebsparameter der physischen Hardwareeinheit sind, welche einen wohldefinierten Programmablauf gewährleisten .
Zum Ausführen der in Figur 1 beschriebenen Verfahrensschritte kann die Steuereinrichtung 11 folgende Einrichtungen umfassen: eine Zuordnungseinrichtung IIb zum Zuordnen des Betriebsparameterprofils an die virtuelle Hardwareeinheit, eine Ausführungseinrichtung 11c zum Ausführen des vorgegebenen Programmablaufs unter Verwendung der virtuellen Hardwareein- heit, eine Variierungseinrichtung Hd zum Variieren des Betriebsparameterprofils der virtuellen Hardwareeinheit während des Programmablaufs, eine Überwachungseinrichtung He zum Überwachen der Leistungskenngröße und eine Anforderungspara- meterbestimmungseinrichtung Hf zum Bestimmen der Anforde- rungsparameter .
Durch die Zuordnungseinheit Hb wird einer virtuellen Hardwareeinheit, welche von einer der Nachbildeeinrichtungen 12, 13 oder 14 bereitgestellt wird, ein Betriebsparameterprofil zugeordnet. Geeignete Betriebsparameterprofile werden durch die Zuordnungseinheit Hb beispielsweise über die Steuereinrichtung 11 aus einem Datenspeicher 9 ausgelesen, in Abhängigkeit einer Leistungskenngröße bereitgestellt oder in Ab- hängigkeit einer Benutzereingabe bereitgestellt. Benutzer kann hierbei eine weitere Einrichtung oder ein menschlicher Benutzer, beispielsweise ein Administrator sein. Zuordnen kann beispielsweise auch das Zuweisen eines Definitionsbe- reichs an einen Betriebsparameter umfassen. Zuordnen kann weiterhin das Zuweisen von Betriebsparametern an Betriebsparameterprofile umfassen. Wird das Verfahren zum ersten Mal durchgeführt kann Zuordnen auch das Belegen der Betriebsparameter mit initialen Werten umfassen. Beispielsweise kann eine Taktrate eines Prozessors, welcher durch eine Nachbildeeinrichtung als virtueller Prozessor nachgebildet wurde, initial mit 2 GHz belegt werden. Analog kann ein nachgebildeter, virtueller Arbeitsspeicher initial mit 2 GB belegt werden.
Die Ausführungseinrichtung 11c führt einen vorgegebenen Programmablauf unter Verwendung der virtuellen Hardwareeinheit aus. Der Programmablauf wird somit durch die virtuelle Hardwareeinheit ausgeführt oder durch die virtuelle Hardwareeinheit im Zusammenwirken mit den anderen virtuellen Hardware- einheiten oder, im Falle eines Emulierens, unter Zusammenwirkung von physischen Hardwareeinheiten mit der virtuellen Hardwareeinheit ausgeführt. Die Verwendung umfasst aktive sowie passive Verwendung.
Die Variierungseinrichtung Hd variiert das Betriebsparameterprofil der jeweiligen virtuellen Hardwareeinheit. Das Variieren umfasst beispielsweise das Zuweisen eines errechneten, geschätzten, gemessenen oder durch einen Benutzer eingegebenen Werts an den Betriebsparameter. Der Wert kann hierbei in Abhängigkeit von überwachten Leistungskenngrößen oder anderen Betriebsparameterprofilen errechnet werden. Beispielsweise können die Betriebsparameter derart variiert werden, dass sich bei jeder aufeinanderfolgenden Ausführung des Programmablaufs die überwachten Leistungskenngrößen verringern. Wie die Betriebsparameter zu variieren sind, kann die Variierungseinrichtung Hd ferner über die Steuereinrichtung 11 aus einem Datenspeicher 9 auslesen. Die Überwachung der Leistungskenngrößen geschieht durch eine Überwachungseinrichtung He. Die Überwachungseinrichtung He überwacht Leistungskenngrößen einer Hardwareeinheit, einer Auswahl von Hardwareeinheiten oder des gesamten virtuellen Rechnersystems. Aus den überwachten Leistungskenngrößen bestimmt die Anforderungsparameterbestimmungseinrichtung Hf die Anforderungsparameter des Programmablaufs an die physische Hardwareeinheit. Die Anforderungsparameter sind diejenigen Betriebsparameter, die einen wohldefinierten Programmab- lauf gewährleisten. Hierbei können sich Anforderungsparameter auf eine physische Hardwareeinheit, eine Auswahl von physischen Hardwareeinheiten oder ein physisches Rechnersystem beziehen .
Figur 3 zeigt ein Ablaufdiagramm einer Variante eines Verfahrens zum Bestimmen von Anforderungsparametern. In einem ersten Verfahrensschritt 200 wird eine physische Hardwareeinheit als virtuelle Hardwareeinheit nachgebildet. Die nachgebildete, virtuelle Hardwareeinheit findet Verwendung in den Ver- fahrensschritten 201, 202, 203 und 204, was in Figur 3 durch einen übergeordneten Verfahrensschritt 200, mittels einem die Verfahrensschritte 201, 202, 203 und 204 umfassenden Block grafisch dargestellt ist. Der Verfahrensschritt 200 umfasst das Bereitstellen einer virtuellen Hardwareeinheit, was bei- spielsweise durch Emulieren oder Virtualisieren geschehen kann. Beispielsweise kann der Verfahrensschritt durch einen Hypervisor durchgeführt werden. Ein Hypervisor kann beispielsweise VMWare sein. Ein Hypervisor kann eine Nachbildeeinrichtung umfassen, beispielsweise die in Figur 2 be- schriebene Nachbildeeinrichtung 12 zum Nachbilden einer Festplatte, die Nachbildeeinrichtung 13 zum Nachbilden eines Wechselspeicherlaufwerks und/oder die Nachbildeeinrichtung 14 zum Nachbilden einer Netzwerkkarte.
Emulieren kann das teilweise Bereitstellen von Funktionalität durch die virtuelle Hardwareeinheit umfassen, wobei nicht bereitgestellte Funktionalität von einer physischen Hardwareeinheit bereitgestellt werden kann. Beispielsweise können bei einem Emulieren Lesezugriffe auf einen ersten Datensatz einer Festplatte durch eine virtuelle Hardwareeinheit ausgeführt werden und Schreibzugriffe auf einen zweiten Datensatz der Festplatte durch eine physische Hardwareeinheit ausgeführt werden. Virtualisieren kann hierbei das vollständige Bereitstellen von Funktionalität durch die virtuelle Hardwareeinheit beschreiben.
Beispielsweise werden bei einem Virtualisieren einer physi- sehen Festplatte die Funktionalität der physischen Festplatte, wie beispielsweise das Lesen und das Schreiben der Datensätze, durch eine virtuelle Festplatte ausgeführt. Eine virtuelle Festplatte ist hierbei eine virtuelle Hardwareeinheit, welche die Funktionalität einer physischen Festplatte durch Emulieren oder Virtualisieren bereitstellt. Betriebsparameter der virtuellen Hardwareeinheit wie beispielsweise die Speicherkapazität können hierbei unter Verwendung einer physischen Festplatte bereitgestellt werden. Analog kann auch eine physische Festplatte Speicherkapazität für mehrere virtuelle Festplatten bereitstellen. Selbst bei einer vollständigen
Nachbildung der Funktionalität der physischen Festplatte, wie beispielsweise Schreib- oder Leseoperationen, benötigt also eine virtuelle Festplatte einen physischen Speicher, um den Betriebsparameter Speicherkapazität entsprechend der vorhan- denen physischen Speicherkapazität anbieten zu können.
In einem virtuellen Rechnersystem kann die Anzahl der umfass- ten virtuellen Hardwareeinheiten ungleich der Anzahl der physischen Hardwareeinheiten des nachgebildeten, physischen Rechnersystems sein. Beispielsweise können in einem virtuellen Rechnersystem mehrere virtuelle Hardwareeinheiten vorhanden sein, welche durch eine einzige physische Hardwareeinheit betrieben werden. Ein Nachbilden einer physischen Hardwareeinheit stellt nicht zwangsläufig eine Bijektion zwischen physischen Hardwareeinheiten und virtuellen Hardwareeinheiten dar, sondern kann auch eine n:m Abbildung sein. Hierbei sind n und m jeweils natürliche Zahlen, welche die Anzahl der jeweiligen Hardwareeinheiten benennen. Nachbilden einer physischen Hardwareeinheit umfasst daher das Bereitstellen und Betreiben einer virtuellen Hardwareeinheit gemäß der Funktionalität der jeweiligen physischen Hardware- einheit.
Im Verfahrensschritt 201 wird der virtuellen Hardwareeinheit ein Betriebsparameterprofil zugeordnet. Hierzu werden aus einer Menge von Betriebsparametern geeignete Betriebsparameter ausgewählt und Betriebsparameterprofilen zugewiesen, welche wiederum der virtuellen Hardwareeinheit zugewiesen werden. Ferner umfasst das Zuordnen das Zuweisen von Definitionsbereichen an die Betriebsparameter. Wird das Verfahren ein erstes Mal ausgeführt umfasst das Zuordnen auch die Zuweisung initialer Werte an die Betriebsparameter. In einem Verfahrensschritt 202 wird ein vorgegebener Programmablauf unter Verwendung der virtuellen Hardwareeinheit ausgeführt. An der Ausführung können neben der virtuellen Hardwareeinheit auch andere virtuelle oder physische Hardwareeinheiten beteiligt sein. Ein Programmablauf kann hierbei eine Testroutine, einen Algorithmus, ein Softwareprogramm, eine Befehlssequenz und/oder eine Programmroutine umfassen. Beispielsweise kann ein Programmablauf ein Office-Programm, ein Datenbankmanagementsystem, ein Video-Player, ein Steuerungsprogramm oder Serverdienst sein. Weiterhin können Programmabläufe server- seitig oder clientseitig und/oder verteilt ausgeführt werden.
Beispielsweise stellt ein Office-Programm Anforderungsparameter an den Betriebsparameter Speicherkapazität einer physi- sehe Festplatte, da es lokal auf der Festplatte installiert wird. Ein wohldefinierter Programmablauf kann beispielsweise sein, dass jederzeit die erzeugten Dokumente persistent gespeichert werden können. Zum persistenten Speichern stellt ein Office-Programm ebenfalls Anforderungsparameter an eine physische Festplatte. Bezüglich des Abgleichs von Dokumenten mit einer entfernten Dokumentenablage benötigt das Office- Programm eine Netzwerkanbindung, welche beispielsweise über eine physische Netzwerkkarte bereitgestellt wird. Anforde- rungsparameter an die physische Netzwerkkarte kann dann beispielsweise eine vorgegebene Bandbreite sein.
Zum Bestimmen von Anforderungsparameter an einen physischen Arbeitsspeicher kann in einem Schritt 200 der Arbeitsspeicher als virtueller Arbeitsspeicher nachgebildet werden. Der Programmablauf des Office-Programms wird dann unter Verwendung des virtuellen Arbeitsspeichers, welchem ein Betriebsparameterprofil in einem Schritt 201 zugeordnet wurde, ausgeführt.
Das Ausführen des Office-Programms erfolgt in einem Schritt 202, wobei ein entsprechendes Betriebsparameterprofil, welches die Speicherkapazität des virtuellen Arbeitsspeichers festlegt, in einem Schritt 203 variiert wird. Beispielsweise wird die Kapazität bei mehreren Ausführungen des Programmablaufs durch ein Testprogramm, das über eine geeignete Schnittstelle die Veränderung der den Betriebsparametern zugewiesenen Werten vornehmen kann, sukzessive verringert. Der Programmablauf gilt beispielsweise als nicht mehr wohldefi- niert, wenn sich durch Auslagerung von Daten auf den Festplattenspeicher, aufgrund der verminderten Speicherkapazität des virtuellen Arbeitsspeichers, erhebliche Zeitverzögerungen ergeben. Die Zeitverzögerung ist eine Leistungskenngröße der verwendeten virtuellen Hardwareeinheit. Überschreitet die Zeitverzögerung eine vorgegebene Soll-Leistungskenngröße, ist der wohldefinierte Programmablauf nicht mehr gewährleistet.
Die Anforderungsparameter beschreiben nun diejenigen Betriebsparameter des Arbeitsspeichers, welche beim Ausführen des Office-Programms unter Verwendung des virtuellen Arbeitsspeichers die Soll-Leistungskenngröße erfüllen. Der Einsatz des erfindungsgemäßen Verfahrens im beschriebenen Beispiel ist vorteilhaft, weil die Anforderungsparameter des Office- Programms an den physischen Arbeitsspeicher systematisch und ohne Modifikationen an einem physischen Rechnersystem bestimmt werden können. Im Verfahrensschritt 203 werden Betriebsparameterprofile variiert. Das Variieren umfasst hierbei das Zuweisen von veränderten Werten an die Betriebsparameter. Dies kann in Abhängigkeit eines weiteren Betriebsparameterprofils einer virtu- eilen Hardwareeinheit geschehen. Weiterhin können Betriebsparameter derart variiert werden, dass sich in einem Programmablauf gemessene Leistungskenngrößen in einem nächsten Programmablauf vermindern. Beispielsweise kann in jeweils nachfolgenden Programmabläufen die Taktung eines Prozessors ver- mindert werden, so dass die jeweilige Ausführung des Programmablaufs im Vergleich zum jeweils vorherigen Ausführen des Programmablaufs länger dauert. So kann beispielsweise getestet werden, bei welcher Taktung des Prozessors ein time- out auftritt. Wie die entsprechenden Betriebsparameter zu va- riieren sind, kann aus einem Datenspeicher ausgelesen werden, berechnet, geschätzt oder auch durch Benutzereingabe bestimmt werden .
Im Verfahrensschritt 204 werden die sich aus dem Betriebspa- rameterprofil und dem Programmablauf ergebenden Leistungskenngrößen überwacht. Eine Leistungskenngröße ist beispielsweise eine Ausführungszeit, die das Ausführen eines Programmablaufs unter Verwendung der virtuellen Hardwareeinheit benötigt. Anhand der überwachten Leistungskenngrößen werden in Verfahrensschritt 205 Anforderungsparameter an die physische Hardwareeinheit bestimmt.
Zum Bestimmen von Anforderungsparametern an die physische Hardwareeinheit können die Verfahrensschritte 200, 201, 202, 203, 204 und 205 parallel, teilweise parallel oder in der gleichen Reihenfolge iterativ ausgeführt werden. Beispielsweise kann der Verfahrensschritt 203, in welchem die Betriebsparameterprofile variiert werden, parallel zum Verfahrensschritt 202 durchgeführt werden. Hieraus ergibt sich, dass die Betriebsparameter während des Ausführens des Programmablaufs unter Verwendung der virtuellen Hardwareeinheit variiert werden. Verfahrensschritt 204 "Überwachen der Leistungskenngröße" kann beispielsweise parallel zu Verfahrensschritt 202 "Ausführen des Programmablaufs" und Verfahrensschritt 203 "Variieren der Betriebsparameterprofile" durchgeführt werden, um so die sich ergebenden Leistungskenngrößen zu überwachen. Beispielsweise kann eine in Figur 2 beschriebene Überwachungseinrichtung He, Leistungskenngrößen, wie beispielsweise Ausführungszeiten von Programmabläufen mitprotokollieren, während eine Taktung eines nachgebildeten, virtuellen Prozes- sors während des Ausführens des Programmablaufs sukzessive vermindert wird. Beispielsweise kann auch Verfahrensschritt 201 parallel zum Ausführen des Programmablaufs in Verfahrensschritt 202 durchgeführt werden. Mögliche Ausführungsreihenfolgen der Verfahrensschritte sind in Figur 3 entsprechend durch Pfeile gekennzeichnet.
Figur 4 zeigt eine schematische Darstellung einer Rechneranlage 3 zur Bestimmung von Anforderungsparametern. Hierzu wird ein vorgegebener Programmablauf 300 durch ein Testprogramm 302 in einer Instanz eines Tests 301 bezüglich der Anforderungsparameter des vorgegebenen Programmablaufs an mindestens eine physische Hardwareeinheit getestet. Alternativ kann das Testprogramm 302 auch als "Test Driver" bezeichnet werden. Sowohl der Programmablauf 300, als auch das Testprogramm 302 greifen über ein Gastbetriebssystem 303, alternativ auch
"Guest-Operating-System" genannt, auf ein virtuelles Rechnersystem 304 zu.
Das virtuelle Rechnersystem umfasst die virtuellen Hardware- einheiten 305a, 305b, 305c, 305d und 305e. Die virtuellen
Hardwareeinheiten werden jeweils durch Nachbildeeinrichtungen 306a, 306b, 306c, 306d und 306e, welche in einer Nachbildevorrichtung 306 umfasst sein können, bereitgestellt. Die Nachbildeeinrichtungen 306a, 306b, 306c, 306d und 306e bilden jeweils eine physische Hardwareeinheit als eine virtuelle
Hardwareeinheit nach. Die Nachbildeeinrichtungen 306a, 306b, 306c, 306d und 306e können über eine Performance-Limiter- Einrichtung verfügen, welche das Betriebsparameterprofil der jeweiligen virtuellen Hardwareeinheit derart variiert, dass sich eine abnehmende Leistungskenngröße bei jeder Wiederholung des Ausführens des Programmablaufs ergibt. Eine Performance-Limiter-Einrichtung kann beispielsweise einer in Figur 2 beschriebenen Variierungseinrichtung entsprechen. Performance-Limiter-Einrichtungen können über eine Performance- Limiting-Control-Einrichtung, über die die Schnittstelleneinrichtung 310 angesteuert wird, verfügen. Physische Hardwareeinheiten können beispielsweise als Netzwerkkarte, als Wech- selspeicherlaufwerk, als Festplatte, als Speicherbaustein, als Prozessor oder Mikroprozessor vorliegen.
Die Betriebsparameterprofile der virtuellen Hardwareeinheiten können durch das Testprogramm 302 über eine Schnittstellen- einrichtung 310 zugeordnet, beziehungsweise variiert werden. Das Testprogramm 302 veranlasst das Ausführen des Programmablaufs 300 für jeden Test 301 und überwacht die sich aus dem Programmablauf 300 und dem Betriebsparameterprofil der virtuellen Hardwareeinheit ergebenden Leistungskenngrößen. Leis- tungskenngrößen werden durch das Testprogramm 302 protokolliert, und in Abhängigkeit der protokollierten Leistungskenngrößen werden durch das Testprogramm 302 Anforderungsparameter des Programmablaufs 300 an die physische Hardwareeinheit bestimmt. Dies kann beispielsweise, wie bereits beschrieben, durch sukzessives Vermindern der Leistungskenngrößen und
Überwachen des Ausführens des Programmablaufs durchgeführt werden .
Die Nachbildevorrichtung 306 mit den ihr zugeordneten Nach- bildeeinrichtungen 306a, 306b, 306c, 306d und 306e greift über das Hostbetriebssystem 307, alternativ auch "Host- Operating-System" genannt, auf das physische Rechnersystem 308 zu, was in Figur 4 durch bidirektionale Pfeile gekennzeichnet ist. "Guest-Operating-System" 303 und "Host- Operating-System" 307 können beispielsweise als eine Version von Windows oder als eine Version von Linux vorliegen. Das physische Rechnersystem 308 verfügt über die physischen Hardwareeinheiten 309a, 309b, 309c, 309d und 309e. In einer alternativen Ausführungsform können die Nachbildeeinrichtungen 306a, 306b, 306c, 306d und 306e physische Hardwareeinrichtungen nachbilden, welche sich bezüglich der Betriebsparameterprofile und der Definitionsbereiche der Betriebsparameter von den physischen Hardwareeinheiten 309a, 309b, 309c, 309d und 309e unterscheiden und somit ein physisches Rechnersystem nachbilden, welches nicht dem physischen Rechnersystem 308 entspricht.
Ein mögliches Einsatzszenario der in Figur 4 beschriebenen Rechneranlage 3 ist das Testen von virtuellen Hardwareeinheiten (305a, 305b, 305c, 305d, 305e) eines virtuellen Rechnersystems 304 bei einem Ausführen von Programmabläufen 300, un- ter Verwendung einer herkömmlichen Festplatte und/oder unter Verwendung eines Arbeitsspeichers. Ein vorteilhaftes Resultat wäre beispielsweise, dass aufgrund der überwachten Leistungskenngrößen teuerer Arbeitsspeicher durch vergleichsweise kostengünstigeren Festplattenspeicher zur Kostenreduktion er- setzt werden kann. Dies ist beispielsweise sinnvoll, wenn zur Gewährleistung des wohldefinierten Programmablaufs 300 die mit dem Arbeitsspeicher verglichen niedrigeren Zugriffszeiten einer Festplatte ausreichend sind. Somit können beispielsweise Auslagerungsdaten in hohem Umfang auf den, im Vergleich zu Arbeitsspeicher, kostengünstigeren Festplattenspeichern gespeichert werden. Da die Daten somit auf der Festplatte gespeichert sind und nicht auf dem Arbeitsspeicher, kann somit Arbeitsspeicher eingespart werden.
Ein weiteres Beispiel ist die Simulation der Verwendung von Flash Disks. Die Leistungskenngrößen Schreibgeschwindigkeit und Lesegeschwindigkeit sind bei Flash Disks im Gegensatz zu einer herkömmlichen Festplatte asymmetrisch. Beispielsweise benötigt ein Schreiben auf die Flash Disk länger, als ein Le- sen von der Flash Disk. Anhand der vorbeschriebenen Rechneranlage 3 können die physische Hardwareeinheit Festplatte und die physische Hardwareeinheit Flash Disk nachgebildet werden. Der Programmablauf kann nun ein erstes Mal unter Verwendung einer virtuellen Festplatte und ein zweites mal unter Verwendung einer virtuellen Flash Disk ausgeführt werden. Durch Variieren der Betriebsparameterprofile der virtuellen Hardwareeinheit Festplatte und der virtuellen Hardwareeinheit Flash Disk, können nun systematisch deren Leistungskenngrößen beim Ausführen des Programmablaufs überwacht werden. Anhand des Tests kann beispielsweise das Ersetzen einer herkömmlichen Festplatte durch eine Flash Disk simuliert werden. Gewährleisten verminderte Leistungskenngrößen von physischen Hard- wareeinheiten eines bestehenden physischen Rechnersystems einen wohldefinierten Programmablauf, so können entsprechende physische Hardwareeinheiten durch physische Hardwareeinheiten mit verminderten Leistungskenngrößen eingesetzt werden. Hierdurch lässt sich eine Kostenreduktion erzielen.
Vorteilhaft ist hierbei, dass Anforderungsparameter systematisch, unter Einbeziehung eines Betriebssystems (303) , ohne Verwendung teurer, physischer Hardwarekomponenten (309a, 309b, 309c, 309d, 309e) und ohne Modifikationen an einem phy- sischen Rechnersystem (308) bestimmt werden können.

Claims

Patentansprüche
1. Verfahren zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit (309a, 309b, 309c, 309d, 309e) eines mehrere Hardwareeinheiten umfassenden physischen Rechnersystems (308), wobei eine aus Betriebsparametern resultierende Leistungskenngröße der physischen Hardwareeinheit (309a, 309b, 309c, 309d, 309e) einer vordefinierten Leistungskenngröße entsprechen soll, wobei unter Verwendung einer als virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e) nachgebildeten Hardwareeinheit mit variierbaren Betriebsparametern ein vorgegebener Programmablauf 300 ausgeführt wird und die Anforderungsparameter, welche ein wohldefiniertes Ausführen des Pro- grammablaufs 300 unter Verwendung der physischen Hardwareeinheit (309a, 309b, 309c, 309d, 309e) gewährleisten, in Abhängigkeit einer überwachten Leistungskenngröße der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) bestimmt werden.
2. Verfahren nach Anspruch 1, wobei zumindest eine Auswahl der folgenden Schritte ausgeführt wird:
- Nachbilden (200) der physischen Hardwareeinheit als virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e) zum Ausbilden zumindest eines Teils eines virtuellen Rechnersystems (304), welches dem physischen Rechnersystem (308) entspricht;
- Zuordnen (201) von mindestens einem Betriebsparameterprofil an die virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e) , welches mindestens einen Betriebsparameter umfasst;
- Ausführen (202) des vorgegebenen Programmablaufs unter Verwendung der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e); - Variieren (203) des Betriebsparameterprofils der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) während des Ausführens (202) des Programmablaufs (300); - Überwachen (204) der Leistungskenngröße des virtuellen Rechnersystems (304) während des Ausführens (202) des Programmablaufs (300);
- Bestimmen (205) der Anforderungsparameter in Abhängig- keit der überwachten Leistungskenngröße des virtuellen
Rechnersystems (304), wobei die Anforderungsparameter Betriebsparametern der physischen Hardwareeinheit (309a, 309b, 309c, 309d, 309e) entsprechen, welche einen wohldefinierten Programmablauf (300) gewährleisten.
3. Verfahren nach Anspruch 2, wobei zum Bestimmen der Anforderungsparameter das Ausführen (202) des Programmablaufs (300), das Variieren (203) des Betriebsparameterprofils und/oder das Überwachen (204) der Leistungskenngröße des virtuellen Rechnersystems (304) mehrfach in gleicher Abfolge ausgeführt wird.
4. Verfahren nach Anspruch 2, wobei zum Bestimmen (205) der Anforderungsparameter das Ausführen (202) des Pro- grammablaufs (300), das Variieren (203) des Betriebsparameterprofils und/oder das Überwachen (204) der Leistungskenngröße des virtuellen Rechnersystems (304) zumindest teilweise zeitlich parallel ausgeführt wird.
5. Verfahren nach einem der Ansprüche 1 bis 4, wobei der Programmablauf (300) mehrfach ausgeführt wird und das Betriebsparameterprofil derart variiert wird, dass die überwachte Leistungskenngröße des virtuellen Rechnersystems (304) bei einem Programmablauf (300) geringer ist als die überwachte Leistungskenngröße des virtuellen Rechnersystems (304) bei einem zeitlich zuvor ausgeführten Programmablauf (300) .
6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Nachbilden (200) der physischen Hardwareeinheit Virtuali- sieren umfasst.
7. Verfahren nach einem der Ansprüche 1 bis 6, wobei das Nachbilden (200) der physischen Hardwareeinheit Emulieren umfasst .
8. Verfahren nach einem der Ansprüche 1 bis 7, wobei das
Variieren (203) des Betriebsparameterprofils mittels einer Schnittstelleneinrichtung (310) des virtuellen Rechnersystems (304) erfolgt.
9. Verfahren nach einem der Ansprüche 1 bis 8, wobei das
Nachbilden (200) der physischen Hardwareeinheit ein Erweitern eines Hypervisors um eine Schnittstelleneinrichtung (310) zum Variieren (203) des Betriebsparameterprofils der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) umfasst.
10. Verfahren nach einem der Ansprüche 1 bis 9, wobei zum Variieren (203) des Betriebsparameterprofils mindestens ein Betriebsparameter in Abhängigkeit mindestens eines weiteren Betriebsparameters variiert wird.
11. Verfahren nach einem der Ansprüche 1 bis 10, wobei das Variieren (203) eines Betriebsparameterprofils einer ersten virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) in Abhängigkeit eines Betriebsparameterprofils einer zweiten virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) erfolgt.
12. Verfahren nach einem der Ansprüche 1 bis 11, wobei das Variieren (203) des Betriebsparameterprofils derart geschieht, dass die virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e) eine vorgegebene Soll-Leistungskenngröße erreicht .
13. Verfahren nach Anspruch 12, wobei die Soll- Leistungskenngröße der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) in Abhängigkeit des Programmablaufs (300) bestimmt wird.
14. Verfahren einem der Ansprüche 2 bis 13, wobei das Variieren (203) des Betriebsparameterprofils in Abhängigkeit des Überwachens der Leistungskenngröße (204) geschieht.
15. Verfahren nach einem der Ansprüche 2 bis 14, wobei das Überwachen (204) der Leistungskenngröße Erfassen, Messen, Schätzen, Protokollieren und/oder Speichern von Leistungskenngrößen umfasst.
16. Verfahren nach einem der Ansprüche 1 bis 15, wobei der Programmablauf (300) eine Testroutine, einen Algorithmus, ein Software-Programm, eine Befehlssequenz und/oder eine Programmroutine umfasst.
17. Rechneranlage (1) zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit
(309a, 309b, 309c, 309d, 309e) eines mehrere Hardwareeinheiten umfassenden physischen Rechnersystems (308), mit einer Steuereinrichtung (11) zum Nachbilden der physischen Hardwareeinheit (309a, 309b, 309c, 309d, 309e) als virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e) , zum Zuordnen von mindestens einem Betriebsparameterprofil an die virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e) , zum Variieren des Betriebsparameterprofils der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) , zum Überwachen einer Leistungskenngröße und zum Bestimmen der Anforderungsparameter, wobei die Anforderungsparameter, welche ein wohldefiniertes Ausführen eines vorgegebe- nen Programmablaufs (300) unter Verwendung der physischen Hardwareeinheit (309a, 309b, 309c, 309d, 309e) gewährleisten .
18. Rechneranlage (1) nach Anspruch 17, wobei die Steuer- einrichtung (11) umfasst: mindestens eine Nachbildeeinrichtung (12, 13, 14) zum Nachbilden der physischen Hardwareeinheit (309a, 309b, 309c, 309d, 309e), mindestens eine Zuordnungseinrichtung (IIb) zum Zuordnen des Betriebsparameterprofils an die virtuelle Hardwareeinheit (305a, 305b, 305c, 305d, 305e) , mindestens eine Ausführungseinrichtung (llc) zum Ausführen des vorgegebenen Programmablaufs (300) unter Verwendung der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) , mindestens eine Variierungseinrichtung (Hd) zum Variieren des Betriebsparameterprofils der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) während des Programmablaufs (300), mindestens eine Überwachungsein- richtung (He) zum Überwachen der Leistungskenngröße und/oder mindestens eine Anforderungsparameterbestimmungs- einrichtung (Hf) zum Bestimmen der Anforderungsparameter.
19. Rechneranlage (1) nach Anspruch 17 oder 18, wobei die Rechneranlage (1) derart ausgestaltet ist, dass ein Verfahren nach einem der Ansprüche 1 bis 16 ausgeführt wird.
20. Rechneranlage (3) nach Anspruch 18 oder 19, wobei die Nachbildeeinrichtung als Hypervisor, in welchem eine Schnittstelleneinrichtung (310) zum Variieren des Betriebsparameterprofils der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) , vorgesehen ist, ausgeführt ist.
21. Rechneranlage (1) nach einem der Ansprüche 18 bis 20, wobei die Variierungseinrichtung (Hd) das Betriebsparameterprofil der virtuellen Hardwareeinheit (305a, 305b, 305c, 305d, 305e) während des Ausführens des Programmablaufs (300) über die Schnittstelleneinrichtung (IIa) vari- iert.
22. Rechneranlage (1) nach einem der Ansprüche 17 bis 21, wobei die Nachbildeeinrichtung (12, 13, 14), die Zuordnungseinrichtung (Hb), die Ausführungseinrichtung (Hc), die Variierungseinrichtung (Hd), die Überwachungseinrichtung (He) und die Anforderungsparameterbestimmungsein- richtung (Hf) zumindest teilweise als Computerprogrammprodukt implementiert sind.
23. Computerprogrammprodukt, welches ein Verfahren nach einem der Ansprüche 1 bis 16 auf einer Rechneranlage (1, 3) nach einem der Ansprüche 17 bis 22 durchführt.
PCT/EP2009/059342 2008-09-05 2009-07-21 Verfahren und vorrichtung zum bestimmen von anforderungsparametern an mindestens eine physische hardwareeinheit WO2010025994A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP09780864A EP2318962A1 (de) 2008-09-05 2009-07-21 Verfahren und vorrichtung zum bestimmen von anforderungsparametern an mindestens eine physische hardwareeinheit
US13/058,254 US8457944B2 (en) 2008-09-05 2009-07-21 Method and device for determining requirement parameters of at least one physical hardware unit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102008046096A DE102008046096A1 (de) 2008-09-05 2008-09-05 Verfahren und Vorrichtung zum Bestimmen von Anforderungsparametern an mindestens eine physische Hardwareeinheit
DE102008046096.6 2008-09-05

Publications (1)

Publication Number Publication Date
WO2010025994A1 true WO2010025994A1 (de) 2010-03-11

Family

ID=41278219

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/059342 WO2010025994A1 (de) 2008-09-05 2009-07-21 Verfahren und vorrichtung zum bestimmen von anforderungsparametern an mindestens eine physische hardwareeinheit

Country Status (4)

Country Link
US (1) US8457944B2 (de)
EP (1) EP2318962A1 (de)
DE (1) DE102008046096A1 (de)
WO (1) WO2010025994A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210232477A1 (en) * 2018-06-06 2021-07-29 Nippon Telegraph And Telephone Corporation Installation device and installation method

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011021069A2 (en) * 2009-08-19 2011-02-24 Nxp B.V. Lazy resource management
WO2012146406A1 (en) 2011-04-23 2012-11-01 Deubzer Michael Method for the design evaluation of a system
US9268663B1 (en) * 2012-04-12 2016-02-23 Amazon Technologies, Inc. Software testing analysis and control
US9058428B1 (en) 2012-04-12 2015-06-16 Amazon Technologies, Inc. Software testing using shadow requests
US9009677B2 (en) * 2013-03-18 2015-04-14 Microsoft Technology Licensing, Llc Application testing and analysis
JP2015154818A (ja) * 2014-02-20 2015-08-27 任天堂株式会社 据置型のゲーム装置、ゲーム装置、ゲームシステム、コンピュータプログラム及び速度制御方法
US9690708B2 (en) * 2015-05-19 2017-06-27 Qualcomm Incorporated Real-time cache behavior forecast using hypothetical cache
WO2019201461A1 (de) * 2018-04-18 2019-10-24 Siemens Aktiengesellschaft Verfahren und steuersystem zum steuern und/oder überwachen von geräten

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006024325A1 (en) * 2004-08-31 2006-03-09 Freescale Semiconductor, Inc. Method for estimating power consumption
US7555419B2 (en) * 2006-07-23 2009-06-30 Hewlett-Packard Development Company, L.P. Simulation of system execution of instructions
US20100274550A1 (en) * 2008-01-24 2010-10-28 National Chung Cheng University Integrated development structure having virtual inputs/outputs for embedded hardware/software

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
POURSEPANJ A: "THE POWERPC PERFORMANCE MODELING METHODOLOGY", COMMUNICATIONS OF THE ASSOCIATION FOR COMPUTING MACHINERY, ACM, NEW YORK, NY, US, vol. 37, no. 6, 1 June 1994 (1994-06-01), pages 47 - 55, XP000450281, ISSN: 0001-0782 *
PRETE C A ET AL: "THE CHARM TOOL FOR TUNING EMBEDDED SYSTEMS", IEEE MICRO, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 17, no. 4, 1 July 1997 (1997-07-01), pages 67 - 76, XP000658535, ISSN: 0272-1732 *
WATSON M ET AL: "Simulating L3 caches in real time using hardware accelerated cache simulation (HACS): a case study with SPECint 2000", COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING, 2002. PROCEEDING S. 14TH SYMPOSIUM ON OCT. 28.30, 2002, PISCATAWAY, NJ, USA,IEEE, 1 January 2002 (2002-01-01), pages 108 - 114, XP010632401, ISBN: 978-0-7695-1772-8 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210232477A1 (en) * 2018-06-06 2021-07-29 Nippon Telegraph And Telephone Corporation Installation device and installation method
US11709751B2 (en) * 2018-06-06 2023-07-25 Nippon Telegraph And Telephone Corporation Installation device and installation method

Also Published As

Publication number Publication date
DE102008046096A1 (de) 2010-06-10
EP2318962A1 (de) 2011-05-11
US8457944B2 (en) 2013-06-04
US20110172985A1 (en) 2011-07-14

Similar Documents

Publication Publication Date Title
WO2010025994A1 (de) Verfahren und vorrichtung zum bestimmen von anforderungsparametern an mindestens eine physische hardwareeinheit
DE112010004420T5 (de) Verfahren und System zur Verbesserung der Ausführungszeit von Software durch Optimierung elnes Leistungsmodells
DE102019003851A1 (de) Systeme und Verfahren zum automatischen Realisieren von Modellen zu Co-Simulation
US8260603B2 (en) Scaling a prediction model of resource usage of an application in a virtual environment
DE112012003716T5 (de) Erzeugen von kompiliertem Code, der Registeraktivität angibt
EP2765528B1 (de) Wahlfreier Zugriff auf Signalwerte eines FPGA zur Laufzeit
EP2897011B1 (de) Verfahren und Simulationsanordnung zur Simulation einer automatisierten Industrieanlage
EP3001313A1 (de) Verfahren zur Simulation eines Anwendungsprogramms eines elektronischen Steuergeräts auf einem Computer
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
EP2442248B1 (de) Kopplungsmethodik für nicht-iterative Co-Simulation
DE112012004776T5 (de) Erzeugen einer Produktionsserver-Lastaktivität für einen Testserver
EP2685382A1 (de) Verfahren und Vorrichtung zum Erstellen und Testen eines Steuergeräteprogramms
DE102006019292A1 (de) Modellieren programmierbarer Einrichtungen
EP3398092A1 (de) Verfahren zum konfigurieren einer co-simulation für ein gesamtsystem
WO2018003495A1 (ja) Ecuシミュレーション装置
DE102018110020A1 (de) Verfahren zum Erzeugen eines auf einem Testgerät ausführbaren Modells eines technischen Systems und Testgerät
DE102008006648A1 (de) Simulatorentwicklungssystem und Simulatorentwicklungsverfahren
EP2321729B1 (de) Verfahren und vorrichtung zum analysieren einer ausführung eines vorgegebenen programmablaufs auf einem physischen rechnersystem
DE102013101300A1 (de) Wahlfreier Zugriff auf Signalwerte eines FPGA zur Laufzeit
DE10333088A1 (de) Verfahren zum Liefern von Zugriff auf die internen Signale eines dynamischen Systemmodells von außerhalb bezüglich der Modellierungsumgebung
DE10324594A1 (de) Verfahren zum Bereitstellen einer verbesserten Simulationsfähigkeit eines dynamischen Systems außerhalb der ursprünglichen Modellierungsumgebung
DE112017006932B4 (de) Simulationseinrichtung, Simulationsverfahren und Simulationsprogramm
DE102021130117A1 (de) Diagnosemuster-erzeugungsverfahren und computer
DE102012217328A1 (de) Verfahren zum Simulieren eines Steuergeräts
EP3001318A1 (de) Bestimmung von Signalen für Readback aus FPGA

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09780864

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2009780864

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2009780864

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13058254

Country of ref document: US