Wido,

Sure. I will change it next week.

-Wei


2013/6/1 Wido den Hollander <w...@widodh.nl>

> Hi Wei,
>
>
> On 06/01/2013 08:24 AM, Wei ZHOU wrote:
>
>> Wido,
>>
>> Exactly. I have pushed the features into master.
>>
>> If anyone object thems for technical reason till Monday, I will revert
>> them.
>>
>
> For the sake of clarity I just want to mention again that we should change
> the total IOps to R/W IOps asap so that we never release a version with
> only total IOps.
>
> You laid the groundwork for the I/O throttling and that's great! We should
> however prevent that we create legacy from day #1.
>
> Wido
>
>  -Wei
>>
>>
>> 2013/5/31 Wido den Hollander <w...@widodh.nl>
>>
>>  On 05/31/2013 03:59 PM, John Burwell wrote:
>>>
>>>  Wido,
>>>>
>>>> +1 -- this enhancement must to discretely support read and write IOPS.
>>>>  I
>>>> don't see how it could be fixed later because I don't see how we
>>>> correctly
>>>> split total IOPS into read and write.  Therefore, we would be stuck
>>>> with a
>>>> total unless/until we decided to break backwards compatibility.
>>>>
>>>>
>>>>  What Wei meant was merging it into master now so that it will go in the
>>> 4.2 branch and add Read / Write IOps before the 4.2 release so that 4.2
>>> will be released with Read and Write instead of Total IOps.
>>>
>>> This is to make the May 31st feature freeze date. But if the window moves
>>> (see other threads) then it won't be necessary to do that.
>>>
>>> Wido
>>>
>>>
>>>   I also completely agree that there is no association between network
>>> and
>>>
>>>> disk I/O.
>>>>
>>>> Thanks,
>>>> -John
>>>>
>>>> On May 31, 2013, at 9:51 AM, Wido den Hollander <w...@widodh.nl> wrote:
>>>>
>>>>   Hi Wei,
>>>>
>>>>>
>>>>> On 05/31/2013 03:13 PM, Wei ZHOU wrote:
>>>>>
>>>>>  Hi Wido,
>>>>>>
>>>>>> Thanks. Good question.
>>>>>>
>>>>>> I  thought about at the beginning. Finally I decided to ignore the
>>>>>> difference of read and write mainly because the network throttling did
>>>>>> not
>>>>>> care the difference of sent and received bytes as well.
>>>>>>
>>>>>>
>>>>> That reasoning seems odd. Networking and disk I/O completely different.
>>>>>
>>>>> Disk I/O is much more expensive in most situations then network
>>>>> bandwith.
>>>>>
>>>>>   Implementing it will be some copy-paste work. It could be
>>>>> implemented in
>>>>>
>>>>>> few days. For the deadline of feature freeze, I will implement it
>>>>>> after
>>>>>> that , if needed.
>>>>>>
>>>>>>
>>>>>>  It think it's a feature we can't miss. But if it goes into the 4.2
>>>>> window we have to make sure we don't release with only total IOps and
>>>>> fix
>>>>> it in 4.3, that will confuse users.
>>>>>
>>>>> Wido
>>>>>
>>>>>   -Wei
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/5/31 Wido den Hollander <w...@widodh.nl>
>>>>>>
>>>>>>   Hi Wei,
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 05/30/2013 06:03 PM, Wei ZHOU wrote:
>>>>>>>
>>>>>>>   Hi,
>>>>>>>
>>>>>>>> I would like to merge disk_io_throttling branch into master.
>>>>>>>> If nobody object, I will merge into master in 48 hours.
>>>>>>>> The purpose is :
>>>>>>>>
>>>>>>>> Virtual machines are running on the same storage device (local
>>>>>>>> storage or
>>>>>>>> share strage). Because of the rate limitation of device (such as
>>>>>>>> iops), if
>>>>>>>> one VM has large disk operation, it may affect the disk performance
>>>>>>>> of
>>>>>>>> other VMs running on the same storage device.
>>>>>>>> It is neccesary to set the maximum rate and limit the disk I/O of
>>>>>>>> VMs.
>>>>>>>>
>>>>>>>>
>>>>>>>>   Looking at the code I see you make no difference between Read and
>>>>>>>>
>>>>>>> Write
>>>>>>> IOps.
>>>>>>>
>>>>>>> Qemu and libvirt support setting both a different rate for Read and
>>>>>>> Write
>>>>>>> IOps which could benefit a lot of users.
>>>>>>>
>>>>>>> It's also strange, in the polling side you collect both the Read and
>>>>>>> Write
>>>>>>> IOps, but on the throttling side you only go for a global value.
>>>>>>>
>>>>>>> Write IOps are usually much more expensive then Read IOps, so it
>>>>>>> seems
>>>>>>> like a valid use-case where that an admin would set a lower value for
>>>>>>> write
>>>>>>> IOps vs Read IOps.
>>>>>>>
>>>>>>> Since this only supports KVM at this point I think it would be of
>>>>>>> great
>>>>>>> value to at least have the mechanism in place to support both,
>>>>>>> implementing
>>>>>>> this later would be a lot of work.
>>>>>>>
>>>>>>> If a hypervisor doesn't support setting different values for read and
>>>>>>> write you can always sum both up and set that as the total limit.
>>>>>>>
>>>>>>> Can you explain why you implemented it this way?
>>>>>>>
>>>>>>> Wido
>>>>>>>
>>>>>>>    The feature includes:
>>>>>>>
>>>>>>>
>>>>>>>> (1) set the maximum rate of VMs (in disk_offering, and global
>>>>>>>> configuration)
>>>>>>>> (2) change the maximum rate of VMs
>>>>>>>> (3) limit the disk rate (total bps and iops)
>>>>>>>> JIRA ticket: https://issues.apache.org/****
>>>>>>>> jira/browse/CLOUDSTACK-1192<ht**tps://issues.apache.org/****
>>>>>>>> jira/browse/CLOUDSTACK-1192<https://issues.apache.org/**jira/browse/CLOUDSTACK-1192>
>>>>>>>> >
>>>>>>>> <ht**tps://issues.apache.org/**jira/**browse/CLOUDSTACK-1192<http://issues.apache.org/jira/**browse/CLOUDSTACK-1192>
>>>>>>>> <**https://issues.apache.org/**jira/browse/CLOUDSTACK-1192<https://issues.apache.org/jira/browse/CLOUDSTACK-1192>
>>>>>>>> >
>>>>>>>>
>>>>>>>>
>>>>>>>>>  FS (I will update later) :
>>>>>>>> https://cwiki.apache.org/******confluence/display/CLOUDSTACK/******<https://cwiki.apache.org/****confluence/display/CLOUDSTACK/****>
>>>>>>>> <https://cwiki.apache.org/****confluence/display/**CLOUDSTACK/**<https://cwiki.apache.org/**confluence/display/CLOUDSTACK/**>
>>>>>>>> >
>>>>>>>> VM+Disk+IO+Throttling<https://****cwiki.apache.org/confluence/****<http://cwiki.apache.org/confluence/**>
>>>>>>>> display/CLOUDSTACK/VM+Disk+IO+****Throttling<https://cwiki.**
>>>>>>>> apache.org/confluence/display/**CLOUDSTACK/VM+Disk+IO+**Throttling<https://cwiki.apache.org/confluence/display/CLOUDSTACK/VM+Disk+IO+Throttling>
>>>>>>>> >
>>>>>>>>
>>>>>>>>
>>>>>>>>>  Merge check list :-
>>>>>>>>
>>>>>>>> * Did you check the branch's RAT execution success?
>>>>>>>> Yes
>>>>>>>>
>>>>>>>> * Are there new dependencies introduced?
>>>>>>>> No
>>>>>>>>
>>>>>>>> * What automated testing (unit and integration) is included in the
>>>>>>>> new
>>>>>>>> feature?
>>>>>>>> Unit tests are added.
>>>>>>>>
>>>>>>>> * What testing has been done to check for potential regressions?
>>>>>>>> (1) set the bytes rate and IOPS rate on CloudStack UI.
>>>>>>>> (2) VM operations, including
>>>>>>>> deploy, stop, start, reboot, destroy, expunge. migrate, restore
>>>>>>>> (3) Volume operations, including
>>>>>>>> Attach, Detach
>>>>>>>>
>>>>>>>> To review the code, you can try
>>>>>>>> git diff c30057635d04a2396f84c588127d7e******be42e503a7
>>>>>>>> f2e5591b710d04cc86815044f5823e******73a4a58944
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Wei
>>>>>>>>
>>>>>>>> [1]
>>>>>>>> https://cwiki.apache.org/******confluence/display/CLOUDSTACK/******<https://cwiki.apache.org/****confluence/display/CLOUDSTACK/****>
>>>>>>>> <https://cwiki.apache.org/****confluence/display/**CLOUDSTACK/**<https://cwiki.apache.org/**confluence/display/CLOUDSTACK/**>
>>>>>>>> >
>>>>>>>> VM+Disk+IO+Throttling<https://****cwiki.apache.org/confluence/****<http://cwiki.apache.org/confluence/**>
>>>>>>>> display/CLOUDSTACK/VM+Disk+IO+****Throttling<https://cwiki.**
>>>>>>>> apache.org/confluence/display/**CLOUDSTACK/VM+Disk+IO+**Throttling<https://cwiki.apache.org/confluence/display/CLOUDSTACK/VM+Disk+IO+Throttling>
>>>>>>>> >
>>>>>>>>
>>>>>>>>>
>>>>>>>>>  [2] refs/heads/disk_io_throttling
>>>>>>>> [3] 
>>>>>>>> https://issues.apache.org/******jira/browse/CLOUDSTACK-1301<https://issues.apache.org/****jira/browse/CLOUDSTACK-1301>
>>>>>>>> <ht**tps://issues.apache.org/****jira/browse/CLOUDSTACK-1301<https://issues.apache.org/**jira/browse/CLOUDSTACK-1301>
>>>>>>>> >
>>>>>>>> <ht**tps://issues.apache.org/**jira/**browse/CLOUDSTACK-1301<http://issues.apache.org/jira/**browse/CLOUDSTACK-1301>
>>>>>>>> <**https://issues.apache.org/**jira/browse/CLOUDSTACK-1301<https://issues.apache.org/jira/browse/CLOUDSTACK-1301>
>>>>>>>> >
>>>>>>>>
>>>>>>>>>
>>>>>>>>>  
>>>>>>>>> <ht**tps://issues.apache.org/****jira/**browse/CLOUDSTACK-2071<http://issues.apache.org/**jira/**browse/CLOUDSTACK-2071>
>>>>>>>> **<http://issues.apache.org/**jira/**browse/CLOUDSTACK-2071<http://issues.apache.org/jira/**browse/CLOUDSTACK-2071>
>>>>>>>> >
>>>>>>>> <**https://issues.apache.org/****jira/browse/CLOUDSTACK-2071<https://issues.apache.org/**jira/browse/CLOUDSTACK-2071>
>>>>>>>> <h**ttps://issues.apache.org/jira/**browse/CLOUDSTACK-2071<https://issues.apache.org/jira/browse/CLOUDSTACK-2071>
>>>>>>>> >
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>  (**CLOUDSTACK-1301
>>>>>>>>>
>>>>>>>>>
>>>>>>>> -     VM Disk I/O Throttling)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>

Reply via email to