As the patch 3 description, this patch series finally makes
the allocation algorithm work in parallel. While the single-threaded
mode doesn't impact hail (a single instance allocation/placement), when
doing capacity computations with hspace a lot of speedup can be
accomplished.

The scalability is quite good up until 4-5 threads and up to ~150 nodes,
after that the gains are lower (e.g. 100 nodes with 8 threads, the
speedup is only 4.9x).

Patch 1 is cleanup but required for the rest of the series, patch 5 is
also cleanup, and patch 6 is a small new feature.

Iustin Pop (6):
  Change type of Cluster.AllocSolution
  Abstract comparison of AllocElements
  Parallelise instance allocation/capacity computation
  Change how node pairs are generated/used
  Small simplification in tryAlloc
  Add an allocation limit to hspace

 htools/Ganeti/HTools/CLI.hs            |    5 +-
 htools/Ganeti/HTools/Cluster.hs        |  118 +++++++++++++++++---------------
 htools/Ganeti/HTools/IAlloc.hs         |    7 +-
 htools/Ganeti/HTools/Program/Hspace.hs |    8 ++-
 htools/Ganeti/HTools/QC.hs             |   14 ++--
 man/hspace.rst                         |    5 ++
 6 files changed, 86 insertions(+), 71 deletions(-)

-- 
1.7.3.1

Reply via email to