This is a predecessor for optimizing performance of ResourceAllocationStrategy (
To optimize the performance, we will need to build and maintain index for registered/pending resources. As the strategy is designed to be stateless, we propose to build and maintain the index at TaskManagerTracker, providing only access methods to the strategy.
To decouple index accessing from the common FineGrainedSlotManager workflow, while preventing the strategy from directly modifying the states, we can introduce a read-only interface of TaskManagerTracker and pass it to the strategy. In this way, we can easily extend the read-only interface to provide more index-accessing methods in future.