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

Major performance regression in DRF sorter.

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 1.3.0
    • Fix Version/s: 1.3.0
    • Component/s: allocation
    • Labels:
    • Target Version/s:

      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

            People

            • Assignee:
              neilc Neil Conway
              Reporter:
              drexin Dario Rexin
              Shepherd:
              Michael Park
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: