Yeah DRAMSim2 basically unhooks the default "the request is done" signal
and rehooks it to a callback function that is called by DRAMSim2.

But I guess what I'm getting at is that the latency to "get to" a remote
memory controller should be higher -- so at some point you'd have to add
some latency somewhere in order to simulate NUMA.



On Tue, Mar 26, 2013 at 4:06 PM, Brendan Fitzgerald <[email protected]
> wrote:

> I'd need to look into the interface between DRAMSim2 and MARSS to see
> what, if any, changes would need to be made.
>
> If DRAMSim2 just intercepts the send to lower request, I don't think there
> would need to be any changes in MARSS.
>
>
> On Tue, Mar 26, 2013 at 3:59 PM, Paul Rosenfeld <[email protected]>wrote:
>
>> At the moment this isn't possible with DRAMSim2 either. Due to some poor
>> choices in terms of how global variables are handled, you actually can't
>> instantiate multiple instances of DRAMSim2 in a single simulation (or at
>> least not heterogeneous configurations). While I don't have time at the
>> moment, it is possible to fix this issue with some tedious but simple
>> changes.
>>
>> If such a thing was possible from the perspective of DRAMSim2, I'm not
>> entirely sure what you'd have to do on the MARSS side of things to get this
>> working. You could just stuff X DRAMSim2 instances into the marss
>> memoryController.cpp file and just pick one when a request arrives. But
>>  that's not really NUMA, right? You'd have to implement some QPI-esque
>> interface where CPUs can send requests to one another (correct me if I'm
>> wrong, I don't know much about how this stuff is typically done in
>> hardware).
>>
>>
>>
>> On Tue, Mar 26, 2013 at 3:28 PM, Eduardo Cruz 
>> <[email protected]>wrote:
>>
>>> Ok, thank for the awnser.
>>> What about the usage of MARSS with the integrated DRAMsim support,
>>> would it then allow multiple memory controllers?
>>>
>>> 2013/3/26 Brendan Fitzgerald <[email protected]>:
>>> > Hi,
>>> >
>>> > We currently don't have the ability to have multiple memory
>>> controllers. The
>>> > memoryController uses a very simple model of having 64 banks and
>>> determining
>>> > which bank the address is by looking at six bits of the physical
>>> address.
>>> >
>>> > Brendan
>>> >
>>> > On Tue, Mar 26, 2013 at 2:44 PM, Eduardo Cruz <
>>> [email protected]>
>>> > wrote:
>>> >>
>>> >> Hello.
>>> >> I'm making some experiments with NUMA machines and I think MARSS has
>>> >> the necessary features for my tests.
>>> >> However, I haven't seen any sample config file of machines with more
>>> >> than 1 memory controller.
>>> >> Does MARSS supports that?
>>> >> If it does, how does MARSS spread the addresses along the memory
>>> >> controllers?
>>> >> In which file/function the target memory controller is selected?
>>> >> I have some other questions, but if you could help me first with these
>>> >> ones I would really appreciate.
>>> >>
>>> >> Thanks in advance
>>> >>
>>> >> --
>>> >> Eduardo Henrique Molina da Cruz
>>> >> PhD student
>>> >> Parallel and Distributed Processing Group
>>> >> Federal University of Rio Grande do Sul (UFRGS)
>>> >>
>>> >> _______________________________________________
>>> >> http://www.marss86.org
>>> >> Marss86-Devel mailing list
>>> >> [email protected]
>>> >> https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> Eduardo Henrique Molina da Cruz
>>> PhD student
>>> Parallel and Distributed Processing Group
>>> Federal University of Rio Grande do Sul (UFRGS)
>>>
>>> _______________________________________________
>>> http://www.marss86.org
>>> Marss86-Devel mailing list
>>> [email protected]
>>> https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel
>>>
>>
>>
>
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel

Reply via email to