Re: [Gems-users] profiling L1 and stat inconsistency


Date: Mon, 18 Dec 2006 13:42:43 +0100
From: "Mladen Nikitovic" <mladen@xxxxxxxxxxx>
Subject: Re: [Gems-users] profiling L1 and stat inconsistency
Hi,

Dan, thank you for the response. My follow-up-question is: If I need to use
the sequencer in order to get correct statistics, which of the three
functions of makeRequest, doRequest, or issueRequest is most suitable for my
intention? all of them provide different information, however a cache
hit/miss determined in doRequest, so my suggestion is there, but I am not
sure..

I see a problem with these functions and that is that the memory transaction
message has been converted to a cache message by the time these functions
are used (this was one of the reasons I used the profiler functions which
has NodeID as a parameter), so information about which processor (s.ini_ptr)
made the request is lost. Since I want to distinguish requests on processor
basis, this becomes an obsticle. Perhaps you have any suggestions..

Regards,
Mladen

-----Original Message-----
From: gems-users-bounces@xxxxxxxxxxx [mailto:gems-users-bounces@xxxxxxxxxxx]
On Behalf Of Dan Gibson
Sent: den 7 december 2006 15:13
To: Gems Users
Subject: Re: [Gems-users] profiling L1 and stat inconsistency


Mladen,

You're observing an artifact of the Ruby/Simics interface. Simics 
presents Ruby with each memory request at least twice, often more than 
twice (especially for atomics and certain race conditions). Simics is 
designed to stall a memory request until it is satisfied, then re-verify 
with the timing model that it is OK to proceed. SimicsProcessor filters 
the replay requests, and since SimicsDriver sits between SimicsProcessor 
and Simics itself, you're profiling simulation artifacts.

Again, I recommend the sequencer for L1 profiling =) .

Regards,
Dan Gibson

Mladen Nikitovic wrote:

>Hi,
>
>Two questions:
>
>Previously, I recieved a tip that I could profile L1 cache 
>accesses/misses on a per processor basis by adding profiling code to 
>the Sequencer.
>
>I found that one could extend the integer counters (in Profiler 
>functions addL1DStatSample and addL1IStatSample) into vectors and 
>distinguish the L1 accesses there. To distinguish total number of 
>(instruction and data) L1 accesses on a per processor basis, I used the 
>same vector-solution in the SimicsDriver function 
>recordTransactionStats. Does this approach sound reasonable to you? I'm 
>afraid that I could miss some stats, which leads me to my next 
>question...
>
>I discovered a inconsistency in my stats that I could not understand. 
>In the Simics Driver Transaction Stats I found that the sum of Insn and 
>Data
>(17,285,301) does not match the number of Fast path accesses in the Simics
>Driver Transaction Result Stats. Is it because there are requests that does
>not go through the caches or is it due to some other reason? Any ideas?
>
>My Simics Driver Stats looks like this:
>
>Simics Driver Transaction Stats
>----------------------------------
>Insn requests: 13869063 [ 3262320 3024289 3460288 4122166 ] Data 
>requests: 3416238 [ 798931 748882 861595 1006830 ] Memory mapped IO 
>register accesses: 0 Device initiated accesses: 0
>Other initiated accesses: 0
>Atomic load accesses: 174
>Exceptions: 295
>Non stallable accesses: 651
>Prefetches: 0
>Cache Flush: 0
>
>Requests of asi 0x4: 44120
>Requests of asi 0x10: 33
>Requests of asi 0x11: 19
>Requests of asi 0x14: 4062
>Requests of asi 0x24: 26
>Requests of asi 0x34: 148
>Requests of asi 0x80: 17236893
>
>Simics Driver Transaction Results Stats
>------------------------------------------
>Fast path: 17279244
>Request missed: 5406
>Sequencer not ready: 0
>Duplicate instruction fetches: 2427
>Hit return: 2746
>Atomic last accesses: 231
>
>
>Best Regards,
>Mladen
>
>
>_______________________________________________
>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.
>
>
>  
>
_______________________________________________
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.



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