Support Volume Num Weighter

Registered by ling-yun

Currently cinder support choosing volume backend according to free_capacity and allocated_capacity.
Volume Num Weighter is that scheduler could choose volume backend based on volume number in volume backend,
which could provide another mean to help improve volume-backends' IO balance and volumes' IO performance.

Explain the benifit from volume number weighter by this use case.
Assume we have volume-backend-A with 300G and volume-backend-B with 100G.
    Volume-backend-A's IO capabilities is the same volume-backend-B IO capabilities.
    Each volume's IO usage are almost the same.
Use CapacityWeigher as weighter class.

Concrete Use Case
    If we create six 10G volumes, these volumes would placed in volume-backend A. All the six volume IO stream has been push on volume-backend-A, which would cause volume-backend-A does much IO scheduling work. At the same time, volume-backend-B has no volume and its io capabilites has been wasted.

If we have volume number weighter, scheduler could do proper initial placment for these volumes----three on volume-backend A, three on volume-backend-B. So that we can make full use of all volume-backends' IO capabilities to hlep improve volume-backends' IO balance and volumes' IO performance.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Medium
Drafter:
ling-yun
Direction:
Approved
Assignee:
ling-yun
Definition:
Approved
Series goal:
Accepted for juno
Implementation:
Implemented
Milestone target:
milestone icon 2014.2
Started by
John Griffith
Completed by
John Griffith

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/for,n,z

Addressed by: https://review.openstack.org/99683
    Add blueprint for support-volume-num-weighter

Addressed by: https://review.openstack.org/101137
    Add blueprint for support-volume-num-weighter

Gerrit topic: https://review.openstack.org/#q,topic:bp/support-volume-num-weighter,n,z

Addressed by: https://review.openstack.org/102414
    Support Volume Num Weighter

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.