Title: Partitioning and assignment of programs for distributed systems