Structured distributed computation under communication and computation constraints