nvflare.apis.resource_manager_spec module¶
- class ResourceManagerSpec[source]¶
Bases:
ABC
- abstract allocate_resources(resource_requirement: dict, token: str, fl_ctx: FLContext) dict [source]¶
Allocates resources.
Note
resource requirements and resources may be different things.
- Parameters:
resource_requirement – a dict that specifies resource requirement
token – a resource reservation token returned by check_resources
fl_ctx – the FLContext
- Returns:
A dict of allocated resources
- abstract cancel_resources(resource_requirement: dict, token: str, fl_ctx: FLContext)[source]¶
Cancels reserved resources if any.
- Parameters:
resource_requirement – a dict that specifies resource requirement
token – a resource reservation token returned by check_resources
fl_ctx – the FLContext
Note
If check_resource didn’t return a token, then don’t need to call this method
- abstract check_resources(resource_requirement: dict, fl_ctx: FLContext) Tuple[bool, str] [source]¶
Checks whether the specified resource requirement can be satisfied.
- Parameters:
resource_requirement – a dict that specifies resource requirement
fl_ctx – the FLContext
- Returns:
A tuple of (is_resource_enough, token).
is_resource_enough is a bool indicates whether there is enough resources; token is for resource reservation / cancellation for this check request.