时间:2015-12-15 16:18 文章来源:http://www.lunwenbuluo.com 作者:熊玮,夏文龙,余晓鸿 点击次数:
摘要:考虑到大型电力系统分析计算耗时过多,提出一种适用于电力系统分析计算的多核并行技术。以短路计算为例,详细给出了如何采用多核并行计算将节点矩阵分解后求解的基本流程。通过仿真分析验证了所述方法,对算法使用前后的效果进行了对比。在此基础上,针对华中电网的节点模型,进行了故障计算的测试,并比较了多核并行计算方法与基于集群计算方法的性能。结果表明所提出的多核并行计算方法正确且有效。
关键词:短路分析;在线整定;多核并行计算;实时仿真
0、引言
电网中后备保护整定值不匹配造成的保护隐匿性故障是连锁故障并造成大停电的主要诱因。要解决这个问题,需要实现继电保护的在线整定。保护整定计算的基础是短路计算,要实现在线整定,需要有大规模的系统实时短路分析作为基础,这就涉及了大数据量的数值运算。
并行计算是解决大数据量数值运算耗时过多的重要途径。无论是潮流计算还是安全分析,代数方程组或微分方程组的求解都是最基本和最核心的问题之一。电力系统的并行计算求解方法可分为直接法和迭代法2类:直接法不存在收敛问题,但难以达到高度并行化,且通信开支较大;迭代法可直接并行化,通信量少,具有方法简单、所需空间小且易于实现向量计算的优点,但收敛慢且迭代次数随处理器数的增加而增加。值得指出的是,上述方法在实现时,并没有考虑计算机CPU硬件架构发展趋势的变化,在一定程度上制约了并行计算能力的突破。
近几年来,作为电力系统并行计算的硬件平台,PC集群吸引了很多学者。由于时间并行算法存在通信量大、收敛性差和并行效率低等不足,很难在PC集群上取得理想效果。现有的电力系统并行计算研究多将多任务映射到多处理机(即集群)中执行,或将现实的多维问题映射到具有特定拓扑结构的多处理机上求解,以提高计算速度。但集群环境下一次通信的开销远大于一次计算的开销,即集群的规模、计算量的大小和网络通信量的多少对并行系统计算性能影响较大。
针对通信问题以及单机多核(处理器)硬件架构发展的趋势,本文提出一种共享存储模式下的对称多核并行计算方法,进一步改进大规模并行计算的性能。
1、多核并行处理技术
1.1共享资源分布式计算技术
考虑到目前处理器主频的提升空间已经不大,多核CPU硬件架构应运而生。多核CPU是将多个CPU核集成到单个芯片中,每个CPU核都是一个单独的处理器,可以有独立的高速缓冲存储器(Cache),也可以多个CPU核共享同一个Cache。
在现有的多核CPU硬件架构中,内存由多个CPU核共享,CPU核一般是对称的,因此多核属于共享存储的对称多处理器。
对于一般单线程的程序,多核处理器并不能提升其处理效能,即对于双核CPU来说,未经并行设计的程序最多只能占用CPU的50%;但对于多线程的程序,就可以通过不同的核心同时计算,来达到加速的目的。在多核CPU硬件结构中,要充分发挥硬件的性能,必须采用多线程(或多进程)执行,使得每个CPU核在同一时刻都有线程在执行。与单核CPU的多线程不同,多核CPU上的多个线程是在物理上并行执行的,是一种真正意义上的并行执行,即在同一时刻有多个线程在并行执行。而单核CPU的多线程是一种多线程交错执行,在同一时刻实际上只有一个线程在执行。
1.2多核编程与单核多线程编程的区别
单核系统中,如果某个线程获取了锁,那么这个线程将获取CPU的运行时间,其他等待获取锁的线程将被阻塞,得不到CPU的运行时间。多线程受到锁竞争的影响会导致串行化执行现象出现。
另外,CPUCache存取也有区别(伪共享问题),CPU读取Cache时以行为单位,如果2个硬件线程的2块不同内存位于同一Cache行里,当2个硬件线程同时在对各自的内存进行写操作时,将会造成2个硬件线程写同一Cache行的问题;它会引起竞争,将使效率下降到原来的1%。
1.3多核编程与多机分布式编程的区别
这一区别即为共享存储与分布式存储的区别:
多机分布式环境中,内存不共享,在全局共享数据读写操作中,必须依靠机器间的通信来进行数据搬迁。多核环境中内存是共享的,可以省下通信开销。而锁操作的效率远大于通信效率。100Mbit/s的网络通信,其有效数据的效率低于10Mbit/s,而锁操作可以达到1024Mbit/s。而多机分布式环境一般使用消息传递编程模型,使用消息来传递数据,如消息传递界面(MPI);多核环境使用共享存储编程环境。多核环境中也可使用消息传递编程模型,Intel的编译器就支持在多核环境中使用MPI编程。
2、多核算法设计
相关内容
联系方式
随机阅读
热门排行