Abstract:
In one embodiment, a system and method is disclosed for changing the resource availability of a particular user in a manner calculated to add the least cost to the user. A cluster of partition servers are arranges, in one embodiment, with a master controller for keeping track at any point in time as to the different licensing costs involved with different methods of adding resource capacity. When a user requires additional capacity the system calculates which of several possible resource enhancements to initiate based upon a least cost analysis.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is related to co-pending and commonly assigned U.S. patent application Ser. No. 09/709,705, filed Nov. 9, 2000 entitled “APPARATUS AND METHOD TO AUTOMATICALLY ACTIVATE A RESERVE RESOURCE,” 10/394,608, filed Mar. 21, 2003 entitled “AN ASSEMBLY AND METHOD FOR BALANCING PROCESSORS IN A PARTITION SERVER,” and 11/261,298 filed Oct. 28, 2005 entitled “MULTIPLE SERVER WORKLOAD MANAGEMENT USING INSTANT CAPACITY PROCESSORS” the disclosures of which are hereby incorporated herein by reference. 
     
    
     FIELD OF THE INVENTION 
       [0002]    This invention relates to computer systems and more particularly to the addition of reserve computing capacity. 
       DESCRIPTION OF RELATED ART 
       [0003]    It has become common practice in computer server architectures to provide reserve capacity features, i.e., the ability for certain server components to be available physically but not activated until the need for such additional components arise. Using such an approach users can have systems with inactive processors that are activated, either permanently or temporarily, only when needed. The user initially pays only for the processors actually actuated which is a fraction of the cost of a system with a full compliment of processors (or other components). When each additional processor (or other component) is activated the user is invoiced for the activated component. This invoice could be a one-time payment or in some instances, a per diem charge. 
         [0004]    Reserve capacity is activated manually when needed. This is suboptimal because spikes in demand that require immediate access to additional resources could happen at off hours and for short time frames, which makes manual activation difficult. Recent developments in workload management, as listed above have proposed several approaches to managing capacity automatically. These are, for example: allowing for the automatic migration of reserve processor licenses across partitions to react to spike in demand in one of the partitions; automatically migrating reserve processor licenses across servers; and automatically deploying temporary reserve capacity. 
       BRIEF SUMMARY OF THE INVENTION 
       [0005]    In one embodiment, a system and method is disclosed for changing the resource availability of a particular user in a manner calculated to add the least cost to the user. A cluster of partition servers are arranged, in one embodiment, with a master controller for keeping track at any point in time as to the different licensing costs involved with different methods of adding resource capacity. When a user requires additional capacity the system calculates which of several possible resource enhancements to initiate based upon a least cost analysis. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0006]    For a more complete understanding of the present invention, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: 
           [0007]      FIG. 1  shows one embodiment of a partition server having both active and inactive resources thereon; 
           [0008]      FIG. 2  shows one embodiment of a cluster of partition servers; 
           [0009]      FIGS. 3-5  have one embodiment of a workload management system; 
           [0010]      FIG. 4  shows an example of a cost chart for various operations; and 
           [0011]      FIG. 5  shows one embodiment of a process for the selective control of reserve capacity additions. 
       
    
    
     DETAILED DESCRIPTION 
       [0012]      FIG. 1  shows one embodiment  10 - 1  of a partition server having both active ( 11 - 11  through  11 -IN) and inactive ( 12 - 11  through  12 -IN) resources controlled by partition server controller  21 - 1  having therein workload management system  30 . 
         [0013]    As shown, any number of partitions (A-N) can be set up and within each partition the number of active resources and inactive resources can be any number. As shown in  FIG. 1 , the active resources and the inactive resources are CPUs, but this is only representative of the different resources which could be, for example, input/output devices, applications, bandwidth allocations, etc. As discussed, from time to time partition A, for example, may become overloaded and may require more CPUs, than the user has paid for. In such a situation it would be desirable to activate one or more of the inactive resources  12 - 11  such that the user would pay the license fee for the additional resources. The problem being that there are different types of resources that can be allocated. For example, it could be possible to activate inactive resources in the same partition or to borrow an active or inactive resource from another partition for a period of time. These different possibilities will be discussed hereafter. 
         [0014]      FIG. 2  shows one embodiment  20  of a cluster of partition servers  10 - 1  through  10 -N. Each server is controlled by a partition server controller, such as partition controllers  21 - 1  through  21 -N which servers are in turn controlled by master controller  22 . Master controller  22  effectively acts as an arbitrator of requests coming from the different controllers. The purpose of arranging the partition servers into clusters is so that an active resource in, for example, cluster  10 - 2  may be deactivated in order to activate an inactive resource in server  10 - 1 . This would be at a cost X to the user, where X is related to the licensing cost required to manage the cluster servers so as to control license migration between the servers. 
         [0015]      FIG. 3  shows one embodiment  30  of a workload management system having, for example, policy definition engine  301 , monitor engine  302  and arbitration engine  303 . These engines are utilized to determine the policy available for each user via policy definition engine  301  while monitor engine  302  monitors the actual usage of the various resources. When contentions arise between the different resource allocations arbitration engine  303  mediates disputes between various competing economics and users. 
         [0016]    Cost-based controller  31  operates to calculate the costs for the different options using, for example, cost database  305  containing tabulations, such as tabulation  40 , showing the different options and costs of the different options. 
         [0017]    Resource controllers  307  through  310  control the partitions for each server. Cost-basis reserve activation manager  304  communicates with the resource controllers which are responsible for controlling which resources are available to each application on a partition server basis. 
         [0018]      FIG. 4  shows one example  40  of a cost chart for various operations. In this example three activation operations (options) are listed. All are CPUs with a fixed cost allocated to each. Note that in the more general case the resource could be memory or some other computer resource and the cost could be dynamically calculated based on a set of rules. For example, under control of policy definition engine  301 ,  FIG. 3 , different costs could be assigned depending on the situation at any given point in time. Thus, memory might be at a premium at a time when CPUs are less expensive. 
         [0019]    As shown in chart  40 , the intra-transfer operation is a deactivation of a CPU in one partition and the concurrent activation of a CPU in a different partition. In the example shown, the dollar cost of this operation is zero. 
         [0020]    Inter-transfer operation is the deactivation of a CPU in one partition in server A and concurrent activation of a CPU in a different partition in server B. The dollar cost of this operation is fixed at $23.00 per operation. 
         [0021]    The temporary operation is the activation of a processor for a certain amount of time. The calculated cost for this operation is $87.00 per minute. 
         [0022]    Chart  40  as discussed, is maintained by the cost-based allocation manager on a per partition basis and is updated as operations are performed by the workload management system which if desired could be supervised by monitor engine  302 . 
         [0023]      FIG. 5  shows one embodiment  50  of a process for the selective control of reserve capacity additions. In operation, process  501  initializes the chart of activation operations with availability and costs. For example, chart  40 ,  FIG. 4 , is initialized. Assume that additional capacity is required in, for example, server  10 - 1 , partition A. Under such a condition, partition server controller  21 - 1  ( FIG. 1 ) signals the need for activation of additional capacity with respect to server  10 - 1 , partition A. 
         [0024]    Process  503  consults a chart of available activation operations, such as, for example, initialized chart  40 ,  FIG. 4 . Process  504  then selects an operation with the least costs. 
         [0025]    In this example, an inter-transfer of a CPU resource would yield the least cost ($230) because the time required (3 minutes) would be $261 and on an operational basis  10  operations would be required. However, the inter-transfer operation is not available at this time (see chart  40 - FIG. 4 ). The chart is updated via process  50  and another selection is made. In this case the intra-transfer has become available and thus the cost is zero as performed under process  506 . If the performance is now acceptable, process  507  controls the termination. However, if it is not acceptable, then process  507  repeats via processes  502 - 506  to add additional resources. 
         [0026]    The embodiment discussed provides several reserve capacity strategies, beginning with the lowest cost to the user, and moving up the cost ladder using ever-more-costly methods until the need for additional resources is met. Examples of potential strategies sorted by cost is as follows: 
         [0000]    No cost: Automatically migrates processor licenses from a failed partition to another partition having reserve capacity. The reserve capacity in the server partition becomes active using credits for the resources currently unavailable in the failed partition.
 
Some cost: Automatically migrates processor licenses from a different partition in the same server to another with an urgent need for more processor power. Also, automatically migrates processor licenses from a different partition in a different server to a partition in troubled server with an urgent need for more processor power.
 
Higher cost: Activate one or more processor licenses for a short amount of time, similar to a calling card approach.