Does it make sense to have 3 levels of locality?

In-process locality, node locality, rack locality ...