(3)让并行算法带你飞
更新于 2026年10月13日
版权声明
(3)让并行算法带你飞
并行算法就是用多台处理机联合求解问题的方法和步骤,其执行过程是将给定的问题首先分解成若干个尽量相互独立的子问题,然后使用多台计算机同时求解,从而最终解决原问题。这是大数据常用的处理方式。
就大数据来说,因为串行的处理方式难以满足人们的要求,所以现在主要采用并行计算方式。现有的并行计算可以分为细粒度和粗粒度两种。
首先,细粒度的并行计算。细粒度主要是指指令或进程级别,由于GPU比CPU拥有更强的并行处理能力,人们将一些任务交给GPU并行处理,一些GPU制造商也推出了方便程序员使用的编程模型,如NVIDIA推出的CUDA等。
其次,粗粒度的并行计算。粗粒度指的是任务级别,人们将任务分布到不同机器中执行,最近流行的网格计算、分布式计算都属于粗粒度级别。(https://www.daowen.com)
由于现有GPU编程模型还未完善,开发人员需要考虑大量的并行细节且任务较重,因此未得到流行。而一些新推出的分布式编程模型因其简单、方便等特点受到开发人员的欢迎,并变得炙手可热。这里,我们主要讨论粗粒度的并行计算。
由于大数据都分布在集群中,因此对数据的处理和分析需要在集群中进行。但是在多台机器上对分布式数据进行分析会产生巨大的性能开销,即使采用千兆比特或万兆比特带宽的网络,随机读取速度和连续读取速度都会比内存慢几个数量级。但是,现在高速局域网技术使得网络读取速度比硬盘读取要快很多。因此,将数据存储在其他节点上比存储在硬盘上的性能要好,而且还可以在多个节点上并行处理数据集。