Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Usually, we think that the request for slots is faster than registering slots to the slot pool.(Registering slots to the slot pool needs to request and start TM.) But there are two special cases: 
    • This is not true if a job is re-scheduled after a task failure.
    • It's also not true for batch jobs.

...

  • In order to solve these two cases, we could introduce an additional timeout option: `slot.request.max-interval`, which means the maximum time interval when JM requests multiple slots from SlotPool.
  • When `current time > arrival time of the last slotRequest + slot.request.max-interval` and the number of available slots cached exceeds or equals the pending slots, the slots selection and allocation can be carried out.

2.2.3 Allocation strategy for slot to TM

...

    • Introduce a new implementation of SlotPool
      • Introduce a availableSlots Map in type HashMap<AllocationID, PhysicalSlot>When . When calling newSlotsAreAvailable, cache the slots into availableSlots.
      • Introduce the logic to process the parameter `slot.request.max-interval`, which means the maximum time interval when JM requests multiple slots from SlotPool.
      • When `current time > arrival time of the last slotRequest + slot.request.max-interval` and the number of available slots cached exceeds or equals the pending slots, the slots selection and allocation can be carried out.

...