There's a bunch of metadata (DAG metadata, whether functions are GPU or CPU functions, etc.) that the scheduler gets access to, but the autoscaler never sees. Currently, it has to infer them via ridiculous heuristics (like is GPU in the name of the function). The scheduler should put all of this metadata in a sane place (i.e., Anna), and the autoscaler should periodically avail itself of that information. Even the mechanism of the scheduler directly sending some information to the autoscaler is brittle and should be avoided.