Partitioning and Allocating Computational Objects in Distributed Computing Systems