Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-7521

Major performance regression in DRF sorter.

Attach filesAttach ScreenshotVotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 1.3.0
    • 1.3.0
    • allocation

    Description

      The addition of hierarchical roles to the framework sorter (https://github.com/apache/mesos/commit/e5ef1992b2b8e84b5d1487f1578f18f2291cd082) has introduced a major performance regression to 1.2. Suppressing offers for frameworks does not seem to reduce allocation time anymore, like it used to in 1.2. Here are some relevant benchmark results:

      Mesos 1.2:

      [ RUN      ] SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/7
      Using 1000 agents and 6000 frameworks
      Added 6000 frameworks in 105957us
      Added 1000 agents in 34.937438secs
      allocate() took 27.408828secs to make 1000 offers with 1200 out of 6000 frameworks suppressing offers
      allocate() took 20.121897secs to make 1000 offers with 2400 out of 6000 frameworks suppressing offers
      allocate() took 12.964302secs to make 1000 offers with 3600 out of 6000 frameworks suppressing offers
      allocate() took 6.534221secs to make 1000 offers with 4800 out of 6000 frameworks suppressing offers
      allocate() took 8953us to make 0 offers with 6000 out of 6000 frameworks suppressing offers
      [       OK ] SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/7 (106198 ms)
      

      Mesos 1.3:

      [ RUN      ] SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/7
      Using 1000 agents and 6000 frameworks
      Added 6000 frameworks in 1.036217secs
      Added 1000 agents in 10.093938secs
      allocate() took 10.629448secs to make 1000 offers with 1200 out of 6000 frameworks suppressing offers
      allocate() took 11.607185secs to make 1000 offers with 2400 out of 6000 frameworks suppressing offers
      allocate() took 12.896578secs to make 1000 offers with 3600 out of 6000 frameworks suppressing offers
      allocate() took 14.162431secs to make 1000 offers with 4800 out of 6000 frameworks suppressing offers
      allocate() took 257060us to make 0 offers with 6000 out of 6000 frameworks suppressing offers
      [       OK ] SlaveAndFrameworkCount/HierarchicalAllocator_BENCHMARK_Test.SuppressOffers/7 (64011 ms)
      

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            neilc Neil Conway
            drexin Dario Rexin
            Michael Park Michael Park
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment