Forum Jump

Select Group :
Select Forum :
Sorted By :
Sort Order :
From The :
 
Thread Tools  Search this thread 
zhangyihere
Total Points:
100
Status Points:
50
Green Belt
November 2, 2009 11:24 PM PST
How to separately control MSRs on Intel Core 2
Hi all,

In the Software Developer's Manual, it is said that, for Intel Core 2 processor family, MSRs are categorized into Unique and Shared, and Unique means each processor core has a separate MSR.

So, I would like to ask if I could separately control the Unique MSRs by each core? Such as enabling L1 cache prefetcher on one core and disabling the L1 cache prefetcher on the other core? And how should I do?

Thanks in advence!
tim18
Total Points:
68,397
Status Points:
68,397
Black Belt
November 3, 2009 5:27 AM PST
Rate
 
#1
In my experience, we had control only over (strided) hardware prefetch, and adjacent sector (cache line pairing) prefetch, all cores set the same.


zhangyihere
Total Points:
100
Status Points:
50
Green Belt
November 3, 2009 5:30 PM PST
Rate
 
#2
Thanks for the fast reply! But in some literature, I have read that all cache prefetchers on their platform are percore
configurable except the L2 adjacent line prefetcher. The platform they use is Intel Xeon 5160. 

Could you give me some further advice on how to implement such functions?

Thanks


tim18
Total Points:
68,397
Status Points:
68,397
Black Belt
November 3, 2009 8:43 PM PST
Rate
 
#3 Reply to #2
http://stackoverflow.com/questions/784041/how-do-i-programatically-disable-hardware-prefetching
gives you advice on where to look in linux kernel and /dev/ for hardware prefetch settings.
http://software.intel.com/en-us/articles/optimizing-application-performance-on-intel-coret-microarchitecture-using-hardware-implemented-prefetchers/ shows a setup screen for a BIOS which includes these settings (seen on only a few servers)
Tinkering with these settings seems to be much less popular than it was several years ago, judging by the reduced number of Google hits.
When you say Core 2, I don't think you mean the Xeon 7xxx 4-socket servers with L3 cache, a special case where disabling hardware prefetch might have produced performance gains, perhaps 5%, on certain job types, and, of course, much large losses on others. 
The adjacent sector (cache line pairing) might more often reduce performance, particularly where threads operate about 1 cache line apart, with one reading and the other writing data.  Perhaps people have learned to improve their threading rather than trying to patch up these situations by disabling prefetch.




Intel Software Network Forums Statistics

8458 users have contributed to 31572 threads and 100535 posts to date.
In the past 24 hours, we have 18 new thread(s) 131 new posts(s), and 154 new user(s).

In the past 3 days, the most popular thread for everyone has been gemm(A,A,A) like possible? The most posts were made to gemm(A,A,A) like possible? The post with the most views is Quoting - rase if (k.eq.0

Please welcome our newest member soundmyth