Computer resource requirements for commercial and government applications often fluctuate over time. For instance, a business may experience periods of peak activity that exceed comparable processing or memory requirements of other periods. In another scenario, sales or employee growth may similarly burden existing computing resources with increased requirements. When faced with these increased resource demands, a user would conventionally have to purchase new hardware resources capable of accommodating the elevated computing needs. Such purchase requirements can represent a major, if not preclusive, expenditure for a user, who may have insufficient capital or time to react to rapid growth requirements.
To this end, computing architectures such as the “capacity on demand” design, developed by International Business Machines Corporation, allow customers to effectively “rent” resources such as processors on an as-needed basis. More particularly, a customer may temporarily enable on demand resources, or standby processors, which are initially dormant within their machine. Where desired, the standby processors are not included in the up front, baseline cost of the machine. As such, for a relatively smaller initial capital investment, a customer may be able to purchase a comparatively more powerful machine, and then activate and deactivate standby processors as needed for an additional fee, thus reducing the total cost of ownership for the machine.
Such selective utilization of standby processors provides customers with another layer of customized processor access and optimized usage. Conversely, capacity on demand systems supply system providers with a creative way to satisfy customer performance and cost requirements, while additionally providing an increased revenue source.
Despite the flexibility provided by the capacity on demand applications, some potential efficiencies, sales and other benefits may remain unrealized. For instance, standby resources may not be activated in time to address a specific need. By the time a user realizes that standby resources are needed for a particular project, it may be too late for those resources to be effectively utilized for the project. For example, in a database environment, a sizable query may run poorly before a user becomes aware that additional resources may need to be activated. The delay in activation can cause the resource activation to be too late to help with processing the query for which its activation was intended, and the activated resource may subsequently be underutilized. Improved mechanisms are consequently needed for managing resources within capacity on demand systems.