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


Date: Mon, 15 Jun 2009 17:00:26 +0200
From: David Bonavila <david.bonavila@xxxxxxxxxxxxxxxxxx>
Subject: Re: [Gems-users] Problems configuring direct cache in Ruby...

Hi. I keep dealing with this problem.

I have done some testing and found that if I simulate a 4MB L2 cache with ASSOC=1, it executes 1.5M instructions, but if I simulate a 2MB L2 cache with ASSOC=1 it executes just 7.000 instructions. I think the simulation exits on the first cache block replacement, and this is why more instructions are executed with 4MB L2 that the one with 2MB L2, because the first block replacement is done later. All this with LRU replacement polocy.

If I try to use PseudoLRU with ASSOC=1, I change the line 42 of PseudoLRU.h file, from:
"assert(num_sets > 0 && assoc > 1 && assoc <= (Index) sizeof(uint64)*4);"

to:
"assert(num_sets > 0 && assoc >= 1 && assoc <= (Index) sizeof(uint64)*4);"

and it works, but it does exactly the same, simulates just 7000 instructions and exits.

I have compared the ruby stats files of the same simulation with ASSOC=1 and ASSOC=2 and I found nothing strange.

Does anyone have any idea of what might be happening??


Thank you in advance!!

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