Re: [Gems-users] Asymmetric Memories


Date: Mon, 28 Jul 2008 09:33:28 -0400
From: Greg Byrd <gbyrd@xxxxxxxx>
Subject: Re: [Gems-users] Asymmetric Memories
So a cache needs figure out the address of the home node for a memory block, based on its addressed. Without the uniform distribution of addresses, how would you propose to handle this in a real system?

You could have holes in the physical address space, I suppose, which the OS would know about and could avoid allocating. (This is assuming that the "natural" mapping, with each module being assigned a fixed chunk of physical addresses. In your case, you could assume 512MB per module, but the OS would know that the "missing" 384MB in your smaller module is not available, so it would never allocating anything to those addresses.)

Otherwise, it would appear to me that you would need some sort of table that gives the mapping of addresses to memory modules. If that's a reasonable model of the system, then you could implement such a table in Ruby, and change mapAddressToDirectory accordingly.

...Greg


Héctor Montaner wrote:
Hi,

I have 4 processors with 1 memory module per processor. The thing is that
I would like to have different memory sizes, for example, 128MB in one
processor  and 512MB in the rest.
The problem is that when a cache forwards a request to a directory, it
uses map_Address_to_Directory (RubySlicc_ComponentMapping.h), and this
function uses a set of bits in the address to determine the corresponding
directory. This means that, by default, Ruby distributes the physical
memory space in a symmetric way.
Any idea?

Thanks in advance

Hector



_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.


[← Prev in Thread] Current Thread [Next in Thread→]