[发明专利]一种基于双重并行计算的在线Prony分析方法在审

专利信息
申请号: 201410773382.1 申请日: 2015-08-04
公开(公告)号: CN104504257A 公开(公告)日: 2015-07-29
发明(设计)人: 杨东俊;王多强;许汉平;徐敬友;黄家祺 申请(专利权)人: 国家电网公司;国网湖北省电力公司经济技术研究院
主分类号: G06F19/00 分类号: G06F19/00
代理公司: 武汉荆楚联合知识产权代理有限公司 42215 代理人: 王健
地址: 100031 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于双重并行计算的在线Prony分析方法,涉及电力系统调度自动化领域和计算机高性能计算领域。该方法针对大电网发生低频振荡情况下,振荡参数辨识采用传统基于串行Prony算法资源利用率低、计算速度慢的弊端,提出了多计算节点的分布式并行,有效地进行任务调度和负载均衡,极大地降低系统的响应时间。首次实现了Prony数学模型上的并行化设计,采用多线程并行计算技术实现了Prony的多线程并行计算。本发明能够同步实现对电网多支路、多个电气量的振荡幅值、频率、初相位和衰减因子等参数的在线辨识,有效提高了计算分析速度,能够更好的适应大电网同步在线计算的要求。
搜索关键词: 一种 基于 双重 并行 计算 在线 prony 分析 方法
【主权项】:
一种基于双重并行计算的在线Prony分析方法,其特征在于,该方法包含下列步骤:(a)在由I条支路和J个节点组成的交流互联电网中,各支路和所有节点均装设同步测量单元PMU;计算平台由一个客户端、一个管理节点和C个计算节点组成的机群构成,其中Ci表示第i个计算节点,Pi为Ci的核数,Cij表示Ci中的第j个核,i=1,2,…,C,j=1,2,3,…,Pi;(b)当电网中发生低频振荡时,将PMU采集的M条支路E个电气量包括:有功功率ΔP、频率Δω,取同一时间段采样数据为一组发送给计算平台进行Prony分析,则需要分析的任务数为N=EM,M=1,2,…,I;每一类电气量中包含Len个采样数据,500≤Len≤3000;(c)多机并行计算过程,首先,进行计算节点能力测试,即客户端将接收到的N个任务发送给管理节点,管理节点从N个任务中任意选取一个任务,同时发送给Ci节点上进行计算,i=1,2,…,C,记录每个节点对该任务的执行时间,节点Ci的执行时间记为Ti,根据第i节点的执行时间与C个节点总执行时间的比例对各计算节点的计算能力进行判别,根据计算能力的强弱对各计算节点进行排序,作为任务分配的依据,然后,将N个计算任务分配到各计算节点开展多机并行计算,节点Ci分配到的任务数为Ni<mrow><mi>T</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>C</mi></munderover><msub><mi>T</mi><mi>i</mi></msub></mrow><mrow><msub><mi>N</mi><mi>i</mi></msub><mo>=</mo><mo>[</mo><mfrac><msub><mi>T</mi><mi>i</mi></msub><mi>T</mi></mfrac><mi>N</mi><mo>]</mo><mo>,</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>C</mi></mrow>将Ni个任务发送到计算节点Ci上计算,未能整除余下的任务根据计算能力排序依次分配到各计算节点,由Ci进行单节点多线程并行计算;(d)单节点多核并行计算过程:单节点多线程的并行化采用OpenMP的隐式任务并行和显式任务并行技术实现;当节点Ci接收到的任务数为Ni,每个任务的数据长度为Len,第m个采样数据为Xm,m=1,2,…,Len;Prony计算过程中取迭代次数k=Len/2;此步骤包含以下计算过程:(d1)最小二乘计算元素求解<mrow><msub><mi>R</mi><mrow><mi>u</mi><mo>,</mo><mi>v</mi></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mi>k</mi></mrow><mrow><mi>m</mi><mo>=</mo><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>X</mi><mrow><mi>m</mi><mo>-</mo><mi>v</mi></mrow></msub><msub><mi>X</mi><mrow><mi>m</mi><mo>-</mo><mi>u</mi></mrow></msub><mo>,</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>k</mi></mrow><mrow><msub><mi>r</mi><mi>u</mi></msub><mo>=</mo><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mi>k</mi></mrow><mrow><mi>m</mi><mo>=</mo><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>X</mi><mi>m</mi></msub><msub><mi>X</mi><mrow><mi>m</mi><mo>-</mo><mi>v</mi></mrow></msub></mrow>采用隐式任务并行方式对Ru,v、ru进行并行计算,采用静态调度方式进行子任务的分配与调度,将Ru,v、ru平均划分为Pi个子任务,每个子任务负责[k/Pi]×k个数据;由OpenMP将划分得到的Pi个子任务自动分配到核Cij上执行,i=1,2,…,C;j=1,2,3,…,Pi;并行计算后得到Ru,v和ru,u=1,2,…,k;v=1,2,…,k;(d2)采用高斯约旦消元法求解线性方程组:<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>R</mi><mn>1,1</mn></msub></mtd><mtd><msub><mi>R</mi><mn>1,2</mn></msub></mtd><mtd><msub><mi>R</mi><mn>1,3</mn></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msub><mi>R</mi><mrow><mn>1</mn><mo>,</mo><mi>k</mi></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>R</mi><mn>2,1</mn></msub></mtd><mtd><msub><mi>R</mi><mn>2,2</mn></msub></mtd><mtd><msub><mi>R</mi><mn>2,3</mn></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msub><mi>R</mi><mrow><mn>2</mn><mo>,</mo><mi>k</mi></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>R</mi><mn>3,1</mn></msub></mtd><mtd><msub><mi>R</mi><mn>3,2</mn></msub></mtd><mtd><msub><mi>R</mi><mn>3,3</mn></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msub><mi>R</mi><mrow><mn>3</mn><mo>,</mo><mi>k</mi></mrow></msub></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>R</mi><mrow><mi>k</mi><mo>,</mo><mn>1</mn></mrow></msub></mtd><mtd><msub><mi>R</mi><mrow><mi>k</mi><mo>,</mo><mn>2</mn></mrow></msub></mtd><mtd><msub><mi>R</mi><mrow><mi>k</mi><mo>,</mo><mn>3</mn></mrow></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msub><mi>R</mi><mrow><mi>k</mi><mo>,</mo><mi>k</mi></mrow></msub></mtd></mtr></mtable></mfenced><mo>&CenterDot;</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>&alpha;</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>&alpha;</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>&alpha;</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>&alpha;</mi><mi>k</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>r</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>r</mi><mi>k</mi></msub></mtd></mtr></mtable></mfenced></mrow>得到α=(α1、α2、...、αk)T采用隐式并行策略实现高斯约旦消元法求解线性方程组的并行化;高斯约旦消元法要求进行k次消元,每次消元过程需要对k个方程进行消元,将k个方程的消元过程分配到Pi个核上并行执行,每个核分配[k/Pi]个方程的消元;划分时,使任务划分的数据间隔为一个高速缓存行的整数倍大小,防止伪共享现象,并在调度上采用动态调度方式。划分后的子任务将由OpenMP自动调度到核Ci1、Ci2、…、CiPi上计算;计算后得到α1、α2、…、αk;(d3)将α1、α2、…、αk代入式X(n)=‑[α1X(n‑1)+α2X(n‑2)+...+αkX(n‑k)]求解高次方程zk1zk‑12zk‑2+...+αk=0即求解如下矩阵的特征值:<mfenced open='[' close=']'><mtable><mtr><mtd><mo>-</mo><msub><mi>&alpha;</mi><mn>1</mn></msub></mtd><mtd><mo>-</mo><msub><mi>&alpha;</mi><mn>2</mn></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>-</mo><msub><mi>&alpha;</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd><mtd><mo>-</mo><msub><mi>&alpha;</mi><mi>k</mi></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced>采用显式任务并行方式实现矩阵特征值的并行求解;求解过程需要k次循环,每次循环过程分为两个部分的计算,一是与其他任务有数据相关的部分,即对矩阵元素更新部分,二是无数据相关的部分,即计算出特征值部分;主线程只负责执行有数据相关的部分,无数据相关的部分利用task指令显式构造并行任务,添加到任务队列中,在OpenMP的调度下由其他线程执行。核Ci1执行主线程,在其对元素更新之后,将其余计算部分显式构造成子任务添加到任务队列中,进而由空闲的核取子任务并执行;最后显式汇总求得:z1、z2、……、zk。(d4)求解线性方程组<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><msub><mi>z</mi><mn>1</mn></msub></mtd><mtd><msub><mi>z</mi><mn>2</mn></msub></mtd><mtd><msub><mi>z</mi><mn>3</mn></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msub><mi>z</mi><mi>k</mi></msub></mtd></mtr><mtr><mtd><msubsup><mi>z</mi><mn>1</mn><mn>2</mn></msubsup></mtd><mtd><msubsup><mi>z</mi><mn>2</mn><mn>2</mn></msubsup></mtd><mtd><msubsup><mi>z</mi><mn>3</mn><mn>2</mn></msubsup></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>z</mi><mi>k</mi><mn>2</mn></msubsup></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>z</mi><mn>1</mn><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msubsup></mtd><mtd><msubsup><mi>z</mi><mn>2</mn><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msubsup></mtd><mtd><msubsup><mi>z</mi><mn>3</mn><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msubsup></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>z</mi><mi>k</mi><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msubsup></mtd></mtr></mtable></mfenced><mo>&CenterDot;</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>b</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>b</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>b</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>b</mi><mi>k</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>x</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>x</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>x</mi><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable></mfenced></mrow>采用隐式任务并行方式完成并行计算,将转置矩阵分为Pi个较小的矩阵块,每个矩阵块大小为(k/Pi)×N,这样就产生Pi个矩阵相乘的子任务,指定调度方式为静态调度,Pi个子任务由OpenMP自动调度到核上完成并行计算;并行计算后得到k个方程,用高斯约旦消元法和隐式任务并行方式进行线性方程组的并行求解,指定调度方式为动态调度;并行计算得到b1、b2、…、bk;(d5)将以上求出的zu和bu代入下式<mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>A</mi><mi>u</mi></msub><mo>=</mo><mo>|</mo><msub><mi>b</mi><mi>u</mi></msub><mo>|</mo></mtd></mtr><mtr><mtd><msub><mi>&theta;</mi><mi>u</mi></msub><mo>=</mo><mi>arctan</mi><mrow><mo>(</mo><mi>lm</mi><mrow><mo>(</mo><msub><mi>b</mi><mi>u</mi></msub><mo>)</mo></mrow><mo>/</mo><mi>Re</mi><mrow><mo>(</mo><msub><mi>b</mi><mi>u</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>/</mo><mn>2</mn><mi>&pi;&Delta;t</mi></mtd></mtr><mtr><mtd><msub><mi>&alpha;</mi><mi>u</mi></msub><mo>=</mo><mi>lm</mi><mrow><mo>(</mo><msub><mi>z</mi><mi>u</mi></msub><mo>)</mo></mrow><mo>/</mo><mi>&Delta;t</mi></mtd></mtr><mtr><mtd><msub><mi>f</mi><mi>u</mi></msub><mo>=</mo><mi>arctan</mi><mrow><mo>(</mo><mi>lm</mi><mrow><mo>(</mo><msub><mi>z</mi><mi>u</mi></msub><mo>)</mo></mrow><mo>/</mo><mi>Re</mi><mrow><mo>(</mo><msub><mi>z</mi><mi>u</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>/</mo><mn>2</mn><mi>&pi;&Delta;t</mi></mtd></mtr></mtable></mfenced><mo>,</mo><mi>u</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mi>k</mi></mrow>计算出每个任务的幅值Au、相位θu、频率fu和衰减因子αu,u=1,2,…,k;对分配到的Ni个计算任务重复步骤(d1)至(d5),完成节点Ci上的Ni个计算任务,得到Ni个任务对应电气量的振幅、频率、初相位、衰减因子的值;(e)在每个节点完成其负责的Ni个计算任务后,将各电气量的振幅、频率、初相位和衰减因子的值发送到管理节点;由管理节点汇总C个计算节点的结果,将结果返回给客户端。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家电网公司;国网湖北省电力公司经济技术研究院,未经国家电网公司;国网湖北省电力公司经济技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410773382.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top