Yeah that's definitely a question I've been asking myself, and we synced on
that with Niklas during the last meeting. The thought currently is that we
should choose a better name than ThrottleInfo. ThrottleInfo seems to carry
too strong of an implication about what the resources will experience.
Rather, we could pick a name like "ScavengeInfo" / "BestEffortInfo" / etc
that indicates that these resources are running within the un-utilized
portion of the machine and _may_ experience degradation.

On Mon, Mar 21, 2016 at 1:26 AM, Joris Van Remoortere <[email protected]>
wrote:

> @klaus:
> I think @connor's question is whether we are absolutely sure we never want
> to support throttle-able but non-revocable resources.
> It's clear from the protos that this is not supported, the question is
> whether we are sure that is what we want. If so, can you elaborate as to
> *why* we would never want that concept in Mesos.
>
> —
> *Joris Van Remoortere*
> Mesosphere
>
> On Sun, Mar 20, 2016 at 8:33 PM, Klaus Ma <[email protected]> wrote:
>
>> Here's some input :).
>>
>> If throttling is tolerable but preemption is not, how would that be
>> expressed? (Is that supported?)
>> [Klaus]: It's not supported; only revocable resources has this attribute:
>> non-throttleable or throttleable. The throttleable revocable resources is
>> reported by ResourceEstimator which means the resources maybe throttled by
>> its original owner.
>>
>> How does this work with the QoS controller? Will there be a new
>> correction type to indicate throttling, or does throttling happen "behind
>> the agent's back"?
>> [Klaus]: The QoSController/ResourceEstimator only manages throttleable
>> revocable resources; the others resources (regular resources and
>> non-throttleable revocable resources) are managed by allocator. The
>> "manage" means generation and destroy/eviction. Regarding "throttling
>> happen", good question. I think the throttling will dependent on
>> containers, let me double check it :).
>>
>> If any comments, please let me know.
>>
>> ----
>> Da (Klaus), Ma (马达) | PMP® | Advisory Software Engineer
>> Platform OpenSource Technology, STG, IBM GCG
>> +86-10-8245 4084 | [email protected] | http://k82.me
>>
>> On Sat, Mar 19, 2016 at 11:15 PM, <[email protected]> wrote:
>>
>>> Thanks for the good explanations so far Ben and Klaus.  Apologies if you
>>> guys already covered these questions in the meeting:
>>>
>>> If throttling is tolerable but preemption is not, how would that be
>>> expressed? (Is that supported?)
>>>
>>> How does this work with the QoS controller? Will there be a new
>>> correction type to indicate throttling, or does throttling happen "behind
>>> the agent's back"?
>>>
>>> Thanks,
>>> --
>>> Connor
>>>
>>> > On Mar 19, 2016, at 04:01, Klaus Ma <[email protected]> wrote:
>>> >
>>> > @team, in the latest meeting, we agree to keep current name
>>> ThrottleInfo.
>>> >
>>> > If any more comments, please let me know.
>>> >
>>> >> On Wednesday, March 16, 2016 at 9:32:37 PM UTC+8, Guangya Liu wrote:
>>> >> Also please show your comments if any for the name here, the current
>>> name is ThrottleInfo, in Kubernetes resources qos design document, they are
>>> using scavenging as the key work for such behaviour, so a possible name
>>> here could be ScavengeInfo , please show your comments if any for those two
>>> names or even if you want to propose a new name here.
>>> >>
>>> >> message RevocableInfo {
>>> >>     message ThrottleInfo {}
>>> >>
>>> >>     // If set, indicates that the resources may be throttled at
>>> >>     // any time. Throttle-able resoruces can be used for tasks
>>> >>     // that do not have strict performance requirements and are
>>> >>     // capable of handling being throttled.
>>> >>     optional ThrottleInfo throttle_info = 1;
>>> >>   }
>>> >>
>>> >> 在 2016年3月16日星期三 UTC+8上午10:24:14,Klaus Ma写道:
>>> >>>
>>> >>> The patches are updated accordingly; JIRA: MESOS-3888 , RR:
>>> https://reviews.apache.org/r/40375/ .
>>> >>>
>>> >>> Thanks
>>> >>> klaus
>>> >>>
>>> >>>> On Saturday, March 12, 2016 at 11:09:46 AM UTC+8, Benjamin Mahler
>>> wrote:
>>> >>>> Hey folks,
>>> >>>>
>>> >>>> In the resource allocation working group we've been looking into a
>>> few projects that will make the allocator able to offer out resources as
>>> revocable. For example:
>>> >>>>
>>> >>>> -We'll want to eventually allocate resources as revocable _by
>>> default_, only allowing non-revocable when there are guarantees put in
>>> place (static reservations or quota).
>>> >>>>
>>> >>>> -On the path to revocable by default, we can incrementally start to
>>> offer certain resources as revocable. Consider when quota is set but the
>>> role isn't using all of the quota. The unallocated quota can be offered to
>>> other roles, but it should be revocable because we may revoke them should
>>> the quota'ed role want to use the resources. Unused reservations fall into
>>> a similar category.
>>> >>>>
>>> >>>> -Going revocable by default also allows us to enforce fairness in a
>>> dynamically changing cluster by revoking resources as weights are changed,
>>> frameworks are added or removed, etc.
>>> >>>>
>>> >>>> In this context, "revocable" means that the resources may be taken
>>> away and the container will be destroyed. The meaning of "revocable" in the
>>> context of usage oversubscription includes this, but also the container may
>>> experience a throttling (e.g. lower cpu shares, less network priority, etc).
>>> >>>>
>>> >>>> For this reason, and because we internally need to distinguish
>>> revocable resources between the those that are generated by usage
>>> oversubscription and those that are generated by the allocator, we're
>>> thinking of the following change to the API:
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> -  message RevocableInfo {}
>>> >>>> +  message RevocableInfo {
>>> >>>> +    message ThrottleInfo {}
>>> >>>> +
>>> >>>> +    // If set, indicates that the resources may be throttled at
>>> >>>> +    // any time. Throttle-able resoruces can be used for tasks
>>> >>>> +    // that do not have strict performance requirements and are
>>> >>>> +    // capable of handling being throttled.
>>> >>>> +    optional ThrottleInfo throttle_info;
>>> >>>> +  }
>>> >>>>
>>> >>>>    // If this is set, the resources are revocable, i.e., any tasks
>>> or
>>> >>>> -  // executors launched using these resources could get preempted
>>> or
>>> >>>> -  // throttled at any time. This could be used by frameworks to run
>>> >>>> -  // best effort tasks that do not need strict uptime or
>>> performance
>>> >>>> +  // executors launched using these resources could be terminated
>>> at
>>> >>>> +  // any time. This could be used by frameworks to run
>>> >>>> +  // best effort tasks that do not need strict uptime
>>> >>>>    // guarantees. Note that if this is set, 'disk' or 'reservation'
>>> >>>>    // cannot be set.
>>> >>>>    optional RevocableInfo revocable = 9;
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> Essentially we want to distinguish between revocable and revocable
>>> + throttle-able. This is because usage-oversubscription generates
>>> throttle-able revocable resources, whereas the allocator does not. This
>>> also solves our problem of distinguishing between these two kinds of
>>> revocable resources internally.
>>> >>>>
>>> >>>> Feedback welcome!
>>> >>>>
>>> >>>> Ben
>>> >>>>
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Mesos Resource Allocation Working Group" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/mesos-allocation/CAGmKMfU4NJpY8NP6PVu9g-ebfi7Q9UseEdPUc0XkL1qqqqm75g%40mail.gmail.com
>> <https://groups.google.com/d/msgid/mesos-allocation/CAGmKMfU4NJpY8NP6PVu9g-ebfi7Q9UseEdPUc0XkL1qqqqm75g%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Mesos Resource Allocation Working Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/mesos-allocation/CAKgKkU6EoOVvFVw0ppptE%2BA%2BHXuTB5UwETkHXz8CPsdqaDeh%2BQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/mesos-allocation/CAKgKkU6EoOVvFVw0ppptE%2BA%2BHXuTB5UwETkHXz8CPsdqaDeh%2BQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

Reply via email to