Cache-only memory architecture
Cache only memory architecture (COMA) is a computer memory organization for in multiprocessors in which the local memories (typically DRAM) at each node are used as cache. This is in contrast to using the local memories as actual main memory, as in NUMA organizations.
In NUMA, each address in the global address space is typically assigned a fixed home node. When processors access some data, a copy is made in their local cache, but space remains allocated in the home node. Instead, with COMA, there is no home. An access from a remote node may cause that data to migrate. Compared to NUMA, this reduces the number of redundant copies and may allow more efficient use of the memory resources. On the other hand, it raises problems of how to find a particular datum (there is no longer a home node) and what to do if a local memory fills up (migrating some data into the local memory then needs to evict some other data, which doesn't have a home to go to).
A huge body of research has explored these issues. Various forms of directories, policies for maintaining free space in the local memories, migration policies, and policies for read-only copies have been developed.
See also
References
- F. Dahlgren and J. Torrellas (June 1999). "Cache-only memory architectures". IEEE Computer. 32 (6): 72–79.
{{cite journal}}
: CS1 maint: year (link) - E. Hagersten, A. Landin, and S. Haridi (September 1992). "DDM-A cache-only memory architecture" (PDF). IEEE Computer. 25 (9): 44–54.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) CS1 maint: year (link)