Re: [Gems-users] Problems configuring direct cache in Ruby...


Date: Thu, 25 Jun 2009 12:54:18 -0500
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] Problems configuring direct cache in Ruby...
David,
Try changing LRUPolicy.h's getVictim() function to always return 0 if
m_assoc == 1, and see if your problem goes away. That will at least
help us narrow down the issue. While you're at it, insert a printf()
to make sure that m_assoc==1 actually happens in LRUPolicy.h.

The code that calls into the replacement policy is essentially
protocol-specific -- so just as a sanity check, try another protocol,
too.

Regards,
Dan

On Thu, Jun 25, 2009 at 12:42 PM, David
Bonavila<david.bonavila@xxxxxxxxxxxxxxxxxx> wrote:
>
> Does anyone have any idea of what might be wrong with this ??
>
> Thanks!!
>
>
> 2009/6/11 David Bonavila <david.bonavila@xxxxxxxxxxxxxxxxxx>
>>
>> Hi,
>>
>> I'm trying to configure a direct cache (associativity = 1) in Ruby, but I
>> get an strange behavior.
>> This is my script:
>>
>> read-configuration final-2p.check
>> magic-break-enable
>>
>> @conf.con0.input = "cd /parsec/\n";
>> @conf.con0.input = "./bin/parsecmgmt -a run -i simsmall -x gcc-hooks -p
>> bodytrack -n 2\n";
>>
>> c
>>
>> cpu-switch-time 1
>> instruction-fetch-mode instruction-fetch-trace
>> istc-disable
>> dstc-disable
>>
>> load-module ruby
>> ruby0.setparam g_PROCS_PER_CHIP 2
>> ruby0.setparam g_NUM_PROCESSORS 2
>> ruby0.setparam NUMBER_OF_VIRTUAL_NETWORKS 5
>>
>> ruby0.setparam_str g_REPLACEMENT_POLICY LRU
>> ruby0.setparam L1_CACHE_ASSOC 1
>> ruby0.setparam L1_CACHE_NUM_SETS_BITS 8
>> ruby0.setparam L2_CACHE_ASSOC 1
>> ruby0.setparam L2_CACHE_NUM_SETS_BITS 12
>>
>> ruby0.init
>>
>> load-module opal
>> opal0.init
>> opal0.sim-start "output_OBJ1-1_BODYTRACK_256KB_ASSOC1.opal"
>> opal0.sim-step 100000
>> opal0.stats
>>
>> ruby0.dump-stats output_OBJ1-1_BODYTRACK_256KB_ASSOC1.ruby
>> q
>>
>> I read in this mailing list that to configure a direct mapped cache I
>> should set g_REPLACEMENT_POLICY to LRU. I did so, but when I run the script
>> it simulates just 6.000 or 7.000 instructions and the simulation stops. No
>> errors or warnings, all seems correct, but when I look at the stats file
>> just 6 or 7 thousand instructions have been simulated.
>>
>> If I change "L2_CACHE_ASSOC 1" to "L2_CACHE_ASSOC 2" everything works
>> fine, and I have correctly simulated 20 million instruction with this
>> configuration, even with "L1_CACHE_ASSOC" set to 1. So it's a problem with
>> "L2_CACHE_ASSOC" param which is causing me trouble.
>>
>> How should I configure a direct L2 cache??
>>
>> Thank you all!!
>>
>
>
> _______________________________________________
> 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.
>
>
>



-- 
http://www.cs.wisc.edu/~gibson [esc]:wq!
[← Prev in Thread] Current Thread [Next in Thread→]