(19)
(11)EP 2 386 948 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
11.12.2019 Bulletin 2019/50

(21)Application number: 10175402.6

(22)Date of filing:  06.09.2010
(51)International Patent Classification (IPC): 
G06F 9/50(2006.01)

(54)

System and method for managing resources in a partitioned computing system based on resource usage volatility

System und Verfahren zur Verwaltung von Ressourcen in einem partionierten Computersystem basierend auf der Ressourcennutzungsvolatilität

Système et procédé de gestion de ressources dans un système informatique à partition basé sur la volatilité d'utilisation des ressources


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR

(30)Priority: 11.05.2010 US 777276

(43)Date of publication of application:
16.11.2011 Bulletin 2011/46

(73)Proprietor: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Singapur 768923 (SG)

(72)Inventors:
  • Jayaraman, Bhaskar
    560043, Bangalore (IN)
  • McKean, Brian D
    Longmont, CO 80503 (US)

(74)Representative: Dilg, Haeusler, Schindelmann Patentanwaltsgesellschaft mbH 
Leonrodstrasse 58
80636 München
80636 München (DE)


(56)References cited: : 
US-A1- 2009 037 922
  
      
    Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


    Description

    BACKGROUND



    [0001] Typically, performance of a partitioned computing system including multiple partitions is measured in terms of usage of its resources, such as central processing unit (CPU), input/output (I/O), memory and the like. Peak usage of a partitioned computing system's resources in a datacenter usually happens at different times and many times they can be random and unpredictable. An increase or decrease in the usage of a partitioned computing system's resource can affect its performance and needs to be managed reliably for performance improvements, i.e., hardware resources of the partitioned computing system need to be managed to improve performance.

    [0002] Very often, this assured reliability and management of resources on the partitioned computing system are governed by service level agreements (SLAs). For example, a user may assign the resources to one or more partitions based on SLAs, which may not require all of the assigned resources to run the applications. This can result in underutilizing the assigned resources and can also result in risk of resource utilization being low. In contrast, the user can assign less than required resources to the one or more partitions in the partitioned computing system, which can result in risk of resource utilization being high and can significantly affect performance.

    [0003] US 2009/0037922 discloses a computer system which comprises a workload management controller that detects and tracks resource consumption volatility patterns and automatically and dynamically adjusts resource headroom according to the volatility patterns. Volatility may be measured as the standard deviation of a measurable metric of resource usage.

    SUMMARY



    [0004] As claimed, there are provided a system and a method and a non-transitory computer-readable storage medium for managing resources in a partitioned computing system based on resource usage volatility. In one aspect and as claimed in claim 1, there is provided a computer implemented method for managing resources in a partitioned computing system based on resource usage volatility, wherein the partitioned computing system is a logical partitioned system or a virtual machine under a hypervisor or an emulator and includes one or more partitions. The method comprises computing a volatility of resource usage for each partition based on computed resource usage gains/losses associated with each partition; determining a current resource usage of each partition; determining a risk of resource saturation by comparing the computed volatility of resource usage with the determined current resource usage of each partition; and managing resources in the partitioned computing system using the determined risk of resource saturation associated with each partition by by selecting a partition for moving in new resources, moving out resources or sharing resources in the partitioned computing system.

    [0005] As claimed in claim 5, there is further provided a non-transitory computer-readable storage medium for managing resources in a partitioned computing system based on resource usage volatility, having instructions that, when executed by a computing device, cause the computing device to perform a method as per claim 1.

    [0006] As claimed in claim 9, there is yet further provided a system, which comprises a partitioned computing system being a logical partitioned system or a virtual machine under a hypervisor or an emulator and including one or more partitions, a network, a display device, and a partitioned computing system resource manager. The partitioned computing system resource manager is coupled to the partitioned computing system via the network and includes a display module. The partitioned computing system resource manager is configured to compute a volatility of resource usage for each partition based on computed resource usage gains/losses associated with each partition. The partitioned computing system resource manager is further configured to determine a current usage of each partition.

    [0007] Further, the partitioned computing system resource manager is configured to determine a risk of resource saturation by comparing the computed volatility of resource usage with the determined current resource usage of each partition. The display module of the partitioned computing system resource manager is configured to display the determined risk of resource saturation for each partition that can be used by a user to manage resources in the partitioned computing system by selecting a partition for moving in new resources, moving out resources or sharing resources in the partitioned computing system.

    [0008] Other features of the embodiments will be apparent from the accompanying drawings and from the detailed description that follows.

    BRIEF DESCRIPTION OF THE DRAWINGS



    [0009] Various embodiments are described herein with reference to the drawings, wherein:

    FIG. 1 illustrates a computer implemented flow diagram of an exemplary method for managing a partitioned computing system's resources based on resource usage volatility, according to one embodiment;

    FIG. 2 illustrates a table, in the context of the invention, including a typical statistical usage pattern of the partitioned computing system's resources.

    FIG. 3 illustrates a graphical user interface (GUI) including a table that can be used in managing the partitioned computing system's resources.

    FIG. 4 illustrates a block diagram of a system for managing the partitioned computing system's resources based on the resource usage volatility, according to one embodiment; and

    FIG. 5 illustrates an example of a suitable computing system environment for implementing embodiments of the present subject matter.



    [0010] The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way.

    DETAILED DESCRIPTION



    [0011] A system and method for managing resources in a partitioned computing system based on resource usage volatility is disclosed. In the following detailed description of the embodiments of the invention, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.

    [0012] In the document, a partitioned computing system refers to a logical partitioned system or a virtual machine under a hypervisor or emulator.

    [0013] FIG. 1 illustrates a computer implemented flow diagram of an exemplary method 100 for managing a partitioned computing system's resources based on resource usage volatility, according to one embodiment. The partitioned computing system includes one or more partitions where each partition includes resources such as at least one CPU, at least one memory and at least one I/O. At step 102, resource usage of each partition is detected and tracked. For example, data associated with resource usage are collected at predetermined time periods and are entered in a table (e.g., the table 200 of FIG. 2). The predetermined time periods may range from a smallest unit of time that a clock on the each partition can provide to the maximum unit that a user (e.g., a system administrator) wishes to consider.

    [0014] At step 104, resource usage gain/loss for each partition is computed at predetermined time periods based on the detected and tracked resource usage. At step 106, a mean is computed using the computed resource usage gain/loss for each partition at predetermined time periods. At step 108, the volatility of resource usage for each partition is computed based on the computed resource usage gain/loss. It should be noted that the computed resource usage gain/loss, the computed mean, and the computed volatility of resource usage associated with each partition are recorded in the table to analyze a typical statistical usage pattern of the partitioned computing system's resources.

    [0015] At step 110, a current resource usage of each partition is determined. At step 112, a risk of resource saturation is determined by comparing the computed volatility of resource usage with the determined current resource usage of each partition. According to an embodiment of the present invention, the computed volatility of resource usage, the current resource usage and the determined risk of resource saturation are entered in a table (e.g., the table 302 of FIG. 3) and may be displayed to the user in a GUI. AT step 114, resources in the partitioned computing system are managed using the determined risk of resource saturation associated with each partition. For example, the user may analyze the table in the GUI and manage the partitioned computing system's resources depending on application requirements.

    [0016] FIG. 2 illustrates a table 200, in the context of the invention, including a typical statistical usage pattern of the partitioned computing system's resources. Particularly, the table 200 includes the resource usage gain/loss computed at predetermined time periods, the computed mean and the computed volatility of resource usage associated with each partition. In one embodiment, by analyzing the statistical usage pattern from the table 200, a risk of resource saturation is determined and accordingly the user may manage the partitioned computing system's resources.

    [0017] As shown, the table 200 includes a time field 202, a memory usage field 204, a natural logarithm (LN) field 206 associated with memory usage, a CPU usage field 208, a LN field 210 associated with CPU usage, an I/Os per second field 212 and a LN field 214 associated with the I/Os per second. It can be seen from the table 200 that, the predetermined time periods are of equal intervals such as X, X+Δ, X+2Δ, X+3Δ, X+4Δ and X+5Δ. The resources usage gain/loss associated with the memory, the CPU and the I/Os per second over the predetermined time periods are entered in the memory usage field 204, the CPU usage field 208 and the I/Os per second field 212 respectively. The resource usage gain/loss is computed by detecting and tracking resource usage in each partition.

    [0018] Further, LN of the resource usage gain/loss associated with the memory, the CPU and the I/Os per second over the predetermined time periods are entered in the LN field 206, the LN field 210 and the LN field 214 respectively. For example, the LN is calculated for a value at X+Δ / value at X. The table 200 also includes a mean which is computed using the resource usage gain/loss associated with the memory, the CPU and the I/Os per second. Further, standard deviations of the resource usage gain/loss associated with the memory, the CPU and the I/Os per second are computed and are entered in the table 200 as shown.

    [0019] In one embodiment, the calculated standard deviation corresponds to the volatility of resource usage in the partition. For example, the volatility is a measure of a degree of variability of usage of each resource in the partition and determines a likelihood of resource saturation. The standard deviation may be calculated based on short term or long term historical data, or a combination. A low standard deviation indicates that all data points are very close to the mean value, while a high standard deviation indicates that the data points are "spread out" over a large range of values. Based on user needs, the value of standard deviation could either slide to a next set of values or the standard deviation may be computed cumulatively.

    [0020] As shown in the table 200, the standard deviation associated with memory usage is 3.90%, with CPU usage is 0.61% and with I/O usage is 0.69%. It should be noted that, the resource having standard deviation tending to zero is the most stable resource and hence less volatile while the resource having standard deviation not tending to zero is the most unstable resource and hence volatile.

    [0021] FIG. 3 illustrates a GUI 300 including a table 302 that can be used in managing the partitioned computing system's resources, according to one embodiment. Particularly, the GUI 300 enables the user to select a partition for moving in, moving out or sharing resources. As illustrated, the table 302 includes a partitions field 304, a volatility field 306, a current usage field 308, a resource receptor field 310, a resource evictor field 312 and a risk of resource saturation field 314.

    [0022] The volatility field 306 displays volatility of resource usage in the partitions which corresponds to the computed standard deviations. The current usage field 308 displays a current resource usage of the partitions. The resource receptor field 310 displays whether or not the partitions are resource receptors. The resource evictor field 312 whether or not the partitions are resource evictors. The risk of resource saturation field 314 displays a risk of resource saturation in the partition based on the volatility of resource usage and the current resource usage.

    [0023] As shown in the table 302, volatility associated with a partition 1 is 100% and current resource usage in the partition 1 is also 100%. Accordingly, the partition 1 is a resource receptor. Hence, the risk of resource saturation associated with the partition 1 is high. The volatility associated with a partition 3 is 100% and current resource usage in the partition 3 is 0%. Accordingly, the partition 3 is a resource evictor and the risk of resource saturation associated with the partition 3 is medium with periodic bottlenecks, i.e., it may not take any resource but it can give resources to one or more partitions.

    [0024] Further, as shown in the table 302, volatility associated with a partition 2 is 0% and current resource usage in the partition 2 is 100%. Accordingly, the partition 2 is a resource receptor and the risk of resource saturation associated with the partition 2 is high. Also, as show in the table 302, volatility associated with a partition 4 is 0% and current resource usage in the partition 4 is 0%. The partition 4 is a resource evictor and hence there is no risk of resource saturation associated with the partition 4.

    [0025] The user may analyze the table 302 in the GUI 300 and manages the partitioned computing system's resources. For example, the user may move in new resources, move out the resources, or share the resources in the partitioned computing system. The user may also consider application requirements during managing the resources. In one embodiment, the managing of the partitioned computing system's resources is automated.

    [0026] FIG. 4 illustrates a block diagram 400 of a system for managing the partitioned computing system's resources based on the resource usage volatility, according to one embodiment. The system may include one or more partitioned computing systems. As shown in FIG. 4, a partitioned computing system 402 includes partitions 416A-D. The resources such as memory, CPUs and I/Os are distributed among the partitions 416A-D. It should be noted that, each of the partitions 416A-D may be allocated one or more memory 404A-F, one or more CPUs 406A-F and one or more I/Os 408A-E. Also, the partitions 416A-D may share the resources in the partitioned computing system 402.

    [0027] As illustrated, the partition 416A includes resources such as memory 404A and 404D, CPUs 406A and 406E, and I/O 408B. The partition 416B includes resources such as memory 404C, CPUs 406B and 406D, and I/O 408C. It can be noted that, the memory 404C is shared by the partition 416B and 416D. The partition 416C includes resources such as memory 404E and 404F, I/Os 408D and 408E, and the CPUs 406E and 406F. It can be noted that, the CPU 406E is shared by the partition 416C and the partition 416A. The partition 416D includes resources such as memory 404B and 404C, CPU 406C and I/Os 408A and 408D. It can be noted that, the I/O 408D is shared by the partition 416D and 416C.

    [0028] It can be seen from FIG. 4 that, the partitioned computing system 402 is coupled to a partitioned computing system resource manager 412 via a network 410. The partitioned computing system resource manager 412 monitors, analyzes and manages usage of the partitions 416A-D based on resource usage such as the memory 404A-F, the CPUs 406A-F and the I/Os 408A-E. According to an embodiment of the present invention, the partitioned computing system resource manager 412 analyzes statistical usage pattern of the partitions 416A-D and determines a risk of resource saturation. For example, the statistical usage pattern is analyzed using the table 200 that includes the resource usage gain/loss computed at predetermined time periods, the computed mean and the computed volatility of the resource usage associated with each of the partitions 416A-N.

    [0029] The partitioned computing system resource manager 412 includes a display module 414 for displaying results of analysis of the statistical usage pattern to the user. Based on the displayed results, the user may decide whether to assign new resources to the partitions 416A-D, to move out any resources from the partitions 416A-D or to share the resources among the partitions 416A-D. For example, the displayed results include the computed volatility of resource usage, the current resource usage and the determined risk of resource saturation, as shown in the table 302. As shown in FIG. 4, the resources in the partition 416C are fully used and the risk of resource saturation is high. The resources such as the memory 404A and the CPU 406A in the partition 416A are unused. Accordingly, the partition 416C is a resource receptor and the partition 416A is a resource evictor.

    [0030] FIG. 5 shows an example of a suitable computing system environment 500 for implementing embodiments of the present subject matter. FIG. 5 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which certain embodiments of the inventive concepts contained herein may be implemented.

    [0031] A general computing device 502, in the form of a personal computer or a mobile device may include a processing unit 504, memory 506, a removable storage 518, and a non-removable storage 520. The computing device 502 additionally includes a bus 514 and a network interface 516. The computing device 502 may include or have access to the computing system environment 500 that includes one or more user input devices 522, one or more output devices 524, and one or more communication connections 526 such as a network interface card or a universal serial bus connection.

    [0032] The one or more user input devices 522 may be a digitizer screen and a stylus, trackball, keyboard, keypad, mouse, and the like. The one or more output devices 524 may be a display device of the personal computer or the mobile device. The communication connections 526 may include a local area network, a wide area network, and/or other networks.

    [0033] The memory 506 may include volatile memory 508 and non-volatile memory 510. A variety of computer-readable storage media may be stored in and accessed from the memory elements of the computing device 502, such as the volatile memory 508 and the non-volatile memory 510, the removable storage 518 and the non-removable storage 520. Computer memory elements may include any suitable memory device(s) for storing data and machine-readable instructions, such as read only memory, random access memory, erasable programmable read only memory, electrically erasable programmable read only memory, hard drive, removable media drive for handling compact disks, digital video disks, diskettes, magnetic tape cartridges, memory cards, Memory Sticks™, and the like.

    [0034] The processing unit 504, as used herein, means any type of computational circuit, such as, but not limited to, a microprocessor, a microcontroller, a complex instruction set computing microprocessor, a reduced instruction set computing microprocessor, a very long instruction word microprocessor, an explicitly parallel instruction computing microprocessor, a graphics processor, a digital signal processor, or any other type of processing circuit. The processing unit 504 may also include embedded controllers, such as generic or programmable logic devices or arrays, application specific integrated circuits, single-chip computers, smart cards, and the like.

    [0035] Embodiments of the present subject matter may be implemented in conjunction with program modules, including functions, procedures, data structures, and application programs, for performing tasks, or defining abstract data types or low-level hardware contexts. Machine-readable instructions stored on any of the above-mentioned storage media may be executable by the processing unit 504 of the computing device 502. For example, a computer program 512 may include machine-readable instructions capable of managing resources in a partitioned computing system based on resource usage volatility, according to the teachings and herein described embodiments of the present subject matter. In one embodiment, the computer program 512 may be included on a compact disk-read only memory (CD-ROM) and loaded from the CD-ROM to a hard drive in the non-volatile memory 510. The machine-readable instructions may cause the computing device 502 to encode according to the various embodiments of the present subject matter.

    [0036] As shown, the computer program 512 includes the partitioned computing system resource manager 412. For example, the partitioned computing system resource manager 412 may be in the form of instructions stored on a non-transitory computer-readable storage medium. The non-transitory computer-readable storage medium having the instructions that, when executed by the computing device 502, may cause the computing device 502 to perform the one or more methods described in FIGS. 1 through 5.

    [0037] In various embodiments, the systems and methods described in FIGS. 1 through 5 may enable a user to choose a partition in the partitioned computing system to move in or move out resources based on the statistical usage pattern analysis. The above-described systems and methods ensure that an increase or decrease in usage of resource(s) in the partitioned computing system is reliably handled without affecting applications already running on the partitioned computing system. The above-described systems and methods also avoid any violation of SLAs in the partitioned computing system. The above-described systems and methods are also applicable to storage systems, storage networks, individual disk drives and the like.

    [0038] Although the present embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments. Furthermore, the various devices, modules, analyzers, generators, and the like described herein may be enabled and operated using hardware circuitry, for example, complementary metal oxide semiconductor based logic circuitry, firmware, software and/or any combination of hardware, firmware, and/or software embodied in a machine readable medium. For example, the various electrical structure and methods may be embodied using transistors, logic gates, and electrical circuits, such as application specific integrated circuit.


    Claims

    1. A computer implemented method (100) for managing resources in a partitioned computing system (402) based on resource usage volatility (306), wherein the partitioned computing system (402) is a logical partitioned system or a virtual machine under a hypervisor or an emulator and includes one or more partitions (416A-416D), comprising:

    computing (108) a volatility (306) of resource usage (204, 208, 212; 308) for each partition (416A-416D) based on computed, at predetermined time periods (X, X+Δ, X+2Δ, ...), resource usage gains/losses (206, 210, 214) associated with each partition (416A-416D);

    determining (110) a current resource usage (204, 208, 212; 308) of each partition (416A-416D);

    determining (112) a risk (314) of resource saturation by comparing the computed volatility (306) of resource usage with the determined current resource usage (204, 208, 212; 308) of each partition (416A-416D); and

    managing (114) resources in the partitioned computing system (402) using the determined risk (314) of resource saturation associated with each partition (416A-416D) by selecting a partition for moving in new resources, moving out resources or sharing resources in the partitioned computing system.


     
    2. The method of claim 1, wherein
    computing (108) the volatility (306) of resource usage for each partition based on the computed resource usage gains/losses associated with each partition (416A-416D) comprises:

    collecting (104) resource usage gain/loss for each partition at predetermined time periods (X, X+Δ, X+2Δ, ...);

    computing (106) a mean using the collected resource usage gain/loss (206, 210, 214) for each partition; and

    computing (108) the volatility (306) of resource usage for each partition based on the collected resource usage gain/loss (206, 210, 214) for each partition (416A-416D).


     
    3. The method of claim 2, wherein
    collecting (106) the resource usage gain/loss (206, 210, 214) for each partition (416A-416D) comprises:

    detecting and tracking (102) resource usage of each partition (416A-416D); and

    computing (104) the resource usage gain/loss (206, 210, 214) for each partition (416A-416D) based on the detected and tracked resource usage.


     
    4. The method of claim 1, wherein
    the resources are selected from the group consisting of CPU (406A, 406C, 406E), I/O (408A, 408B, 408C) and memory (404B, 404C, 404D).
     
    5. A non-transitory computer-readable storage medium comprising instructions which, when executed by a computing device, cause the computing device to carry out a method for managing resources in a partitioned computing system (402) based on resource usage volatility (306), wherein the partitioned computing system (402) is a logical partitioned system or a virtual machine under a hypervisor or an emulator and includes one or more partitions (416A-416D),
    the method (100) comprising:

    computing (108) a volatility (306) of resource usage (204, 208, 212) for each partition (416A-416D) based on computed, at predetermined time periods (X, X+Δ, X+2Δ, ...), resource usage gains/losses (206, 210, 214) associated with each partition (416A-416D);

    determining (110) a current resource usage of each partition (416A-416D);

    determining (112) a risk (314) of resource saturation by comparing the computed volatility (306) of resource usage with the determined current resource usage (204, 208, 212; 308) of each partition (416A-416D); and

    managing (114) resources in the partitioned computing system (402) using the determined risk (314) of resource saturation associated with each partition (416A-416D) by selecting a partition for moving in new resources, moving out resources or sharing resources in the partitioned computing system.


     
    6. The non-transitory computer-readable storage medium of claim 5, wherein computing the volatility (306) of resource usage for each partition (416A-416D) based on the computed resource usage gains/losses (206, 210, 214) associated with each partition comprises:

    collecting (104) resource usage gain/loss for each partition (416A-416D) at predetermined time periods (X, X+Δ, X+2Δ, ...);

    computing (106) a mean using the collected resource usage gain/loss (206, 210, 214) for each partition (416A-416D); and

    computing (108) the volatility (306) of resource usage for each partition (416A-416D) based on the collected resource usage gain/loss (206, 210, 214).


     
    7. The non-transitory computer-readable storage medium of claim 6, wherein collecting (108) the resource usage gain/loss for each partition comprises:

    detecting and tracking (102) resource usage of each partition (416A-416D); and

    computing (104) the resource usage gain/loss for each partition (416A-416D) based on the detected and tracked resource usage.


     
    8. The non-transitory computer-readable storage medium of claim 5, wherein the resources are selected from the group consisting of CPU (406A, 406C, 406E), I/O (408A, 408B, 408C) and memory (404B, 404C, 404D).
     
    9. A system (400), comprising:

    a partitioned computing system (402) being a logical partitioned system or a virtual machine under a hypervisor or an emulator and including one or more partitions (416A-416D);

    a network (410);

    a display device (300; 524); and

    a partitioned computing system resource manager (412) coupled to the partitioned computing system (402) via the network (410), wherein

    the partitioned computing system resource manager (412) includes a display module (414),
    wherein the partitioned computing system resource manager (412) is configured to compute (108) a volatility (306) of resource usage for each partition (416A-416D) based on computed, at predetermined time periods (X, X+Δ, X+2Δ, ...), resource usage gains/losses (206, 210, 214) associated with each partition (416A-416D),
    wherein the partitioned computing system resource manager (412) is configured to determine (110) a current resource usage (204, 208, 210) of each partition
    (416A-416D),
    wherein the partitioned computing system resource manager (412) is configured to determine (112) a risk (314) of resource saturation by comparing the computed volatility (306) of resource usage with the determined current resource usage of each partition (416A-416D), and
    wherein the partitioned computing system resource manager (412) is configured to manage (114) resources in the partitioned computing system (402) by selecting a partition for moving in new resources, moving out resources or sharing resources in the partitioned computing system.
     
    10. The system of claim 9, wherein
    the partitioned computing system resource manager (412), in computing (108) the volatility (306) of resource usage for each partition (416A-416D) based on the computed resource usage gains/losses (206, 210, 214) associated with each partition (416A-416D), is configured

    to collect (104) resource usage gain/loss for each partition at predetermined time periods (X, X+Δ, X+2Δ, ...);

    to compute (106) a mean using the collected resource usage gain/loss (206, 210, 214) for each partition, and

    to compute (108) the volatility (306) of resource usage for each partition (416A-416D) based on the collected resource usage gain/loss.


     
    11. The system of claim 10, wherein
    the partitioned computing system resource manager (412), in collecting (104) the resource usage gain/loss for each partition at predetermined time periods, is configured
    to detect and track (102) resource usage of each partition (416A-416D), and to compute the resource usage gain/loss (206, 210, 214) for each partition (416A-416D) based on the detected and tracked resource usage.
     
    12. The system of claim 9, wherein
    the partitioned computing system resource manager (412) is configured
    to manage resources selected from the group consisting of CPU (406A, 406C, 406E), I/O (408A, 408B, 408C) and memory (404B, 404C, 404D) in the partitioned computing system (402).
     


    Ansprüche

    1. Ein computerimplementiertes Verfahren (100) zum Verwalten von Ressourcen in einem partitionierten Computersystem (402) auf der Grundlage von Ressourcennutzungsvolatilität (306), wobei das partitionierte Computersystem (402) ein logisch partitioniertes System oder eine virtuelle Maschine unter einem Hypervisor oder einem Emulator ist und eine oder mehrere Partitionen (416A-416D) enthält, das Verfahren aufweisend:

    Berechnen (108) einer Volatilität (306) von Ressourcennutzung (204, 208, 212; 308) für jede Partition (416A-416D) auf der Grundlage von zu vorbestimmten Zeitperioden (X, X+Δ, X+2Δ, ...) berechneten Ressourcennutzungsgewinnen/-verlusten (206, 210, 214), die jeder Partition (416A-416D) zugeordnet sind,

    Bestimmen (110) einer aktuellen Ressourcennutzung (204, 208, 212; 308) von jeder Partition (416A-416D),

    Bestimmen (112) eines Risikos (314) von Ressourcensättigung durch Vergleichen der berechneten Volatilität (306) der Ressourcennutzung mit der bestimmten, aktuellen Ressourcennutzung (204, 208, 212; 308) von jeder Partition (416A-416D), und

    Verwalten (114) von Ressourcen in dem partitionierten Computersystem (402) unter Verwendung des bestimmten Risikos (314) der Ressourcensättigung, das jeder Partition (416A-416D) zugeordnet ist, durch Auswählen einer Partition zum Einziehen von neuen Ressourcen, Ausziehen von Ressourcen oder Teilen von Ressourcen in dem partitionierten Computersystem.


     
    2. Das Verfahren gemäß Anspruch 1, wobei
    das Berechnen (108) der Volatilität (306) von Ressourcennutzung für jede Partition auf der Grundlage der berechneten, jeder Partition (416A-416D) zugeordneten Ressourcennutzungsgewinne/-verluste folgendes aufweist:

    Sammeln (104) eines Ressourcennutzungsgewinnes/-verlustes für jede Partition zu vorbestimmten Zeitperioden (X, X+Δ, X+2Δ, ...),

    Berechnen (106) eines Mittelwertes unter Verwendung des gesammelten Ressourcennutzungsgewinnes/-verlustes (206, 210, 214) für jede Partition, und

    Berechnen (108) der Volatilität (306) von Ressourcennutzung für jede Partition auf der Grundlage des gesammelten Ressourcennutzungsgewinnes/- verlustes (206, 210, 214) für jede Partition (416A-416D).


     
    3. Das Verfahren gemäß Anspruch 2, wobei
    das Sammeln (106) des Ressourcennutzungsgewinnes/-verlustes (206, 210, 214) für jede Partition (416A-416D) folgendes aufweist:

    Detektieren und Nachverfolgen (102) der Ressourcennutzung von jeder Partition (416A-416D), und

    Berechnen des Ressourcennutzungsgewinnes/-verlustes (206, 210, 214) für jede Partition (416A-416D) auf der Grundlage der detektierten und nachverfolgten Ressourcennutzung.


     
    4. Das Verfahren gemäß Anspruch 1, wobei
    die Ressourcen ausgewählt sind aus der Gruppe, die aus folgendem besteht: CPU (406A, 406C, 406E), Eingabe/Ausgabe (408A, 408B, 408C) und Speicher (404B, 404C, 404D).
     
    5. Ein nicht-flüchtiges, computerlesbares Speichermedium, das Befehle aufweist, die, wenn sie von einem Rechengerät ausgeführt werden, bewirken, dass das Rechengerät ein Verfahren zum Verwalten von Ressourcen in einem partitionierten Computersystem (402) auf der Grundlage von Ressourcennutzungsvolatilität (306) ausführt, wobei das partitionierte Computersystem (402) ein logisch partitioniertes System oder eine virtuelle Maschine unter einem Hypervisor oder einem Emulator ist und eine oder mehrere Partitionen (416A-416D) enthält, wobei das Verfahren (100) aufweist:

    Berechnen (108) einer Volatilität (306) von Ressourcennutzung (204, 208, 212) für jede Partition (416A-416D) auf der Grundlage von zu vorbestimmten Zeitperioden (X, X+Δ, X+2Δ, ...) berechneten Ressourcennutzungsgewinnen/- verlusten (206, 210, 214), die jeder Partition (416A-416D) zugeordnet sind,

    Bestimmen (110) einer aktuellen Ressourcennutzung (204, 208, 212; 308) von jeder Partition (416A-416D),

    Bestimmen (112) eines Risikos (314) von Ressourcensättigung durch Vergleichen der berechneten Volatilität (306) der Ressourcennutzung mit der bestimmten, aktuellen Ressourcennutzung (204, 208, 212; 308) von jeder Partition (416A-416D), und

    Verwalten (114) von Ressourcen in dem partitionierten Computersystem (402) unter Verwendung des bestimmten Risikos (314) der Ressourcensättigung, das jeder Partition (416A-416D) zugeordnet ist, durch Auswählen einer Partition zum Einziehen von neuen Ressourcen, Ausziehen von Ressourcen oder Teilen von Ressourcen in dem partitionierten Computersystem.


     
    6. Das nicht-flüchtige, computerlesbare Speichermedium gemäß Anspruch 5, wobei das Berechnen der Volatilität (306) von Ressourcennutzung für jede Partition (416A-416D) auf der Grundlage der berechneten, jeder Partition zugeordneten Ressourcennutzungsgewinne/-verluste (206, 210, 214) folgendes aufweist:

    Sammeln (104) eines Ressourcennutzungsgewinnes/-verlustes für jede Partition (416A-416D) zu vorbestimmten Zeitperioden (X, X+Δ, X+2Δ, ...),

    Berechnen (106) eines Mittelwertes unter Verwendung des gesammelten Ressourcennutzungsgewinnes/-verlustes (206, 210, 214) für jede Partition (416A-416D), und

    Berechnen (108) der Volatilität (306) von Ressourcennutzung für jede Partition (416A-416D) auf der Grundlage des gesammelten Ressourcennutzungsgewinnes/-verlustes (206, 210, 214).


     
    7. Das nicht-flüchtige, computerlesbare Speichermedium gemäß Anspruch 6, wobei das Sammeln (108) des Ressourcennutzungsgewinnes/-verlustes für jede Partition folgendes aufweist:

    Detektieren und Nachverfolgen (102) der Ressourcennutzung von jeder Partition (416A-416D), und

    Berechnen (104) des Ressourcennutzungsgewinnes/-verlustes für jede Partition (416A-416D) auf der Grundlage der detektierten und nachverfolgten Ressourcennutzung.


     
    8. Das nicht-flüchtige, computerlesbare Speichermedium gemäß Anspruch 5, wobei die Ressourcen ausgewählt sind aus der Gruppe, die aus folgendem besteht: CPU (406A, 406C, 406E), Eingabe/Ausgabe (408A, 408B, 408C) und Speicher (404B, 404C, 404D).
     
    9. Ein System (400), aufweisend:

    ein partitioniertes Computersystem (402), das ein logisch partitioniertes System oder eine virtuelle Maschine unter einem Hypervisor oder einem Emulator ist und eine oder mehrere Partitionen (416A-416D) enthält,

    ein Netzwerk (410),

    ein Anzeigegerät (300; 524), und

    einen Ressourcenverwalter (412) des partitionierten Computersystems, der über das Netzwerk (410) mit dem partitionierten Computersystem (402) gekoppelt ist, wobei der Ressourcenverwalter (412) des partitionierten Computersystems ein Anzeigemodul (414) enthält,

    wobei der Ressourcenverwalter (412) des partitionierten Computersystems dazu eingerichtet ist, eine Volatilität (306) von Ressourcennutzung für jede Partition (416A-416D) zu berechnen (108) auf der Grundlage von zu vorbestimmten Zeitperioden (X, X+Δ, X+2Δ, ...) berechneten Ressourcennutzungsgewinnen/- verlusten (206, 210, 214), die jeder Partition (416A-416D) zugeordnet sind, wobei der Ressourcenverwalter (412) des partitionierten Computersystems dazu eingerichtet ist, eine aktuelle Ressourcennutzung (204, 208, 212) von jeder Partition (416A-416D) zu bestimmen (110),
    wobei der Ressourcenverwalter (412) des partitionierten Computersystems dazu eingerichtet ist, ein Risiko (314) von Ressourcensättigung zu bestimmen (112) durch Vergleichen der berechneten Volatilität (306) der Ressourcennutzung mit der bestimmten, aktuellen Ressourcennutzung von jeder Partition (416A-416D), und
    wobei der Ressourcenverwalter (412) des partitionierten Computersystems dazu eingerichtet ist, Ressourcen in dem partitionierten Computersystem (402) zu verwalten (114) durch Auswählen einer Partition zum Einziehen von neuen Ressourcen, Ausziehen von Ressourcen oder Teilen von Ressourcen in dem partitionierten Computersystem.
     
    10. Das System gemäß Anspruch 9, wobei
    wobei der Ressourcenverwalter (412) des partitionierten Computersystems, beim Berechnen (108) der Volatilität (306) von Ressourcennutzung für jede Partition auf der Grundlage der berechneten, jeder Partition (416A-416D) zugeordneten Ressourcennutzungsgewinne/-verluste, dazu eingerichtet ist,

    einen Ressourcennutzungsgewinn/-verlust für jede Partition zu vorbestimmten Zeitperioden (X, X+Δ, X+2Δ, ...) zu sammeln (104),

    einen Mittelwert unter Verwendung des gesammelten Ressourcennutzungsgewinnes/-verlustes (206, 210, 214) für jede Partition zu berechnen (106), und

    die Volatilität (306) von Ressourcennutzung für jede Partition (416A-416D) auf der Grundlage des gesammelten Ressourcennutzungsgewinnes/-verlustes zu berechnen (108).


     
    11. Das System gemäß Anspruch 10, wobei
    wobei der Ressourcenverwalter (412) des partitionierten Computersystems, beim Sammeln (106) des Ressourcennutzungsgewinnes/-verlustes (206, 210, 214) für jede Partition zu vorbestimmten Zeitpunkten, dazu eingerichtet ist,

    die Ressourcennutzung von jeder Partition (416A-416D) zu detektieren und nachzuverfolgen (102), und

    den Ressourcennutzungsgewinn/-verlust (206, 210, 214) für jede Partition (416A-416D) auf der Grundlage der detektierten und nachverfolgten Ressourcennutzung zu berechnen.


     
    12. Das System gemäß Anspruch 9, wobei
    wobei der Ressourcenverwalter (412) des partitionierten Computersystems dazu eingerichtet ist,
    Ressourcen zu verwalten, die ausgewählt sind aus der Gruppe, die aus folgendem besteht: CPU (406A, 406C, 406E), Eingabe/Ausgabe (408A, 408B, 408C) und Speicher (404B, 404C, 404D).
     


    Revendications

    1. Procédé mis en œuvre par ordinateur (100) permettant de gérer des ressources dans un système de calcul partitionné (402) sur la base d'une volatilité d'usage de ressources (306), dans lequel le système de calcul partitionné (402) est un système partitionné logique ou une machine virtuelle sous un hyperviseur ou un émulateur et inclut une ou plusieurs partitions (416A-416D), comprenant :

    le calcul (108) d'une volatilité (306) d'usage de ressources (204, 208, 212 ; 308) pour chaque partition (416A-416D) sur la base de gains/pertes d'usage de ressources (206, 210, 214) calculés, à des périodes de temps prédéterminées (X, X + Δ, X + 2Δ, ...), associés à chaque partition (416A-416D) ;

    la détermination (110) d'un usage de ressources actuel (204, 208, 212 ; 308) de chaque partition (416A-416D) ;

    la détermination (112) d'un risque (314) de saturation de ressources en comparant la volatilité calculée (306) d'usage de ressources avec l'usage de ressources actuel déterminé (204, 208, 212 ; 308) de chaque partition (416A-416D) ; et

    la gestion (114) de ressources dans le système de calcul partitionné (402) en utilisant le risque déterminé (314) de saturation de ressources associé à chaque partition (416A-416D) en sélectionnant une partition pour ajouter de nouvelles ressources, supprimer des ressources ou partager des ressources dans le système de calcul partitionné.


     
    2. Procédé selon la revendication 1, dans lequel
    le calcul (108) de la volatilité (306) d'usage de ressources pour chaque partition sur la base des gains/pertes d'usage de ressources calculés associés à chaque partition (416A-416D) comprend :

    la collecte (104) d'un gain/d'une perte d'usage de ressources pour chaque partition à des périodes de temps prédéterminées (X, X + Δ, X + 2Δ, ...) ;

    le calcul (106) d'une moyenne en utilisant le gain/la perte d'usage de ressources collectés (206, 210, 214) pour chaque partition ; et

    le calcul (108) de la volatilité (306) d'usage de ressources pour chaque partition sur la base du gain/de la perte d'usage de ressources collectés (206, 210, 214) pour chaque partition (416A-416D).


     
    3. Procédé selon la revendication 2, dans lequel
    la collecte (106) du gain/de la perte d'usage de ressources (206, 210, 214) pour chaque partition (416A-416D) comprend :

    la détection et le suivi (102) d'un usage de ressources de chaque partition (416A-416D) ; et

    le calcul (104) du gain/de la perte d'usage de ressources (206, 210, 214) pour chaque partition (416A-416D) sur la base de l'usage de ressources détecté et suivi.


     
    4. Procédé selon la revendication 1, dans lequel
    les ressources sont choisies dans le groupe constitué d'une UCT (406A, 406C, 406E), d'une E/S (408A, 408B, 408C) et d'une mémoire (404B, 404C, 404D).
     
    5. Support de stockage non transitoire lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un dispositif de calcul, amènent le dispositif de calcul à réaliser un procédé permettant de gérer des ressources dans un système de calcul partitionné (402) sur la base d'une volatilité d'usage de ressources (306), dans lequel le système de calcul partitionné (402) est un système partitionné logique ou une machine virtuelle sous un hyperviseur ou un émulateur et inclut une ou plusieurs partitions (416A-416D),
    le procédé (100) comprenant :

    le calcul (108) d'une volatilité (306) d'usage de ressources (204, 208, 212) pour chaque partition (416A-416D) sur la base de gains/pertes d'usage de ressources (206, 210, 214) calculés, à des périodes de temps prédéterminées (X, X + Δ, X + 2Δ, ...), associés à chaque partition (416A-416D) ;

    la détermination (110) d'un usage de ressources actuel de chaque partition (416A-416D) ;

    la détermination (112) d'un risque (314) de saturation de ressources en comparant la volatilité calculée (306) d'usage de ressources avec l'usage de ressources actuel déterminé (204, 208, 212 ; 308) de chaque partition (416A-416D) ; et

    la gestion (114) de ressources dans le système de calcul partitionné (402) en utilisant le risque déterminé (314) de saturation de ressources associé à chaque partition (416A-416D) en sélectionnant une partition pour ajouter de nouvelles ressources, supprimer des ressources ou partager des ressources dans le système de calcul partitionné.


     
    6. Support de stockage non transitoire lisible par ordinateur selon la revendication 5, dans lequel
    le calcul de la volatilité (306) d'usage de ressources pour chaque partition (416A-416D) sur la base des gains/pertes d'usage de ressources calculés (206, 210, 214) associés à chaque partition comprend :

    la collecte (104) d'un gain/d'une perte d'usage de ressources pour chaque partition (416A-416D) à des périodes de temps prédéterminées (X, X + Δ, X + 2Δ, ...) ;

    le calcul (106) d'une moyenne en utilisant le gain/la perte d'usage de ressources collectés (206, 210, 214) pour chaque partition (416A-416D) ; et

    le calcul (108) de la volatilité (306) d'usage de ressources pour chaque partition (416A-416D) sur la base du gain/de la perte d'usage de ressources collectés (206, 210, 214).


     
    7. Support de stockage non transitoire lisible par ordinateur selon la revendication 6, dans lequel
    la collecte (108) du gain/de la perte d'usage de ressources pour chaque partition comprend :

    la détection et le suivi (102) d'un usage de ressources de chaque partition (416A-416D) ; et

    le calcul (104) du gain/de la perte d'usage de ressources pour chaque partition (416A-416D) sur la base de l'usage de ressources détecté et suivi.


     
    8. Support de stockage non transitoire lisible par ordinateur selon la revendication 5, dans lequel
    les ressources sont choisies dans le groupe constitué d'une UCT (406A, 406C, 406E), d'une E/S (408A, 408B, 408C) et d'une mémoire (404B, 404C, 404D).
     
    9. Système (400), comprenant :

    un système de calcul partitionné (402) qui est un système partitionné logique ou une machine virtuelle sous un hyperviseur ou un émulateur et qui inclut une ou plusieurs partitions (416A-416D) ;

    un réseau (410) ;

    un dispositif d'affichage (300 ; 524) ; et

    un gestionnaire de ressources de système de calcul partitionné (412) couplé au système de calcul partitionné (402) via le réseau (410), dans lequel

    le gestionnaire de ressources de système de calcul partitionné (412) inclut un module d'affichage (414),

    dans lequel le gestionnaire de ressources de système de calcul partitionné (412) est configuré pour calculer (108) une volatilité (306) d'usage de ressources pour chaque partition (416A-416D) sur la base de gains/pertes d'usage de ressources (206, 210, 214) calculés, à des périodes de temps prédéterminées (X, X + Δ, X + 2Δ, ...), associés à chaque partition (416A-416D),

    dans lequel le gestionnaire de ressources de système de calcul partitionné (412) est configuré pour déterminer (110) un usage de ressources actuel (204, 208, 210) de chaque partition (416A-416D),

    dans lequel le gestionnaire de ressources de système de calcul partitionné (412) est configuré pour déterminer (112) un risque (314) de saturation de ressources en comparant la volatilité calculée (306) d'usage de ressources avec l'usage de ressources actuel déterminé de chaque partition (416A-416D), et

    dans lequel le gestionnaire de ressources de système de calcul partitionné (412) est configuré pour gérer (114) des ressources dans le système de calcul partitionné (402) en sélectionnant une partition pour ajouter de nouvelles ressources, supprimer des ressources ou partager des ressources dans le système de calcul partitionné.


     
    10. Système selon la revendication 9, dans lequel
    le gestionnaire de ressources de système de calcul partitionné (412), dans le calcul (108) de la volatilité (306) d'usage de ressources pour chaque partition (416A-416D) sur la base des gains/pertes d'usage de ressources calculés (206, 210, 214) associés à chaque partition (416A-416D), est configuré
    pour collecter (104) un gain/une perte d'usage de ressources pour chaque partition à des périodes de temps prédéterminées (X, X + Δ, X + 2Δ, ...) ;
    pour calculer (106) une moyenne en utilisant le gain/la perte d'usage de ressources collectés (206, 210, 214) pour chaque partition, et
    pour calculer (108) la volatilité (306) d'usage de ressources pour chaque partition (416A-416D) sur la base du gain/de la perte d'usage de ressources collectés.
     
    11. Système selon la revendication 10, dans lequel
    le gestionnaire de ressources de système de calcul partitionné (412), dans la collecte (104) du gain/de la perte d'usage de ressources pour chaque partition à des périodes de temps prédéterminées, est configuré
    pour détecter et suivre (102) un usage de ressources de chaque partition (416A-416D), et pour calculer le gain/la perte d'usage de ressources (206, 210, 214) pour chaque partition (416A-416D) sur la base de l'usage de ressources détecté et suivi.
     
    12. Système selon la revendication 9, dans lequel
    le gestionnaire de ressources de système de calcul partitionné (412) est configuré
    pour gérer des ressources choisies dans le groupe constitué d'une UCT (406A, 406C, 406E), d'une E/S (408A, 408B, 408C) et d'une mémoire (404B, 404C, 404D) dans le système de calcul partitionné (402).
     




    Drawing




















    Cited references

    REFERENCES CITED IN THE DESCRIPTION



    This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

    Patent documents cited in the description