北卡州立大學(xué)的研究人員將于本月晚些時候在亞特蘭大舉行的IEEE國際并行與分布式處理研討會上介紹一篇論文(PDF), 論文講述一種新的內(nèi)存管理方法,能讓應(yīng)用程序在多核處理器上的運(yùn)行速度提 高20%。 多核處理器現(xiàn)在是計算機(jī)行業(yè)的標(biāo)準(zhǔn),但程序員仍然沒有學(xué)會如何編寫出能同時利用所有核心并行處理的程序。
論文合著者、北卡州立大學(xué)電氣和計算機(jī)工程系副教 授Yan Solihin解釋說,他們找到了一種方法,通過更高效的將內(nèi)存管理轉(zhuǎn)移到一個獨(dú)立的線程上,讓程序和內(nèi)存管理代碼能同時執(zhí)行,從而提高程序運(yùn)行速度。他 說他們注意到很多程序很難并行化,因?yàn)檫@些程序的內(nèi)存分配十分密集,頻繁的調(diào)用malloc或free,他們設(shè)想讓內(nèi)存分配由一個獨(dú)立的線程執(zhí)行,這個線 程就叫“內(nèi)存管理線程(memory management thread,簡寫MMT)”。Solihin說該技術(shù)已經(jīng)封裝進(jìn)名叫PHKmalloc的 庫內(nèi),程序只要連接庫即可啟用MMT。MMT能加速客戶端和服務(wù)器應(yīng)用程序的運(yùn)行。