tag:blogger.com,1999:blog-5171098727364395242.post5248593739064529805..comments2023-05-14T13:23:31.669+01:00Comments on Psychosomatic, Lobotomy, Saw: Diving Deeper into Cache CoherencyNitsanhttp://www.blogger.com/profile/10496299147100350513noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-5171098727364395242.post-4825211308789704142017-05-30T16:14:17.593+01:002017-05-30T16:14:17.593+01:00Don't know if with Java how it could work..but...Don't know if with Java how it could work..but I've found this: https://joemario.github.io/blog/2016/09/01/c2c-blog/forked_franzhttps://www.blogger.com/profile/06893499394559691979noreply@blogger.comtag:blogger.com,1999:blog-5171098727364395242.post-13660238621541360212013-11-12T11:20:42.925+00:002013-11-12T11:20:42.925+00:00Interesting tool. I was going to use @Contended an...Interesting tool. I was going to use @Contended and look at the metrics.Mohan Radhakrishnanhttps://www.blogger.com/profile/08457140016320542845noreply@blogger.comtag:blogger.com,1999:blog-5171098727364395242.post-13588368012518457212013-11-12T07:02:24.593+00:002013-11-12T07:02:24.593+00:00Diagnosing false sharing in a micro-benchmark is q...Diagnosing false sharing in a micro-benchmark is quite straight forward by using 'perf stat' or another tool which expose hardware counters and will show you high numbers of cache misses. There is a nice Intel tool: http://software.intel.com/en-us/articles/intel-performance-counter-monitor which is free and works for linux/windows/mac.<br />While the cache misses are indicative in a benchmark they are hard to attribute to any particular piece of code in a large system using process level performance counters. To achieve that you should use a profiler which can relate the performance counters to the offending line of code/data structure. Oracle Performance Analyzer offers that functionality on Solaris. It is also supported on Linux but I'm not sure it's fully functional, in particular the performance counters analysis is more precise on Solaris according the C. Hunt Java Performance (good reference book to have BTW). On Windows/Mac you can use Intel VTune (assuming you have an Intel CPU) which is a commercial tool.<br /> Nitsanhttps://www.blogger.com/profile/10496299147100350513noreply@blogger.comtag:blogger.com,1999:blog-5171098727364395242.post-16972649343060920952013-11-12T04:53:42.185+00:002013-11-12T04:53:42.185+00:00Is there a way to view false sharing using a profi...Is there a way to view false sharing using a profiler ? I have seen a PPT that shows it using Oracle Studio Analyzer. I have Windows and Mac.<br /><br />MohanMohan Radhakrishnanhttps://www.blogger.com/profile/08457140016320542845noreply@blogger.comtag:blogger.com,1999:blog-5171098727364395242.post-11779111155080335772013-09-18T16:19:21.463+01:002013-09-18T16:19:21.463+01:00Sorry to have missed you, and very glad you like i...Sorry to have missed you, and very glad you like it :). <br />You should be able to find further links on the summary slide of the talk.Nitsanhttps://www.blogger.com/profile/10496299147100350513noreply@blogger.comtag:blogger.com,1999:blog-5171098727364395242.post-5759321390583053872013-09-18T16:16:50.870+01:002013-09-18T16:16:50.870+01:00I simply ran out of time... By all means please po...I simply ran out of time... By all means please post the results to win a pint of beer of your choice! :)<br />I'll look into it when I get back from holiday. Thanks.Nitsanhttps://www.blogger.com/profile/10496299147100350513noreply@blogger.comtag:blogger.com,1999:blog-5171098727364395242.post-73271488338653639142013-09-18T15:04:51.982+01:002013-09-18T15:04:51.982+01:00Wasn't in town to see your talk at FB. But dis...Wasn't in town to see your talk at FB. But discovered your blog from the meeting invite. This is excellent.Mark Callaghanhttps://www.blogger.com/profile/09590445221922043181noreply@blogger.comtag:blogger.com,1999:blog-5171098727364395242.post-14991100267325831722013-09-16T15:40:22.622+01:002013-09-16T15:40:22.622+01:00There are architectural performance events which l...There are architectural performance events which let you record read/write rates on a per cacheline-state basis. So you can get events for things in each of the MESI states. You could use those architectural events in order to validate the increase in number of reads/writes in M.<br /><br />I don't know if perf supports those counters, but even if it doesn't, it should simply be a matter of using a different magic number when it programs the performance event counters.Anonymoushttps://www.blogger.com/profile/15613912461272350420noreply@blogger.com