Patent ID: 8464009
Filing Date: 2013-06-11
Classification: G06F

Abstract:
1. A method for accessing a distributed shared memory in a multiprocessor system, the method comprising: obtaining a first memory requirement for a first application to be run on a single node of a plurality of nodes of the multiprocessor system; setting a coarse-grain interleave block size based, at least in part, on the first memory requirement; in a distributed shared memory, allocating a first shared memory space with a fine- grain interleave block size and a second shared memory space with the coarse-grain interleave block size, wherein the fine-grain interleave memory block size is equal to a level two cache line size multiplied by a number of level two cache banks; receiving a memory access request, the memory access request including a physical memory address; comparing the physical memory address to a memory address stored in a ceiling mask register; and accessing the first shared memory space in the event that the physical memory address is less than the memory address stored in the ceiling mask register and accessing the second shared memory space in the event that the physical memory address is greater than or equal to the memory address stored in the ceiling mask register, obtaining a second memory requirement for a second application to be run on the plurality of nodes; and setting the coarse-grain interleave block size based, at least in part, on the second memory requirement; wherein the operation of obtaining the first memory requirement comprises setting the first memory requirement to a largest of a plurality of memory requirements associated with applications to be run on the single node; and wherein the operation of obtaining the second memory requirement comprises setting the second memory requirement to a largest of a second plurality of memory requirements associated with applications to be run on the plurality of nodes.