基于容器的配电网保护控制终端业务调度模型与策略分析
2023-09-27刘媛媛蔡泽祥陈元榉刘文泽胡凯强屈径
刘媛媛,蔡泽祥,陈元榉,刘文泽,胡凯强,屈径
(1. 华南理工大学电力学院,广州市 510641;2. 南方电网电力科技股份有限公司,广州市 510000)
0 引 言
随着新型电力系统的不断建设,分布式电源(distributed generation, DG)、储能、可控负荷等广泛接入配电网中,使系统运行、设备管理、数据处理等相较以往发生巨大变化[1-2]。而在目前的配电网自动化体系架构中,监控、保护、自愈控制等不同控保装置分立、功能单一,难以实现对新能源装置多元化业务的管控处理等,采用多功能一体化的智能化保护控制终端(protection and control intelligent terminal,PCIT)处理配电网日益复杂的数据处理业务成必然趋势[3-4]。随云原生技术的发展,容器技术以资源虚拟化、快速启动、灵活部署、运行独立等优点,成为解决多元化多并发业务处理问题的重要手段[5]。
目前,容器技术是构建配电网PCIT模型、实现业务调度的关键[6]。在容器技术利用上,文献[7]分析容器技术在资源配置与调度、服务部署等方面的优势,指出其是实现终端功能扩展、软硬件解耦等的关键技术,为终端实现应用软件定义提供理论基础。文献[8]利用轻量级容器技术完成微服务的封装以实现资源隔离,有效解决了业务应用间的相互影响,提高可靠性。即容器技术对实现PCIT资源利用结构、业务处理独立性与可靠性具有重要意义。文献[9]构建基于容器的边缘计算终端模型并进行相应仿真,但并未考虑终端对多元业务的处理分析。
对于终端业务调度而言,PCIT需根据多元化多并发业务的不同需求合理化终端资源,对业务进行调度存在挑战[10]。文献[11]利用Docker容器进行调控,在资源分配、响应速率等方面具有较好性能,为PCIT处理多并发业务的有效调度提供思路。文献[12]提出一种基于面向服务架构(service-oriented architecture,SOA)的工业软件业务调度算法,虽具备一定的调度性能,但难以满足电力系统保护控制业务的计算处理及资源调度需求。文献[13]提出一种基于动态优先级的配用电物联网业务的调度策略,但其并未考虑业务固有重要度对多元化并发业务调度的影响。
因此,本文提出基于容器的配电网保护控制终端业务调度模型与策略,并进行仿真分析。首先,分析新形势下的配电网PCIT架构及业务优化调度需求。其次,建立PCIT模型,包括终端业务处理模型及其调度模型。再次,阐述耦合多并发业务调度方法,提出利用业务重要度生成调度队列并建立相应指标。最后,利用算例仿真多个业务场景下不同调度策略性能,其结果证明本文所提终端建模方法的有效性、可行性,为配电网多元化业务高效处理奠定理论基础。
1 PCIT架构及业务调度需求
1.1 基于容器技术的PCIT架构
传统终端的单体应用架构、软硬件强耦合等特点局限了其使用场景[14-15],具有较多弊端,难以适应新型电力系统的发展[16]。而基于容器的配电网PCIT通过“共享内存+平台服务化”的方式[17-18],实现了应用与数据解耦,容器为应用新增配置、资源弹性配置提供技术手段。依托于硬件资源与软件技术的支持,PCIT被广泛应用于处理配电网多元化业务,为更好研究配电网保护控制业务的处理与资源的利用,本文阐述了基于容器的PCIT架构。PCIT架构的关键要素包括服务总线、端口等硬件资源和容器、容器操作系统、Linux内核、调度器、公共数据区等软件资源,其框架如图1所示。
图1 PCIT框架Fig.1 The framework of PCIT
在如图1所示的PCIT架构中,容器是PCIT中处理业务的最小资源空间[19],不同资源的配置及业务应用函数的加载,使容器可运行不同的业务,容器的端口资源使其能够与共享内存、服务总线进行数据交互,从而实现不同容器、不同业务间的数据传输。PCIT通过操作系统管控容器,使容器进入相应状态以实现业务处理状态的转换、资源调度等操作[20-21]。此外,操作系统通过调度器实现将动态到达的业务分配至不同容器中处理,实现资源与业务的适配,业务池中的业务通过调度器映射至容器系统中,PCIT通过容器管理进行业务调度。公共数据区由共享内存、模型库、历史数据组成,具备信息同步读写、模型支撑等功能,各容器可从公共数据区获取需要的数据信息[22]。
1.2 PCIT业务调度需求
1.2.1 配电网业务功能
明确配电网业务功能是利用PCIT进行多元化业务处理与调度的前提[23],不同业务功能与PCIT管控设备类型相关。PCIT作为环网点母线区域的信息决策与控制中心[24],其管控对象包括“源网荷储”的多种类型的设备,不同类型的设备决定了PCIT应承担的业务功能,主要体现为保护、故障自愈、调压和源荷控制[25-27]以及数据获取、存储、通信等业务。
由于DG、储能、可控负荷等“源网荷储”设备的接入,一方面,通过调节DG有功或无功出力、储能的充放状态、负荷的投切进行功率平衡、电压调节控制,或利用DG/储能实现负荷的转供、失电负荷的恢复等,充分提高了配电网运行的灵活性。另一方面,当发生短路故障时,短路电流或将流经DG支线所在开关,影响保护判断;配电网分支分段增加、拓扑结构频繁多变,使得相应的功率计算、孤岛运行及并网分析等控制决策复杂化。多元化业务处理时呈现出一定的业务耦合关系,因此,要求PCIT可根据耦合关系进行计算负荷分析与资源调用,其中PCIT承担的业务功能内容如表1所示。
表1 PCIT承担的业务功能内容Table 1 The content of the business functions undertaken by PCIT
1.2.2 业务优化调度需求
PCIT面向的是多类管控设备请求的多元化业务,而业务数量、种类随管控区域内接入的末端设备的增加而增加,由此造成节点关联复杂化、业务计算难度激增、计算资源需求剧增等问题。不同类别业务的处理特性差异,为PCIT灵活调度各类业务提供途径。随管控设备业务的动态请求,在一定时间内,PCIT需同时处理多个不同类型业务。不同类型业务请求的资源数量及其延时容忍度不同,优先处理紧急业务可缓解PCIT资源需求程度。
因此,PCIT在利用有限资源处理多元化并发业务过程中,存在优化资源利用的业务调度需求,体现为需针对配电网业务特性确定并发业务的处理次序,从而实现对多元化业务的有序高效处理。为此,下文
分别从业务模型、调度模型、调度方法等几方面开展对PCIT优化调度的研究。
2 PCIT业务调度模型
定量分析不同保护控制业务对PCIT资源的需求、明确业务处理调度过程是进行PCIT业务优化调度、资源高效利用的关键。因此,本节建立业务特征模型与耦合关系模型,并据此分析业务处理时产生的计算负荷与处理延时;且进一步结合PCIT运行机制与业务处理特性,阐述PCIT中基于容器的耦合多并发业务调度模型,包括资源分配与业务调度框架以及基于容器管理的业务调度过程分析。
2.1 PCIT业务模型
2.1.1 PCIT业务特征模型
配电网保护控制业务的处理特性常以业务周期、延时约束、计算负荷等进行表征。业务并发请求呈周期性与触发性2种,且业务并发的数量与PCIT管控设备数量呈正相关;延时约束为业务的实时性需求,可分为强实时与弱实时约束,为业务的最大容忍时间,业务超时完成或将导致系统的安全性、可靠性下降;计算负荷表征业务处理时的复杂程度,以及占用PCIT资源数量的多少[28]。因此,建立配电网保护控制业务模型进行表征,如下所示:
(1)
式中:i为业务类型编号;Wi为第i类业务的特征模型;ui为业务i的待处理数据量;wi为业务i的计算负荷;φi为处理周期;Ti为业务i的延时容忍度。
PCIT将其接收的业务放入业务池中等待调度处理,故将业务池模型表征为:
(2)
式中:Y为到达n个业务的特征模型集合。
2.1.2 业务耦合关系
PCIT管控设备请求的业务服务常需其他数据处理结果支撑,多元化业务计算结果的复用为PCIT高效处理配电网业务奠定基础,如无功调节业务需要数据采集、平台服务等业务提供的数据,而其处理结果将为主动源荷控制业务提供支撑。即PCIT承担的多种配电网业务满足一定的耦合关联关系[29],如图2所示。
图2 PCIT业务耦合关系Fig.2 PCIT business coupling relationship
进一步地,建立关系矩阵C=(cij)6×6以表征各业务间的数据交互关系,如式(3)所示:
(3)
式中:j为区别于i的业务编号。
2.1.3 多并发耦合业务计算负荷
PCIT管控设备的业务或资源请求动态到达,使业务具有不确定性。而不同业务间的复用、耦合关系,使得PCIT处理业务时的总计算负荷并非依据到达的业务类型与数量进行简单的叠加。故在时刻t0下,考虑业务耦合关系的PCIT计算负荷wΣ(t0)为:
(4)
2.1.4 多并发耦合业务处理延时
PCIT业务处理延时与其承担的业务类型、数量、耦合关系等相关。耦合业务处理时存在串联、并联、串并联处理方式,串联下业务处理延时依次叠加,并联下处理延时取最大的处理延时作为该并联业务的处理延时,如下所示:
(5)
式中:τcon(t0)、τpar(t0)分别为串联、并联方式下的处理延时;Vcon(t0)、Vpar(t0)分别为串联、并联方式下PCIT分配的计算资源。串并联方式的处理延时为多个串联、并联部分处理延时的加和。
2.2 基于容器的耦合多并发业务调度模型
2.2.1 考虑业务耦合的资源分配与调度框架
基于PCIT操作系统与容器技术提出的资源分配与调度机制如图3所示。调度器具有辅助功能、业务队列管理功能、业务调度功能。辅助功能实现资源分配与调度过程的相关辅助性工作,包括:
图3 PCIT中资源分配与调度框架Fig.3 Resource allocation and scheduling framework in PCIT
1)业务池/资源池更新,由于业务的到达、完成,实时更新业务池中的业务,以及实时更新当前资源池中的空闲资源容量;
2)业务预处理,计算各业务的计算负荷、计算延时,并利用业务的到达时间分析业务的截止时间;
3)处理进程监控,主要用于获取调度器所需的业务处理状态及资源利用信息,包括容器的运行状态与资源利用率、业务的处理状态、物理机的资源信息等。
业务队列管理功能主要完成对各业务的重要度计算及业务队列的生成,根据不同的处理需要选择合适的业务优先级计算方法;根据业务的重要度生成业务队列,包括将新到达的业务加入至队列中,以及将处理完成的业务从队列中移除,其应与业务池同步更新,业务池模型如式(2)所示。业务之间存在的联系、耦合关系将影响PCIT对业务的处理过程,即业务队列的生成。
业务调度功能利用不同的算法以满足不同业务的处理需求,包括不同优先级下的抢占机制、相同优先级下的时间片轮转与随机处理机制等。
2.2.2 基于容器的业务调度过程
容器是PCIT中创建的用于托管不同业务的独立资源空间,为业务处理过程中的资源分配、调度、并发处理等提供便利。根据不同类型业务到达情况,PCIT中形成业务调度队列,调度器将利用容器对该队列进行调度处理,图4为PCIT中基于容器技术的业务调度过程。
图4 基于容器的PCIT业务调度过程Fig.4 Container-based PCIT business scheduling process
不同类型业务被放置于相应的容器中,当队列中业务的调度状态为成功时,容器得以利用系统资源进行业务处理,而当业务调度失败时将重新返回至业务队列中。容器运行时存在多种状态,如初始化、启动、运行、暂停、重启等,不同容器的状态对应不同的业务处理过程,如业务调度需优先处理其他业务时,将令当前容器由运行态进入暂停态并存储相应运行结果,恢复业务处理时容器由暂停态进入重启、运行态。而此时,因不同业务的耦合关系,要求队列中的业务需具备一定条件才可进行优先调度处理,如:1)优先调度对象为处于耦合关系同一位置的不同类型设备请求的业务;2)位于耦合关系后方业务需等待前方业务处理完成才可进行优先调度处理等。
3 面向多业务并发的业务调度方法
上文对不同业务的资源需求、PCIT的业务调度过程进行相关叙述,为优化PCIT资源的利用、提高业务处理效率而进行的业务调度,需考虑不同业务处理时的重要程度。因此,本节提出基于加权重要度的业务调度方法。首先,综合考虑静态、动态优先级进行业务重要度的计算;其次,基于业务加权重要度生成业务队列,利用业务调度方法对队列中的任务进行优化调度;最后,提出评价指标以评定不同调度算法的优劣。
3.1 业务重要度计算
PCIT在对多并发业务的处理过程中,需明确各业务对资源的需求量以及各业务间的先后处理顺序[30]。前者以业务模型进行描述;后者利用业务的重要度进行刻画。考虑不同业务对静态、动态优先级的效用,提出基于效用计算的加权重要度方法:
(6)
(7)
Lj(t)=Sj-dj-tnow
(8)
式中:Lj(t)为业务j的松弛度;Sj为截止时间;dj为完成业务j的处理还需的时间;tnow为当前时间。对于gj(t)而言,当业务j错过截止时间时,松弛度为负数,gj(t)恒为1;当业务具有较大的处理时间宽限,松弛度为(0, 1)间的非负数,其值越大,gj(t)越小;当业务紧急,gj(t)将逐渐增大并趋于1。通过利用业务的到达时间及其剩余的可处理时间,动态设置业务处理的先后顺序,可最大程度避免因业务本身的固有重要度引起的资源抢占以及因资源抢占导致的业务处理超时。
3.2 基于处理队列生成的业务调度算法
1)业务队列生成。
3.1节阐述了业务重要度计算方法,据此可在PCIT中形成业务调度处理队列,而队列中的业务顺序并非保持不变。设Z(t)为加权重要度下在PCIT内形成的业务队列,且在tk时刻已形成队列Z(tk)。在tk+1时刻到达新的业务j0,此时Z(tk)中的业务重要度可能发生变化。即新到达的业务影响tk+1时刻队列的形成,j0的位置取决于与队列中各业务在tk+1时的重要度、业务耦合关系。若j0的加权效用值、耦合关系满足式(9),则j0将进行资源抢占,对应tk+1时刻的业务队列变为Z(tk+1),如式(10)所示。当发生j0的资源抢占时,当Z(tk)与Z(tk+1)中相同业务排序不发生变化时,队列中业务所需的处理时间如式(11)所示。若tnow+dj(tk+1)>Sj,业务j超时完成。
(9)
Lj(t)=Sj-dj-tnow
(10)
(11)
式中:Δtk=tk+1-tk。
上述过程讲述新到达一个业务时业务队列的生成方法。同理,到达多个业务后的业务队列生成方法同上所述。且监测到业务处理完成时,只需将其移除即可完成对应队列的更新。
2)业务调度算法。
多元化并发业务调度是实现业务高效处理、资源优化利用的重要手段[31],目前常见的智能装置内的业务调度方法包括先到先服务、时间片轮转、随机处理等方式。
而仅利用上述方法无法满足PCIT配电网不同紧急程度的多元化业务的处理需求,为此本文结合业务队列对上述调度方法进行相应的改进与比较,包括基于静态优先级的随机调度(策略1)、基于静态优先级的时间片轮转调度(策略2)、基于加权重要度的业务调度(策略3)、考虑最小松弛度的业务调度(策略4)、考虑最早截止时间的业务调度(策略5)、业务先到先服务(策略6)[32-35]。其中,策略3的算法流程如下所示:
策略3:基于加权重要度的业务调度算法1t=tk+1;// 当前时间;w1,w2;// 权重系数;Δt;// 时间间隔;2A(tk+1);// 将tk+1时刻待处理的业务j1、j2,…形成矩阵3B(tk+1);// 存放A(tk+1)中各业务松弛度或截止时间4C(tk+1);// 存放A(tk+1)中各业务的静态优先级5m=length of [A(tk+1)];// 计算矩阵A(tk+1)的长度6foreach i=1:m7 find the deadline of i;// 确定业务i的截止时间8 calculate the duration time of i;// 计算当前时刻下业务i所需的处理时间9 calculate the laxity of i;// 计算当前时刻下业务i的松弛度10 B(tk+1)←[i; S; d; L];// 加入计算结果11D(tk+1)=w2·B(tk+1)+w1·C(tk+1);// 计算加权重要度12D(tk+1)=sort[D(tk+1) ];// 对矩阵D(tk+1)进行排序13sum cij0≥ sum cij;// 判断是否满足业务耦合关系14update A(tk+1);// 根据D(tk+1)的排序结果更新业务矩阵A(tk+1)15Y(tk+1)=Y(tk)+A(tk+1);// 形成tk+1时刻的业务矩阵16OS implement Y(tk+1);// 执行业务队列17t=tk+1+Δt;// 当前时刻,更新时刻18repeat step1 to step15.// 重复上述步骤
3.3 调度算法性能评价指标
3.3.1 业务按时完成率
业务是否按时完成是衡量PCIT可靠性的重要标准之一。本文将按时完成的业务数量与总业务的比值表征为业务按时完成率,如下所示:
(12)
(13)
3.3.2 平均响应时延
(14)
(15)
3.3.3 平均等待时延
(16)
(17)
3.3.4 平均周转时延
周转时延是完成业务处理的总时延,平均周转时延计算如下:
(18)
(19)
4 算例分析
4.1 参数设置
本文探究配电网PCIT在管控区域内设备及完成相应多元化并发业务的处理时,不同调度策略对PCIT资源利用情况的影响。各业务的相关参数如表2所示[22, 28]。仿真时隙取0.01 ms,PCIT配置1 GHz的CPU资源。设置了多种仿真场景:场景1为周期时间内PCIT接收的处理业务数量为基准值;场景2的业务数量为场景1的1.5倍;场景3为2倍;场景4为2.5倍;场景5为3倍。
表2 业务仿真参数Table 2 Business simulation parameters
4.2 基于重要度的耦合业务调度结果分析
策略3在5种场景中对到达的业务进行实时计算资源调度,根据调度结果绘制CPU资源使用时序图,如图5所示。在计算资源充足时,向PCIT请求的耦合业务处理需遵循处理逻辑,在故障触发后,PCIT执行故障态的保护业务,并在执行完成后触发自愈业务。基于加权重要度的业务调度策略需在满足业务耦合关系才可实现业务的优先调度处理,如故障触发需等待采集业务、相应平台服务才可进行保护计算。
图5 PCIT耦合业务调度时序结果Fig.5 PCIT coupling service scheduling timing results
PCIT利用策略3进行业务处理调度的结果如图6所示。对于强实时类业务而言,其固有重要度和实时性要求高,所得的加权重要度相对较高,故该类任务在处理调度过程中会被优先处理,因此尽管随PCIT处理的并发业务增多,强实时类业务的平均等待、响应、周转时延变化程度不大。而对于弱实时类业务而言,其固有重要度与实时性要求不高,故当业务的处理数量增多时,受其他任务资源抢占的影响,弱实时类业务的平均等待、响应、周转时间将剧增。
图6 策略3下业务调度性能结果Fig.6 Service scheduling performance results under strategy 3
4.3 调度策略性能结果分析
利用容器将业务部署在PCIT内部,当业务到达时,调度器生成业务队列,使容器进入运行状态,此业务被执行。相同业务在不同的调度策略下的运行情况存在差异,不同调度策略对资源的抢占情况不同,如图7所示。抢占次数大意味着颠簸程度大,颠簸现象会导致系统的额外开销大大增加,消耗系统资源。在PCIT中,其抢占次数将影响其容器运行、暂停、销毁等状态。
不同调度策略下强实时业务按时完成比例如图8所示。由图8可知,在业务到达率较低(场景1、场景2、场景3)时,仅策略6的强实时业务完成率为72.88%、39.41%、19.29%,其余策略下强实时业务完成比例能达到97%以上。在场景4中,策略5和策略4的业务按时完成率分别降低了90.3%和89.4%,而策略3、策略1、策略2基本无变化。在场景5中,对于业务完成率,策略3无变化,而策略1、策略2分别降低了5.5%和6.1%。对于强实时业务而言,其固有重要度大且截止时间紧迫,因此在调度过程中,采用策略3,即业务的重要程度由静态优先级与动态优先级共同决定,强实时业务动态变化,但优先级仍然高,因此,该策略下,强实时业务按时完成的比例也会高。
图8 不同调度策略下强实时业务按时完成比例Fig.8 Under different scheduling strategies, the proportion of real-time services completed on time is strong
同理,分析弱实时业务在不同调度策略下的按时完成情况,如图9所示。在业务率到达较低(场景1、场景2、场景3)时,仅策略6的弱实时业务完成率为75.00%、57.78%、21.00%,其余策略下强实时业务完成比例能达到90%以上。在场景4中,策略5和策略4的业务按时完成率分别降低了86.50%和78.79%,而策略1、2、3的按时完成率略微降低,仍有90%以上。在场景5中,策略1、2、3的业务按时完成率分别降低了50.50%、35.00%、44.00%。
图9 不同调度策略下弱实时业务按时完成比例Fig.9 The proportion of weak real-time services completed on time under different scheduling strategies
4.4 不同策略下PCIT业务调度结果对比
计算不同策略下每个场景中业务的响应时间、等待时间及周转时间,如表3所示。强实时业务与弱实时业务在不同调度策略下性能有较大差异。对于强实时业务,策略1、2、3将强实时业务的优先级设置较高,其能抢占优先级低的业务,因此,在这3种策略下,强实时业务的平均响应、平均等待时间都比最小松弛度、最早截止时间、先到先服务这3种策略的性能更佳,满足配电网PCIT强实时性的要求。
表3 场景5下不同调度策略的业务调度结果对比Table 3 Comparison of service scheduling results of different scheduling policies in scenario 5
对于弱实时业务,策略3考虑了业务动态变化的情况,可根据当前的业务执行情况,动态调整优先级来调整业务执行情况。因此,弱实时业务的性能相比于静态优先级策略来说,保障了强实时业务处理的同时,也兼顾了弱实时业务按时完成情况,提升了业务的平均等待、平均响应时延。
5 结 论
PCIT面向多元化并发业务的处理,需根据不同业务需求合理分配、调度终端的资源,故本文提出了基于容器的PCIT业务调度模型与策略,包括对PCIT建模、业务重要度分析方法以及不同调度策略下业务处理性能的仿真分析等,得到如下结论:
PCIT利用资源虚拟化、容器技术等实现配电网业务的数字化、智能化处理。首先,建立PCIT模型,包括终端框架、容器管理等,为工业化智能终端提供基本的建模方法,具备普适性;而进一步对业务时序逻辑的建模,使智能终端的应用具备针对性。其次,通过对配电网业务重要度分析,生成业务队列,有利于智能终端根据不同业务的处理需求合理化资源的利用,从而提高PCIT对多并发业务的消纳能力。此外,不同的调度策略下业务处理性能与资源利用情况相异,基于重要度计算的资源调度策略在处理多并发、多元化业务时可动态决策业务处理顺序,效果较优。综上所述,本文所提方法为配电网多元化业务的高效处理奠定基础,具有较高的工程应用价值。