Memory pools in a memory model for a unified computing system
A method and system for allocating memory to a memory operation executed by a processor in a computer arrangement having a plurality of processors. The method includes receiving a memory operation from a processor that references an address in a shared memory, mapping the received memory operation to at least one virtual memory pool to produce a mapping result, and providing the mapping result to the processor.
1. A method for allocating memory in a computer system having a plurality of processors, the method comprising:
receiving a memory operation from a processor that references an address in a shared memory;
mapping the received memory operation to at least one virtual memory pool to produce a mapping result, wherein the at least one virtual memory pool is associated with at least one memory resource; and
providing the mapping result to the processor.
2. The method of claim 1 , wherein the mapping of the received memory operation to the at least one memory pool to produce a mapping result depends on the processor from which the memory operation originated.
3. The method of claim 1 , further comprising performing, by at least one of the plurality of processors, the memory operation using the mapping result using memory resources.
4. The method of claim 1 , wherein the memory operation is a memory access request for a shared memory address.
5. The method of claim 1 , wherein each virtual memory pool is associated with at least one memory resource.
6. The method of claim 1 , wherein the at least one virtual memory pool is associated with only one physical memory resource.
7. The method of claim 1 , wherein the at least one virtual memory pool is associated with a plurality of physical memory resources.
8. The method of claim 1 , wherein the at least one virtual memory pool is not accessible by one processor of the plurality of processors.
9. The method of claim 1 , wherein the at least one virtual memory pool is accessible by all processors of the plurality of processors.
10. The method of claim 1 , wherein the at least one virtual memory pool is accessible only by a specific type of processor.
11. A computer system comprising:
a plurality of processors;
a shared memory; and
a mapper, wherein the mapper is configured to:
receive a memory operation from a processor that references an address in the shared memory;
map the received memory operation to at least one virtual memory pool to produce a mapping result, wherein the at least one virtual memory pool is associated with at least one memory resource; and
provide the mapping result to the processor.
12. The computer system of claim 11 , wherein the mapping of the received memory operation to the at least one virtual memory pool to produce a mapping result depends on the processor from which the memory operation originated.
13. The computer system of claim 11 , wherein at least one of the plurality of processors is configured to perform the memory operation using the mapping result.
14. The computer system of claim 11 , wherein the memory operation is a memory access request for a shared memory address.
15. The computer system of claim 11 , wherein each virtual memory pool is associated with at least one memory resource.
16. The computer system of claim 11 , wherein the at least one virtual memory pool is associated with only one physical memory resource.
17. The computer system of claim 11 , wherein the at least one virtual memory pool is associated with a plurality of physical memory resources.
18. The computer system of claim 11 , wherein the at least one virtual memory pool is not accessible by one processor of the plurality of processors.
19. The computer system of claim 11 , wherein the at least one virtual memory pool is accessible by all processors of the plurality of processors.
20. The computer system of claim 11 , wherein the at least one virtual memory pool is accessible only by a specific type of processor.