processors that are configured to access pages having a predetermined page size in the physical memory, the method including:
selecting one of the pages of the physical memory in which to store a plurality of data items, including at least first and second data items;
dividing the selected page of the physical memory into a plurality of minipages, including at least first and second minipages containing the first and second data items, respectively;
mapping both first and second virtual pages, in a virtual memory space of the processors, to the selected page of the physical memory, such that the first and second virtual pages are associated respectively with the first and second minipages, and the first data item receives a first address on the first virtual page, while the second dataand second access permissions includes applying the permissions substantially independently of one another. Most preferably, receiving the requests includes receiving a first request by a first process running on a first one of the host processors to access the first data item, and a second request by a second process running on a second one of the host processors, and permitting the process to access the data items includes permitting the first process to access the first data item and the second process to access the second data item, subject to the respective access permissions and substantially independently of one another.
In a preferred embodiment, permitting the process to access the first and second data items includes controlling the access permissions so that sequential consistency is maintained in the