第12章 分布式计算、并行计算和HPCC
由于社会已经进入了一个数据密集型时代(即大数据时代),所以我们面临着越来越大的数据集,公司和用户都在考虑他们可以使用什么样的工具来加速数据处理的过程。其中一个明显的解决方案就是增强数据存储能力。然而不幸的是,这需要付出巨大的代价。此外,其他解决方案包括分布式计算和一些加速该过程的方式。
在本章中,我们将讨论以下主题:
- 分布式和并行计算简介
- 理解MPI
- Python并行处理
- 计算节点
- Anaconda附加组件
- HPCC简介
12.1 分布式和并行计算简介
分布式计算是计算机科学的一个子领域,它主要研究分布式系统和模型,在该系统和模型中,位于联网计算机上的组件会通过传递消息进行通信和协调它们的操作。为了实现共同的目标,这些组件之间会彼此交互。
此处有必要讨论一下另一个术语:并行计算。并行计算与多线程关系更加密切,或者说是如何充分利用单个CPU,而分布式计算则是指分而治之的概念,即在不同机器上执行不同的子任务,然后合并所有结果。
既然我们已经进入了所谓的大数据时代,那么这种区别似乎正在消融。而事实上,目前很多系统都组合使用了并行计算和分布式计算。
12.1.1 并行处理的任务视图
在R中,有一个任务视图叫作R高性能并行计算(High-Performance and Parallel Computing with R)。回顾一下,任务视图是指围绕特定主题的一组R程序。为了查找R高性能并行计算的任务视图,我们访问R语言官网,单击左侧的CRAN,选择附近的镜像位置,然后单击Packages和Task Views。
双击Task Views后,我们可以看到图12.1所示的列表——为了节省空间,这里仅仅展示了顶部的任务视图。
图12.1 高性能并行计算任务视图 ...
Get Anaconda数据科学实战 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.