什麼是並行記憶體分配?

什麼是並行記憶體分配?

我想了解什麼是並行記憶體分配。

我想我理解什麼是“記憶體分配”,但我不理解術語“並行”。也許與多個處理器有關?

另外我必須在 C 中實現並行記憶體分配。

答案1

並行記憶體分配處理在多CPU架構上運行的多執行緒應用程式中的記憶體分配問題。與單一 CPU 架構相比,我們必須考慮記憶體共享衝突(鎖、快取失效等)。例如,在不同 CPU 上運行的兩個執行緒一次又一次存取相同快取行可能會經歷顯著的效能下降,因為 CPU 無法從其本地快取記憶體中受益,因為它總是被另一個 CPU 無效。

在編寫自己的例程太深入之前,我建議使用像 hoard 這樣的嵌入式程式庫(請參閱http://www.hoard.org/),因為由於可能發生許多競爭條件,測試此類例程的穩健性是一項相當複雜的任務。

編輯:

您可以查看以下文件:http://people.cs.umass.edu/~emery/pubs/berger-asplos2000.pdf- 這也是關於hoard實現的,但它也值得一讀,因為它深入解釋了許多相關問題。

相關內容