原理分析 多核下的快取塊偽共享問題

2021-06-26 23:34:49 字數 764 閱讀 1127

摘要:

正文:

1.本文考慮的處理器中每個核私有l1快取,並且多個核共享l2快取;l1和l2快取中的快取塊大小都為64bytes,認為double資料型別在本機器上需要8bytes來表示;

2. 快取一致性的協議:本文考慮的快取一致性是基於監聽(snoop)的寫無效(write invalidate)策略,給個簡單的例子來說明該策略:當core 0和core 1讀訪問l2中的快取塊a時,那麼在core0和core1中同時存在快取塊a的兩個拷貝;當core0寫l1中的快取塊a拷貝時,並且在匯流排上發訊息說:自己修改了a快取塊;那麼core1接受到該訊息時,就知道自己l1中的快取塊a拷貝不是最新,此時core1就會將自己的快取塊a拷貝置為無效;當core1再次要訪問該快取塊時,由於發現無效,就會從外部(比如從core0的l1快取)讀取最新的拷貝。上述的快取一致性策略就是基於監聽的寫無效策略。

int i, j, m, n;

double y[m];

for(int i=0; i

int i, j, iter_count;

int m, n, core_count;

double y[m];

iter_count = m/core_count;

//so core 0 does this

for(i=0; i

結束語:

本文的例子很好地闡述軟體和硬體之間的關聯性,軟體調優需要對於硬體體系結構有很好的理解。

瀏覽器 HTTP 快取原理分析

以前專案中遇到了很多瀏覽器快取相關的問題,也在網上查過資料,搞過伺服器的配置,來確保客戶端載入伺服器資源的速度和資源有效性。最近仔細看了下http協議中和快取相關的一些屬性,總結一下。瀏覽器第一次訪問伺服器資源 index.html 在瀏覽器中沒有快取檔案,直接向伺服器傳送請求。伺服器返回 200 ...

瀏覽器 HTTP 快取原理分析

以前專案中遇到了很多瀏覽器快取相關的問題,也在網上查過資料,搞過伺服器的配置,來確保客戶端載入伺服器資源的速度和資源有效性。最近仔細看了下http協議中和快取相關的一些屬性,總結一下。瀏覽器第一次訪問伺服器資源 index.html 在瀏覽器中沒有快取檔案,直接向伺服器傳送請求。伺服器返回 200 ...

瀏覽器HTTP快取原理分析

章節目錄 以前專案中遇到了很多瀏覽器快取相關的問題,也在網上查過資料,搞過伺服器的配置,來確保客戶端載入伺服器資源的速度和資源有效性。最近仔細看了下http協議中和快取相關的一些屬性,總結一下。瀏覽器第一次訪問伺服器資源 index.html 在瀏覽器中沒有快取檔案,直接向伺服器傳送請求。伺服器返回...