Skip to content
Snippets Groups Projects
  1. May 29, 2012
  2. May 22, 2012
  3. May 15, 2012
  4. May 11, 2012
  5. Apr 26, 2012
  6. Apr 13, 2012
  7. Apr 12, 2012
  8. Mar 30, 2012
  9. Feb 17, 2012
  10. Jan 26, 2012
  11. Jan 24, 2012
  12. Jan 23, 2012
  13. Jan 20, 2012
  14. Jan 19, 2012
  15. Jan 18, 2012
  16. Jan 13, 2012
  17. Jan 06, 2012
  18. Dec 20, 2011
  19. Dec 08, 2011
  20. Dec 01, 2011
  21. Nov 22, 2011
  22. Nov 16, 2011
  23. Nov 14, 2011
  24. Nov 02, 2011
  25. Oct 18, 2011
  26. Oct 12, 2011
  27. Oct 05, 2011
  28. Sep 30, 2011
    • Iustin Pop's avatar
      Optimise cli.JobExecutor with many pending jobs · 11705e3d
      Iustin Pop authored
      
      In the case we submit many pending jobs (> 100) to the masterd, the
      JobExecutor 'spams' the master daemon with status requests for the
      status of all the jobs, even though in the end it will only choose a
      single job for polling.
      
      This is very sub-optimal, because when the master is busy processing
      small/fast jobs, this query forces reading all the jobs from
      this. Restricting the 'window' of jobs that we query from the entire
      set to a smaller subset makes a huge difference (masterd only, 0s
      delay jobs, all jobs to tmpfs thus no I/O involved):
      
      - submitting/waiting for 500 jobs:
        - before: ~21 s
        - after:   ~5 s
      - submitting/waiting for 1K jobs:
        - before: ~76 s
        - after:   ~8 s
      
      This is with a batch of 25 jobs. With a batch of 50 jobs, it goes from
      8s to 12s. I think that choosing the 'best' job for nice output only
      matters with a small number of jobs, and that for more than that
      people will not actually watch the jobs. So changing from 'perfect
      job' to 'best job in the first 25' should be OK.
      
      Note that most jobs won't execute as fast as 0 delay, but this is
      still a good improvement.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      11705e3d
Loading