System and method for autonomic system management through modulation of network controls
First Claim
1. A method for processor and network resource management in a computing system, the method comprising:
- identifying a plurality of performance objectives for a plurality of applications that utilize network and processing resources and are running on a given computer in a computing system containing a plurality of computers each running a plurality of applications, each identified performance objective dependent upon utilization of the network and processing resources by the application and comprising a prescribed performance target for execution of the application and a prescribed allocation of central processing unit processing power among the plurality of applications running on the given computer;
recording observations of utilization levels of the network and processing resources and associated realization levels for each performance objective over time during the execution of the applications, each observation comprising a sample point in a multi-dimensional space that comprises a separate dimension for each controllable processing resource and the utilization of that controllable processing resource, each allocatable network resource and the utilization of that allocatable network resource and each performance objective and the realization levels of that performance objective such that the utilization of controllable processing resources central processing unit power, disk space and main memory contained in the given computer and utilized by the applications and allocatable network resources communication bandwidth, communication buffer space, link bandwidth, network switching bandwidth, network interface buffer capacity, operating system buffer capacity, application buffer capacity, network switching buffer capacity and queueing order within the computing system and utilized by the plurality of applications and each one of the plurality of performance objectives and the realization of that performance objective are covered;
using the recorded observations to determine a multi-dimensional function expressing a dependency within the multi-dimensional space between realization of the identified performance objectives and utilization of the network and processing resources by the applications;
using the determined multi-dimensional function to identify a desired set of actions with regard to allocation of the network and processing resources to the applications that optimizes the identified performance objectives, the desired set of actions comprising increasing and decreasing the allocation of the network and processing resources among the applications;
maintaining functions expressing utilization of processing resources by each application as a function of network resource allocation to that application;
using the maintained functions to analyze network resource allocations proposed by the identified desired set of actions for potential effects on processing resource allocations and performance objectives;
scaling the proposed network resource allocations based upon the potential effects; and
implementing the desired set of actions with regard to the allocation of the network and processing resources and the scaling of the proposed network resource allocations.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided to determine an allocation of network resources in a distributed on-demand information technology (IT) systems using existing control mechanisms for other operating system resources in order to achieve a desired operating point within the IT system. This desired operating point is obtained by optimizing a goal-based objective function while taking into account system constraints. The relationship between utilization of all system resources, i.e. network resources and processing resources, and attainment of performance objectives is autonomously obtained for a plurality of actions that could be required by a range of system applications. This relationship is used to allocate network resources to applications while maintaining desired performance objectives. The allocation is enforced using existing control mechanisms.
23 Citations
16 Claims
-
1. A method for processor and network resource management in a computing system, the method comprising:
-
identifying a plurality of performance objectives for a plurality of applications that utilize network and processing resources and are running on a given computer in a computing system containing a plurality of computers each running a plurality of applications, each identified performance objective dependent upon utilization of the network and processing resources by the application and comprising a prescribed performance target for execution of the application and a prescribed allocation of central processing unit processing power among the plurality of applications running on the given computer; recording observations of utilization levels of the network and processing resources and associated realization levels for each performance objective over time during the execution of the applications, each observation comprising a sample point in a multi-dimensional space that comprises a separate dimension for each controllable processing resource and the utilization of that controllable processing resource, each allocatable network resource and the utilization of that allocatable network resource and each performance objective and the realization levels of that performance objective such that the utilization of controllable processing resources central processing unit power, disk space and main memory contained in the given computer and utilized by the applications and allocatable network resources communication bandwidth, communication buffer space, link bandwidth, network switching bandwidth, network interface buffer capacity, operating system buffer capacity, application buffer capacity, network switching buffer capacity and queueing order within the computing system and utilized by the plurality of applications and each one of the plurality of performance objectives and the realization of that performance objective are covered; using the recorded observations to determine a multi-dimensional function expressing a dependency within the multi-dimensional space between realization of the identified performance objectives and utilization of the network and processing resources by the applications; using the determined multi-dimensional function to identify a desired set of actions with regard to allocation of the network and processing resources to the applications that optimizes the identified performance objectives, the desired set of actions comprising increasing and decreasing the allocation of the network and processing resources among the applications; maintaining functions expressing utilization of processing resources by each application as a function of network resource allocation to that application; using the maintained functions to analyze network resource allocations proposed by the identified desired set of actions for potential effects on processing resource allocations and performance objectives; scaling the proposed network resource allocations based upon the potential effects; and implementing the desired set of actions with regard to the allocation of the network and processing resources and the scaling of the proposed network resource allocations. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium containing a computer executable code that when read by a computer causes the computer to perform a method for processor and network resource management in a computing system, the method comprising:
-
identifying a plurality of performance objectives for a plurality of applications that utilize network and processing resources and are running on a given computer in a computing system containing a plurality of computers each running a plurality of applications, each identified performance objective dependent upon utilization of the network and processing resources by the application and comprising a prescribed performance target for execution of the application and a prescribed allocation of central processing unit processing power among the plurality of applications running on the given computer; recording observations of utilization levels of the network and processing resources and associated realization levels for each performance objective over time during the execution of the applications, each observation comprising a sample point in a multi-dimensional space that comprises a separate dimension for each controllable processing resource and the utilization of that controllable processing resource, each allocatable network resource and the utilization of that allocatable network resource and each performance objective and the realization levels of that performance objective such that the utilization of controllable processing resources central processing unit power, disk space and main memory contained in the given computer and utilized by the applications and allocatable network resources communication bandwidth, communication buffer space, link bandwidth, network switching bandwidth, network interface buffer capacity, operating system buffer capacity, application buffer capacity, network switching buffer capacity and queueing order within the computing system and utilized by the plurality of applications and each one of the plurality of performance objectives and the realization of that performance objective are covered; using the recorded observations to determine a multi-dimensional function expressing a dependency within the multi-dimensional space between realization of the identified performance objectives and utilization of the network and processing resources by the applications; using the determined multi-dimensional function to identify a desired set of actions with regard to allocation of the network and processing resources to the applications that optimizes the identified performance objectives, the desired set of actions comprising increasing and decreasing the allocation of the network and processing resources among the applications; maintaining functions expressing utilization of processing resources by each application as a function of network resource allocation to that application; using the maintained functions to analyze network resource allocations proposed by the identified desired set of actions for potential effects on processing resource allocations and performance objectives; scaling the proposed network resource allocations based upon the potential effects; and implementing the desired set of actions with regard to the allocation of the network and processing resources and the scaling of the proposed network resource allocations. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for processor and network resource management in a computing system, the method comprising:
-
identifying a performance objective for an application that utilizes network and processing resources and is running on a computer in a computing system containing a plurality of computers each running a plurality of applications, the identified performance objective dependent upon utilization of the network and processing resources by the application and comprising a prescribed performance target for execution of the application and utilization of the network and processing resources; recording observations of utilization levels of the network and processing resources and associated realization levels for each performance objective over time during the execution of the applications, each observation comprising a sample point in a multi-dimensional space that comprises a separate dimension for each controllable processing resource and the utilization of that controllable processing resource, each allocatable network resource and the utilization of that allocatable network resource and realization levels of the performance objective such that the utilization of controllable processing resources central processing unit power, disk space and main memory contained in the given computer and utilized by the applications and allocatable network resources communication bandwidth, communication buffer space, link bandwidth, network switching bandwidth, network interface buffer capacity, operating system buffer capacity, application buffer capacity, network switching buffer capacity and queueing order within the computing system and utilized by the plurality of applications and the realization of the identified performance objective; using the recorded observations to determine a multi-dimensional function expressing a dependency within the multi-dimensional space between realization of the identified performance objective and utilization of the network and processing resources by the applications; using the determined multi-dimensional function to identify a desired set of actions with regard to allocation of the network and processing resources to the application that optimizes the identified performance objective, the desired set of actions comprising increasing and decreasing the allocation of the network and processing resources among the applications; maintaining functions expressing utilization of processing resources by each application as a function of network resource allocation to that application; using the maintained functions to analyze network resource allocations proposed by the identified desired set of actions for potential effects on processing resource allocations and performance objective; scaling the proposed network resource allocations based upon the potential effects; and implementing the desired set of actions with regard to the allocation of the network and processing resources and the scaling of the proposed network resource allocations. - View Dependent Claims (16)
-
Specification