Mike,
Thanks a lot!

-Wei

2013/5/31, Mike Tutkowski <mike.tutkow...@solidfire.com>:
> Hi Wei,
>
> Thanks!
>
> Here are the details you requested. This also talks about Min and Max IOPS.
>
> Please let me know if you'd like more information. I have an entire
> document I could share with you regarding SolidFire QoS (the info below is
> taken from this document).
>
> Talk to you later!
>
> How does SolidFire QoS use burstIOPS?
>
> When the cluster is running in a state of low cluster utilization, clients
> are able to accrue burstIOPS credits and use these credits to burst above
> their max up to their burst IOPS for the burst period.
>
> The current burst period is 60 seconds.
>
> Burst IOPS credits are accrued by performing less IO than the maxIOPS. Each
> IO that is not used under the maxIOPS, is considered an IOPS “credit”, that
> can be used later.
>
> There are two limits to the way that the burst IOPS credits can be used.
>
> The first limit is that the total number of burst credits that a customer
> can accrue is (60 seconds) * (burst IOPS - max IOPS).
>
> The second limit is that the number of credits that can be depleted at any
> time is at most the burst IOPS. Thus, a customer will never be able to go
> higher than the burst IOPS set for the volume.
>
> Note: when another volume on the node is unable to reach its minIOPS,
> burstIOPS are reset for all customers on the node.
>
>
> Basic explanation: When there is performance left to do so, SolidFIre
> allows customers to burst above their maximum for 60 seconds.
>
> How does SolidFire QoS use maxIOPS?
>
> MaxIOPS is a sustained rate limit. For a sustained period of time, the
> customer will be able to sustain this IO rate, as long as no one else on
> the cluster is unable to get their minimum IOPS.
>
> Basic explanation: MaxIOPS is what a customer will sustain for a long
> period of time if everyone is getting their minimum IOPS guarantees.
>
> How does SolidFire QoS use minIOPS?
>
> The minIOPS is a lower limit on the performance that a customer should
> expect in normal operating scenarios.
>
> SolidFire QoS is constantly monitoring the latencies observed by the
> client, and the queue depth that the client is driving to the cluster.
>
> When a customer reaches the “cannot reach minIOPS situation”, as detected
> by the targetIOPS and the latencies that the cluster is seeing at the given
> IOPS, other customers are gradually ratcheted and pushed down to their
> minIOPS.
>
> Note: customers are never throttled to less than their minIOPS unless there
> is serious overload.
>
> What this means, is that at sufficiently high queue depth on a heavily
> utilized cluster, our quality of service detects situations where a
> customer is unable to get their minIOPS, and takes performance away from
> other customers running above their minIOPS, and gives it to the customer
> that is unable to reach their minIOPS until the “unhappy” customer reaches
> their minIOPS.
>
> Note: In Boron (Version 5), to qualify for the minIOPS guarantee, the
> customer must be running a queue depth higher than 8.
>
> What these three settings give us is something unique to storage: a quality
> of service that limits the customer’s sustained effect on performance on
> the cluster (max IOPS), the ability to burst and use unused performance
> (burst IOPS) if there is any, and a reasonable expectation of performance
> even in high utilization situations where performance can be dynamically
> balanced throughout customers in the system.
>
>
> The net effect of this, is that, in SolidFire, because the ratio of
> performance between customers is changing depending on cluster utilization,
> we’ve made it so that each customer’s performance isn’t directly tied to
> each other.
>
>
>
> On Fri, May 31, 2013 at 10:43 AM, Wei ZHOU <ustcweiz...@gmail.com> wrote:
>
>> Mike,
>>
>> good work.
>> I notice the burst IOPS. Do you know the mechanism and the config of
>> it, like the duration and interval burst IO? Thanks.
>>
>> -Wei
>>
>> 2013/5/31, Mike Tutkowski <mike.tutkow...@solidfire.com>:
>> > Hi everyone,
>> >
>> > I apologize for being unfamiliar with how I should have gone about
>> getting
>> > consensus for the storage plug-in I developed for 4.2.
>> >
>> > I talked with Animesh and he has asked me to send out this proposal
>> related
>> > to the storage plug-in I built for 4.2 and submitted to Review Board
>> > earlier this week.
>> >
>> > Here is a link to the design document:
>> >
>> >
>> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Implement+SolidFire+(storage)+plug-in+and+expose+control+of+IOPS+to+admins+and+end+users
>> >
>> > Here is a link to the JIRA ticket:
>> >
>> > https://issues.apache.org/jira/browse/CLOUDSTACK-2778
>> >
>> > Here is a link to it on Review Board:
>> >
>> > https://reviews.apache.org/r/11479/
>> >
>> > Here is a high-level summary:
>> >
>> > I have developed a storage plug-in which makes use of the new storage
>> > framework that Edison put in place for the 4.2 release.
>> >
>> > Working with Edison, I have identified a few areas of the storage
>> framework
>> > that needed to be enhanced (and I have done so in the code that I
>> > submitted) for dynamic, zone-wide primary storage to function.
>> >
>> > This storage plug-in is specific to SolidFire (a data-storage company),
>> > whose architecture is designed around Quality of Service. Each volume
>> > on
>> > this SAN is assigned a Min, Max, and Burst number of IOPS. The Min is,
>> > as
>> > one might expect, a guaranteed number (even in fault conditions) (as
>> > long
>> > as the IOPS of the SAN are not over-provisioned).
>> >
>> > Per a discussion several months ago on this list, I have added into the
>> > Disk Offerings Min, Max, and Burst values (all optional). These values
>> > follow the patterns of the Disk Size field in that they can be
>> > customized
>> > by the end user (in the Add Volume) if the admin decides to allow this.
>> >
>> > In the end, this feature allows users to create a 1:1 mapping between a
>> > volume on the SAN and a data disk that can be attached to a VM
>> > (XenServer
>> > supported...perhaps VMware, depending on time). This allows CloudStack
>> > admins to offer their end users guaranteed IOPS on data disks
>> (eliminating
>> > the Noisy Neighbor effect). The plan is to support root disks in a
>> post-4.2
>> > release.
>> >
>> > Again, I am sorry about my confusion regarding process here. I
>> > certainly
>> > appreciate all of the input I have received on the e-mail list over the
>> > past couple months while I was developing this feature.
>> >
>> > Please let me know if you have any questions.
>> >
>> > Thanks!
>> >
>> > --
>> > *Mike Tutkowski*
>> > *Senior CloudStack Developer, SolidFire Inc.*
>> > e: mike.tutkow...@solidfire.com
>> > o: 303.746.7302
>> > Advancing the way the world uses the
>> > cloud<http://solidfire.com/solution/overview/?video=play>
>> > *™*
>> >
>>
>
>
>
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkow...@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the
> cloud<http://solidfire.com/solution/overview/?video=play>
> *™*
>

Reply via email to