wrench::ExpiringLatestReusableContainerSelectionPolicy

class ExpiringLatestReusableContainerSelectionPolicy : public wrench::ServerlessReusableContainerSelectionPolicy

A “whichever expires the latest” serverless scheduling reusable container selection policy.

  • If there is a non-idle container, pick the one with the fewest remaining “slots”

  • Among full idle containers, pick the one that will expire the latest

Public Functions

virtual std::pair<std::shared_ptr<ServerlessComputeNode>, std::shared_ptr<Container>> selectReusableContainer(const std::shared_ptr<ServerlessSchedulingState> &scheduling_state, const std::shared_ptr<Invocation> &invocation, const std::vector<std::shared_ptr<ServerlessComputeNode>> &candidate_nodes) override

Select a reusable container:

  • If there is a non-idle container, pick the one with the fewest remaining “slots”

  • Among full idle containers, pick the one that will expire the latest

Parameters:
  • scheduling_state – the scheduling state

  • invocation – the invocation to execute

  • candidate_nodes – the nodes that can be considered

Returns:

a ServerlessComputeNode/Container pair