李虎成,於益军,李峰,冯树海
(1.国网电力科学研究院,江苏南京 210003;2.中国电力科学研究院,江苏南京 210003)
随着跨区互联大电网的形成以及多级调度一体化对发电计划编制的要求,面向发电计划的96时段静态安全校核的计算量越来越大,需要进一步提高计算速度以满足相关应用的实用化需求。对三华互联大电网而言,计算节点达到一万多,带扫描的N-1预想故障也在一万以上。采用常规的单机校核方法所消耗的时间将十分可观,极大地影响了调度计划编制的整体进程。96时段静态安全校核作为安全校核应用的核心内容之一,充分地利用多机多核的计算资源来提高计算效率,对提升调度计划应用的可用性有重要意义[1-3]。
针对如何有效地利用多机多核资源来提高电力系统的计算速度,已有许多研究从不同角度提出了改进方法。文献[4]提出了适用于电力系统分析计算的多核并行技术,并以短路电流计算中求解阻抗矩阵为例给出了相应的并行计算算法,采用共享存储编程模式实现,在多核计算机上应用提高了计算速度;文献[5]通过分析面向服务系统架构的松耦合信息集成特点和并行化编程思想,提出了智能电网调度安全校核网格计算模型;文献[6]提出一种基于MPI的实时并行计算平台,引入了硬实时操作系统RTlinux,来解决大规模电力系统电磁暂态分网并行仿真实时性的问题;文献[7]提出了一种基于图形处理器(GPU),并采用隐形梯度法的机电暂态仿真细粒度并行算法。以上方法基于多机多核的资源实现了在电力系统某些应用中的快速并行计算。
日前调度计划安全校核涉及96个时段断面的分析计算,每个时段断面分析都是一个独立的静态安全分析过程,任务计算量大,而且不同时段的分析任务间没有相互制约关系,任务分解简单。基于此特点,采用基于消息传递编程模型的多进程并行计算方法,将不同时段的分析任务分配给不同的计算节点,可以实现多时段任务的并行计算,充分发挥计算机集群的计算能力。
96时段静态安全校核涉及的断面较多,各个断面任务可以相互独立,适合于采用多机或者计算机集群进行分布式并行计算。在多机情况下,每台机器可以按配置或资源多少设定可并行的进程数。通过对多时段断面的并行安全校核,能够极大地提高安全校核的计算速度,以满足相关应用的需求。MPI标准是已被广泛认可的基于消息传递的并行编程标准。本文选用了应用最为广泛的开源MPICH库来实现多时段静态安全分析时多进程的并行计算[8-9]。多时段断面安全校核并行时由分配在多机上的多个进程协同完成计算,按照功能把并行进程分为两类:1)管理进程或协调进程。该进程主要负责并行计算任务的分配、管理、计算结果汇集等。2)计算进程。该进程主要负责各时段断面的安全校核计算。管理进程通常配置在数据服务器,多时段断面数据就存储在数据服务器的本地存储空间,有利于管理进程读取任务数据,只需要一个管理进程就可以满足使用要求了。而计算进程是实施计算的主体,分布在参与计算的多台机器或集群上,根据每台机器的具体配置情况部署计算进程数量。
从图1可以看到,管理进程与多个计算进程相互通信,计算进程间不需要相互通信,计算进程可以分配在不同的机器上。管理进程与计算进程相互通信借助于MPI提供的通信接口。
多时段断面的安全校核计算过程由管理进程协调控制,任务分配主要分为2个阶段:第一阶段由管理进程为所有计算进程分配初始任务;第二阶段由计算进程请求,管理进程响应请求再进行任务的分配。
基本流程如下(假设并行的计算进程有m个,即可以同时并行计算的时段数为m个):
1)初始时,管理进程从96断面中选取与计算进程数目相同的m个时段断面,给每个计算进程分配一个时段的安全校核任务,即把任务分配消息和相关计算任务所需数据发送给每个计算进程。管理进程进入步骤2),等待计算进程的消息。同时各节点计算进程启动,进入步骤5)。
2)管理进程等待计算进程的任务请求。如果管理进程接到计算进程Cn返回的消息,进入步骤3)。
3)管理进程从消息中获得了某个时段的安全校核结果数据。然后检查尚未分派的计算任务Tn,并将Tn发送给该计算进程Cn。如果没有尚未分派的计算任务,发送结束消息给计算进程Cn,通知Cn结束计算。进入步骤4)。
4)管理进程检查是否所有时段的安全校核任务都已完成计算。如果是,则所有计算任务已经完成,管理进程退出;否则返回2),继续执行。
5)计算进程等待管理进程的任务分配。如果接收到下一次计算任务和数据的消息,启动计算,进入步骤6)。如果接收到退出计算的消息,退出计算进程。
6)计算进程完成计算,汇总计算结果,提交给管理进程,即返回步骤5),等待管理进程下一次任务。详细的管理进程、计算进程的流程图和相互协作的消息传递如图2所示。
选用3个实际电网case1、case2、case3进行测试,具体规模见表1。
表1 测试算例信息表Tab.1 The information table of test cases
本文提出的基于多进程并行方法对96时段断面安全校核在计算速度上的提升效果可以从计算执行时间方面进行评估。执行时间定义为程序从开始执行到执行结束所花费的时间。
针对表1中的3个电网算例,测试96时段静态安全校核的并行计算性能。测试选用机器为3台配置相同的服务器,每台服务器有4颗Intel Xeon(2.40 GHz)四核处理器,16 G内存,操作系统为凝思Linux,编译器为gcc4.1。
测试信息表1中的每个算例都包含在同一电网模型下的96时段方式断面。96时段静态安全校核采用多机多进程并行计算模式来进行测试,每个进程均可独立完成单时段的静态安全分析,并采用带直流潮流筛选的故障扫描算法,依次用4个、8个、12个并行线程来分析开断故障。
从测试结果表2可以看出,并行进程数由4增加为8时,计算时间减少1/2;并行进程数由4变为12时,计算时间减少近乎2/3。可见,计算时间与并行计算的进程数成反比。这说明每个计算进程之间相互独立,没有任何依赖关系。即使进程数增加,也不会导致进程间因相互协同、通信量增大而消耗更长的计算时间。因此,对于96时段的静态安全校核,非常适合采用多机多进程并行计算。如果在现有测试环境基础上通过适当增加硬件配置来增加并行计算进程数,将使得96断面的安全校核计算总时间进一步减少。
表2 多进程并行计算性能测试结果Tab.2 The test table of cases based on multi-process parallel computation
大电网日前调度计划的96时段静态安全校核计算量比较大,本文充分利用计算机集群的计算资源引入了多进程并行计算技术。通过对3种不同规模电网算例的测试,表明多进程并行计算在96时段断面安全校核中有很好的应用,能够显著提高其计算性能,将为互联大电网下一体化调度计划的编制提供有力的支撑。
[1] 陈之栩,谢开.电网安全节能发电日前调度优化模型及算法[J].电力系统自动,2009,33(1):10-13.CHEN Zhi-xu,XIE Kai.Optimal model and algorithm for day-ahead generation scheduling of transmission grid security constrained convention dispatch[J].Automation of Electrical Power System,2009,33(1):10-13(in Chinese).
[2] 梁志飞,夏清.精细化日发电计划模型与方法[J].电力系统自动化,2008,32(17):26-29.LIANG Zhi-fei,XIA Qing.An accurate daily generation scheduling.model and application algorithm[J].Automation of Electrical Power System,2008,32(17):26-29 (in Chinese).
[3] 葛朝强,汪德星.华东网调日计划安全校核系统及其扩展[J].电力系统自动化,2008,32(10):45-48.GE Zhao-qiang,WANG De-xin.Security checking system for daily generation scheduling of East China Power Grid and its expansion[J].Automation of Electrical Power System,2008,32(17):45-48(in Chinese).
[4] 熊玮,夏文龙,余晓鸿,等.多核并行计算技术在电力系统短路计算中的应用[J].电力系统自动化,2011,35(8):49-52.XIONG Wei,XIA Wen-long,XU Xiao-hong,et al.Multicore parallel computation technique for power system shortcircuit faults analysis[J].Automation of Electric Power Systems,2003,23(1):41-44(in Chinese).
[5] 王兴志,严正,沈沉,等.基于面向服务架构的调度计划安全校核网格计算[J].电力系统保护与控制,2011,39(24):90-95.WANG Xing-zhi,YAN Zheng,SHEN Chen,et al.Grid computing of operation scheduling with security constraint based on SOA[J].Power System Protection and Control,2011,39(24):90-95(in Chinese).
[6] 陈勇,李亚楼,田芳,等.基于MPI的电网仿真实时并行计算平台[J].计算机工程,2011,37(17):265-269.CHEN Yong,LI Ya-lou,Tian Fang,et al.Real-time parallel computing platform of power grid simulation based on MPI[J].Computer Engineering,2011,37(17):265-269(in Chinese).
[7] 张宁宇,高山,赵欣.基于GPU的机电暂态仿真细粒度并行算法[J].电力系统自动化,2012,36(9):54-60.ZHANG Ning-yu,GAO Shan,ZHAO Xin.A fine granularity parallel algorithm for electromechanical transient stability simulation based on graphic processing unit[J].Automation of Electric Power Systems, 2012, 36(9):54-60 (in Chinese).
[8]CALVIN LIN,LAWRENCE Snyder.并行程序设计原理[M].北京:机械工业出版社,2009.
[9] 都志辉.高性能计算并行编程技术(MPI并行程序设计)[M].北京:清华大学出版社,2002.