Before giving a detailed specification of the interesting Range hierarchy we need a more concrete language for discussing the processor arrangements over which index ranges will be distributed. We will also take the opportunity to discuss representation of DAD process groups in general.
We are familiar with the MPI idea of a process group, which is represented by a data structure of type MPI_GROUP. The groups referenced by a DAD are conceptually similar, but likely to be implemented in a different way. If we are going to create and manipulate DADs with the same freedom that typical data parallel programs create references to array sections, for example, the group object in the DAD better be very lightweight--highly streamlined.