Hi Jim,
For more info on what params we set for Ruby for our ISCA paper, see
setup_ruby() in gen-scripts/microbench.py. It sets the params you
mentioned below as well as additional cache, interconnect, and
latency related values.
Luke
On Sun, 2 Mar 2008, Jim Leek wrote:
Hi,
I was able to follow the advice I got from Dan Gibson (thanks!), and make
some progress.
So, I ran into one problem, but I was able to figure it out. It turns out,
in order to use MESI_CMP_filter_directory (the LogTM protocol) I need to set
2 variables in rubyconfig.defaults.
REMOVE_SINGLE_CYCLE_DCACHE_FAST_PATH = true
NUMBER_OF_VIRTUAL_NETWORKS = 5
or I get:
failed assertion 'REMOVE_SINGLE_CYCLE_DCACHE_FAST_PATH' at fn void
profile_L1Cache_miss(const CacheMsg&, NodeID) in
slicc_interface/RubySlicc_Profiler_interface.C:124
or
failed assertion 'network_num < m_virtual_networks' at fn void
SimpleNetwork::checkNetworkAllocation(NodeID, bool, int) in
network/simple/SimpleNetwork.C:203
(I admit I just wrote that for anyone googling this in the future)
I could not find this stuff anywhere in the documentation. Is this
documented somewhere? Are there some other variables I need to set that I
should know about? (Not covered in
http://www.cs.wisc.edu/gems/doc/wiki/moin.cgi/Transactional_Memory)
I think I solved my other issue. I was able to hook up a 1 processor
simulation to the network, and I mounted the disk read-write. The
assumption here was that I would be able to the benchmark binaries via scp
to the disk, then load a multi-processor simulation with the same disk and
use the benchmarks. That hasn't worked, but I noticed that the workload
script actually just hooked the multiprocessor machine up to the network,
copied the files, THEN took the checkpoint. There's not real disk saving at
all. So I guess I can do that too.
Jim
|