Hi Ashkan,

As you point out, you cannot simply “force” an address to map to a specific 
rank based on the core. I see two options:

  1.  The clean and sensible option is to assign non-overlapping address ranges 
to the cores as part of the VA->PA mapping. Either hack the OS or the 
syscall-emulation page mapper.
  2.  The hackish way would be to put a PA->real PA mapper in front of the DRAM 
controller and assign non-overlapping address ranges based on the core id. 
Effectively you end up with a map on some granularity.

In both cases you need to make sure that the address ranges you assign to the 
cores correspond to the bits you use for determining the rank.

Andreas

From: gem5-users 
<[email protected]<mailto:[email protected]>> on behalf of 
Ashkan Asgharzade <[email protected]<mailto:[email protected]>>
Reply-To: Ashkan Asgharzade 
<[email protected]<mailto:[email protected]>>, gem5 users mailing 
list <[email protected]<mailto:[email protected]>>
Date: Tuesday, 13 December 2016 at 12:45
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Subject: [gem5-users] mapping each core's process to different rank of DRAM 
Memory?

Hi, dear users

in my master thesis, i want to implement rank-partitioning algorithm
(Fixed Service policies ..., micro 2015) for mitigating timing channel in 
shared dram_controller.

my question is that in dram_ctrl.cc file we have a function called decodeaddr().
in this function there are three different mapping algorithms. if we want to 
map the
packets of each core to different rank of memory, is it possible that easily 
set our
favorite rank_id to each dram_packet in these algorithms?

but i am worry about two different packets by this method map to same location.

so another solution came to our mind. we define new mapping in dram_ctrl.hh 
such that the most significant part of address refers to rank. also in python 
configuration file, we should set the address ranges of each local data_caches 
to refer isolated part of memory consecutively.

by this method i think not any different packets map to same location of memory 
and also we could partition each core's range_address to different rank.



Thanks a lot due to reading my email.
appreciate any suggestion for advancement.

ashkan asgharzadeh



IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to