TVMRuntime functions, in general, is thread safe, this means you can call a single TVM built Function from multiple threads without a problem
The graph executor contains states, which means it is not thread-safe(you don’t want to share an executor among multiple threads) unless you use mutex to lock it.
It is best to use one post per question so people can find the answers accurately. The question about latency vs throughput is quite general and I think there is no direct answer to this, try things out if you like