Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id B6E5A200C2A for ; Wed, 1 Mar 2017 20:31:13 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id B5881160B70; Wed, 1 Mar 2017 19:31:13 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id D191B160B56 for ; Wed, 1 Mar 2017 20:31:12 +0100 (CET) Received: (qmail 42150 invoked by uid 500); 1 Mar 2017 19:31:12 -0000 Mailing-List: contact reviews-help@aurora.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: reviews@aurora.apache.org Delivered-To: mailing list reviews@aurora.apache.org Received: (qmail 42138 invoked by uid 99); 1 Mar 2017 19:31:11 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Mar 2017 19:31:11 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 4FD84C05AA; Wed, 1 Mar 2017 19:31:11 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.251 X-Spam-Level: X-Spam-Status: No, score=0.251 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=2, KAM_LAZY_DOMAIN_SECURITY=1, KAM_LOTSOFHASH=0.25, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id DPXe_Alw90As; Wed, 1 Mar 2017 19:31:08 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 9DBD35F403; Wed, 1 Mar 2017 19:31:07 +0000 (UTC) Received: from reviews.apache.org (unknown [10.41.0.12]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 245A8E0238; Wed, 1 Mar 2017 19:31:02 +0000 (UTC) Received: from reviews-vm2.apache.org (localhost [IPv6:::1]) by reviews.apache.org (ASF Mail Server at reviews-vm2.apache.org) with ESMTP id 0435BC40426; Wed, 1 Mar 2017 19:31:02 +0000 (UTC) Content-Type: multipart/alternative; boundary="===============6666151502008161136==" MIME-Version: 1.0 Subject: Re: Review Request 56690: [Patch 1/2] RFC for first patch implementing scheduling changes for Dynamic Reservations From: Zameer Manji To: Mehrdad Nurolahzade , Stephan Erb , Zameer Manji Cc: Dmitriy Shirchenko , Aurora , Aurora ReviewBot Date: Wed, 01 Mar 2017 19:31:02 -0000 Message-ID: <20170301193102.39250.7025@reviews-vm2.apache.org> X-ReviewBoard-URL: https://reviews.apache.org/ Auto-Submitted: auto-generated Sender: Zameer Manji X-ReviewGroup: Aurora X-Auto-Response-Suppress: DR, RN, OOF, AutoReply X-ReviewRequest-URL: https://reviews.apache.org/r/56690/ X-Sender: Zameer Manji References: <20170222233147.1738.53592@reviews.apache.org> In-Reply-To: <20170222233147.1738.53592@reviews.apache.org> Reply-To: Zameer Manji X-ReviewRequest-Repository: aurora archived-at: Wed, 01 Mar 2017 19:31:13 -0000 --===============6666151502008161136== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit > On Feb. 22, 2017, 3:31 p.m., Stephan Erb wrote: > > src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java > > Lines 210-228 (patched) > > > > > > This reads like as if there is a more general concept of "soft-constraints" waiting to be discovered. In other words: We want constraints that are lifted once we cannot satisfy them for a certain amount of time. See https://issues.apache.org/jira/browse/AURORA-173 for details. > > > > I imagine the TaskAssigner could keep its current behavior and only assign a task if there is no veto for it. It is the responsibility of an out-of-band mechanism to ensure we either don't generate vetos for expired soft-constraints, or we have a way to check if a generated veto is already expired or not. > > > > (One very rudimentary implementation could probably look similar to `TaskTimeout.java` but for the `PENDING` state. However there are most likely also other/better ways to do this) > > Dmitriy Shirchenko wrote: > Zameer had thoughts on this.^ > > Stephan Erb wrote: > Are those thoughts available in text form somewhere? :-) From what I understand what you are proposing here, is that we need to generalize our "look for offer until timeout, then take action". We could do that, but I strongly believe there will be cases where some tasks will always "steal" offers from a task that is waiting which will always trigger the action, negating the preference. I think the problem with AURORA-173 (aka perferences, aka "soft-constraints") is that is incompatible with our current first fit + veto model for matching tasks with offers. In order to achive this we need some sort of (simple) bin packing algorithm which is a large change and would require some work. The solution could be to use Fenzo (https://github.com/Netflix/Fenzo) or writing our own. I think it is really out of scope for this task here. - Zameer ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/56690/#review166430 ----------------------------------------------------------- On Feb. 28, 2017, 1:25 p.m., Dmitriy Shirchenko wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/56690/ > ----------------------------------------------------------- > > (Updated Feb. 28, 2017, 1:25 p.m.) > > > Review request for Aurora, Mehrdad Nurolahzade, Stephan Erb, and Zameer Manji. > > > Bugs: AURORA-1819 > https://issues.apache.org/jira/browse/AURORA-1819 > > > Repository: aurora > > > Description > ------- > > This is an RFC (without tests) for dynamic reservations proposal. If there is consensus on the approach, I will add tests. This patch was also tested locally and works as expected. > > > Diffs > ----- > > src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java f2296a9d7a88be7e43124370edecfe64415df00f > src/jmh/java/org/apache/aurora/benchmark/fakes/FakeOfferManager.java 6f2ca35c5d83dde29c24865b4826d4932e96da80 > src/main/java/org/apache/aurora/scheduler/TaskVars.java 676dfd9f9d7ee0633c05424f788fd0ab116976bb > src/main/java/org/apache/aurora/scheduler/TierInfo.java c45b949ae7946fc92d7e62f94696ddc4f0790cfa > src/main/java/org/apache/aurora/scheduler/TierManager.java c6ad2b1c48673ca2c14ddd308684d81ce536beca > src/main/java/org/apache/aurora/scheduler/base/InstanceKeys.java b12ac83168401c15fb1d30179ea8e4816f09cd3d > src/main/java/org/apache/aurora/scheduler/base/TaskTestUtil.java f0b148cd158d61cd89cc51dca9f3fa4c6feb1b49 > src/main/java/org/apache/aurora/scheduler/events/NotifyingSchedulingFilter.java f6c759f03c4152ae93317692fc9db202fe251122 > src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilter.java bb1a960a4c77f48b0ceaa213bd27546551f384f9 > src/main/java/org/apache/aurora/scheduler/filter/SchedulingFilterImpl.java 60097d91d836e2686d6e90571f13a2fbfd88ae14 > src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java 0d639f66db456858278b0485c91c40975c3b45ac > src/main/java/org/apache/aurora/scheduler/offers/OfferManager.java 8c000cb0626bd34f6f30e23fe2b3a045f2b44e35 > src/main/java/org/apache/aurora/scheduler/offers/OfferSettings.java e16e36ed360ef9ca371df9084365ea88cfb6e7ce > src/main/java/org/apache/aurora/scheduler/offers/OffersModule.java 202cae96ffc5b49e638b973a273f7983137b5baf > src/main/java/org/apache/aurora/scheduler/resources/ResourceManager.java 9aa263a9cfae03a9a0c5bc7fe3a1405397d3009c > src/main/java/org/apache/aurora/scheduler/scheduling/TaskScheduler.java 203f62bacc47470545d095e4d25f7e0f25990ed9 > src/main/java/org/apache/aurora/scheduler/state/TaskAssigner.java da378e84ee65a658ff2382489d3ab6d5f6451b5f > src/main/resources/org/apache/aurora/scheduler/tiers.json 34ddb1dc769a73115c209c9b2ee158cd364392d8 > src/test/java/org/apache/aurora/scheduler/TierManagerTest.java 82e40d509d84c37a19b6a9ef942283d908833840 > src/test/java/org/apache/aurora/scheduler/offers/OfferManagerImplTest.java 49d4e82cc03144b80292fe43066a6cc4d7aed88f > src/test/java/org/apache/aurora/scheduler/resources/AcceptedOfferTest.java dded9c34749cf599d197ed312ffb6bf63b6033f1 > src/test/java/org/apache/aurora/scheduler/resources/ResourceManagerTest.java b8b8edb1a21ba89b8b60f8f8451c8c776fc23ae8 > src/test/java/org/apache/aurora/scheduler/resources/ResourceTestUtil.java e04f6113c43eca4555ee0719f8208d7c4ebb8d61 > src/test/java/org/apache/aurora/scheduler/state/TaskAssignerImplTest.java cf2d25ec2e407df7159e0021ddb44adf937e1777 > > > Diff: https://reviews.apache.org/r/56690/diff/5/ > > > Testing > ------- > > > Thanks, > > Dmitriy Shirchenko > > --===============6666151502008161136==--