Re: [問題] 有可能降低 Page Fault rate 嗎?

看板C_and_CPP (C/C++)作者 (喲)時間16年前 (2010/01/06 13:29), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《HudsonE (象象共和國國王)》之銘言: : 沒想到會來這邊問問題, : 不過在網路上通常遇到的回答都是: 不要理它 : 只好來求助板上的大家了 : 我知道 page fault 是有虛擬記憶體 OS 一定會有的情況 : 但是每次造成 hardware page fault 的 penalty 實在太高了 : 舉個數據來說, 每秒最高造成的 page faults 高達兩萬五千多次 : 自己程式這邊的感覺就是很明顯一秒鐘的超大停頓 : 但問題是我們程式的 Frame rate 至少要在 20 (完全就是爆炸) : 目前在我想法中的解決方案有 : 1. 減少記憶體的使用 : 2. 將未來可能用到的記憶體內容複製至固定的記憶體區塊 應該不是這樣. 該用多少記憶體是不變的,把使用量藏到別的地方只是增加別處的 penalty. 減少page fault次數,主要是改程式寫法. row-major的資料結構就用row-major的迴圈是一種處理法. 減少迴圈層次也是一種處理法. 硬體方面,使用成對的小量記憶體模組,取代單數的大量記憶體模組, 也可以減少page fault. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.109.190 ※ 編輯: yauhh 來自: 218.160.109.190 (01/06 13:32)

01/06 13:35, , 1F
減低一段時間內的使用記憶體涵蓋範圍, 看 memory locality
01/06 13:35, 1F

01/06 13:36, , 2F
wikipedia 說減少記憶體用量 (甚至加大可用記憶體) 是有用的
01/06 13:36, 2F

01/06 13:37, , 3F
不過我實際經驗中沒有注意到有助益過
01/06 13:37, 3F

01/06 13:38, , 4F
也許是我增減的幅度太小... 還是值得一試
01/06 13:38, 4F

01/06 17:10, , 5F
我的想法 2 是想嘗試 memory locality
01/06 17:10, 5F

01/06 17:11, , 6F
看能不能降低 page fault times 的 variance ~"~
01/06 17:11, 6F
文章代碼(AID): #1BH1-xcD (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1BH1-xcD (C_and_CPP)