失效链接处理 |
时空大数据背景下并行数据处理分析挖掘的进展及趋势 PDF 下载
本站整理下载:
提取码:f63r
相关截图:
主要内容:
从感知对象角度,时空大数据可以划分为以下 2 类:
(1) 感知地理环境的时空大数据
随着对地观测技术的发展,各类遥感数据成指数级增长并逐步积累,成为一类典
型的时空大数据,即“遥感大数据”。随着遥感云平台的建设,各类遥感数据服
务与处理服务逐渐被发布出来,地理服务从专业走向大众,用户无需搭建专用环
境就可以方便地应用遥感大数据。2018 年 2 月,中国科学院正式启动 A 类战略
性先导科技专项“地球大数据科学工程(CASEarth)”。它的目标是建成具有全
球影响力的、开放性的国际地球大数据科学中心,逐渐突破技术瓶颈,形成资 源、环境、生态等多学科领域融合、独具特色的地球大数据云服务平台,肩负起
国家宏观决策与重大科学发现的重任。
(2) 感知人类社会活动的时空大数据
随着互联网技术、社交媒体平台的不断发展和进步,人类活动每时每刻都会产生
大量的时空数据,具有位置坐标和时间标签,具体包括移动轨迹数据、社交媒体
数据、购物订单数据、手机信令数据等。这些数据记录着人类的日常生活,蕴含
着人类活动的潜在规律,且它们正以前所未有的速度和规模增长和累积,亟待被
合理、高效、充分地挖掘应用。近年来, 面向人类活动的时空大数据逐渐被挖
掘、利用、生成各类智慧服务,并渗透到人们生活的各方面。在智慧经济方面,
企业利用数据挖掘技术,从客户消费的时空大数据中获取人们消费习惯,并划分
成不同的消费群体,从而有针对性地投放产品,实现精准营销;在智慧交通方面,
通过分析人流和车辆移动轨迹的时空大数据,可以预测路段的人流密度与交通状
况,从而有效改善交通拥堵现象;在智慧医疗方面,通过对海量病历数据进行分析
建模,可以了解人群疾病的时空分布规律,从而及时进行疾病的预防和控制。
时空大数据除了具备大数据本身所具有的海量、多维、价值高等特征之外,还具
备对象/事件的丰富语义特征和时空维度动态关联特性(李德仁, 马军等,
2015) ,具体包括以下 4 点:
(1) 时空大数据的要素包括对象、过程、事件等,且这些要素在空间、时间、语
义等方面具有关联约束关系;
(2) 时空大数据在空间和时间上具有动态演化特性,这些基于时空大数据要素的
时空变化是可被度量的;
(3) 时空大数据具有尺度特性,根据比例尺大小、采样粒度以及数据单元划分的
详细程度可以建立时空大数据的多尺度表达与分析模型;
(4) 时空大数据具备多维动态可视化特性,实时获取对象在不同阶段的行为特
征,通过参照并映射到三维地理空间中,可以实现动态可视化渲染效果,从而更好
地觉察、理解和预测对象的发展。
时空大数据不断被应用于各个领域,促进了新的研究模式生成,然而传统的数据
存取、分析和挖掘方法却难以支撑新的研究模式形成。日趋庞大的数据量容易
导致算法性能陷入瓶颈,用户对响应的实时性要求越来越高,传统集中式的数据
存储管理策略和串行时空分析算法已越来越不能满足时空大数据高效存储和实
时处理分析的需求。因此,在分布式计算、并行计算以及云计算技术飞速发展的
背景下,针对时空大数据的特殊性,将高性能计算技术应用到时空大数据的处理
分析中,实现数据快速高效处理,快速准确提取其中的价值信息,是当前时空大数
据的一大研究热点。
3 高性能软硬件发展概况
近年来,计算机技术迅速发展,在硬件方面,计算能力成倍增长,硬件架构发生了
巨大变化;在软件方面,云计算技术的兴起,面向大数据的高性能计算模型和处理
框架不断涌现。
3.1 硬件架构
(1) 多核处理器
多核处理器(multi-core processor)是在单个芯片(die)中封装了两个或以上的
独立中央处理器核心(core),核心间通过高速总线(bus)互联。多核处理器通过
提供不同层次的指令级并行和线程级并行从而提高计算性能。2005 年,Intel 公
司和 AMD 公司率先开发出双核处理器(彭晓明等, 2012)。2017 年,Intel 公司发
布了基于 14 nm 工艺制程的 24 核处理器(Xeon E7-8894 v4),支持 48 个线程,频
率为 2.4~3.4 GHz。
(2) 众核处理器
众核处理器(many-core processor)是专为高度并行处理而设计的专业多核处理
器,包含大量简单、独立的处理器内核,并广泛用于嵌入式计算和高性能计算
中。众核处理器相对于多核处理器的区别在于它设计的出发点是对更高程度的
显式并行进行优化,以密集的计算线程提高吞吐量,使得它在处理海量结构化数
据时更有优势。典型的众核处理器有 NVIDIA GPGPU(general purpose GPU)、
Intel MIC(many integrated core)等。其中用户群最广的是 GPGPU,其具有高
带宽、高并行性的特点,因此在处理单指令流多数据流(SIMD)时,面对数据运算
量远大于数据调配和传输的场景时,其计算性能相对于传统多核 CPU 来说有了极
大的提升 (Nickolls et al, 2010)。2017 年 NVIDIA 发布了 Tesla Volta100
GPU 架构,能提供 30TFLOPS 的 FP16 半精度性能,15TFLOPS 的 FP32 单精度性
能,7.5FLOPS 的 FP64 双精度性能,以及 120TLOPS 独立 Tensor 操作量。Tesla
Volta100 中新型流式多处理器架构针对深度学习进行了专门优化,在深度学习
性能上显著提升,架构比上一代节能 50%,且使用 HBM2 内存,操作更快、效率更
高(NVIDIA, 2017)。
(3) 分布式集群
分布式集群是指将相互独立的计算机节点(node)通过高速互联网络连接起来而
形成的计算集群(cluster)。集群面对的高并发请求或计算密集任务可以分发到
所有工作节点协同完成。同时由于节点之间通信开销成本和数据传输延迟,因此
集群多采用粗粒度的并行任务划分策略。
随着虚拟化技术的发展与成熟,基于云平台的新兴计算模式——云计算应运而
生。云平台借助虚拟化技术的伸缩性和灵活性,提高了计算/存储/网络资源利用
率;通过信息服务自动化技术,将各类资源封装为服务交付给用户,减少了用户使
用成本。云平台提供的服务通常可分为:基础设施即服务(infrastructure as
a service,IaaS)、平台即服务(platform as a service, PaaS)、软件即服务
(software as a service,SaaS)这 3 大类。与传统的集群相比,云平台可以将物
理资源虚拟化为资源池,灵活提供软硬件资源,实现对用户的按需供给,具有资源
池化、按需服务、服务可计量等特点,因此云平台在并行计算中发挥着重要作
用。自云计算的概念被 IBM 提出后,得到了 Google、Microsoft、Amazon 等各大
IT 公司的重视,纷纷推出了各自的云平台,如 Google Cloud、微软 Azure 平台、
Amazon Cloud、阿里云等。
表 1 对以上提出的硬件架构从硬件类型、计算能力、可扩展性等角度进行了比
较。
表 1 硬件架构对比
Tab.1 Comparison of different hardware architectures
硬件
架构
类型
计算
能力
可扩
展性
优点
多核处
理器
Intel Xeon
CPU 等
中等 中等 多个内核同时处理,可实现多任务处理
和计算
众核处
理器 GPGPU、MIC 等 较强 中等 高度并行性,计算速度快,数据吞吐能力
高
分布式
集群 云平台等 强 高
节点松散耦合,节点内部可以集成多/众
核处理器,扩展性非常强
3.2 典型的高性能计算模型及框架
同时,对应的高性能计算模型及框架也呈现出多元化特点,不同的硬件结构逐步
发展出与该硬件架构相符合的高性能计算模型,如面向多核处理器的多线程模
型,包括 OpenMP,POSIX Threads 和 Intel Threading Building Blocks(TBB)
等;面向众核处理器的 CUDA、OpenCL 等;面向分布式集群的 MPI、MapReduce 和
Spark 框架等。
3.2.1 面向多核处理器的并行计算模型
多线程模型是一种基于多线程并发执行(multithreading)来提升算法处理能力
或效率的并行程序开发模型。在一个多线程程序中,一个主进程通常创建多个工
作线程,每个工作线程并行执行不同的任务,共享主进程中的全部系统资源。其
中具有代表性的多线程模型是 OpenMP,它支持 C、C++和 Fortran 语言,可以实现
任务并行和数据并行(Dagum et al, 1998)。OpenMP 不仅可以利用编译指令自
动进行任务分解,允许渐进式并行化,而且对原串行代码不需要进行重大改变,具
有良好的可移植性。然而 OpenMP 只能在共享内存的多核/多处理器平台上高效
运行,可扩展性受到存储器架构的限制。
3.2.2 面向众核处理器的并行计算模型
(1) CUDA(compute unified device architecture,统一计算设备架构)。CUDA
是 2007 年 NVIDIA 公司推出的运行在本公司各种型号 GPU 上的一种通用并行计
算架构(Garland et al, 2008),最初基于 C 语言环境,如今可支持 C、C++和
Fortran 等编程语言。CUDA 能够为用户提供统一的开发框架和编程模型,辅助用
户快速构建高性能应用程序并充分发挥 GPU 的优势,从而极大提高了通用计算能
力。2017 年发布了专为 Volta GPU 而构建的 CUDA 9,更快的 GPU 函数库,基于协
作组(cooperative groups)新的编程模型,进一步加快了应用程序的编译速度。
2018 年发布的 CUDA 9.2 具有更低的内核启动延迟,启动 CUDA 内核的速度比
CUDA 9 快 2 倍。
(2) OpenCL。OpenCL 为异构计算提出的统一编程标准,在由 CPU、GPU、FPGA 或
其他处理器等组成的异构平台中,OpenCL 可以提供基于任务划分和基于数据划
分的并行计算机制(Javier et al, 2012)。OpenCL 支持跨平台和硬件体系结构
编程的特点,使得它在面对异构计算时具有强大的优势。目前 OpenCL 2.2 版本
通过将 OpenCL C++内核语言引入到核心规范中,从而显著提高并行计算的效
率。
3.2.3 面向分布式集群的并行计算模型及框架
(1) MPI。MPI 是一个基于消息传递的并行计算应用程序接口(Dinan et al,
2016),主要应用于分布式集群上,支持点对点和广播 2 种通信方式,典型的开源
实现有 OpenMPI、MPICH 等。MPI 可移植性强,能同时应用于分布式内存/共享内
存的处理平台。在分布式集群上通常采用混合编程模型(Hybird),同时结合了
OpenMP 和 MPI 两者的优点,基于 OpenMP 实现线程级并行,同时在节点间基于 MPI
实现任务分配和消息传递,以实现线程和进程 2 个层次的并行计算(赵永华等,
2005)。目前 MPI 仍然是当今大型计算密集型应用主要使用的并行计算模型。
|