并行和串行论文(共4篇)
并行和串行论文 篇1
1 高职英语教学现状
目前, 大部分高职院校是从中专升格而来, 师资力量和基础薄弱。此外, 高职教育在数量上的跨越式发展给英语教学带来一系列挑战, 也给高职教学改革带来了巨大阻力[1]。目前, 高职英语教学存在以下问题: (1) 扩招后, 多采用大班授课方法, 导致英语教学质量下降。 (2) 高职教育强调实践教学, 故缩减了许多包括英语课程在内的基础课教学时数, 在基本课时量压缩的大背景下, 英语课程教学陷入两难境地———时间短、任务重。鉴于此, 我们遵循英语教学规律, 创造虚拟英语环境下的串行课和并行课, 真正做到高效、快捷。
2 虚拟英语环境
所谓虚拟英语环境就是人为创造的一种使用英语的环境。从斯特恩外语学习模式中可以看出, 环境是影响和制约外语学习的首要因素, 它通过制约学习者的状况和学习条件制约着外语学习的效果[2]。近年来, 我国改革开放地区 (如广东沿海) 外语教学水平大大高于内陆地区就证明了社会环境对外语教学的作用[2]。
高职生没有运用英语的环境, 离开了教室、考场, 英语就无用武之地。面对压缩英语课时、大班授课、生源质量下降等诸多不利因素, 如何改变这种现状呢?
应用语言学家桂诗春指出:“只要有时间, 几乎任何人都可以学会任何东西。”[2]对高职生而言, 这是一个鼓励, 因为相对于本科生, 他们有较充裕的学习时间。这就为我们创设虚拟语言环境提供了条件。
3 虚拟英语环境下开设串行课、并行课初步思路
实践表明, 英语课程安排时间跨度较大会影响教学效果, 为此, 可采用集中培训方式。如一个月只讲一个主题, 上午上课, 下午实习。采用以下方法实施。
(1) 打破传统教学计划, 将传统按照教材顺序授课改为每个班级一个月只讲一个主题, 不同班级主题不同, 但授课在同一时段进行, 下个月再交换主题。这对固定班级而言是串行课, 对不同班级而言是并行课。
(2) 每个学院都安排有固定时段进行全院政治学习, 这期间可以在各个班级举行主题公园活动。同一时间, 在不同教室进行, 这就是典型的并行课。学生还可根据自身实际情况有选择地参观其他班级公园, 学习他们的知识和技能。为了便于管理, 可借鉴世博会的做法:世博园中各个国家的主题馆对应于各个班级的主题公园;游客的导游图对应于学生的交际范围表;游客为作纪念要盖章, 学生也要在主题公园活动结束后由公园负责人盖章验收, 表明学习的心路历程和效果。这种站点式服务也称为一条龙服务, 交际范围表就是总的游览图, 各个小项就是各个站点的名称, 一个站点对应一个公园名字。
(3) 每一个学生都可以在本班当好小老师, 成为这个公园的熟练导游, 保质保量地完成规定的任务。这就弥补了大班授课的不足, 成为加强小型课堂教学研究和行为研究的现实版本[3]。为更好地增强教学效果, 可采用首问负责制, 即其他班学生来到自己班级的主题公园, 不论问及任何一名学生, 被提问的学生都必须负责教会该公园的所有知识和技能, 并帮助该同学完成最终测试, 顺利盖上公园负责人的章。这就使学生巩固了所学知识, 锻炼和提高了综合能力。
(4) 把学生的交际范围表纳入学生平时考核范畴;加大过程性评估权重, 调动学生积极性, 提高学习质量。
(5) 对于表现突出的班级, 学院予以奖励, 在满足学生成就感的同时, 激发他们学习英语的兴趣。
甘肃省地处西北内陆地区, 经济欠发达, 国际交流少, 学生练习口语的机会少, 综合应用英语能力欠缺, 这就为虚拟英语环境提供了广阔的前景。目前, 虚拟英语环境下的串行课和并行课仍处于探索阶段, 还需要院校教学主管部门及广大英语教师共同研究、深入探讨。
关键词:高职,英语教学,虚拟英语环境,串行课,并行课
参考文献
[1]向前进.高职英语需求状况及教学体系改革与发展研究[J].中国外语, 2009, 6 (2) :11~19.
[2]田式国.英语教学理论教学与实践[M].北京:高等教育出版社, 2003.
[3]戴炜栋.构建具有中国特色的英语教学一条龙体系[J].外语教学与研究, 2001 (5) :325.
并行和串行论文 篇2
大停电后的电力系统恢复是一项极为复杂的工作。在制订恢复方案时, 需要考虑系统中不同组成部分的目标优化策略以及相互间的协调配合方法, 以提高恢复方案的可行性与有效性。根据系统在恢复过程中不同时期的特点, 可以将恢复过程分为3个阶段[1]:黑启动阶段、系统重构阶段、负荷恢复阶段。在大停电之后的恢复过程中, 系统重构阶段与负荷恢复阶段并没有严格的界限, 二者是相辅相成的关系。为加快恢复速度, 通常将系统分为多个子系统同时恢复, 每个子系统内部以黑启动电源为中心, 逐步向外扩展, 系统重构的同时也伴随着主网架的重建以及重要负荷的恢复[2]。因此, 在子系统中寻找较优的恢复路径, 加速系统恢复进程并加强各子系统之间的配合, 对于大停电后的系统快速有效恢复具有重要意义。
近年来, 关于大停电之后的电力系统恢复问题尤其是系统重构问题一直是业内专家学者研究的热点。文献[2]提出一种求解最优目标网的离散粒子群优化 (DPSO) 算法, 将网络重构问题表示为以重要负荷恢复量占已恢复负荷总量比例最高为目标的非线性优化问题, 但该算法没有涉及对电网拓扑结构的优化。文献[3]提出将系统重构按“串行”和“并行”送电阶段分别求解, 给出了相应的送电路径寻优算法, 但该方法只考虑了线路充电电容对恢复的影响, 没有将网架结构等因素纳入考虑。文献[4-7]将复杂网络理论运用到输电网络重构算法中, 用以评价母线和线路在网络中的重要程度, 但此类方法主要侧重于从拓扑的角度对网架进行优化。文献[8]针对电力系统恢复过程提出了一种基于双层次机组重启框架的网络重构多目标优化算法, 用于确定机组启动与重要负荷恢复的协调优化策略。文献[9]在提出节点重要度综合评价新方法的基础上发展了网络重构多目标双层优化模型, 并利用模糊决策方法优化出最终网络重构策略。文献[10]发展了计及恢复操作时间不确定性的网架重构方案优化的机会规划模型, 并以恢复的发电节点数和负荷恢复收益作为节点收益搜索网架重构过程中收益最大的网架重构方案。文献[11]将电网恢复过程划分为系统启动、网架形成前、主网架恢复和辐射恢复等阶段, 建立相应的路径寻优模型以满足不同阶段的恢复需求。文献[12]提出了考虑重要负荷恢复的局部电力系统恢复策略, 并建立了相应的局部电力系统恢复优化模型。但是在大规模电力系统恢复过程中, 必然会涉及多个子系统同步恢复的协调配合问题, 现有方法尚不能加以很好处理。
本文在对串行恢复和并行恢复概念进行延伸的基础上, 提出了基于串行和并行恢复策略的系统重构算法。在各子系统内部以节点收缩后的已恢复网架为中心, 以支路权重和节点重要度等作为路径评价指标, 对中心以外区域进行由近及远的探索式分步寻优, 并从拓扑结构等方面对网架进行全局优化。该算法采用逐步扩展方式生成系统最优重构方案, 在保证分步寻优灵活性的同时兼顾全局优化的整体性, 同时为系统并行恢复时各子系统之间的配合提供定量参考。
1 电力系统恢复策略
目前, 电力系统恢复策略主要有以下两类。
1) 串行、并行恢复策略[13,14,15,16]。此类恢复策略认为并行恢复是将系统分为多个子系统同时恢复, 串行恢复会涉及网络的充电和主网架的重建。目前, 不同研究人员对于串行恢复定义的侧重点不尽相同, 且没有明确指出采用串行方式时网架恢复的层次性。
2) 自下而上、自上而下的恢复策略[17,18]。自下而上是指电网通过内部电源进行恢复, 然后与外网并列;自上而下是指电网利用停电区域以外电源进行恢复。这两种不同恢复方式的区别在于, 网架扩展的方向是由内而外还是由外而内, 是自下而上还是自上而下。此类恢复策略侧重于强调网架恢复的方向性及层次性, 但却忽略了不同区域之间网架恢复的同步性。
虽然上述两类恢复策略从不同的角度对电力系统恢复进行了描述, 但是两类策略在恢复方式上都有各自的局限性。考虑到实际系统中大停电恢复预案常采用多区域、多分区方式同时恢复的特点[19], 本文主要研究串行、并行恢复策略。结合自下而上、自上而下恢复策略的优点并参考以往研究成果[13,14,15,16,17,18,19], 本文对串行恢复和并行恢复进行了新的阐述。
1) 串行恢复。串行恢复是指当系统发生局部停电事故或全部停电事故后, 利用停电区域内部的黑启动电源或外部支援, 对主干网络及必要的次一级网络进行充电, 并为无自启动能力的机组提供启动电源, 优先恢复主干网架, 之后恢复局部网架, 最后在保持电源和负荷平衡的条件下分层次逐步恢复系统正常运行。
2) 并行恢复。并行恢复是指大停电事故后, 将原系统分解为若干个独立且具有黑启动能力的子系统同步恢复, 之后通过各子系统间的互联和主网架的重建, 逐步扩大电网规模和加强网络结构, 直至系统全面恢复正常运行。
本文定义的串行恢复侧重于不同电压等级网架之间分层次地进行扩展, 有利于系统恢复过程中不同电压等级之间的功率交换;并行恢复侧重于不同分区的网架之间有配合地展开重构, 有助于尽快实现各子系统间的互联。这样的恢复策略既可以在横向上保证全网恢复的同步性, 又可以在纵向上有效兼顾网架恢复的层次性。需要指出的是, 串行恢复与并行恢复并不是相互独立而存在的, 只有互相配合, 才能顺利完成大停电之后的系统重构。
目前的系统重构研究主要集中于对孤立子系统内部的恢复进程进行优化, 缺乏子系统之间的配合及混合策略的探索[17]。有鉴于此, 作者以本文定义的串行恢复和并行恢复策略为指导, 对各子系统内外的同步恢复展开研究。
2 面向串行和并行恢复的电力系统重构指标及模型
2.1 支路属性权值
在对电网进行充电时, 空载或轻载输电设备产生的无功功率有可能会超过局部电网的吸收能力, 引起电网局部过电压。为此, 本文引入折算到同一电压等级下的充电电容作为支路的属性权值[3], 对恢复路径中的支路进行优化, 以降低系统总的充电无功功率, 权值定义如下:
式中:i和j为支路起始节点;Cij为折算到同一电压等级下的支路充电电容;Cmax为系统中单条支路充电电容的最大值;C*ij为量纲折算到1的支路充电电容。由于变压器空载时对外主要呈感性, 因此在支路权值计算中将变压器支路的权值设为零。
在系统重构过程中, 变压器的恢复打通了不同电压等级网架之间联系的通道, 促进了功率的双向流动, 并在一定程度上消耗了对网架充电产生的过剩无功功率, 因此, 系统重构过程中需要注重不同电压等级网架之间的配合。
在如图1所示的二级电力网络层次模型中, A层与B层之间通过变压器相连。如果A层中的线路因空载或轻载引起末端电压偏高, 则可以借助于B层网架的逐步延伸, 为A层中的线路寻找负荷;相应的, 若B层中的发电机较多, 有功充裕而负荷不足, 则可以通过变压器并依赖于A层网架的扩展将功率输送出去, 以免造成窝电。虽然变压器在系统分层恢复中起到了纽带作用, 但是电压转换次数的增多会增加三相不同期合闸和变压器发生铁磁谐振的概率[20]。因此, 系统重构要求既保证层与层之间充足的功率交换, 又要采取必要措施限制恢复路径中的电压转换次数。
2.2 节点重要度评价
为确定系统重构时不同节点的优先级, 需要对节点的重要度进行评价。本文从系统电源及负荷恢复量的角度, 提出一个动态指标来评价网络节点的重要度。
将系统分为多个子系统同时恢复, 则某个子系统的负荷恢复率Rl和电源备用率Rs可分别定义为:
式中:L为子系统的有功负荷总量;Lr为子系统的有功负荷恢复量;Pr为子系统中被恢复的发电机组可贡献的最大出力之和。
在负荷恢复过程中, 优先考虑恢复节点上的重要负荷, 并对其进行安全校验, 必要时可采取削减负荷等措施保证恢复方案的可行性。
子系统网络中节点j的重要度Wj定义为:
式中:ΔRl和ΔRs分别表示当节点j上的电源或负荷恢复后, 子系统负荷恢复率和电源备用率的变化量;c为调节因子, δ为c的初值;Nd为归一化的节点收缩后的网络凝聚度[21];ε取为10-4, 用于引入拓扑评价指标Nd对节点的重要度进行微调。
节点重要度越大, 表明其对负荷恢复率或电源备用率的提高效果越明显。而节点重要度的大小不仅与节点本身的特性———所带电源、负荷量的大小有关, 也与系统的恢复进程相关。在系统恢复过程中, c的初始值取为δ (经验证, δ取为0.3较为合适) , 之后随着Rl的增长, 在[δ, 1-δ]范围内线性增加c, 使得负荷恢复率在节点重要度中所占比重逐步提高, 电源备用率所占比重逐步降低, 从而实现在系统恢复初期优先恢复电源节点, 在系统恢复中后期优先恢复负荷节点。
2.3 网络拓扑评价指标
在恢复系统网架时, 对单一恢复路径的优化没有从网络拓扑的角度考虑系统网架的整体结构, 有可能导致网架呈链式恢复, 这将为系统重构带来很大风险。以图2为例, 图2 (a) 和 (b) 皆包含6个节点, 节点0为已恢复节点, 其余节点{1, 2, 3, 4, 5}为待恢复节点;不同之处在于图2 (a) 中的网架呈链式, 图2 (b) 中的网架呈辐射式。
设每条支路恢复成功的概率相同且为α (0<α<1) , 恢复风险为1-α, 则图2 (a) 中5个节点的平均恢复风险为1- (α+α2+α3+α4+α5) /5, 图2 (b) 中5个节点的平均恢复风险为1- (α+α2+α2+α3+α3) /5。显然, 在恢复相同节点数的情况下, 若网架呈辐射式扩展, 则风险较小, 节点相互之间的联系也更为紧密。为评价网络中各节点间联系的紧密程度, 规避网架呈链式恢复的风险, 本文提出网络离散度指标。
子系统网络主径和网络平均路径长度的计算公式分别为:
式中:x和y为子系统网络中的节点;N为子系统网络中节点的数量;dxy为节点x和y之间的最短距离, 此处用支路条数表示。
定义子系统的网络离散度Ec为:
式中:Tnew和Fnew分别为子系统发生改变后所形成新网架的网络主径和网络平均路径长度;Tmax为大停电前整个系统的网络主径;Fmax为子系统重构过程中出现过的最大网络平均路径长度, 其初值为初次计算时得到的Fnew。
从几何上看, 当网络中节点数目一定时, T越大, 网络几何结构就越狭长, 偏离其几何中心的点也就越多;从能量传递角度, T可体现能量在网络中可能经过的最长距离;而从系统恢复角度, T可以从侧面表征系统单一路径中支路恢复风险的累计峰值。在电力系统复杂网络中, F的大小表征了电力系统中能量流过的平均距离[22], 平均距离越长表示网络中各节点间的联系越松散。Ec是对整个网络拓扑结构偏离其几何中心以及松散程度的定量描述。在电网恢复过程中, 尤其在恢复初期, 为避免网架的长链式恢复及提高网架紧凑程度, 可优先选择使Ec较小的路径进行恢复。
2.4 子系统配合评价指标
并行恢复过程中, 系统分为多个子系统同步恢复, 整个电网也随之被分为多个分区。根据子系统网架是否恢复供电, 可将其分为区内已恢复网架Gr或区内未恢复网架Gn。对于单一子系统, 将以Gr为中心、r (支路数) 为半径的区域所覆盖节点作为待恢复目标节点。随着Gr规模的扩大, 在r相同的条件下, 目标节点的规模将呈现出先升后降的变化。为说明方便, 这里将r=1时搜索到的目标节点数定义为恢复断面。
如图3所示, 在ab段, Gr刚刚构建, 恢复断面很小, 目标节点的规模处于平稳增长的低位, 由于此时子系统容量偏小, 网架结构薄弱, 故而Gr的扩展比较缓慢;当进入bc段后, 随着Gr的扩张以及系统容量的增长, 目标节点规模进入快速增长期, 在这一阶段, 恢复路径的选择范围较广, 网架重构速度和Gr的规模呈正相关关系, 子系统恢复进入快速发展期, 但在此时一定要注意线路恢复失败或已恢复线路跳闸可能对系统造成的冲击;在cd段, 由于Gn和Gr呈现此消彼长的趋势, 目标节点规模开始进入下降区, 恢复断面变小, 子系统网架恢复速度放缓并趋于稳定;在de段, 目标节点规模进入稳定期, 如果不与外界进行功率交换, 子系统将无法全面恢复。因此, 若子系统没有及时实现与外网的互联, 一方面会使得该子系统无法得到全面恢复, 另一方面会延缓整个电网的恢复速度。
本文从减小电网各分区之间电气距离以加速子系统互联进程的角度出发, 提出分区距离等指标, 相关定义如下。
分区距离是指将整个电网各相邻分区网架之间的电气距离加权求和, 即
式中:p和q为相邻分区编号;S为分区编号的集合;dpq为分区p和q之间的电气距离, 用两分区各节点对之间最短路径长度的最小值表示, 计算时以阻抗作为支路权值;αpq为表征分区p和q之间距离重要程度的权值。
分区距离越大, 表示电网各分区之间互联的可能性越小, 而随着系统网架的逐步扩展, 分区距离会逐渐变小, 使得子系统网架互联成为可能。
为衡量恢复某条路径对于减小分区距离的贡献, 定义分区距离灵敏度为:
式中:Dold为当前系统的分区距离;Dnew为恢复某条路径后形成的新系统的分区距离;Δdpq为分区p和q之间距离的变化量。
由上述定义可知, ΔD越大, 相应的待恢复路径越有利于缩短各子系统网架之间的距离。如果分区p和q的互联需求更为迫切, 可将系数αpq增大, 则在进行路径优化时该指标所占的权重比也会随之提高。
2.5 恢复路径优化模型
本文采用扩展式分步寻优方法进行系统重构, 最关键的是对每一阶段最优恢复路径的选择。恢复路径由若干节点和支路组成。考虑支路充电电容、网络离散度、分区距离灵敏度等指标, 恢复路径中所包含支路的综合权重可以表示为:
式中:u和v为恢复路径起始节点;λ*uv为恢复路径中各支路的属性权值之和;a为恢复路径经过变压器的次数, 2a为惩罚因子, 用以限制路径中的电压转换次数;β和γ等于1或0, 表示网络离散度与分区距离灵敏度考虑与否 (考虑为1, 否则为0) 。
子系统每条恢复路径的优化目标函数可定义为:
式中:W为如式 (4) 所示恢复路径中所包含各节点的重要度之和。
在寻找最优恢复路径、重构系统网架过程中, 需保证电源与负荷动态平衡。对优化目标约束如下:
式中:G和L分别为已恢复电源节点和负荷节点的集合;Pi, max和Pi, min分别为节点i有功注入功率的上下限;Qi, max和Qi, min分别为节点i无功注入功率的上下限;Pj和Qj分别为节点j的有功、无功负荷恢复量。
此外, 还要考虑机组的启动时限约束[23,24]:
式中:tz为机组z从零时刻至得到启动电源的恢复期望时间;tz, min和tz, max分别为机组z可以热启动的最小临界时间和最大临界时间;NG为待恢复机组的数量。
由于tz难以准确量化, 考虑用断路器期望操作数Tz代替[11]:
式中:Tz, min和Tz, max分别为恢复第z台机组所期望的断路器最小和最大操作数。
3 系统重构算法
3.1 系统重构算法描述
在子系统寻找最优恢复路径时, 采用节点收缩方法[25], 将区内已恢复网架收缩等效为一个电源节点。以此节点为中心, 在半径为r的范围内搜索区内或区外未恢复网架中所有电源或负荷节点, 将这些节点作为待恢复目标节点。r的计算公式如下:
式中:Se为子系统恢复断面的大小, 即与已恢复网架相邻的未复电节点的数目;Ceil () 为取整函数, 用于截去数字的小数部分并向上取整。
从网络拓扑角度, 在子系统网架快速扩展过程中, 随着T和r的增大, 子系统的恢复断面也在增大, 即Se与r和T均呈正相关关系。由于Se的增长速度远快于r和T, 故将Se/T的值取对数以求取下一次的r。从电气量角度, 系统恢复过程中应满足Pr/Lr≥1。如果Pr/Lr较大则说明已恢复的电源较为充足, 系统可扩展能力较强, 应适当扩大节点的搜索范围, 因此式 (15) 中乘以Pr/Lr以对r进行微调。
在目标节点确定后, 以充电电容作为支路权值, 采用Warshall-Floyd算法[26]求取中心节点到所有目标节点的最短路径, 形成最短路径集, 之后应用2.5节中的恢复路径优化模型从中筛选出最优恢复路径进行恢复。在子系统恢复过程中, 搜索半径r用于限定横向搜索范围, 以保证为未恢复的主干网架和发电机组提供充足的电源;而恢复路径经过变压器的次数用于限定恢复路径在纵向穿越的电压层数, 以保证在功率平衡条件下优先恢复本层主干网架。
将系统分为多个子系统并行恢复, 每个子系统在采用上述方法选择恢复路径的同时兼顾缩小各子系统间的电气距离。当子系统初步恢复后, 通过在恢复路径优化模型中加入分区距离灵敏度指标, 子系统的恢复路径将会向互补性强的相邻子系统方向偏移, 而相邻子系统也会有相同的恢复趋势。当相邻两个子系统满足并列要求时, 可适时恢复两子系统间的联络线, 将两个子系统合并为一个新系统。通过上述操作, 可及时为有需要的子系统提供外部支援, 加速重构进程。
3.2 系统重构算法流程
步骤1:读入参与重构的n个子系统的网络参数;计算整个系统的网络主径Tmax;计算各子系统内的电源量、负荷量以及每条支路的充电电容C*ij;以各子系统黑启动电源作为搜索路径的起点, 其余部分为区内未恢复网架;初始化k=1;初始化各子系统中的βk=1, γk=0。
步骤2:将子系统k的已恢复网架等效为一个节点Ok。若γk=0, 以Ok为中心寻找半径为rk内所有属于区内未恢复网架的电源节点和负荷节点;若γk=1, 则以Ok为中心寻找半径为rk内所有未恢复的电源节点和负荷节点。将这些节点放入目标节点集Ik。
步骤3:分别取出Ik中的各个目标节点, 调用Warshall-Floyd算法计算Ok到目标节点的最短路径, 并将这些最短路径放入最短路径集Sk;路径中支路的权值为充电电容。
步骤4:如果βk=1, 计算子系统k的网络主径Tk, 若Tk>2Tmax/3, 认为该子系统的网架初步恢复, 将βk置0;计算子系统k的负荷恢复率Rl k, 若Rl k>50%, 则将γk置1。
步骤5:分别计算Sk中各条路径的优化目标f, 并删除不满足约束条件的路径。
步骤6:从Sk中选择f最小的路径L, 并入子系统k中。
步骤7:对子系统k进行潮流校验, 期间通过恢复并列支路、改变恢复路径中的电源或负荷量等措施消除支路过载。若潮流收敛, 转步骤8;若潮流不收敛, 在Sk和子系统k中删除路径L, 转步骤6。
步骤8:校验子系统k和相邻子系统m在并列点两侧的频率差、电压幅值差和相角差是否满足并列要求, 如果满足, 将子系统k和m合并, n=n-1, k=1;如果不满足, k=mod (k+1, n) 。
步骤9:若子系统k的负荷恢复率Rl k>70%, 且子系统个数n=1, 算法停止;否则转步骤2。
4 算例分析
本算例采用文献[27]中的IEEE 118节点系统说明算法的有效性及合理性。根据系统的电气参数与拓扑结构, 将系统分为3个分区, 节点{1~23, 25~32, 113~115, 117}属于分区Ⅰ, 节点{24, 33~73, 116}属于分区Ⅱ, 节点{74~112, 118}属于分区Ⅲ。假设该系统全部停电, 为保证系统稳定运行, 取各被恢复机组的出力为其最大出力的35%;假定各节点重要负荷为该节点最大负荷的30%, 并优先恢复[2,23]。
在使用重构算法寻优之前, 初始化参数ck=0.3, βk=1, γk=0。令ck= (1-2δ) Rl k+δ=0.4Rl k+0.3, 在子负荷恢复率Rl k由0到1变化过程中, Rl k在节点重要度中所占的比重逐步提高。计算得IEEE 118节点系统的网络主径Tmax=14, 为保证恢复效果并提高算法效率, 当子系统的网络主径Tk>2Tmax/3≈10后, 认为子系统网架已初步形成, 设置βk=0, 不再考虑网络离散度指标;当Rl k>50%后, 设置γk=1引入分区距离灵敏度指标。
设节点26, 54, 100分别为各分区的黑启动电源, 调用算法求解得到IEEE 118节点系统初步的重构结果如图4所示。
在图4中, 3个分区分别以各自的黑启动电源为中心, 同步开展并行恢复。在分区Ⅰ中, 区内已恢复的网架在保证电源与负荷平衡的条件下恢复本分区的节点并进行网架重构, 如恢复路径23-32, 32-114-115, 32-31-29-28;同时, 分区Ⅱ中部分黑启动电源缺乏的区域也可以借由分区Ⅰ的电源开展串行恢复, 如恢复路径23-24-72-71。3个分区在保证本分区恢复效果的前提下向分区间并列点19-34, 70-75处延伸, 以加快分区间的互联送电。当3个系统初步完成互联时, 共恢复节点86个, 负荷恢复率73.41%。将分区Ⅲ中目标节点在被恢复时的节点重要度进行归一化处理, 结果见表1。从表1中可以看出, 在系统恢复初期, 电源节点的重要度较高。随着网架的不断扩展以及系统容量的不断增大, 目标节点的重要度在逐渐下降。
为进一步验证算法在大系统中应用的有效性, 本文以华东电网220kV及以上的输电系统为研究对象, 计算其重构方案, 算例分析见附录A。
5 结语
本文对于电力系统的恢复策略进行了较深入的研究, 将分层分区恢复的思想引入串行恢复和并行恢复中, 并在此基础上提出了一种基于串行恢复和并行恢复的电力系统重构优化算法。该算法采用动态方式考量系统中节点的重要程度, 可以有效地反映电力系统重构的实时性。利用拓扑评价指标———网络离散度, 从全局的角度对网架进行优化。除此之外, 本算法还考虑了各子系统重构过程中的配合问题, 且能够应用于大系统中。
并行和串行论文 篇3
当前市场中, 嵌入式系统设计人员正在寻找能够同时监测数字信号、模拟信号和串行数据信号的通用测试解决方案。这种通用性对于在各种集成元器件中执行系统级调试时尤为重要, 如微处理器和微控制器、FPGAs、模数转换器、数模转换器、串行总线和并行总线、嵌入式音频和开关式电源。同时, 设计工程师面临着紧缩成本的压力。考虑到通用性、性能和高通道数量, 混合信号示波器 (MSO) 已经成为设计和调试这些先进的嵌入式系统的首选工具。
MSO3000系列为混合信号的设计和分析提供了16条数字通道。这些通道紧密集成到示波器的用户界面中, 简化了操作, 可以轻松解决混合信号问题。带色码的波形显示功能简化了数字波形的查看工作, 1用绿色显示, 0用蓝色显示, 可以轻松识别信号的逻辑状态, 而不必滚动到跳变位置。此外, 数字波形可以分组和标记, 这大大缩短了设置时间。MagniVu TM高速采集技术能够以高达8.25 GS/s的采样率 (121.2 ps分辨率) 采集10 000个样点, 工程师可以放心地进行关键的定时测量。与市场上其他MSO相比, MSO3000提供了更精细的定时分辨率, 并能够捕获更窄的毛刺。
MSO3000系列提供了完善的系列功能, 加快了调试新设计的每个阶段。由于每秒50 000个波形的捕获速率和辉度等级数字荧光显示技术, 嵌入式系统设计人员可以轻松发现间歇性问题。设计人员之后可以使用一整套触发功能, 捕获异常信号和毛刺, 包括并行数据和串行包内容。它在所有输入通道中应用触发, 对所有模拟信号、数字信号和串行信号自动实现时间相关。Wave Inspector誖控制功能可以自动搜索所有模拟信号、数字信号、串行和并行数据信号, 找到特定感兴趣的事件。Wave Inspector自动标记事件发生的每个时点, 可以迅速在这些时点之间导航。最后, 设计人员还能够利用29种自动测量功能、自动波形数学运算及串行总线分析、电源分析和视频调试专用应用支持, 以迅速分析信号。
与泰克其他MSO/DPO台式示波器 (包括MSO/DPO4000和MSO/DPO2000系列) 一样, MSO/DPO3000系列使得嵌入式设计人员能够改善其设计性能, 缩短产品开发周期。对串行总线应用, 一个信号通常包括地址信息、控制信息、数据信息和时钟信息, 这使得隔离感兴趣的事件变得非常困难。MSO/DPO示波器为自动触发、解码和搜索I2C、SPI、RS-232/422/485/UART、CAN、LIN和I2S/LJ RJ/TDM标准信号提供了一套强大的工具。
额外的应用支持套件可以自动进行电源测量, 执行HDTV和自定义视频分析。为满足对延长设备电池工作时间及对功耗更低的绿色产品的需求, 电源设计人员现在可以迅速准确地分析电源质量、开关损耗、谐波、安全工作区 (SOA) 、调制、纹波和转换速率 (di/dt, dv/dt) , 达到国家和地区电源质量的标准。DPO3PWR电源分析模块可以自动进行可重复的电源测量, 只需按一个键即可轻松执行, 而不要求外部PC或设置复杂的软件。DPO3PWRBND电源分析捆绑解决方案把执行典型电源测量和分析任务所需的全部基本工具结合在一起, 价格优惠达25%。
通过MSO/DPO示波器的快速波形捕获速率和辉度等级信号视图, 视频工程师现在可以查看更多的视频细节, 并使用IRE和mV格线、基于场的触发释抑、视频极性及智能的Autoset等标配功能, 检测视频信号。选配的DPO3VID应用模块提供了业内最完整的一套HDTV和自定义 (非标准) 视频触发功能。
MSO3000系列带有免费的限制版NI LabVIEW SignalExpressTMTektronix Edition软件;用户可以花一定的费用, 升级到标准版NI LabVIEW SignalExpress TM Tektronix Edition软件, 其中包括200多种测量、采集、分析和报告功能。用户可以作为SIGEXPTE从泰克公司订购Tektronix Edition软件。
并行和串行论文 篇4
高性能并行计算是现代科学研究、工程技术开发和大规模数据处理的关键技术,而并行编译系统是并行计算机系统软件中十分重要的一部分,提高并行编译技术对充分利用并行机资源和提高并行机效率起着十分重要的作用。
并行编译器包括前端处理和后端处理两部分:前端处理主要包括逻辑上的并行识别、计算和数据划分、依赖关系识别;后端处理主要是并行代码的自动生成,代码生成的关键在于如何高效地生成同步通信代码。
并行程序中的通信主要由四部分组成:数据初始分布通信、计算前的数据准备通信、计算过程中的同步通信以及数据收集通信。初始数据分布通信是在进行数据的初始分布过程中引起的通信。由于初始分布中数据划分和计算划分不能做到完全对齐所引起的通信称之为数据准备通信。同步通信是在进行并行计算过程中产生的通信。数据收集通信是所有进程计算结束后,主进程把所有进程的计算结果收集起来得到程序的最终执行结果时所引起的通信。本文重点讨论计算中的同步通信问题。
在文献[1]中对代码生成和通信优化做了介绍,但对具体如何实现没有讨论,本文则提出利用命名的线性不等式系统来表示数组数据空间、循环迭代空间、虚拟处理器空间和物理处理器空间,并建立了它们之间的内联关系,在此基础上给出了同步通信代码的自动生成算法。
1 计算划分
在分布式存储的大型计算机中,循环级的并行性一般是通过对循环嵌套迭代空间进行计算划分并将循环迭代分布到多个进程同时执行来实现的。下面给出与计算划分相关的定义。
定义1 迭代空间 迭代空间I表示一个循环边界是循环索引的线性函数且深度为m的循环嵌套,该空间是一个m维多面体。循环嵌套的每个迭代对应多面体中的一个整数点,即一次计算操作,用索引向量undefined表示。
定义2 处理器空间P 处理器空间P表示一个n维的处理器数组。
定义3 计算划分[4]C 计算划分undefined是满足特定关系的迭代和处理器对undefined的集合,处理器undefined执行迭代undefined当且仅当undefined。其中U是一个扩展的幺模矩阵,undefined是整数向量,B是整数矩阵,undefined是符号向量,undefined。
在计算划分C中,U指示计算划分是对迭代空间的哪些维进行划分以及是正分还是斜分;undefined给出分块的大小;undefined是偏移的大小。计算划分在代码生成的前一遍自动生成。
2 读写依赖关系与LWT树
计算中的同步通信由读写依赖关系和计算划分共同确定,对依赖关系有如下定义。
定义4[5] 嵌套循环L中的语句T的一个实例T(j)和语句S的一个实例S(i),如果存在一个存储单元M满足下述条件,则称语句T的实例T(j)依赖于语句S的实例S(i):
(1) S(i)和T(j)都引用(读或写)M;
(2) 在程序串行执行时,S(i)在T(j)之前执行;
(3)在程序串行执行时,从S(i)执行结束到T(j)开始执行前,没有其他实例对M进行写操作。
一对语句实例可以用4种不同的方式引用相同的存储单元,因此有4种类型的依赖关系:
① 如果S(i)写M而T(j)读M,则T(j)流依赖于S(i);
② 如果S(i)读M而T(j)写M,则T(j)反依赖于S(i);
③ 如果S(i)写M而T(j)也写M,则T(j)输出依赖于S(i);
④ 如果S(i)读M而T(j)也读M,则T(j)输入依赖于S(i)。
在这4种依赖关系中,④不会影响程序的并行化,不会引起通信,②和③的依赖关系是可以消除的,也不会引起通信,只有①需要通信,本文中的同步通信即指由流依赖所引起的通信。
在进行依赖关系分析时,用LWT树来表示数据之间的读写关系,每对读写对对应一棵LWT树。LWT树是一棵二叉树,表示精确的数据流信息,是描述从读操作实例到提供该读操作所读数据的最后一次写操作实例的映射关系。若读、写分别用循环索引undefined和undefined表示,则该函数的定义域是所有满足循环边界限制的undefined的集合。LWT树包括根节点、叶节点和内节点,内节点是对读undefined进一步的限制,叶节点又分为⊥节点和非⊥节点,表示了不同的依赖关系。
LWT[3]树把循环嵌套划分为以其每个叶节点的内容(contexts)ι为元素的集合,undefined。如果一个contextι∈I中迭代所读的值是在循环中产生的,则存在最后写关系undefined,且读迭代undefined所读值在写迭代undefined中产生},其中undefined和undefined是线性函数。
对给定的读迭代,从LWT知道一个写迭代undefined修改了undefined所读的数据且undefined是修改该数据的最后一个写操作,因此可以定义一个写迭代和读迭代之间的函数来表示undefined到undefined之间的关系,记为L,这样就可以通过LWT计算出两次引用之间的数据流依赖向量。
定义5 最后写关系LasarLasar是从读数组访问undefined和读迭代undefined到写数组访问undefined和写迭代undefined的映射,undefined当且仅当undefined;undefined;undefined;undefined且undefined使得undefined;undefined;undefined,其中undefined和undefined是读写访问函数。
由定义5知道,如果写迭代undefined和读迭代undefined都访问同一数组元素undefined之前执行,而且在undefined之间不存在其他迭代修改数组元素undefined则undefined之间存在最后写关系。
通过建立LWT树的方法可以将依赖关系精确到具体数值,这就为各进程之间的通信提供了关键依据。依赖关系分析是在代码生成的前一遍自动生成的。
3计算代码和计算中同步通信代码的自动生成
在并行程序代码自动生成中将涉及到多个多维整数空间,包括数组数据空间、循环迭代空间、虚拟处理器空间和物理处理器空间等。定义1和定义2分别给出了循环迭代空间和处理器空间的定义,下面给出数据空间的定义:
定义6 一个m维的数组A[n0][n1]…[nm-1],li≤ni≤ui,0≤i≤m-1,定义了一个m维的数据空间,该空间每一维的上下界即是数组每一维的上下界li和ui。
用命名的符号系数不等式系统统一表示这些空间,该不等式系统由多个不等式组成,每个不等式表示一种变量之间的关系,每个变量表示的即是空间的某一维。变量的所有可能的整数解的集合用n维离散的笛卡尔空间表示(n是变量数),所有满足该不等式系统的解都与笛卡尔空间中的一个整数点相对应。
计算代码和同步通信代码的自动生成过程分三部分:生成数据的接收和解包代码、生成计算代码、生成数据打包和发送代码。自动代码生成的关键是在程序的什么地方插入何种方式的通信代码?首先判断是否需要进行同步通信,如果LWT树中读的数据不在当前进程则需要通信,且利用计算划分来确定应该与哪个进程进行通信。
定理1 计算划分C满足最后写关系μ的通信集是undefined的集合,其中,undefined。
定理1所处理的是LWT树中的非⊥节点,根据LWT提供的读写依赖关系和读写变量所在
迭代的取值范围以及计算划分来判断两个迭代之间是否需要进行通信,见图1[1]。从图中可以看出,读/写迭代通过计算划分C分布到不同的进程pr和ps,两者之间通过LWT树联系在一起,若undefined则需要通信。
对于每一个物理进程mypid,通过以下算法判断是否需要发送数据给其他进程。
算法输入:计算划分C、依赖关系LWT、处理器空间P、迭代空间I
算法输出:并行同步通信代码和计算代码
算法描述:
(1) 建立虚拟拓扑结构把当前进程的标识mypid转换为多维坐标表示的pids;
(2) 通过计算划分和循环迭代范围得到参与计算的进程范围Pe;
(3) 如果pids∉Pe则不需要通信,否则;
(4) 根据计算划分C得到pids的迭代范围is;
(5) 根据LWT树中非⊥节点提供的读写依赖关系信息得到与is对应的ir;
(6) 依据ir和计算划分C得到ir所在的进程pidr;
(7) 比较pidr和pids是否是同一进程,如果二者相同则不需要同步通信,否则;
(8) 产生同步发送代码:打包数据并发送给pidr。
相应的,进程也需要判断是否需要接收其他进程发送来的数据:
(9) 通过建立的虚拟拓扑结构把当前进程的标识mypid转换为多维坐标表示的pidr;
(10) 通过计算划分和循环迭代范围得到参与计算的进程范围Pe;
(11) 如果pidr∉Pe则不需要通信,否则;
(12) 根据计算划分C得到pidr的迭代范围ir;
(13) 根据LWT树中非⊥节点提供的读写依赖关系信息计算出ir对应的is;
(14) 依据is和计算划分C得到is所在的进程pids;
(15) 比较pidr和pids是否是同一进程,如果二者相同则不需要同步通信,否则;
(16) 产生同步接收代码:接收pids发送来的数据并解包数据。
最后生成计算代码,根据上一遍提供的计算划分C和循环迭代I的边界信息计算出执行计算的进程范围,再依据分块执行的原理把计算分布到各进程执行。
4 实例分析
以下例来说明上面的算法:
例1 for(i=0;i<=N-1;i++)
for(j=i;j<=N-1;j++)
for(k=N-1;k>=i;k--)
a[j][k][i]=a[j][k][i]+a[i][k][j]*a[j][i][k]/a[i][j][k];
该例计算划分C:pid0=-k,pid1=i;迭代空间I:0≤i≤N-1;i≤j≤N-1;i≤k≤N-1,LWT树见图2。从图中可以知道数组引用a[j][k][i]和a[i][j][k]之间存在读写依赖关系,其依赖关系为:ks=-jr;js=ir;is=kr。
设N=4,则由计算划分C和迭代空间I可以计算出虚拟处理器空间P为-3≤pid0≤0,0≤pid1≤3。在生成同步通信代码时,首先判断是否需要进行通信,如果需要通信则产生同步通信代码。以pidr0=-2,pidr1=1为例来说明,根据计算划分C知道ir=1;kr=2;ir≤jr≤3,进而根据LWT树提供的读写依赖关系得到is=2;js=1;-3≤ks≤-1。得到写迭代之后,再根据计算划分C就可以找到该写迭代所在的进程为-3≤pids0≤-1,pids1=2。最后比较pids和pidr是否是同一进程,不是则产生两个进程之间的同步通信代码。此例pidr≠pids,则两个进程之间需要通信,进程pids产生同步发送代码,进程pidr产生同步接收代码。
5 总结与展望
本文主要讨论串行程序并行化中涉及到的计算代码和计算中同步通信代码的自动生成。文中所介绍的算法已在SUIF编译架构上实现,并利用ppopp benchmark程序集进行了验证,实验结果表明该算法能够正确生成计算代码和同步通信代码,但在该算法中未对同步通信的优化进行处理。下一步将主要研究计算中同步通信的优化问题,如多维并行条件下的计算和通信的重叠等。
摘要:简要介绍了并行编译中的计算划分和依赖关系分析,提出如何利用计算划分和依赖关系自动生成并行程序中的计算代码和同步通信代码。
关键词:计算划分,依赖关系,最后写树,同步通信
参考文献
[1]Amarasinghe S P,Lam M S.Communication optimization and CodeGeneration for distributed memory machines.In the Proceedings of TheACMSIGPLAN′93 Conference on Programming Language Design andImplementation,Albuquerque,New Mexico,June,1993:126-138.
[2]Ferner G S.The Paraguin compiler Message-passing code generation u-sing SUIF.In the Proceedings of the IEEE SoutheastCon 2002,Colum-bia,SC,April 5-7,2002:1-6.
[3]Maydan D E,Amarasinghe S P,LamMS.Array data-_flowanalysis andits use in array privatization.In the Proceedings of ACMSIGP-LAN-SI-GACTSymposium on Principles of Programming Languages.Charles-ton,South Carolina,January 10-13,1993:2-15.
[4]Anderson J M,Lam M S.Global Optimizations for Parallelism and Lo-cality on Scalable Parallel Machines.In Proceedings of the SIGPLAN′93 Conference on Program Language Design and Implementation,June1993.