Read-coherent group memory
A data distribution system includes a data distribution module and at least two host-bus adapters coupled to the data distribution module. The data distribution system includes a memory-management system including a plurality of memory regions. The memory-management system is coherent across the plurality of memory regions and an absolute address of each of the plurality of memory regions accessed by a same offset.
1. A method, comprising operating a data distribution system including a multicast mechanism, and a data distribution module connected between a set of at least two host-bus adapters, wherein each host-bus adapter of the set of host-bus adapters mediates between a host of a set of hosts and the data distribution module, wherein the data distribution system includes a memory-management system including a group memory including a plurality of memory regions located in the data distribution module and each host of the set of hosts including: providing a mirror copy of a memory region of the plurality of memory regions located in the data distribution module to each corresponding memory region of the plurality of memory regions in each host of the set of hosts; initializing a memory-management system that is coherent across the group memory and the plurality of memory regions, wherein the memory-management system does not employ semaphores to maintain coherence; accessing an absolute address of each of the plurality of memory regions by a same offset using tables in the set of at least two host-bus adapters and the data distribution module; and, wherein the multicast mechanism ensures that data packets containing identical copies of relevant information exit the data distribution module in a simultaneous fashion and thereby reach all local host-bus adapters at the same time.
2. The method of claim 1 , wherein the plurality of memory regions include heterogeneous memory regions.
3. The method of claim 1 , further comprising:
dividing the group memory into a plurality of pages;
providing an entry for each page of the plurality of pages; and,
providing a separate read request and a separate write command for each page of the plurality of pages.
4. The method of claim 1 , wherein the memory-management system provides absolute memory coherency across the group memory and the plurality of memory regions.
5. An apparatus, comprising:
a data distribution system including:
a multicast mechanism;
a set of at least two host-bus adapters;
a set of hosts;
a data distribution module connected between the set of at least two host-bus adapters;
wherein each host-bus adapter of the set of host-bus adapters mediates between a host of the set of hosts and the data distribution module;
wherein the data distribution system includes a memory-management system including a group memory including a plurality of memory regions located in the data distribution module and each host of the set of hosts;
wherein a mirror copy of a memory region of the plurality of memory regions located in the data distribution module is provided to each corresponding memory region of the plurality of memory regions in each host of the set of hosts;
wherein the memory-management system is coherent across the group memory and the plurality of memory regions, wherein the memory-management system does not employ semaphores to maintain coherence;
wherein an absolute address of each of the plurality of memory regions accessed by a same offset using tables in the set of at least two host-bus adapters and the data distribution module; and,
wherein the multicast mechanism ensures that data packets containing identical copies of relevant information exit the data distribution module in a simultaneous fashion and thereby reach all local host-bus adapters.
6. The apparatus of claim 5 , wherein the plurality of memory regions include heterogeneous memory regions.
7. The apparatus of claim 5 , further comprising another data distribution module coupled to the data distribution module.
8. The apparatus of claim 5 , wherein the memory-management system provides absolute memory coherency across the group memory and the plurality of memory regions.