Re: 不相干的程式做multi-thread有幫助嗎?
※ 引述《ggg12345 (ggg)》之銘言:
: ※ 引述《CharArray ( char[] )》之銘言:
: 如果有兩個完全不相干的 thread (片段程式)要執行, 沒有相互干擾的
: overhead 的辦法就是分開在兩部實體完全獨立無關的電腦上跑. 但稱為
: multi-thread 卻是指在同一部電腦上跑. 這部電腦是多組 register set
: 的 RISC , 還是多個 functional pipeline unit , 還是多個 program
: counter 的多核, 甚至是共用 bus 及記憶體的多處理機系統. 在實體上
: 就有不同程度的共用硬體資源成份. 有了共用資源, 自然就會有互斥使用
: 的這一類型同步問題. 即使沒有互斥同步也會有共用部份有限的 register
: 與 cache 問題. 一旦是不考量同步的任意交錯輪換使用, 就會有 save/
: restore 問題, 不必要的 save/restore 也就是一種 overhead ! 打斷
: prefetch 與 pipleline buffer 也是另一種 overhead.
我最核心的問題是,硬把2個不相干的multi-process轉成multi-thread的overhead
但在只有一台實體電腦的狀況下,上述的情形在multi-process也都存在,
甚至更多,那為什麼還算overhead呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.71.240.89
討論串 (同標題文章)