程序的执行有2种方式,一种就是互不依赖,互不影响的方式,称为独立运行。另一种就是前后相互依赖的方式,后面的执行要依赖前面的结果,称为因果运行。
并行化的关键就是尽可能的分离出这两种方式。MapReduce就是分离的一种办法。
对于因果运行,可以想到的方式,就是将所有可能结果的排列组合一一计算出来,最后取出符合条件的结果。
这种计算方法对于计算机的运算能力和中间结果的存储,都是一种前所未有的挑战。
优化的方式,是选择概率最高的组合先计算,概率低的组合后计算。
各种可能结果,出现的概率分布,在每一次计算之后都会有所不同,这就像是条件概率,每计算出一些结果,条件发生变化,影响以后的结果。
怎样得出这种概率分布,是并行计算大行其道的关键点。
可以预言,概率论,随机理论,组合理论 的研究和实现,将在并行计算领域大大的兴起。
并行化的关键就是尽可能的分离出这两种方式。MapReduce就是分离的一种办法。
对于因果运行,可以想到的方式,就是将所有可能结果的排列组合一一计算出来,最后取出符合条件的结果。
这种计算方法对于计算机的运算能力和中间结果的存储,都是一种前所未有的挑战。
优化的方式,是选择概率最高的组合先计算,概率低的组合后计算。
各种可能结果,出现的概率分布,在每一次计算之后都会有所不同,这就像是条件概率,每计算出一些结果,条件发生变化,影响以后的结果。
怎样得出这种概率分布,是并行计算大行其道的关键点。
可以预言,概率论,随机理论,组合理论 的研究和实现,将在并行计算领域大大的兴起。