<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">Le 04/03/2015 04:51, Rui Chen a écrit :<br>
    </div>
    <blockquote
cite="mid:CABHH=5BxGjjcuxW9N4W9=XhWy6gE1tk=G2sdLGDYuqCjxaTxtQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">Hi all,
        <div><br>
        </div>
        <div>I want to make it easy to launch a bunch of scheduler
          processes on a host, multiple scheduler workers will make use
          of multiple processors of host and enhance the performance of
          nova-scheduler.</div>
        <div><br>
        </div>
        <div>I had registered a blueprint and commit a patch to
          implement it.</div>
        <div><a moz-do-not-send="true"
href="https://blueprints.launchpad.net/nova/+spec/scheduler-multiple-workers-support">https://blueprints.launchpad.net/nova/+spec/scheduler-multiple-workers-support</a><br>
        </div>
        <div><br>
        </div>
        <div>This patch had applied in our performance environment and
          pass some test cases, like: concurrent booting multiple
          instances, currently we didn't find inconsistent issue.</div>
        <div><br>
        </div>
        <div>IMO, nova-scheduler should been scaled horizontally on
          easily way, the multiple workers should been supported as an
          out of box feature.</div>
        <div><br>
        </div>
        <div>Please feel free to discuss this feature, thanks.</div>
      </div>
    </blockquote>
    <br>
    <br>
    As I said when reviewing your patch, I think the problem is not just
    making sure that the scheduler is thread-safe, it's more about how
    the Scheduler is accounting resources and providing a retry if those
    consumed resources are higher than what's available.<br>
    <br>
    Here, the main problem is that two workers can actually consume two
    distinct resources on the same HostState object. In that case, the
    HostState object is decremented by the number of taken resources
    (modulo what means a resource which is not an Integer...) for both,
    but nowhere in that section, it does check that it overrides the
    resource usage. As I said, it's not just about decorating a
    semaphore, it's more about rethinking how the Scheduler is managing
    its resources.<br>
    <br>
    <br>
    That's why I'm -1 on your patch until [1] gets merged. Once this BP
    will be implemented, we will have a set of classes for managing
    heterogeneous types of resouces and consume them, so it would be
    quite easy to provide a check against them in the
    consume_from_instance() method.<br>
    <br>
    -Sylvain<br>
    <br>
    [1]
<a class="moz-txt-link-freetext" href="http://specs.openstack.org/openstack/nova-specs/specs/kilo/approved/resource-objects.html">http://specs.openstack.org/openstack/nova-specs/specs/kilo/approved/resource-objects.html</a><br>
    <blockquote
cite="mid:CABHH=5BxGjjcuxW9N4W9=XhWy6gE1tk=G2sdLGDYuqCjxaTxtQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Best Regards</div>
        <div><br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>