« Previous | Next » 

Revision 478df686

ID478df6860fe53fa36264bd8a7ca6cfdda4afd124
Parent 685935f7
Child 31e7ac17

Added by Iustin Pop about 15 years ago

Change the tryAlloc/tryReloc workflow

Currently, the tryAlloc and tryReloc function return a list with all the
results, both failures and successes. This is fine for hail, which does
one round of allocations, but is not so good for hspace, which does
iterative rounds; since at each (successful) step we only take the best
solution, it means that we're using lots of heap space to compute and
store node lists which are thrown away at the end of the step.

This patch changes these two functions and their callers in hail/hspace
to only return the best solution, and error/success counters. This
allows hspace to run in a much smaller space, and reduces GC cost
greatly.

Overall, it is a cleanup, as hail/hspace did a lot of work to chose this
best solution, whereas now it's automatically promoted within
Cluster.concatAllocs.

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences