IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0624318
(2003-07-22)
|
발명자
/ 주소 |
- Garg,Pankaj K.
- Santos,Cipriano A.
- Tang,Hsiu Khuern
- Zhang,Alex
|
출원인 / 주소 |
- Hewlett Packard Development Company, L.P.
|
인용정보 |
피인용 횟수 :
113 인용 특허 :
2 |
초록
▼
Method and apparatus for allocating resources to a plurality of applications. In various embodiments instrumentation data may be gathered for work requests processed by the applications. An associated workload level may be determined for work requests processed by the applications. For each applicat
Method and apparatus for allocating resources to a plurality of applications. In various embodiments instrumentation data may be gathered for work requests processed by the applications. An associated workload level may be determined for work requests processed by the applications. For each application an application resource requirement may be determined as a function of the workload levels and a service level metric associated with the application. For each application an assigned subset of resources may be determined as a function of the application resource requirement, a minimization of communication delays between resources, and a bandwidth capacity requirement of the application. The resources may be automatically reconfigured consistent with the assigned subset of resources for each application.
대표청구항
▼
What is claimed is: 1. A processor-implemented method for allocating resources to a plurality of applications, wherein the resources include a plurality of servers and at least one of the applications uses a tiered arrangement of servers, comprising: gathering instrumentation data for work requests
What is claimed is: 1. A processor-implemented method for allocating resources to a plurality of applications, wherein the resources include a plurality of servers and at least one of the applications uses a tiered arrangement of servers, comprising: gathering instrumentation data for work requests processed by the applications; determining an associated workload level for work requests processed by the applications; determining for each application a first application resource requirement as a function of the workload levels and a service level metric associated with the application; representing each server as a processor-sharing queue having at least one critical resource; determining respective average response times of each of the tiers, each respective average response time being a function of a number servers in the tier, an arrival rate of work requests, and an average utilization rate of the critical resource; determining a total average response time as a sum of the respective average response times of each of the tiers; determining a minimum total number of servers required in each tier for the total average response time of the application to satisfy the service level metric; determining for each application an assigned subset of resources as a function of the first application resource requirement, wherein the function minimizes communication delays between resources, and satisfies a bandwidth capacity requirement of the application; and automatically reconfiguring the resources consistent with the assigned subset of resources for each application. 2. The method of claim 1, further comprising: classifying the work requests by type of requester and type of work; determining an associated requester-load level for each type of requester; determining an associated workload level for each type of work; and adjusting a load balancing policy as a function of the workload levels and requester-load level, wherein work requests are assigned to the resources according to the load balancing policy. 3. The method of claim 1, wherein the step of determining an assigned subset of resources comprises assigning resources to tiers by a function that satisfies the resource requirements associated with each tier and minimizes communication delay between servers. 4. The method of claim 3, wherein the function is a mixed-integer programming function. 5. The method of claim 3, wherein the step of determining an assigned subset of resources comprises: determining an initial assignment of the subset of resources using a first mixed-integer programming function; determining a feasible assignment of the subset of resources from the initial assignment using a non-linear programming function; and determining a final assignment of the subset of resources from the feasible assignment using a second mixed-integer programming function. 6. A processor-implemented method for allocating resources to a plurality of applications, wherein the resources include a plurality of servers and at least one of the applications uses a tiered arrangement of servers, comprising: storing work-request identifier data when a work request is initiated; determining an identity of a completed work request from the work-request identifier data when a work request is complete and storing instrumentation data for identified work requests processed by the applications; classifying the work requests by type of requester and type of work; determining an associated requester-load level for each type of requester; determining an associated workload level for each type of work for work requests processed by the applications; adjusting a load balancing policy as a function of the workload levels and requester-load level, wherein work requests are assigned to the resources according to the load balancing policy; generating for each application a first application resource requirement as a function of the workload levels and a service level metric associated with the application; representing each server as a processor-sharing queue having at least one critical resource; determining respective average response times of each of the tiers, each respective average response time being a function of a number servers in the tier, an arrival rate of work requests, and an average utilization rate of the critical resource; determining a total average response time as a sum of the respective average response times of each of the tiers; determining a minimum total number of servers required in each tier for the total average response time of the application to satisfy the service level metric; determining for each application an assigned subset of resources as a function of the first application resource requirement, wherein the function minimizes communication delays between resources, and satisfies a bandwidth capacity requirement of the application; and automatically reconfiguring the resources consistent with the assigned subset of resources for each application. 7. The method of claim 6, wherein the step of determining an assigned subset of resources comprises assigning resources to tiers by a function that satisfies the resource requirements associated with each tier and minimizes communication delay between servers. 8. The method of claim 7, wherein the function is a mixed-integer programming function. 9. The method of claim 7, wherein the step of determining an assigned subset of resources comprises: determining an initial assignment of the subset of resources using a first mixed-integer programming function; determining a feasible assignment of the subset of resources from the initial assignment using a non-linear programming function; and determining a final assignment of the subset of resources from the feasible assignment using a second mixed-integer programming function. 10. An apparatus for allocating resources to a plurality of applications, wherein the resources include a plurality of servers and at least one of the applications uses a tiered arrangement of servers, comprising: means for gathering instrumentation data for work requests processed by the applications; means for determining an associated workload level for work requests processed by the applications; means for generating for each application a first application resource requirement as a function of the workload levels and a service level metric associated with the application; means for representing each server as a processor-sharing queue having at least one critical resource; means for determining respective average response times of each of the tiers, each respective average response time being a function of a number servers in the tier, an arrival rate of work requests, and an average utilization rate of the critical resource; means for determining a total average response time as a sum of the respective average response times of each of the tiers; means for determining a minimum total number of servers required in each tier for the total average response time of the application to satisfy the service level metric; means for determining for each application an assigned subset of resources as a function of the first application resource requirement, wherein the function minimizes communication delays between resources, and satisfies a bandwidth capacity requirement of the application; and means for automatically reconfiguring the resources consistent with the assigned subset of resources for each application. 11. The apparatus of claim 10, further comprising: means for classifying the work requests by type of requester and type of work; means for determining an associated requester-load level for each type of requester; means for determining an associated workload level for each type of work; and means for adjusting a load balancing policy as a function of the workload levels and requester-load level, wherein work requests are assigned to the resources according to the load balancing policy. 12. The apparatus of claim 10, further comprising: means for storing work-request identifier data when a work request is initiated; and means for determining an identity of a completed work request from the work-request identifier data when a work request is complete and storing instrumentation data for identified work requests processed by the applications. 13. An article of manufacture for allocating resources to a plurality of applications, wherein the resources include a plurality of servers and at least one of the applications uses a tiered arrangement of servers, comprising: a computer-readable medium configured with instructions for causing a processor-based system to perform the steps of, gathering instrumentation data for work requests processed by the applications; determining an associated workload level for work requests processed by the applications; generating for each application a first application resource requirement as a function of the workload levels and a service level metric associated with the application; representing each server as a processor-sharing queue having at least one critical resource; determining respective average response times of each of the tiers, each respective average response time being a function of a number servers in the tier, an arrival rate of work requests, and an average utilization rate of the critical resource; determining a total average response time as a sum of the respective average response times of each of the tiers; determining a minimum total number of servers required in each tier for the total average response time of the application to satisfy the service level metric; determining for each application an assigned subset of resources as a function of the first application resource requirement, wherein the function minimizes communication delays between resources, and satisfies a bandwidth capacity requirement of the application; and automatically reconfiguring the resources consistent with the assigned subset of resources for each application. 14. The article of manufacture of claim 13, wherein the computer-readable medium is further configured with instructions for causing a processor-based system to perform the steps of: classifying the work requests by type of requester and type of work; determining an associated requester-load level for each type of requester; determining an associated workload level for each type of work; and adjusting a load balancing policy as a function of the workload levels and requester-load level, wherein work requests are assigned to the resources the according to the load balancing policy. 15. The article of manufacture of claim 13, wherein the computer-readable medium is further configured with instructions for causing a processor-based system to, in determining an assigned subset of resources, perform the step of assigning resources to tiers by a function that satisfies the resource requirements associated with each tier and minimizes communication delay between servers. 16. The article of manufacture of claim 15, wherein the function is a mixed-integer programming function. 17. The article of manufacture of claim 15, wherein the computer-readable medium is further configured with instructions for causing a processor-based system to, in determining an assigned subset of resources, perform the steps of: determining an initial assignment of the subset of resources using a first mixed integer programming function; determining a feasible assignment of the subset of resources from the initial assignment using a non-linear programming function; and determining a final assignment of the subset of resources from the feasible assignment using a second mixed-integer programming function. 18. An article of manufacture for allocating resources to a plurality of applications, wherein the resources include a plurality of servers and at least one of the applications uses a tiered arrangement of servers, comprising: a computer-readable medium configured with instructions for causing a processor-based system to perform the steps of, storing work-request identifier data when a work request is initiated; determining an identity of a completed work request from the work-request identifier data when a work request is complete and storing instrumentation data for identified work requests processed by the applications; classifying the work requests by type of requester and type of work; determining an associated requester-load level for each type of requester; determining an associated workload level for each type of work for work requests processed by the applications; adjusting a load balancing policy as a function of the workload levels and requester-load level, wherein work requests are assigned to the resources according to the load balancing policy; generating for each application a first application resource requirement as a function of the workload levels and a service level metric associated with the application; representing each server as a processor-sharing queue having at least one critical resource; determining respective average response times of each of the tiers, each respective average response time being a function of a number servers in the tier, an arrival rate of work requests, and an average utilization rate of the critical resource; determining a total average response time as a sum of the respective average response times of each of the tiers; determining a minimum total number of servers required in each tier for the total average response time of the application to satisfy the service level metric; determining for each application an assigned subset of resources as a function of the first application resource requirement, wherein the function minimizes communication delays between resources, and satisfies a bandwidth capacity requirement of the application; and automatically reconfiguring the resources consistent with the assigned subset of resources for each application. 19. The article of manufacture of claim 18, wherein the computer-readable medium is further configured with instructions for causing a processor-based system to, in determining an assigned subset of resources, perform the step of assigning resources to tiers by a function that satisfies the resource requirements associated with each tier and minimizes communication delay between servers. 20. The article of manufacture of claim 19, wherein the function is a mixed-integer programming function. 21. The article of manufacture of claim 19, wherein the computer-readable medium is further configured with instructions for causing a processor-based system to, in determining an assigned subset of resources, perform the steps of: determining an initial assignment of the subset of resources using a first mixed-integer programming function; determining a feasible assignment of the subset of resources from the initial assignment using a non-linear programming function; and determining a final assignment of the subset of resources from the feasible assignment using a second mixed-integer programming function.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.