gethrtime() is bogus under simulation. Solaris's view of time is 
horribly skewed under Simics alone or Simics+Ruby. Try measuring using 
RUBY_CYCLES instead.
Hemayet Hossain wrote:
  
  
    Hi All,
I am simulating some splash2 benchmarks by using ruby with simics 2.2.19 
(Solaris 10) and to characterize the time spent in synchronization, I 
have instrumented the synchronization calls like locks and barrier. I 
have binded each thread to a specific processor (one-to-one) and 
collecting the time by calling high resolution timer gethrtime().  In 
real machine run (having 16 processors) for 16 threads I get around 19% 
time spent on synchronization for a program. If I run the same program 
in simics without ruby, I also get similar percentage of time spent in 
synchronization.
But If I run the same program in simics with ruby, the time spent in 
synchronization is much higher (goes around 75% of total).  I have 
collected the time from both programs and from ruby. Both are getting 
almost same percentage number. I am using MESI_SCMP_directory like 
protocol having 2 cycles for L1 and 14 cycles for L2 access.
Does anyone have any idea what's going on? What wrong with my setup? I 
would really appreciate your reply.
Thanks,
Hemayet
_______________________________________________
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.