苏立伟 刘振华 杜礼锋 伊思诺 曾晓锋
摘 要:针对Spark计算框架处理规模急剧增长的大数据时,处理速度会明显减慢,无法满足电力大数据分析的实时性处理需求的问题,提出了一种基于GPU与Spark计算框架的电力大数据分析算法.将GPU的并行处理结合到Spark计算平台上以提升电力大数据处理的效率,并通过构建排队模型来最大化该计算框架的性能.仿真结果表明,所提出的算法具有一定的精确性和有效性,且加入GPU計算后能够明显提升数据处理速度,可以满足大规模数据处理的实时性需求.
关 键 词:电力大数据;分布式计算;并行计算;排队模型;并行数据;开关柜;超声波;实时性
中图分类号:TM76 文献标志码:A 文章编号:1000-1646(2023)04-0371-05
随着智能电网的快速建设与发展,大量的电网基础设施和数以亿计的智能电表产生了海量的电力数据[1].使用信息技术对电力大数据进行处理与分析,是目前电网智能化和电力行业信息化发展的必然要求[2-3].
目前,世界各国根据电力大数据海量化、多样化、价值化与快速化的特性,构建了多种大数据处理平台,如以Zookeeper、Hbase与Hive等软件为核心的Hadoop生态系统[4-6].Hadoop系统的核心技术是使用MapReduce编程框架进行数据分发与计算,该框架需要将计算结果存储到硬盘,会产生较高的计算延迟、遗落与错误.因此,Spark计算框架[7-10]应运而生,该框架通过基于内存的计算模式实现大数据的交互查询、流式计算与批处理,然而当数据规模急剧增长时,Spark计算框架的数据处理速度会明显减慢,无法满足电力大数据分析的实时性处理需求[11-13].
随着CUDA与GPU技术的发展成熟,越来越多的人开始尝试在Spark平台上整合GPU的并行处理能力,通过利用GPU资源来提升大数据处理效率[14].其中,CuSpark[15]与SparkCL[16]是具有代表性的两个项目,它们均在一定程度上实现了GPU与CPU的混合并行计算.CuSpark通过抽象管线将数据划片存储到内存或显存中;SparkCL则结合JaveCL技术,将Java字节码转换为OpenCL支持的运算语言以供GPU使用.