# US 10,320,706 B2 · Interference-aware client placement

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,320,706 B2
- Document ID: US10320706B2
- Status: Granted
- Kind: B2
- Application number: 14/754,271
- Filed: 2015-06-29
- Published: 2016-12-29
- Granted: 2019-06-11
- Earliest claimed: 2015-06-29
- Assignees: VMware, Inc.
- Applicants: VMware, Inc.
- Inventors: Kalyan Saladi; Madhuri Yechuri; Xiaoyun Zhu; Sahan Gamage; Puneet Zaroo
- Web page: https://patentgrep.com/patent/US10320706B2

## CPC

- H04L 47/805: {QOS or priority aware}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A management server and method for performing resource management operations in a distributed computer system utilizes interference scores for clients executing different workloads to create an interference affinity-type rule for at least some of the clients contending for a resource based on the interference scores for that resource. The interference affinity-type rule can then be used to recommend a target host computer to place a client.

## Claims

### Claim 1

A method for performing resource management operations in a distributed computer system, the method comprising:
obtaining interference scores for clients executing different workloads, including a client to be placed in the distributed computer system, including generating caused interference scores (CISs), each CIS being a value based on one minus a quotient of a first performance score of a particular workload when running together with a particular benchmark stressing resource and a second performance score of the particular workload when running alone to quantify pressure placed on a shared resource by workload running inside an individual client;
computing resource-level interference scores for multiple resources being considered using the sum of the interference scores of the clients for each of the multiple resources, wherein each resource-level interference score (RIS) for each of the multiple resources is computed using:
RISr=Σ∀v∈VCISv,r,
where r is a resource being considered, V is a set of the clients, and v is a client in V;
ranking the multiple resources based on the resource-level interference scores to determine a top ranked resource;
creating an interference affinity-type rule for at least some of the clients contending for the top ranked resource based on the interference scores for that resource, the interference affinity-type rule being one of a client-client anti-affinity rule and a client-host anti-affinity rule; and
recommending a target host computer among the host computers of the distributed computer system to place the client using the interference affinity-type rules to take into account workload interferences between the clients.

### Claim 2 (depends on 1)

The method of claim 1, further comprising creating an additional interference affinity-type rule for at least some of the clients contending for another resource based on the interference scores for the another resource, wherein the another resource is based on the ranking of the multiple resources.

### Claim 3 (depends on 1)

The method of claim 1, further comprising identifying the clients contending for a particular resource and applying a threshold to eliminate some of the identified clients based their interference scores, the remaining identified clients being used to create the interference affinity-type rule for the particular resource.

### Claim 4 (depends on 1)

The method of claim 1, wherein the recommending the target host computer includes applying the interference affinity-type rule as a dispersion rule to place the clients in the interference affinity-type rule in different host computers in a best effort basis.

### Claim 5

A non-transitory computer-readable storage medium containing program instructions for performing resource management operations in a distributed computer system, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to perform steps comprising:
obtaining interference scores for clients executing different workloads, including a client to be placed in the distributed computer system, including generating caused interference scores (CISs), each CIS being a value based on one minus a quotient of a first performance score of a particular workload when running together with a particular benchmark stressing resource and a second performance score of the particular workload when running alone to quantify pressure placed on a shared resource by workload running inside an individual client;
computing resource-level interference scores for multiple resources being considered using the sum of the interference scores of the clients for each of the multiple resources, wherein each resource-level interference score (RIS) for each of the multiple resources is computed using:
RISr=Σ∀v∈VCISv,r,
where r is a resource being considered, V is a set of the clients, and v is a client in V;
ranking the multiple resources based on the resource-level interference scores to determine a top ranked resource;
creating an interference affinity-type rule for at least some of the clients contending for the top ranked resource based on the interference scores for that resource, the interference affinity-type rule being one of a client-client anti-affinity rule and a client-host anti-affinity rule; and
recommending a target host computer among the host computers of the distributed computer system to place the client using the interference affinity-type rules to take into account workload interferences between the clients.

### Claim 6 (depends on 5)

The computer-readable storage medium of claim 5, wherein the steps further comprise creating an additional interference affinity-type rule for at least some of the clients contending for another resource based on the interference scores for the another resource, wherein the another resource is based on the ranking of the multiple resources.

### Claim 7 (depends on 5)

The computer-readable storage medium of claim 5, wherein the steps further comprise identifying the clients contending for a particular resource and applying a threshold to eliminate some of the identified clients based their interference scores, the remaining identified clients being used to create the interference affinity-type rule for the particular resource.

### Claim 8 (depends on 5)

The computer-readable storage medium of claim 5, wherein the recommending the target host computer includes applying the interference affinity-type rule as a dispersion rule to place the clients in the interference affinity-type rule in different host computers in a best effort basis.

### Claim 9

A management server for a distributed computer system comprising:
memory; and
a processor configured to:
obtain interference scores for clients executing different workloads, including a client to be placed in the distributed computer system, including generating caused interference scores (CISs), each CIS being a value based on one minus a quotient of a first performance score of a particular workload when running together with a particular benchmark stressing resource and a second performance score of the particular workload when running alone to quantify pressure placed on a shared resource by workload running inside an individual client;
compute resource-level interference scores for multiple resources being considered using the sum of the interference scores of the clients for each of the multiple resources, wherein each resource-level interference score (RIS) for each of the multiple resources is computed using:
RISr=Σ∀v∈VCISv,r,
where r is a resource being considered, V is a set of the clients, and v is a client in V;
rank the multiple resources based on the resource-level interference scores to determine a top ranked resource;
create an interference affinity-type rule for at least some of the clients contending for the top ranked resource based on the interference scores for that resource, the interference affinity-type rule being one of a client-client anti-affinity rule and a client-host anti-affinity rule; and
recommend a target host computer among the host computers of the distributed computer system to place the client using the interference affinity-type rules to take into account workload interferences between the clients.

### Claim 10 (depends on 9)

The management server of claim 9, wherein the processor is configured to identify the clients contending for a particular resource and apply a threshold to eliminate some of the identified clients based their interference scores, the remaining identified clients being used to create the interference affinity-type rule for the particular resource.

### Claim 11 (depends on 9)

The management server of claim 9, wherein the processor is configured to create an additional interference affinity-type rule for at least some of the clients contending for another resource based on the interference scores for the another resource, wherein the another resource is based on the ranking of the multiple resources.

### Claim 12 (depends on 9)

The management server of claim 9, wherein the processor is configured to apply the interference affinity-type rule as a dispersion rule to place the clients in the interference affinity-type rule in different host computers in a best effort basis.
