[Gems-users] DNUCA and L2 block replication problems


Date: Wed, 24 May 2006 14:46:15 -0600
From: Robert P Ricci <ricci@xxxxxxxxxxx>
Subject: [Gems-users] DNUCA and L2 block replication problems
I'm using GEMS with the DNUCA configuration, as described by the
CMP-NUCA page in the Wiki. I'd like to run it with
PERFECT_DNUCA_SEARCH off, but it looks to me like there may be some
coherence problems with this configuration.

It runs, but I'm seeing some situations where the same block is in
multiple L2 caches at once. This doesn't to seem to match my
understanding of how things should work when ENABLE_REPLICATION is
off. I figure that two at a time might be normal during migration,
but I've seen three or more at once.

So, my main question is: should DNUCA work with the perfect search
turned off? Do my observations indicate a problem or are they normal?

The way I discovered this problem was to add some code to the
'imperfect' search that also scans the tag array of each pertient L2,
much like the perfect search code. It simply counts the number of L2s
for which isBlockInBank(L2Cache, addr) returns true. I have attached
the .py file I'm using, as well at the debugging information for an
address that shows up in three L2s at once.

-- 
/-----------------------------------------------------------
| Robert P Ricci <ricci@xxxxxxxxxxx> | <ricci@xxxxxxxxxxxxx>
| Research Associate, University of Utah Flux Group
| www.flux.utah.edu | www.emulab.net
\-----------------------------------------------------------
 303500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 303504   0   7    L1Cache                Load     NP>IS     [0x9b48040, line 0x9b48040] 
 303510   0 113    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303512   0 241    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303512   0 225    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303518   0 129    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303518   0 177    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303518   0 161    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303518   0 145    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303520   0 193    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303520   0 209    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303526   0   7  Collector            Miss_Get Col_NP>Col_P  [0x9b48040, line 0x9b48040] 
 303528   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303528   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303530   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303530   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303530   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303532   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303534   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303534   0   7  Collector       Miss_Get_last  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303535   0   7  Collector        Issue_L2_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303546   0  81    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303546   0  17    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303546   0  49    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303548   0  97    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303548   0  65    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303552   0   1    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303552   0  33    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 303562   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303562   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303562   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303566   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303566   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303574   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 303574   0   7  Collector      Miss_Get_final  Col_P>Col_NP [0x9b48040, line 0x9b48040] 
 303575   0   7  Collector       Issue_Dir_Get Col_NP>Col_NP [0x9b48040, line 0x9b48040] 
 303618   0   1  Directory                GETS      M>NO     [0x9b48040, line 0x9b48040] 
 303729   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 229 cycles Directory No
 303729   0   7    L1Cache     Data_All_Tokens     IS>M_W    [0x9b48040, line 0x9b48040] Directory-1
 303730   0   7    L1CacheSend_Register_wo_Tokens    M_W>M_W    [0x9b48040, line 0x9b48040] 
 303747   0 209    L2Cache  Register_wo_Tokens  L2_NP>L2_AS  [0x9b48040, line 0x9b48040] 
 303779   0   7    L1CacheUse_TimeoutNoStarvers    M_W>M      [0x9b48040, line 0x9b48040] 
 371000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 371004   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
 371004   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
 381000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 381004   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
 381004   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
 402500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 402504   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
 402504   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
 406000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 406004   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
 406004   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
 415000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 415004   7  -1        Seq                Done       >       [0x9b48050, line 0x9b48040] 4 cycles L1Cache No
 415004   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
 418500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 418504   7  -1        Seq                Done       >       [0x9b48048, line 0x9b48040] 4 cycles L1Cache No
 418504   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
 419000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 419004   7  -1        Seq                Done       >       [0x9b48058, line 0x9b48040] 4 cycles L1Cache No
 419004   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
 422504   0   7    L1Cache      L1_Replacement      M>I      [0x9b48040, line 0x9b48040] 
 422511   0 113    L2CacheWriteback_All_Tokens  L2_NP>L2_M   [0x9b48040, line 0x9b48040] 
 500000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 500004   0   7    L1Cache               Store     NP>IM     [0x9b48040, line 0x9b48040] 
 500010   0 113    L2Cache             L1_GETX   L2_M>L2_AS  [0x9b48040, line 0x9b48040] 
 500012   0 241    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 500012   0 225    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 500018   0 129    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 500018   0 145    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 500018   0 161    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 500018   0 177    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 500020   7  -1        Seq                Done       >       [0x9b48068, line 0x9b48040] 20 cycles L2Cache No
 500020   0   7    L1Cache     Data_All_Tokens     IM>MM_W   [0x9b48040, line 0x9b48040] L2Cache-113
 500020   0 193    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
 500020   0 209    L2Cache             L1_GETX  L2_AS>L2_AS  [0x9b48040, line 0x9b48040] 
 500021   0   7    L1Cache   Drop_Registration   MM_W>MM_W   [0x9b48040, line 0x9b48040] 
 500026   0   7  Collector            Miss_Get Col_NP>Col_P  [0x9b48040, line 0x9b48040] 
 500028   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 500028   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 500030   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
 500030   0   7  Collector             Hit_Get  Col_P>Col_F  [0x9b48040, line 0x9b48040] 
 500030   0   7  Collector             Hit_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
 500032   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
 500034   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
 500034   0   7  Collector       Miss_Get_last  Col_F>Col_NP [0x9b48040, line 0x9b48040] 
 500070   0   7    L1CacheUse_TimeoutNoStarvers   MM_W>MM     [0x9b48040, line 0x9b48040] 
 501000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 501004   7  -1        Seq                Done       >       [0x9b48070, line 0x9b48040] 4 cycles L1Cache No
 501004   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 506000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 506004   7  -1        Seq                Done       >       [0x9b48050, line 0x9b48040] 4 cycles L1Cache No
 506004   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 508500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 508504   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
 508504   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 509500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 509504   7  -1        Seq                Done       >       [0x9b48040, line 0x9b48040] 4 cycles L1Cache No
 509504   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 512500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 512504   7  -1        Seq                Done       >       [0x9b48048, line 0x9b48040] 4 cycles L1Cache No
 512504   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 513000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 513004   7  -1        Seq                Done       >       [0x9b48058, line 0x9b48040] 4 cycles L1Cache No
 513004   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 515500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 515504   7  -1        Seq                Done       >       [0x9b48048, line 0x9b48040] 4 cycles L1Cache No
 515504   0   7    L1Cache               Store     MM>MM     [0x9b48040, line 0x9b48040] 
 516000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 516004   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
 516004   0   7    L1Cache               Store     MM>MM     [0x9b48040, line 0x9b48040] 
 680000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 680004   7  -1        Seq                Done       >       [0x9b48040, line 0x9b48040] 4 cycles L1Cache No
 680004   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 681000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 681004   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
 681004   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 717000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 717004   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
 717004   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 769500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 769504   7  -1        Seq                Done       >       [0x9b48040, line 0x9b48040] 4 cycles L1Cache No
 769504   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 778500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 778504   7  -1        Seq                Done       >       [0x9b48040, line 0x9b48040] 4 cycles L1Cache No
 778504   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 803000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 803004   7  -1        Seq                Done       >       [0x9b48040, line 0x9b48040] 4 cycles L1Cache No
 803004   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 841000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 841004   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
 841004   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 889500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 889504   7  -1        Seq                Done       >       [0x9b48040, line 0x9b48040] 4 cycles L1Cache No
 889504   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 890500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 890504   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
 890504   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 903500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
 903504   7  -1        Seq                Done       >       [0x9b48040, line 0x9b48040] 4 cycles L1Cache No
 903504   0   7    L1Cache                Load     MM>MM     [0x9b48040, line 0x9b48040] 
 938504   0   7    L1Cache      L1_Replacement     MM>I      [0x9b48040, line 0x9b48040] 
 938511   0 113    L2CacheWriteback_All_Tokens  L2_AS>L2_M   [0x9b48040, line 0x9b48040] 
