作者ggg12345 (ggg)
看板Programming
标题Re: 不相干的程式做multi-thread有帮助吗?
时间Sun Nov 9 23:43:53 2008
※ 引述《CharArray ( char[] )》之铭言:
: 前辈提到了overhead,multi-thread跟multi-process相比的overhead有哪些呢?
: 我知道synchronization是一个,但是如果是完全不相干的thread执行,
: 没有共用的data,synchoroniztion似乎也不是overhead(?)
如果有两个完全不相干的 thread (片段程式)要执行, 没有相互干扰的
overhead 的办法就是分开在两部实体完全独立无关的电脑上跑. 但称为
multi-thread 却是指在同一部电脑上跑. 这部电脑是多组 register set
的 RISC , 还是多个 functional pipeline unit , 还是多个 program
counter 的多核, 甚至是共用 bus 及记忆体的多处理机系统. 在实体上
就有不同程度的共用硬体资源成份. 有了共用资源, 自然就会有互斥使用
的这一类型同步问题. 即使没有互斥同步也会有共用部份有限的 register
与 cache 问题. 一旦是不考量同步的任意交错轮换使用, 就会有 save/
restore 问题, 不必要的 save/restore 也就是一种 overhead ! 打断
prefetch 与 pipleline buffer 也是另一种 overhead.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.4.12
1F:推 JohnLinq:感觉上,你似乎也专注於提问者的问题 61.221.140.178 11/12 10:33
2F:→ JohnLinq:两个完全不相干的 thread (片段程式) 61.221.140.178 11/12 10:33