next up previous contents
Next: struct Coord Up: class DimensionSet Previous: Examples

Implementation notes

DimensionSet is currently realized as a simple, one-word record containing a long integer used as a bitmask. All the members can be implemented as short inline functions using bitwise operations--this class is very lightweight.

This implementation imposes the Adlib kernel's only limitation on dimensionality--the number of process dimensions in a process array should normally be less than the number of bits in a long integer. Unless, for unknown reasons, an application involves a process array with many dimensions of unit extent, this constraint is not really stronger than the tacit assumption that all processes can be distinctly labelled by a single integer. On a 32-bit computer, for example, this implementation theoretically supports binary hypercubes of up to about 4 billion processors...



Guansong Zhang
Fri Oct 9 12:29:23 EDT 1998