1022500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1022504   0   7    L1Cache                Load     NP>IS     [0x9b48040, line 0x9b48040] 
1022510   0 113    L2Cache             L1_GETS   L2_M>L2_AS  [0x9b48040, line 0x9b48040] 
1022512   0 225    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1022512   0 241    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1022518   0 161    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1022518   0 177    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1022518   0 129    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1022518   0 145    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1022520   0 193    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1022520   0 209    L2Cache             L1_GETS  L2_AS>L2_AS  [0x9b48040, line 0x9b48040] 
1022520   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 20 cycles L2Cache No
1022520   0   7    L1Cache     Data_All_Tokens     IS>M_W    [0x9b48040, line 0x9b48040] L2Cache-113
1022521   0   7    L1Cache   Drop_Registration    M_W>M_W    [0x9b48040, line 0x9b48040] 
1022526   0   7  Collector            Miss_Get Col_NP>Col_P  [0x9b48040, line 0x9b48040] 
1022528   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
1022528   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
1022530   0   7  Collector             Hit_Get  Col_P>Col_F  [0x9b48040, line 0x9b48040] 
1022530   0   7  Collector             Hit_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1022530   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1022532   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1022534   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1022534   0   7  Collector       Miss_Get_last  Col_F>Col_NP [0x9b48040, line 0x9b48040] 
1022570   0   7    L1CacheUse_TimeoutNoStarvers    M_W>M      [0x9b48040, line 0x9b48040] 
1211000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1211004   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
1211004   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
1213000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1213004   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
1213004   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
1233500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1233504   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
1233504   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
1308000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1308004   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
1308004   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
1402500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1402504   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
1402504   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
1490500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1490504   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
1490504   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
1564000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1564004   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 4 cycles L1Cache No
1564004   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
1747000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1747004   7  -1        Seq                Done       >       [0x9b48040, line 0x9b48040] 4 cycles L1Cache No
1747004   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
1859000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1859004   7  -1        Seq                Done       >       [0x9b48040, line 0x9b48040] 4 cycles L1Cache No
1859004   0   7    L1Cache                Load      M>M      [0x9b48040, line 0x9b48040] 
1945004   0   7    L1Cache      L1_Replacement      M>I      [0x9b48040, line 0x9b48040] 
1945011   0 113    L2CacheWriteback_All_Tokens  L2_AS>L2_M   [0x9b48040, line 0x9b48040] 
1946500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1946504   0   7    L1Cache               Store     NP>IM     [0x9b48040, line 0x9b48040] 
1946510   0 113    L2Cache             L1_GETX   L2_M>L2_AS  [0x9b48040, line 0x9b48040] 
1946512   0 225    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1946512   0 241    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1946518   0 177    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1946518   0 129    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1946518   0 161    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1946518   0 145    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1946520   0 209    L2Cache             L1_GETX  L2_AS>L2_AS  [0x9b48040, line 0x9b48040] 
1946520   0 193    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1946520   7  -1        Seq                Done       >       [0x9b48070, line 0x9b48040] 20 cycles L2Cache No
1946520   0   7    L1Cache     Data_All_Tokens     IM>MM_W   [0x9b48040, line 0x9b48040] L2Cache-113
1946521   0   7    L1Cache   Drop_Registration   MM_W>MM_W   [0x9b48040, line 0x9b48040] 
1946526   0   7  Collector            Miss_Get Col_NP>Col_P  [0x9b48040, line 0x9b48040] 
1946528   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
1946528   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
1946530   0   7  Collector             Hit_Get  Col_P>Col_F  [0x9b48040, line 0x9b48040] 
1946530   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1946530   0   7  Collector             Hit_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1946532   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1946534   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1946534   0   7  Collector       Miss_Get_last  Col_F>Col_NP [0x9b48040, line 0x9b48040] 
1946570   0   7    L1CacheUse_TimeoutNoStarvers   MM_W>MM     [0x9b48040, line 0x9b48040] 
1956504   0   7    L1Cache      L1_Replacement     MM>I      [0x9b48040, line 0x9b48040] 
1956511   0 113    L2CacheWriteback_All_Tokens  L2_AS>L2_M   [0x9b48040, line 0x9b48040] 
1958000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1958004   0   7    L1Cache                Load     NP>IS     [0x9b48040, line 0x9b48040] 
1958010   0 113    L2Cache             L1_GETS   L2_M>L2_AS  [0x9b48040, line 0x9b48040] 
1958012   0 241    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1958012   0 225    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1958018   0 161    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1958018   0 129    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1958018   0 145    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1958018   0 177    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1958020   7  -1        Seq                Done       >       [0x9b4804c, line 0x9b48040] 20 cycles L2Cache No
1958020   0   7    L1Cache     Data_All_Tokens     IS>M_W    [0x9b48040, line 0x9b48040] L2Cache-113
1958020   0 209    L2Cache             L1_GETS  L2_AS>L2_AS  [0x9b48040, line 0x9b48040] 
1958020   0 193    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1958021   0   7    L1Cache   Drop_Registration    M_W>M_W    [0x9b48040, line 0x9b48040] 
1958026   0   7  Collector            Miss_Get Col_NP>Col_P  [0x9b48040, line 0x9b48040] 
1958028   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
1958028   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
1958030   0   7  Collector             Hit_Get  Col_P>Col_F  [0x9b48040, line 0x9b48040] 
1958030   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1958030   0   7  Collector             Hit_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1958032   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1958034   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1958034   0   7  Collector       Miss_Get_last  Col_F>Col_NP [0x9b48040, line 0x9b48040] 
1958070   0   7    L1CacheUse_TimeoutNoStarvers    M_W>M      [0x9b48040, line 0x9b48040] 
1980504   0   7    L1Cache      L1_Replacement      M>I      [0x9b48040, line 0x9b48040] 
1980511   0 113    L2CacheWriteback_All_Tokens  L2_AS>L2_M   [0x9b48040, line 0x9b48040] 
1985500   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1985504   0   7    L1Cache               Store     NP>IM     [0x9b48040, line 0x9b48040] 
1985510   0 113    L2Cache             L1_GETX   L2_M>L2_AS  [0x9b48040, line 0x9b48040] 
1985512   0 241    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1985512   0 225    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1985518   0 177    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1985518   0 161    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1985518   0 145    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1985518   0 129    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1985520   0 193    L2Cache             L1_GETX  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1985520   7  -1        Seq                Done       >       [0x9b48060, line 0x9b48040] 20 cycles L2Cache No
1985520   0   7    L1Cache     Data_All_Tokens     IM>MM_W   [0x9b48040, line 0x9b48040] L2Cache-113
1985520   0 209    L2Cache             L1_GETX  L2_AS>L2_AS  [0x9b48040, line 0x9b48040] 
1985521   0   7    L1Cache   Drop_Registration   MM_W>MM_W   [0x9b48040, line 0x9b48040] 
1985526   0   7  Collector            Miss_Get Col_NP>Col_P  [0x9b48040, line 0x9b48040] 
1985528   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
1985528   0   7  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
1985530   0   7  Collector             Hit_Get  Col_P>Col_F  [0x9b48040, line 0x9b48040] 
1985530   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1985530   0   7  Collector             Hit_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1985532   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1985534   0   7  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1985534   0   7  Collector       Miss_Get_last  Col_F>Col_NP [0x9b48040, line 0x9b48040] 
1985570   0   7    L1CacheUse_TimeoutNoStarvers   MM_W>MM     [0x9b48040, line 0x9b48040] 
1989378   0  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1989382   0   0    L1Cache                Load     NP>IS     [0x9b48040, line 0x9b48040] 
1989388   0   1    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1989390   0 129    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1989390   0 145    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1989392   0 241    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1989396   0 225    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1989398   0 161    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1989398   0 177    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1989400   0 193    L2Cache             L1_GETS  L2_NP>L2_NP  [0x9b48040, line 0x9b48040] 
1989400   0 209    L2Cache             L1_GETS  L2_AS>L2_AS  [0x9b48040, line 0x9b48040] 
1989406   0   0  Collector            Miss_Get Col_NP>Col_P  [0x9b48040, line 0x9b48040] 
1989406   0   0  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
1989406   0   0  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
1989408   0   0  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
1989410   0   0  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
1989410   0   0  Collector            Miss_Get  Col_P>Col_P  [0x9b48040, line 0x9b48040] 
1989410   0   0  Collector             Hit_Get  Col_P>Col_F  [0x9b48040, line 0x9b48040] 
1989412   0   0  Collector            Miss_Get  Col_F>Col_F  [0x9b48040, line 0x9b48040] 
1989412   0   0  Collector       Miss_Get_last  Col_F>Col_NP [0x9b48040, line 0x9b48040] 
1989420   0   7    L1CacheTransient_Local_GETS     MM>I      [0x9b48040, line 0x9b48040] 
1989431   0  -1        Seq                Done       >       [0x9b48048, line 0x9b48040] 53 cycles L1Cache_wCC No
1989431   0   0    L1Cache     Data_All_Tokens     IS>M_W    [0x9b48040, line 0x9b48040] L1Cache-7
1989432   0   0    L1Cache   Drop_Registration    M_W>M_W    [0x9b48040, line 0x9b48040] 
1989432   0  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
1989436   0  -1        Seq                Done       >       [0x9b48058, line 0x9b48040] 4 cycles L1Cache No
1989436   0   0    L1Cache                Load    M_W>M_W    [0x9b48040, line 0x9b48040] 
1989481   0   0    L1CacheUse_TimeoutNoStarvers    M_W>M      [0x9b48040, line 0x9b48040] 
1990524   0   0    L1Cache      L1_Replacement      M>I      [0x9b48040, line 0x9b48040] 
1990531   0   1    L2CacheWriteback_All_Tokens  L2_NP>L2_M   [0x9b48040, line 0x9b48040] 
1993000   7  -1        Seq               Begin       >       [0x9b48040, line 0x9b48040] 
BLOCK IN MORE THAN TWO BANKS: [0x9b48040, line 0x9b48040]
# Setup magic break hap
@def call_back_1(cpu):
   pr("call back triggered\n")

