The initial partitioning of a distributed computing problem can be
critical, and is often a source of tedium for the user. A method is
provided that automatically segments the problem into fixed sized
collections of original program cells (OPCs) based on the complexity of
the problem specified, and the combination of computing agents of various
caliber available for the overall job. The OPCs that are on the edge of a
collection can communicate with OPCs on the edges of neighboring
collections, and are indexed separately from OPCs that are within the
`core` or inner non-edge portion of a collection. Consequently, core OPCs
can iterate independently of whether any communication occurs between
collections and groups of collections (VPPs). All OPCs on an edge have
common dependencies on remote information (i.e., their neighbors are all
on the same edge of a neighboring collection).