Currently, as the number of robots increase, the number of generate_path requests also increase in a relatively linear 1:1 relationship.
Running on dev machine with ~220 robots in a larger warehouse, we still see generate_path has a very stable processing time of < 30ms, with the average time being 2.88ms

From this, with the goal of making pathfinding a scalable process, we want to be able to have the robot manager parcel out generate path requests to a queue, and then N worker nodes can pull from this queue and complete and return the paths for them.
Analysis
One question is whether there's a way to identify generate path requests that will likely take < 1 ms or so, in which case it might be worth keeping those local instead of pushing them onto a queue.
Looking at the logs and doing some pair-plots and a correlation matrix

It doesn't seem like manhattan distance (something easily calculatable in O(1) time before generate_path based off of start-end locations) correlates much with duration (0.37).
Currently, as the number of robots increase, the number of generate_path requests also increase in a relatively linear 1:1 relationship.
Running on dev machine with ~220 robots in a larger warehouse, we still see generate_path has a very stable processing time of < 30ms, with the average time being 2.88ms
From this, with the goal of making pathfinding a scalable process, we want to be able to have the robot manager parcel out generate path requests to a queue, and then N worker nodes can pull from this queue and complete and return the paths for them.
Analysis
One question is whether there's a way to identify generate path requests that will likely take < 1 ms or so, in which case it might be worth keeping those local instead of pushing them onto a queue.
Looking at the logs and doing some pair-plots and a correlation matrix
It doesn't seem like manhattan distance (something easily calculatable in O(1) time before generate_path based off of start-end locations) correlates much with duration (0.37).