多核技术下的并行编程模式
时间:12-13
整理:3721RD
点击:
上个昨天拿回来的ppt,后半部分说的流水线模式还挺不错的,看着也就是生产者/消费者的模式,但是从代码的可读性上来看,还是要比原来简单的生产者/消费者模式要好上很多。不过,我在考虑如果某一个任务被堵塞的情况下应该怎么处理,这个在编程的时候可能是需要好好考虑的问题。
好东西,学习了一下:
流水线真是个好点子,它本质上是串行的,但由于在串行中引入了并行机制,大大提高了数据处理的吞吐能力。流水线我觉得不同于生产消费模式,后者本质上是并行的,任务间彼此的相关性很小。正是由于流水线的串行本质,如果某一任务堵塞,必然导致整体运行的停滞,因此在不想一个环节影响整体或者是任务间的相关性很小的情况下是不适用流水线的。
嗯,我当时是就着ppt里的例子考虑的,在例子里,使用流水线和生产者消费者是没有啥区别,因为各个步骤之间相关性太大,一个环节拥堵则整个个任务都出问题。
串行任务做并行优化,确实是一个很高级的trick,不过,用的时候还是得多多考虑,否则起到反作用可就惨了。
刚看,不错不错,收藏