无法进行并行化的算法

3
例如,像LZ77这样的算法可能需要先前的结果才能继续执行,但仍然可以在一定程度上并行执行(例如http://www.cs.cmu.edu/~jshun/dcc2013-final.pdf)。
是否有任何特定的现实世界算法必须仅按顺序执行?

3
你的意思是绝对不能进行并行处理,还是可以进行并行处理但没有性能提升? - John Carter
1
如果您的意思是无法加速,请参考此线程:http://scicomp.stackexchange.com/questions/1391/are-there-any-famous-problems-algorithms-in-scientific-computing-that-cannot-be。还可以看看这个网站:http://www.quora.com/Computer-Science/What-are-some-of-the-famous-algorithms-in-use-which-cannot-be-parallelized。 - sara
@JohnCarter 不是一样吗?任何算法都可以被并行化,只需同时运行相同的代码...然后它就成功地被并行化了,只不过没有性能提升。哇,这太学究了。 - Thomas
@Thomas 我也在想这个问题。如果只是零改进的问题,那么答案是肯定的——可以指出很多例子,在并行化时不会提供加速。如果是另一种情况,那么就更具有理论性了。 - John Carter
@John 我认为如果没有显示任何改进,那么就意味着无法并行化。 - AlexSee
1个回答

7

相关链接:https://cs.stackexchange.com/questions/19643/which-algorithms-can-not-be-parallelized - Ciro Santilli OurBigBook.com

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接