Hybrid NUMA COMA caching system and methods for selecting between the caching modes
First Claim
1. A method of storing data in a computer system having a plurality of sub-systems coupled to each other by a system interconnect, each said sub-system including a processor, a hybrid non-uniform-memory-architecture/cache-only-memory-architecture(NUMA/COMA) cache, a COMA cache and a directory, said method comprising the steps of:
- a designated processor of one said subsystem initiating a data transaction associated with a data line;
determining whether a caching mode for said data line is a COMA mode or a NUMA mode;
storing data associated with said data line in said COMA cache of said one sub-system in response to determining that said caching mode for said data line is said COMA mode; and
storing said data in the hybrid NUMA/COMA cache of said one sub-system.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a hybrid Non-Uniform Memory Architecture (NUMA) and Cache-Only Memory Architecture (COMA) caching architecture together with a cache-coherent protocol for a computer system having a plurality of sub-systems coupled to each other via a system interconnect. In one implementation, each sub-system includes at least one processor, a page-oriented COMA cache and a line-oriented hybrid NUMA/COMA cache. Such a hybrid system provides flexibility and efficiency in caching both large and small, and/or sparse and packed data structures. Each sub-system is able to independently store data in COMA mode or in NUMA mode. When caching in COMA mode, a sub-system allocates a page of memory space and then stores the data within the allocated page in its COMA cache. Depending on the implementation, while caching in COMA mode, the sub-system may also store the same data in its hybrid cache for faster access. Conversely, when caching in NUMA mode, the sub-system stores the data, typically a line of data, in its hybrid cache.
64 Citations
17 Claims
-
1. A method of storing data in a computer system having a plurality of sub-systems coupled to each other by a system interconnect, each said sub-system including a processor, a hybrid non-uniform-memory-architecture/cache-only-memory-architecture(NUMA/COMA) cache, a COMA cache and a directory, said method comprising the steps of:
-
a designated processor of one said subsystem initiating a data transaction associated with a data line; determining whether a caching mode for said data line is a COMA mode or a NUMA mode; storing data associated with said data line in said COMA cache of said one sub-system in response to determining that said caching mode for said data line is said COMA mode; and storing said data in the hybrid NUMA/COMA cache of said one sub-system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer program product including a computer-usable medium having computer-readable code embodied therein configured to cause a computer system to select between a non-uniform-memory-architecture (NUMA) mode and a cache-only-memory-architecture (COMA) mode, the computer system having a plurality of sub-systems coupled to each other by a system interconnect, each said sub-system including a processor, a hybrid NUMA/COMA cache, a COMA cache and a directory, the computer-readable code comprising:
-
a routine configured to cause one said sub-system to store data associated with a data line in the hybrid NUMA/COMA cache of said one sub-system; and a routine configured to cause said one sub-system to determine whether a caching mode for the data is a COMA mode or a NUMA mode to thereby cause the data to be stored in the COMA cache of said one sub-system if said caching mode for the data is said COMA mode. - View Dependent Claims (17)
-
Specification