时间:2015-12-15 16:18 文章来源:http://www.lunwenbuluo.com 作者:熊玮,夏文龙,余晓鸿 点击次数:
本文基于ANSIX3H5标准,开发了一个共享存储体系结构上的编程模型,具有简单、移植性好和可扩展等优点。ANSIX3H5标准是共享存储系统编程的一个工业标准,具有快速创建并行程序的标准库,可以用来解决C/C++和Fortran语言环境中多核编程时的线程创建等问题,并支持各种操作系统环境。
加速比是多核编程中需要考虑的重要性能指标,串行计算、CPU饥饿问题、线程间的负载平衡问题都是影响加速比的因素。要更好地发挥多核CPU的性能,加速比需要实现2个目标:必须随CPU核数的增加而线性增加,即加速比的线性增长特性;得到的加速比要尽量趋近CPU核数。
而多线程的程序,就是利用线程的控制,在实际程序中产生其他的线程来处理,即产生多个线程,再由主要的线程把工作拆分给各线程去预算,最后再由主要的线程回收结果并整合。即对于多线程的程序,通过不同核心同时计算,来达到加速计算的目的。以电力系统短路计算为例,多线程的程序在工作切割、结合上需合理分配,如有关联性的程序部分不能直接切割给不同核心各自去并行计算。为此,本文简化短路计算模型,完成的并行程序设计如下。
设导纳矩阵A为n阶对称矩阵,则A可唯一分解为A=LDLT,其中L为单位下三角阵,D为对角阵。设N为设置并行执行代码时的线程个数,且根据计算机CPU核数自适应调整,本算法要设置的线程数量所示。
3、算法测试
在VisualStudio的C++编程模式基础上,运用共享存储体系结构上的标准库函数,在单台多核PC机上设计并实现了大电网短路计算的多核并行算法,并分别对各种大小规模的系统模型(零元素占矩阵元素90%的对称满秩矩阵),基于二维链表存储稀疏矩阵的综合稀疏技术,使用对称故障对该并行算法进行测试,测试系统结果如表1所示。实验中的多核PC机分2种:一种具有2个2.4GHzCPU和2GB内存;一种具有4个2.4GHzCPU和2GB内存。使用1核CPU,2核CPU,4核CPU分别进行并行短路故障计算,将并行计算结果与串行程序计算结果进行了对比。
可以看出,使用本文所述的并行方法计算对称故障,计算速度随CPU核数的增加而提升,理论上2核CPU的加速比应达到单核计算的2倍,但由于负载均衡及锁竞争的原因,计算效率能够达到0.7;而4核CPU的加速比峰值达到了2.244,即单台计算机的并行软件设计能够在相同的硬件基础上给计算速度带来很大的提升,4核CPU的计算效率也能够达到0.6以上。
针对华中电网约5000节点的简化模型(结构见附录A图A1,所有电压初值实部均设置为1、虚部均设置为0),基于二维链表存储稀疏矩阵的综合稀疏技术,采用多线程在多核单机上模拟对称短路故障计算,并与集群计算(即多机计算)进行比较,计算结果如表2所示。其中,集群计算为上文提到的MPI并行平台下的多机并行计算。从表2可知,理论上n台集群计算机并行计算的加速比应达到n,而实际上由于通信的限制只能达到小于n/2的加速比,即小于50%的加速效率,而多核并行效率比集群并行效率有所提高。
通过对不同规模系统计算效率的比较可以发现,本文提出的并行算法用于大中型电力系统的故障计算,速度均有明显提高,即适用性较好。若令单机核数继续增加,由于共享存储模式几乎不考虑通信时间,整体的计算性能也能继续提高,理论上,只要核数小于系统节点数的1/4,即能适用于任意多核计算。考虑到相对集群较低的硬件成本,多核设计是并行计算中一种值得推荐的实现方案。同时,多核设计具备可以与集群结合的可扩展性,其运算速度有望进一步提升。
4、结语
本文提出一种可用于大型电力系统故障计算的
单机并行计算方法。作为一种既考虑了计算机硬件结构,又充分发挥现有CPU最大计算能力的并行算法,可以结合到电力系统在线分析计算中。该算法通过合理分配CPU负载,避免锁竞争,减少通信时间,能有效降低大规模电力系统故障计算的计算量和时间。同时,该方法不拘泥于单机计算,可以结合集群计算平台实现并行计算。
参考文献:
[1]吉兴全,王成山.电力系统并行计算方法比较研究[J].电网技术,
[2]林济铿,仝新宇,罗萍萍,等.基于等值的电力系统机电暂态仿真并行异步算法[J].电力系统自动化,
[3]范文涛,薛禹胜.并行处理在电力系统分析中的应用[J].电力系统自动化,
[4]毛承雄,吴增华.电力系统并行仿真计算的一种新算法[J].电网技术,
[5]李亚楼,周孝信,吴中习.一种可用于大型电力系统数字仿真的复杂故障并行计算方法[J].中国电机工程学报,
[6]周伟明.多核计算与程序设计[M].武汉:华中科技大学出版社,
相关内容
联系方式
随机阅读
热门排行