@def hap_callback(user_arg, cpu, arg):
   eax = cpu.eax
   if eax == 1:
      call_back_1(cpu)
   else:
      print "Unknown callback"

@SIM_hap_add_callback("Core_Magic_Instruction", hap_callback, None)

# Load checkpoint
read-configuration "~sbarrus/simics/home/MOESI_CMP_NUCA/radix.check"

# These commands instruct Simics to deliver all instruction 
# fetches to Ruby/Opal, and disable the internal cache.
instruction-fetch-mode instruction-fetch-trace
istc-disable
dstc-disable
magic-break-enable

# Load modules
load-module ruby

# Setup 
ruby0.setparam g_NUM_PROCESSORS 8
ruby0.setparam g_MEMORY_SIZE_BYTES 4294967296
ruby0.setparam g_PROCS_PER_CHIP 8
ruby0.setparam g_NUM_L2_BANKS 256
ruby0.setparam g_NUM_MEMORIES 8
ruby0.setparam g_NUM_DNUCA_BANK_SETS 16
ruby0.setparam L1_CACHE_ASSOC 2
ruby0.setparam L2_CACHE_ASSOC 16
ruby0.setparam_str g_NETWORK_TOPOLOGY FILE_SPECIFIED
ruby0.setparam_str g_DYNAMIC_TIMEOUT_ENABLED false
ruby0.setparam_str REMOVE_SINGLE_CYCLE_DCACHE_FAST_PATH true
ruby0.setparam_str g_CACHE_DESIGN NUCACOL
ruby0.setparam_str g_adaptive_routing false
ruby0.setparam NUMBER_OF_VIRTUAL_NETWORKS 7
ruby0.setparam g_endpoint_bandwidth 1000
ruby0.setparam_str g_NUCA_PREDICTOR_CONFIG DNUCA
ruby0.setparam_str ENABLE_MIGRATION true
ruby0.setparam_str COLLECTOR_HANDLES_OFF_CHIP_REQUESTS true
#ruby0.setparam_str PERFECT_DNUCA_SEARCH true
ruby0.setparam_str PERFECT_DNUCA_SEARCH false

# Initialization
ruby0.init
[← Prev in Thread] Current Thread [Next in Thread→]
  • [Gems-users] DNUCA and L2 block replication problems, Robert P Ricci <=