时空大数据背景下并行数据处理分析挖掘的进展及趋势
关雪峰, 曾宇媚

Research progress and trends of parallel processing, analysis, and mining of big spatiotemporal data
Xuefeng GUAN, Yumei ZENG
表2 典型的高性能计算模型及框架的对比
Tab.2 Comparison of high-performance computing models and frameworks
并行计算模型
分类
并行计算模型/框架 出现时间 支持硬件 并行粒度 内存访问模型 性能优势 不足 适用场景
面向多核处理器的并行计算模型 多线程(以OpenMP为例) 1997 CPU、MIC 细粒度 共享内存 实现简单,并行效率高,可移植性强 只适用SMP等并行环境,不适合集群,扩展性较差 简单处理算法级的并行与优化
面向众核处理器的并行计算模型 CUDA 2007 GPU 细粒度 共享内存 基于C语言,有强大的并行浮点计算能力 仅能在GPU硬件上使用,通用性较弱 适合大规模数据密集型并行计算
OpenCL 2008 CPU、GPU、FPGA等 细粒度 共享内存 支持跨平台和硬件体系结构编程,可移植性强 开发环境完善性较差,API设计缺乏一致性 适合异构平台计算
面向分布式集群的并行计算模型 MPI 1992 CPU、MIC 细/粗粒度 分布式内存 适用于集群环境,并行算法扩展性强 编程模型复杂,容错性差 计算密集型应用
MapReduce 2004 CPU 粗粒度 分布式内存 编程实现简单,容错性好,计算能力较强 模型单一,适合批处理模式,但中间结果要写入磁盘,不适合迭代运算 数据密集型应用、分布式数据处理
Spark 2010 CPU 粗粒度 分布式内存 丰富的API,减少磁盘I/O,适合迭代算法 内存消耗较大 适合图计算、迭代计算和交互式数据分析