Noisy neighbor¶
Synopsis¶
display name: Noisy Neighbor
goal: noisy_neighbor
Noisy Neighbor strategy using live migration
Description
This strategy can identify and migrate a Noisy Neighbor - a low priority VM that negatively affects performance of a high priority VM in terms of IPC by over utilizing Last Level Cache.
Requirements
To enable LLC metric, latest Intel server with CMT support is required.
Limitations
This is a proof of concept that is not meant to be used in production
Spec URL
Requirements¶
Metrics¶
The noisy_neighbor strategy requires the following metrics:
metric |
service name |
plugins |
comment |
---|---|---|---|
|
none |
Intel CMT is required |
Cluster data model¶
Default Watcher’s Compute cluster data model:
Nova cluster data model collector
The Nova cluster data model collector creates an in-memory representation of the resources exposed by the compute service.
Actions¶
Default Watcher’s actions:
action
description
migration
Migrates a server to a destination nova-compute host
This action will allow you to migrate a server to another compute destination host. Migration type ‘live’ can only be used for migrating active VMs. Migration type ‘cold’ can be used for migrating non-active VMs as well active VMs, which will be shut down while migrating.
The action schema is:
schema = Schema({ 'resource_id': str, # should be a UUID 'migration_type': str, # choices -> "live", "cold" 'destination_node': str, 'source_node': str, })The resource_id is the UUID of the server to migrate. The source_node and destination_node parameters are respectively the source and the destination compute hostname (list of available compute hosts is returned by this command:
nova service-list --binary nova-compute
).Note
Nova API version must be 2.56 or above if destination_node parameter is given.
Planner¶
Default Watcher’s planner:
Weight planner implementation
This implementation builds actions with parents in accordance with weights. Set of actions having a higher weight will be scheduled before the other ones. There are two config options to configure: action_weights and parallelization.
Limitations
This planner requires to have action_weights and parallelization configs tuned well.
Configuration¶
Strategy parameter is:
parameter |
type |
default |
Value description |
---|---|---|---|
|
Number |
35.0 |
Performance drop in L3_cache threshold for migration |
Efficacy Indicator¶
None
Algorithm¶
For more information on the noisy neighbor strategy please refer to: http://specs.openstack.org/openstack/watcher-specs/specs/pike/implemented/noisy_neighbor_strategy.html
How to use it ?¶
$ openstack optimize audittemplate create \
at1 noisy_neighbor --strategy noisy_neighbor
$ openstack optimize audit create -a at1 \
-p cache_threshold=45.0
External Links¶
None