英特爾(R) 調優助手主題避免記憶體順序管道清除

 

要避免由於記憶體順序問題而導致的管道清除,請嘗試以下方法:

  • 劃分工作(例如陣列),使每個執行緒處理不同快取線中的數據;或是製作陣列/數據結構的自有副本,供每個執行緒使用。
  • 在自旋等待循環與空閑循環中,插入新的 pause 指令。此指令充當提示,告知程式碼序列是自旋等待循環,這樣可以大幅降低記憶體順序衝突的可能性。
  • 單獨放置每個同步變數,變數之間相隔 128 個位元組,或是放入單獨的快取線。
    如需有關詳細資訊,請參閱 Intel(R) Pentium(R) 4 and Intel(R) Xeon(TM) Processor Optimization Manual(英特爾(R) 奔騰(R) 4 與英特爾(R) 至強(TM) 處理器優化手冊)的第 7 章。