The DistObj data structure provides the basic primitives for manipulating objects that are physically distributed over the processors. Such primitives include generating unique object ids, allocating and deallocating distributed objects, and performing global operations on all partitions of the distributed object. DistObj is used by most higher-level data structures.