Re: 不相干的程式做multi-thread有幫助嗎?

看板Programming作者 ( char[] )時間16年前 (2008/11/09 15:13), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/15 (看更多)
前輩提到了overhead,multi-thread跟multi-process相比的overhead有哪些呢? 我知道synchronization是一個,但是如果是完全不相干的thread執行, 沒有共用的data,synchoroniztion似乎也不是overhead(?) ※ 引述《ggg12345 (ggg)》之銘言: : ※ 引述《CharArray ( char[] )》之銘言: : : 請問一下,所謂少很多,可以明確的指出是少處理哪些事嗎? : : 因為我想知道有什麼事是把multi-process轉成multi-thread後,在context-switch : : 可以減少的工作量 : process 切換時是透過 system call trap 或 time-slice interrupt 改變 : 執行次序, 首先是 prefech 與 cache 因次序改變可能失效, 其次由 OS : kernel 的 scheduler/dispatcher 按標準運作做整個 processor register, : memory mapping table 與 執行環境的 PCB save , 隨後再依狀況找出下一 : 個 process 的 PCB restore 重新讓新 process 執行. : user space 的 multi-thread 基本上屬於同一個 process space 之內, : 切換或用多核併行多緒時, 使用者(程式設計者)知道只共用那些 resource, : 不受干擾的 register 或 data memory 就可不必做不必要的 save/restore. : 執行時也比較能考量不大幅更動到 cache 與 prefetch pipeline. : Multi-thread 要發揮效用, 程式設計者就要考慮到相當細節的部份, 同 : 步與切換的排程問題都得親自處理, 才能發揮出併行處理又無太多 overhead : 的效用. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.71.240.89 ※ 編輯: CharArray 來自: 219.71.240.89 (11/09 23:13)
文章代碼(AID): #195luFAh (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 6 之 15 篇):
文章代碼(AID): #195luFAh (Programming)