调度实时性

2024-08-13

调度实时性(精选9篇)

调度实时性 篇1

摘要:在有大量的外部事件的计算机系统中,实时操作系统必须在有限的时间内接收和处理。这样的要求不是只有多道程序设计能满足的,还有实时操作系统一般是依靠一些特别的策略和技术来完成这些任务。Linux操作系统利用静态的可抢占的优先调度到大部分没有实时的多道程序设计系统中。作为一个在实时系统中的修改,优等权的分配是和每个任务的时间约束联系在一起的。本文阐述了Linux实时调度的几种机制。

关键词:实时操作系统,进程,实时调度,多处理器

1 引言

Linux本身为分时操作系统,其系统目标为较好的平均响应时间和较高的吞吐量,而实时系统则主要考虑任务的按时完成、尽量减少进程运行的不可预测性等。但与商业嵌入式操作系统相比Linux遵循G P L,具有源代码开放、定制方便、支持广泛的计算机硬件等优点,所以,近年来嵌入式Linux成为嵌入式系统方向上的一个研究热点。本文重点是学习和分析Linux应用的调度算法涉及到的技术临界。同时,也给出多种策略,这些策略只应用在Linux中,并获得了很有效的实时调度机制。

2 调度

调度者是内核的一部分,而内核是决定哪个运行的CPU将要执行的进程。调度者对运行的进程有一定有责任,管理进程对系统资源的使用。例如,每个候选进程能公平地获得处理时间,使得CPU最有效地使用。调度者必须保证进程能获得CPU资源,也就是以它们优先级分配的时间,以确保任何进程不合没有获得CPU而饥渴,不管是否是最底优先级的任务也是可以获得的。

当一个进程必须等待,经常是因为需要一些系统资源或者进程间同步,它也许选择自动放弃它对微处理器的使用权。相同的是,调度者也可以提前取消一个线程或一个进程在它分配的时间用完后。调度者选择哪个进程最适合下一个运行。

在内核中,调度者可以在几个地方运行。它可以在当前运行进程被置入等待状态后运行,或者是在一个系统的调用后运行,正好在一个进程从进程模式到系统模式之前。它为什么可能需要被运行的一个原因是系统时钟已经把当前运行的进程的计数器设置为零。

3 机制

全部的进程一部分运行在用户模式和一部分运行在系统模式。既然这些模式是怎样在潜在的硬件差别,但又存在一个安全机制来使得从用户模式到系统模式的转化。用户模式与系统模式相比较拥有相对低的权限。每次进程做一个系统调用,将会从用户模式到系统模式的转换,然后执行。在这一点上,内核是的执行是有利于进程的。在Linux中,进程不会抢占当前执行的进程,它们不能停止它的运行,而使自己运行。当进程不得不等待一些系统事件的时候,它全放弃C P U即使它正在运行。例如,一个进程等待一个字节从文件中读取。这些等待发生在系统调用,也就是系统模式下。进程用库函数打开和读文件,同时也使得系统调用从打开的文件中读字节。在这种情况下,等待的进程将被挂起,另一些进程将会被选择执行。

进程总是做系统调用,还有可能经常要等待。尽管如此,如果一个进程从执行到等待,然而它依然可能用到一个不成比例的CPU时间,所以Linux使用抢占式调度。在这些安排中,每个进程只能运行一个非常可的时间,200ms,当这些时间用完的时候其它进程被选入运行,初始的进程被设也等待状态直到它重新获得CPU时间。这个很小的时间被称做时间片。

一个可运行的进程是一个只需CPU来运行的进程。Linux系统用一个基于调度算法的简单的优先级在系统中选择当前进程。当它已经选择了一个新进程来运行,它会保存当前进程的状态。特殊寄存器和其它内容将会被保存在task_struct结构的进程中。

4 Linux系统的调度策略

Linux系统用简单的基于调度算法的优先级来选择系统中的当前进程。在Linux中有两种类型的进程:一般的和实时的。实时的进程总会运行在一般的进程前,它们可能有两种不同的策略:环行或者FIFO。因为Linux用的是抢占式的调度,每个进程分配了固定的时间片来运行。

Linux的调度策略建立在传统的Unix调度策略上的。在实时调度中,Linux有两种额外的调度级别,这三种调度级别是:

(1)S C H E D_F I F O:先进先出实时线程

(2)S C H E D_R R:环型实时线程

(3)S C H E D_O T H E R S:其它的非实时线程

任务运行在高级别用户权限时能设立S C H E D_R R、S C H E D_F I F O、S C H E D_O T H E R S策略。任务没有高级用户权限时只能用默认的S C H E D_O T H E R S策略。

两个实时策略S C H E D_R R和SCHED_FIFO中,优先级级设为从1到99的数字之间,在标准策略S C H E D_O T H E R S中,优先级必须是0。当一个进程拥有一个静态的高优先级的要运行时,它会抢占任何其它的静态运行级别比它低的运行中的进程。当高优先级的进程被阻截,挂起或终止时,与它相同优先级的进程将被运行。如果没有相同级别的准备运行的进程,Linux将给CPU予低一级的进程。这样,一般的S C H E D_O T H E R S进程将运行,如果非实时进程准备就绪运行。新进程从父进程中继承优先级。

当有多于一个的一般优先级进程等待执行时,执行顺序将会以动态优先级来管理。动态优先级不是以非零静态优先级来定的。一般级别进程的动态优先级是自动增长的,无论一个进程是等待运行但还是要等待其它进程。当调度者选项中一个进程运行,它将选择高优先级的等待进程。如果这有多于一个的相同高优先级的进程的时候,它将会选择那个等待较长时间的进程。动态优先级从20到—20,不像静态优先级,最小是的将拥有高优先级别。任务的默认的优先级是0但又是-20时,优先级最高。只有管理员才能重置一个进程的优先级少于0,但一般用户能调整优先级在正数范围。

SCHED_FIFO只能用在静态优先级高于0中,那个意味着SCHED_FIFO进程变得可运行,它将总是抢占任何运行的一般S C H E D_O T H E R S进程。SCHED_FIFO是一个简单的没有时间片的调度算法。一个SCHED_FIFO进程将会被比它高优先级的进程抢占,并放入与它相同优先级别的进程队列头中,直到比它高的优先级的进程全部执行完后执行。当一个SCHED_FIFO进程是可执行的时候,它被插入到与它相同级别进程队列的末尾。S c h e d_s e t c h e d u l e r或者s c h e d_s e t p a r a m的一个调用将把SCHED_FIFO进程被PID标识到队列的末尾,如果它以前是可运行的。调用sched_yield进程将被放入到队列的末尾。在一个拥有相同静态调度策略的可运行进程队列中,没有其它事件将把一个进程调度到S C H E D_F I F O策略的下面。一个S C H E D_F I F O进程一直运行,直到它被I/O请求阻塞,一个比它更高级的优先级进程抢占它或者它调用了sched_yield。S C H E D_F I F O进程会遵守以下规则:

系统将不会被中断直到以下进程式被调用:

其它的拥有高优先级的FIFO进程就绪。

执行中的FIFO进程被阻塞等待一个事件,如I/O。

执行中的FIFO进程自动的放弃CPU随着一个原始的sched_yield调用。

当一个执行中的进程被中断并放入一个与它相同优先级的队列中。

当一个FIFO进程有个高优先级的当前运行进程,F I F O进程抢占当前进程。如果不止一个线程高于此优先级,等待最长的将被关闭。

S C H E D_R R是一个加强了S C H E D_F I F O。每个被描述为SCHED_FIFO也同样适用于SCHED_RR,除非每个进程只能运行在最大的时间量上。如果S C H E D_R R进程被运行了大于或等于最大时间量的时候,它将会被放入到与它相同优先级的队列中去。一个SCHED_RR进程将被高于它的优先级的进程抢占同时被设置成可运行进程,它将完成还没有用完的时间片。时间片的长度可以通过sched_rr_get_interval来设定。因为SCHED_FIFO和SCHED_RR进程能抢占其它进程,只有在根进程被允许在Linux下激活这些策略。

SCHED_OTHERS是一个默认的全局时间共享调度策略被用于大部分进程。SCHED_RR和SCHED_FIFO被用在时间临界应用中,那些需要精确的时间控制在可运行进程被选入执行的方法中。SCHED_OTHERS是一个标准的Linux时间共享调度者,它被设为不需要精确静态优先级的实时机制中的全部进程。

Linux系统的调度算法应用在schedule()函数中(kernel/sche.c)。它将在不同的两点中被调用。首先,那些调用schedule()函数的系统的调用。其次,在每个系统调用和每个低的中断后,标志need_resched将被ret_form_sys_call程序修改。如果它被设置,调度者将在这被调用。因为至少时间中断将被正常调用和设置need_resched标志,调度被正常的激活是必要的。

从静态优先级0队列中选择要运行的进程,这些队列是基于动态优先级的,并由它们的队列内部决定的。动态优先级基于好的级别和被增加于每个进程就绪的时间环,但可以被调用者选择。这就确保了在S C H E D_O T H E R S进程有好的发展。一个被阻塞的高优先级的等待I/O中断的进程有一定的反映时间在它被调用之前。

调度函数包括了三个部分。第一是,这些规则必需在开始时调用。第二是,拥有高优先级的进程被选择。第三是,新的进程变成当前进程,调度者完了它的任务。

下表总结了Linux调度进程。

5 Linux多处理器中的调度

在Linux的世界中拥有多CPU的系统是相当少的,但是很多工作已经使得Linux成为多CPU的操作系统了。那就是拥有在多CPU中平衡任务的系统。没有什么地方这些任务的平衡在调度者中比这更明显了。

在多CPU系统中,全部的处理器是超载运行的。当进程时间片用完的时候,每个处理器单独运行调度者,或者是等待系统的资源。所要知道的首要关于SMP系统的事情是这不是只有一个空闲的处理器,在单处理器中,空闲的处理器是在任务向量表中的第一个任务,而在SMP系统中,每个CPU有着空闲的进程,一个空闲进程可有多个空闲CPU。此外,每个CPU有一个运行进程,所以SMP系统中必需保持对运行的和空闲的进程进行跟踪。

在一个SMP系统中,每个进程的任务结构保存处理器的数量,它所运行的CPU中和它的处理器数量。这就是为什么进程不应当运行在不同的CPU,每次它被选择运行,但Linux能保证一个进程在一个或多个处理器中。如果位N被设置,进程就可以在处理器N上运行。当调度者被选到一个新的进程中运行时,它将不能考虑它是否有合适的位给当前处理器。调度者也给那些最后运行的进程一定的条件,因为这涉及到性能当把一个进程移到另一个处理器中。

6 总结

Linux虽然为分时操作系统,但由于其功能强大、源代码开放以及可移植性强等优势,已成为日益流行的嵌入式实时操作系统的解决方案。本文从软中断模拟技术、可抢占式内核和实时调度策略三个方面给出了改善系统实时性能的方法,并提出了通过采用宏观调度结构实现的混合调度,拓展了实时系统的应用范围。Linux实时性能的逐步完善,必将大大促进嵌入式Linux在工业控制、后PC时代信息电器等领域的广泛应用,应用的需要也会进一步促进大量新型控制算法的出现。

调度实时性 篇2

洞庭湖洪水实时调度模型研究及应用

本文介绍了洞庭湖洪水实时调度模型以水动力学方法为核心实现复杂蓄滞洪体系洪水调度的整体模拟,以数据库为基础组织、管理海量信息,以GIS平台来进行多方案成果的查询和分析,具有快速、准确、便捷等特点,为洪水实时调度提供了有力技术支撑,具有推广价值.

作 者:李义天 孙昭华 作者单位:武汉大学水利水电学院,湖北,武汉,450072刊 名:中国科技成果英文刊名:CHINA SCIENCE AND TECHNOLOGY ACHIEVEMENTS年,卷(期):10(14)分类号:P3关键词:洪水调度 分蓄洪区 数学模型 信息系统

调度实时性 篇3

[关键词]DF8002系统;调度管理;应用

[中图分类号]C36 [文献标识码]A [文章编号]1672-5158(2013)06-0119-02

调度自动化系统具有关键的作用,是电力企业管理网的基础,结合DF8002(SCADA/EMS)新型实用调度管理系统的实践应用,分析供电企业电力调度系统构造设计特点及应用情况。

一、系统配置和技术特点

1.1 系统配置

DF8002系统是多个不同的厂商集合而成的SCADA/EMS系统,如图1所示:

此项系统的主网所采用的配置是双网冗余配置,而硬件设备无一不采用HP配置,HP UNIX是服务器、人机工作站的操作软件,采用Oracle的商用数据库进行历史、工程数据库平台操作,应用软件采用SCADA,网络建模、拓扑,对潮流进行计算,对状态情况加以估计,预测负荷,进行电压的无功优化,计算短路电流等都属于高级应用软件。

1.2 系统的技术特点

(1)分层全方位开放支撑平台

运用先进的开放体系,将系统平台层至应用层的开放一一实现,提供给用户良好的互操作性、分布性及可移植性,为用户的可持续拓展提供了方便,更好的适应了电力系统自动化变化的业务要求。

(2)全面的跨平台解决方案

此项系统技术实现了对各种硬软件平台组合的支持,在各种类型的服务器及工作站均适用。最大程度的满足了用户的要求,实现了系统的灵活性、可伸缩性变化,可以实现同时跨Unix和Windows操作系统平台,系统的首次移植可以在HP平台上直接完成。

(3)领先的网络技术

采用全套网络功能对于任意构造的虚拟子网都支持,简化了对网络的设备管理,大大降低了设备投资,且支持三层交换;系统内双采用太局域网的动态热作为备用,支持城域及广域的网络互联;数据不广播,变化传送,压缩上路,实现了将对象按需刷新的功能;3级网和4级网实现了网络连接,促进了电力系统对多级交换网的数据信息共享。

(4)业内领先的图形显示技术

此项系统率先采用了领先的图像显示技术——跨平台的三维图形标准OpenGL。提供了让用户进行自定义图形元件的功能,客户可以进行动画定义,当用户自己进行图形元件的自定义时,可以进行命名、保存、重复使用等操作,想要生成自定义的图形元件,用户只需简单的利用人机系统提供的工具便可轻松实现。图形元件可以将基本的图形原语进行任意的组合,而且人机图形操作的界面也相当个性化。

(5)资源优化的服务器机制

管理策略和访问标准机制基于C1iedt/Server模式,将实用库、商用库有机结合在一起,把局域网、广域网及虚拟网之间的节点实现了透明连接,真正做到了“瘦客户机”,能够提供给用户更为一致的、彻底的数据,进行廉价的、可递增的、灵活的系统扩展。

(6)独有的用户级高级语言

高级计算(控制)语言是此项系统独有的,专为用户提供的应用功能集成环境,不但可以满足用户建立、增加适合个人应用特点的数据处理模式,同时也能够提供给用户扩展需要应用的功能,充分满足了现场特定功能的需求。

(7)采用通用的信息发布技术

通过Web月艮务器实现用户利用浏览器在广域网、局域网、拨号方式中进行相同质量的实时信息浏览、调度、查询等,且支持打印报表,进行历史曲线及历史事项的查询。对访问权限通过人员类型进行确定,支持对IE客户端访问表、访问图的权限设置。多种类型的模拟盘串行上盘,大屏幕的投影系统进行连接,将交换数据信息进行局MIS网的互换等诸多功能都可以实现。

(8)可集成多种应用系统

系统一平台基础条件上不但实现了强大的SCADA功能,同时支持用户依据个人的应用需求及实际投资能力,集成DTS、PAS、GIS系统,智能操作票系统,实时调度管理系统(DMIS)以及电量计费系统等。

(9)电网高级应用PAS功能实现了一体化

依据电力系统提供的各种信息,对电力的系统运行及状态在实时型、研究型的模式下进行分析,能够有效的帮助调度员对电力系统的运行状态取得及时的了解、掌握,对调度员进行分析决策提供有利的保障,对提高电网运行的安全性、经济性有很大的作用。

高级应用软件系统实现了电网的安全、经济运行,需具备以下的性质特点:①易于使用、维护且友好的标准图形用户界面,便于用户对各项功能进行快速的熟悉、使用,具有实用性,利于用户完成各项调度任务。②可以实现数据分布及对数据进行分布式处理,便于提高软件的可扩展性。③可以实现对不同的数据建立不同库的功能,数据以及程序能够严格分离,保证系统的先进性、可靠性。④数据库系统必须能够提供完善的电力系统网络元件教学模型,且实现安全性能好,具有良好的透明性及严格的一致性。可以按照设备的命名进行实时库的访问及检索,具有较快的速度及良好的实时性。采用商用数据库作为历史库,能够对历史数据进行检索、规定管理,安全性,可靠性高。⑤能够提供开放式的环境。⑥主要功能模块需具备:分析网络建模、拓扑,对运行状态进行评估,调度员潮流,分析静态的安全状况,对电压和无功进行优化处理,能够计算短路电流,预测短期的负荷情况,继电时对定值校核软件进行保护,外部网络等值以及最优潮流。

(10)智能化操作票系统

运行人员只需要进行简单的鼠标操作就可开出操作票,并且此项系统还充分的考虑了电力系统对五防的要求,不但能够自动生成操作票,而且能够进行模拟预演、仿真培训,大大降低了因操作失误造成的电网效益损失。开票时间缩短至5分钟,达到了99%的出票率、准确率,将专业运行人员的共组量大大降低,有精力进行电网安全、经济运行方面的研究。有利于电网的安全稳定。

(11)调度MIS——实时调度管理系统

它满足了调度运行管理的需要的子系统,各主要的功能模块能够实现根据用户具体要求进行适当的增减以达到符合现场应用需求。

(12)调度CIS系统

实时信息的采集充分利用了SCADA系统,并且结合了GIS系统的管理能力,将DF8002的应用范围进一步的扩大,不仅可以将实时信息和设备关联,而且提供了设备的动态、静态管理,对设备的位置、电网的地理分布、进行信息的统计和查询以及管理图片等功能均可以一一实现。

二、调度自动化系统的设计

(一)主干网架通道设计

1、通道设计方案

(1)现有系统对通道的要求:①主站系统及RTu系统是电网自动化系统的主要组成部分,RTU与主站数据进行交换的方式采用主备用方式,其速率通常情况下控制在32Kbps;②太网方式或拨号方式是电费管理系统数据进行交换的传输方式,一般情况下中心数据库是数据保存的位置,由于频繁的进行数据交换信息的查询,因此有较高的数据流量要求。③一般情况下用太网进行财务、人事、物质等的系统数据交换。(2)图像监控系统、MIS系统以及Intemet系统均需要用作考虑系统。(3)通信方式的选用。

(二)主干网络拓扑设计及光端机设备的选型

自愈是光纤特有的特征,因此不需要供电所、变电站等提供备用的通信通道。

对于光端机的设备选型宜采用UMC2000的光环路设备。

(三)主站系统设计

l、变电站的规划

(1)处理变电站的运动信息:遥测量、遥控量均通过变电站向天都中心进行传送;事故、预告总信号及保护信号等遥信量也是通过变电站向调度中心进行传送。(2)调度中心的信息处理。

2、调度自动化系统的主站系统规划

(1)主站系统的构成:采集、调度、维护工作站,网络服务器以及各职能的科室工作站是构成局域网的组成部分;(2)自动化系统的核心部分就是主站系统,它必须具备如下性能:友好的界面,方便操作的系统且具有开放性、扩充性,具备能够进行二次开发的能力;能有效进行数据的采集和处理叫。

三、调度自动化系统的系统调试

1、和无人值班变电站的调试

采用通道切换的方式,将新系统和变电站的一次设备进行遥控调试,具体做法:将变电站的设备运行方式转化为“就地”,由调控主站对每一个遥控的对象进行遥控命令的下达,每一路遥控继电器的正确动作都受到变电站的端监控。如果是对运行状况没有影响的设备进行带,例如电容器、冷备用开关等进行联调。

2、和集控站的调试

远程集控工作站与调度中心形成一套自动化系统,通过光纤链路建立两中心的网络连接,以此实现信息的共享。

3、和其他系统的调试

(1)与MIS系统调试。首先在Web的通信服务其上建立SCADA、遥测与遥信数据表、名表等,将数据进行计算处理过后采用数据表的形式存放,以便GIS使用。这种方式避免了双方的系统直接互访状况的产生。

(2)与电能量计费系统的调试。由于在Web的服务器上建立存放了数据库表结构,系统就会每天定时更新表中的电度量值,新系统进程在Web的服务器上也会定时的从库表中取出更新的数据,gasCADA数据库里面。

(3)与省调SCADA/EMS系统调试。专用网通信服务器上建立了遥测和遥信的数据表,实时的将信息转发至省调SCADA/EMS系统。

4、新旧系统切换

采用旧系统和新系统共同运行的方式,以旧系统作为主系统,对电网和无人值班变电站进行监控,新系统则负责对在线电网进行监测,并进行调度日报表的编制工作。具体做法:对新系统权限进行开放且对旧系统权限进行相应的封闭,将无人值班变电站结语旧系统下的通道机柜逐步接换到新系统的通道机柜,切换过程中要注意及时进行站端设备的选点操作。

四、总结

DF8002型使用调度管理系统在电力调度自动化系统中应用,发挥了极大的作用。该项系统具有极大的通用性,界面友好,操作简单,还可以扩展网络接口,能够提高工作效率并确保安全性,带来了极大的经济效益,值得进一步推广。

参考文献

[1]张艳峰,张若锋,电力调度自动4)&SCADA;/EMS系统工程实践[J],高电压技术,2004,30(8):56-57,67

[2]黄芬,探析电力调度自动化EMS系统工程实践与设计[J]城市建设,2010(15):356

调度实时性 篇4

Linux操作系统太多的优点使其在嵌入式领域的应用越来越广泛,但是,Linux操作系统本身作为一种普通的分时多任务的桌面操作系统,其为了实现广泛的功能而引入了很多的机制,这样,便使得Linux操作系统的实时调度方面的功能有所下降。虽然在Linux 2.6之后的内核版本中,其增加了处理实时任务的调度算法并且实现了O(1)级的调度,但是其调度发生的时机仍然有限,当一个实时任务需要立即响应而调度程序没有被执行时,仍然无法在要求的时间内响应实时任务。针对这一问题,该文分析了几种经典的调度算法,并选用EDF算法来实现对IRIS(Increased Reward with Increased Service)任务的调度。

1 Linux 2.6内核调度算法分析

1.1 O(1)算法

在Linux 2.6内核中,提出了一种全新的调度算法,称为O(1)算法。不管有多少进程,这种调度程序的每个算法都能在恒定的时间内完成。它在高负载的情况下执行得非常出色,并在有多个处理器时能够很好地扩展,这种调度程序的核心在于在操作系统重新计算时间片时的优化。

Linux2.6内核中,进程调度经过重新编写,调度程序不需每次都扫描所有的任务,而是在一个任务变成就绪状态时将其放到一个名为“当前”的队列中。每个CPU维护一个就绪队列,就绪队列又分为active队列和expired队列两部分,active队列内的可执行队列上的进程都还有时间片的剩余;而expired队列内的可执行队列上的进程都耗尽了时间片。当一个进程的时间片耗尽时,它会被移至expired队列,但在此之前,时间片已经给它重新计算好了。重新计算时间片现在变得非常简单,只要在active队列和expired队列之间来回切换就了。因为队列是通过指针进行访问的,所以交换它们用的时间就是交换指针需要的时间。同时,其schedule()函数的实现采用了一个140位的数组来设置活动任务,如图1所示,这使得调度也变得简单。所以,在Linux2.6中O(1)调度算法选择候选进程的时间复杂度是O(1),与当前系统负载无关,实时性能有所提升。

1.2 调度策略

在Linux 2.6版本内核中,Linux使用基于优先级的调度算法,其提供了两种实时调度策略:SCHED_FIFO和SCHED_RR,而普通的、非实时的调度策略为SCHED_NORMAL。

SCHED_FIFO:其实现了一种简单的、先入先出的调度算法,如果有两个或者更多的SCHED_FIFO级进程,它们会轮流执行[3]。

SCHED_RR:这一级别的进程在耗尽事先分配给它的时间后就不能再接着执行了,这是一种实时轮转调度算法。

SCHED_NORMAL:普通进程的调度策略。采用动态优先级,数值上等于基本时间片和当前进程剩余时间片之和[4]。

前两者采用静态优先级。其数值由用户赋予,且总是高于普通进程。

1.3 Linux 2.6内核调度时机

在Linux 2.6调度系统中,有两种方式引起调度:主动调度和被动调度。主动调度随时都可以发生,只要通过直接或间接地调用schedule()函数就能发生一次调度。

O(1)调度的被动发生不仅可以发生在返回到用户态时,还可以发生在返回到核心态时,被动调度的条件宽松了许多,从而实现了内核的可抢占运行,提高了调度器的实时性。

一般调度时机有如下几种:

1)从中断处理或系统调用返回到用户态。

2)某个进程允许被抢占CPU。

3)某个进程主动进入TASK_INTERRUPTIBLE或TASK_UNINTERRUPTIBLE状态。[5]

1.4 Linux 2.6内核在实时调度方面的不足

在Linux新的内核中,虽然已经做了很多实时方面的改进,但是其调度策略并没有得到有效的改进,即没有在本质解决实时性的问题。其完全没有考虑任务的时间因素,比如周期、截止期、最坏执行时间等,则实时系统的可预测性其内核调度根本无法达到。

由于Linux的一些在实时调度方面的不足,导致了其在嵌入式实时领域的发展,所以必须找出一种能够在本质上解决Linux实时调度问题方法,使能更好的应用于嵌入式实时领域。

2 提出一种实时性的改造方法

首先分析两种经典的单处理器实时调度算法(RMS和EDF),通过比较两种经典算法,得出最优的算法,进而通过分析IRIS(Increased Reward with Increased Service)任务的单处理器调度,最后实现对IRIS任务的调度算法。

2.1 单调速率调度(RMS)算法

单调速率算法是在实时系统应用中最普及的算法之一,它是一个单处理器静态优先级抢先的方案。RMS算法将任务的优先级与任务的周期联系起来,任务的优先级与它的周期反向相关,如果任务Ti比任务Tj的周期小,那么Ti的优先级要比Tj的优先级高。高优先级的任务可以抢占低优先级的任务。任务集合包括周期、抢先任务,他们的时间限等于任务周期。在RM算法中,如果总处理器使用不大于n(21/n-1),则包含n个任务的任务集合是可以调度的。这是一个非常流行的算法。根据定理,RMS算法是一个最佳的静态优先级算法。也就是说,如果任何静态优先级算法能够生成一个合适的时间表,那么RMS算法也能够做到。证明过程详见参考文献[1]。即是用RMS调度的独立的周期性任务总能满足其截止时间的要求。即式(1):

其中ei为任务Ti的执行时间,Pi是指周期任务Ti的周期,n为任务集合中任务的数量。

RMS算法的优点是开销小,灵活性好,可调度性测试简单。

2.2 最早时间限优先(EDF)算法

一个采用最早时间限优先算法的处理器总是优先执行当前绝对时间限最早的任务。最早时间限优先是一个动态优先级调度算法,它的任务优先级并不固定,随着它们的绝对时间限的接近程度而变化。最早时间限优先又称为单调时间限调度算法。

根据定理,EDF算法是一个最佳的单处理器调度算法。也就是说,如果EDF算法不能够在一个处理器上合理地调度一个任务集,那么所有其他的调度算法也不能做到。

同样根据定理,假设有一个由n个周期性任务构成的集合,每个任务对应的时间限等于其周期。他们能够按照EDF算法合适地进行调度的充分必要条件如式(2):

由此可知,抢占式EDF调度算法最大的优势在于,对于任何给定的任务集,只要处理器的利用率不超过100%,就能够保证它的可调度性。EDF算法在系统的负载相对较低时非常有效。但在系统负载较重时,系统性能急剧下降,引起大量任务错过截止期,甚至可能导致CPU时间大量花费在调度上。[6]

2.3 最小松弛时间算法(Least Slack Time First)

LSF算法计算任务的松弛时间,其中松弛时间为任务截止时间与剩余执行时间之差。该算法在任意时刻把最高优先级分配给具有最小松弛时间的任务,以此来保证紧急任务的优先执行。然而,由于等待任务的松弛时间是严格递减的,其等待执行的缓急程度也随时间越来越紧迫,因此在系统执行过程中,等待任务随时可能会抢占当前执行的任务。LSF算法造成任务之间的频繁切换现象较为严重。这增大了系统开销,并限制了LSF算法的应用。[7]

2.4 一种改造Linux内核的方法

通过对上面三种经典单处理器实时调度算法的描述与分析,EDF算法能够对现有Linux进行有效的实时化改造。改造方法中,保持Linux现有的调度方法与策略,保持其经典的O(1)调度算法,然后对其实时任务进行IRIS任务分析,最终利用EDF算法对任务实现实时调度。

在算法分析的理想假定下,为了得到一个可以接受的输出,一个任务不得不完成,若任务不完成,我们将从中得到零回报(这就是说,就如同没有运行一样)。然而现实中很多的任务并非如此,就是所谓的IRIS任务,这种任务就是回报随服务增加而增加的任务,同IRIS任务相联系的回报函数随提供服务的增加而增大。一般的回报函数有式(3)形式:

带有这种回报函数的任务可以看作有一个强制因子和一个可选因子。若任务为关键的,则强制部分(执行时间为m)必须在时间限内完成;而可选部分则在时间允许的条件下完成。可选部分需要总时间o完成。在任何情况下,任务的执行在到达时间限d时必须停止。[1]

任务调度就可以这样描述:在满足所有任务的强制部分必须完成的约束条件下,调度任务使得报酬最大。

在改进方案中对于任务Ti使用相同的线性报酬函数式(4):

这样,执行一个可选命令单元的报酬是一个单位。在所有任务的强制完成部分必须在最终期限之前完成的约束条件下,报酬函数获得最大值,则该调度算法就是最优的。

这样改造后Linux系统的调度流程如图2所示,改造中的调度函数schedule_IRIS算法流程如图3所示。

定理证明,对于带有相同的线性报酬函数的IRIS任务,这种算法是最优的。

流程图中的几点注释:

St:调度产生的调度队列;

ai:当调度任务改变或是处理器变成空闲时,ai是Sm中的第i个时刻,i=1,2,3……k;k是这些时刻的总数;

a0:Sm中第一个任务被执行的时刻。

λ(j):Sm中[aj,aj+1]时间段执行的任务。

Lt(j)与Lm(j):其分别为aj时刻后,St(j)和Sm(j)中任务λ(j)的总的执行时间。

修改St:第一步,在[aj,aj+1]时间段中分配处理时间Lm(j)-Lt(j)给λ(j);第二步,减少在[aj,aj+1]时间段中分配给其他任务的处理时间,减少了Lm(j)-Lt(j)。

3 试验结论

在本方法的验证中,使用了Lmbench[8]系统性能测试工具对传统的Linux内核性能与改进后的内核性能进行测试与分析。如图4与图5分别为使用Lmbench工具对系统内核改进前后的测试结果比较。

通过比较可以很清楚的看到改进后的系统调度性能得到有效的改进。

4 结束语

通过对Linux内核自身调度算法的分析与研究,其O(1)调度算法具有很好的优势,但是其内在的处理实时任务的调度策略不能有效的处理一些实时性要求很高的任务,所以论文阐述了DMS算法、EDF算法与LSF算法,并选择EDF算法作为基础,提出处理IRIS任务的schedule_IRIS()算法。这能够很好的提高通用Linux系统的处理实时任务的能力,该文只是提出对Linux调度策略的改进,但是要将应用于实际的工程应用中,需要考虑多方面的原因,如中断机制等。

参考文献

[1]Krishna C M,Shin K G.Real-time Systems[M].戴琼海,译.北京:清华大学出版社,2004:1,44,67,88-89.

[2]Love R.Linux内核设计与实现[M].陈莉君,康华,译.2版.北京:机械工业出版社,2006:36-37.

[3]赖娟.Linux内核分析及实时性改造[D].成都:电子科技大学,2007:22.

[4]徐虹,何嘉.Linux操作系统实时化改造的研究[J].计算机科学,2006,33(7):421.

[5]邹治锋.基于Linux的进程调度算法的改进与实现[D].无锡:江南大学,2006.

[6]李玉奇.嵌入式Linux任务调度算法实时性优化[J].科技创新导报,2010(26):30.

[7]周洁等.嵌入式实时操作系统的调度策略[J].华东交通大学学报,2005(22):111.

调度实时性 篇5

单调速率 (RM) 和最早时限优先 (EDF) 是实时调度的经典算法, RM (Rate Montomic Scheduling) 算法的基本思想是周期越短的任务优先级越高, RM算法是静态调度的最优算法, EDF (Earliest Deadline First Algorithm) 算法的基本思想是截止期越短的任务优先级越高, 它是动态调度的最优算法[2]。

1 算法实现

Xenomai在单处理器下的调度只支持简单的静态优先级算法。通过对Xenomai调度模块的修改, 使其支持三种算法, 即RM、EDF和Xenoami原有的算法。首先, 在xenomai/include/sched.h中增加一个全局变量xn_schedule_algorithm, 用于表示当前的调度算法。此变量只在实时任务模块被加载的时候被调用, 因此不会存在两个任务同时试图改变此变量的情况, 故不需要自旋锁等互斥操作。

其次, 增加一个函数xe_set_schedule_algorithm (int schedule_algorith) , 给用户提供接口, 用户通过此函数选择适宜的调度算法。初始状态下, xn_schedule_algorithm的默认值为0, 即代表原来的静态调度算法, 然后增加xn_schedule_original () 、xn_schedule_rm () 、xn_schedule_edf () 三个函数的实现, 将原有的调度器函数改造为一个调度算法选择器。

2 验证测试

首先, 创建一个内核模块, 创建10个周期性实时任务task0到task9, 假定它们的优先级相同, 周期不同且截止期不同, 周期从1000000ns到1010000ns, 以1000ns的速率递增, 截止期设为1010000ns到1000000ns。这些实时任务并不执行实际的功能, 而是与一个Linux下的进程Show Result进行通信。当第i个任务获得调度运行机会的时候, 这个任务将字符串“i start”通过FIFO发送给Linux下的接受进程Show Result, 表示任务i开始运行, 然后执行10000次的递增操作, 消耗一定的运行时间后, 将字符串“i end”通过FIFO发送给Show Result, 最后进入休眠状态[2]。

3 结语

针对Xenomai调度器的不足, 增加了新的调度机制, 并给出实现代码和测试结果。实验表明:这种调度模型在XenomaiLinux双内核系统中是可行的。

摘要:针对XenomaiLinux双内核实时操作系统实时调度的单一性, 在Xenomai原有的实时调度机制上增加了RM和EDF调度器。经过实验测试表明:新的调度机制增强了系统的灵活性。

关键词:Xenomai/Linux,实时调度,调度器

参考文献

[1]王延伟.基于Xenomai的实时Linux嵌入式机器人控制平台设计[D].济南:山东大学, 2011.

水厂调度中心实时监控系统的设计 篇6

城市供水作为城市管理工程的一个主要设施, 它直接影响着一个城市正常的生产和生活, 随着科学的发展与进步, 近几年来自动化产品在水厂调度中心的应用较为普及。本文以长治市关村水厂调度中心实时监控系统为例, 详细的阐明了高性能水厂调度中心实时监控系统的设计。调度中心实时监控系统的主要任务是采集供水系统中的设备的运行状态和参数, 对整个供水系统进行调度管理。在调度室可以显示整个供水系统的情况, 同时打印报警报表和生产报表。调度系统主要应用了iFi X组态软件和工业电视, 大屏幕背投技术。两个现场控制站独立工作, 采用PLC控制技术, 通过各自PLC的以太网模块接口接入以太网交换机, 通过以太网无线扩频装置与调度中心进行通讯。

2 IFIX组态软件实时监控系统的设计

2.1 组态监控软件主要功能

2.1.1 主要图形显示

为了便于直观的看到整个供水系统的总貌和各生产流程, 同时为了显示检测到的实时数据和设备状态, 在总调度中心的2台操作员工作站设计以下图形:

供水系统总图, 供水系统控制网络图, 各厂、站生产流程图, 各厂、站配电系统图, 各厂、站工业闭路电视系统图, 实时数据总表, 系统报警分析图, 设备状态分析图。

所有图形间可以利用图标方便的切换。对于数据, 既有数字显示, 又有仪表或刻度尺动态模拟显示。生产流程图上可以动态地看到各阶段测点的数据, 以及水的流向、水质分析结果, 同时可以清楚地看到整个生产过程及设备的运行状态。

2.1.2 主要曲线

各厂、站进水流量曲线, 各厂进水水质分析曲线, 各厂、站出水流量曲线, 各厂出水水质分析曲线

所有曲线均分为历史曲线和实时曲线。既可以单独显示, 也可以同屏显示, 显示的时间区段可以根据需要随时调整。

2.1.3 主要报表

各厂进出水日/月/年流量报表, 各厂进出水日/月/年水质报表, 各厂用电量日/月/年报表, 各厂、站设备运行和维护报表, 各类报表既可以屏幕查看, 也可以按时自动打印输出。

2.1.4 主要报警

各种水池、井的上、下限越限报警, 管道压力上、下限越限报警, 设备故障报警, 泵站及水源地安全报警, 报警既可以利用图形和声音, 也可以直接完成图形的切换, 所有报警记录可以打印输出, 以备存档。

2.1.5 打印

打印机包含图形打印、报表和报警打印。所有打印过程既可按时间间隔设定时打印, 也可随机打印 (通过图中按钮) 。对两台打印机的管理采用打印机管理器完成, 打印机管理器可直接连在工业以太网上。

2.2 人机界面的开发

2.2.1 监控界面的设计

系统的人机界面设计包含1个监控主界面 (供水系统总图) 和7个分界面 (水源地、一、二级加压泵站、水厂泵房和加氯间、净水厂、台上泵站个一套) , 这些界面之间可以自由切换。

i Fix启动后首先进入登陆界面。点击“操作员登陆”按钮, 打开口令输入界面, 输入正确的操作员口令, 才可以进入监控主界面, 进行监控和操作。如果没有正确的口令, 只能通过登陆界面观测各个控制站点的运行情况, 不能下传命令等控制。

2.2.2 界面元素参数设置

参数设定是较重要的一个界面, 应该给设定一定的等级限制。对每一个参数都设计一个参数设置界面, 该等级的操作员可以对参数在预定的范围内进行设置。例如本系统中水管压力参数设置:下限和浮动为0A, 泵管道压力报警上限0.48MP, 浮动0.02MP, 零点0.05MP、报警量程为2MP、报警次数为2次和可任意选择报警声音。

3 数字视频远程监控系统

3.1 系统概述

为了能够直接对现场进行监视, 以便及时、准确地分析设备故障和现场情况, 在水源地、泵站、水厂设置了摄像机。摄像机采集的视频信号直接进入现场视频网络服务器后并入以太网, 通过无线网络发送至总调度中心。在总调度中心可以实时显示现场视频信号, 也可以根据需要进行存储;为了多方位、多角度观看现场, 总调度中心可以控制云台、镜头的动作。

在总调度中心和视频监控有关的软、硬件为:工作站、视频监控专用软件。

3.2 总调度中心———视频信号的监控管理

在总调度中心的操作员站上装有视频监控专用软件, 该软件负责网络上所有的AXIS视频服务器的管理、所有摄像机的管理、用户帐号密码的管理, 优先权的管理, 录像记录以及用户摄像机分组管理等功能。

1) 多路图像处理、显示功能。视频监控专用软件能在显示器上进行九画面显示, 可以同时观看九个摄像机的准实时画面。全部摄像机可以分成若干组, 可自动切换观看所有摄像机的画面。

2) 方便的摄像机控制功能。用户可以用鼠标来控制摄像机上下、左右、变焦、聚焦等动作, 也可以用键盘来控制, 控制非常方便。

4) 完善的用户管理功能。有用户帐号密码管理功能, 网络上只有授权用户才能观看或控制摄像机。根据授权, 某些用户可以控制摄像机, 某些用户仅能观看, 无权控制。

5) 完善的优先权机制。视频监控专用软件具有非常完善的优先权机制, 网络上的用户可以被管理员分为0~255个等级, 当多个用户同时想控制某个摄像机时, 优先级高的人可以控制, 优先级低的人不能控制 (不过可以观看图像) , 这时低优先级的用户屏幕上会显示某某高级用户正在控制, 只有优先级高的用户放弃控制权后, 优先级低的用户才能控制。

6) 强大的分组功能。视频监控专用软件具有强大的分组功能, 可以将摄像机编成很多组, 也可以把用户编成很多组, 某组用户仅能控制某些组的摄像机, 其他摄像机不能观看。

7) 高分辨率实时图像。系统采用的图像压缩标准为H261、J PEG/M-J PEG, 图像存储的格式为J PEG, 图像清晰度高, 完全符合国际标准。

8) 先进的机制。视频监控专用软件基于WEB服务器/浏览器方式, 是目前最流行的Internet/Intranet方式, 系统开放, 易于与网络上其他应用融合。

9) 强大的录像功能及完善的报警功能。

4 数字模拟大屏幕显示系统

(下转第227页) (上接第217页)

为了直观地显示视频和计算机图形, 我们选用了法国SYNELEC大屏幕投影组合图形墙系统。本大屏幕投影系统采用XGADLP技术, 50英寸背投影箱体, 选用2×2的结构, 组成1500×2000m m的大屏幕拼接墙, 整体亮度大于2600 ANSI流明, 整体分辨率达2048×1536。具有一定的先进性, 可在5-10年内不落伍。

设计方案是由4台投影箱体单元LMU1000-50组成2×2投影图形墙, 控制器采用内置U-GATE拼接处理器。外输入信号通过视频矩阵和宽带RGB矩阵传给每一个投影单元。分配放大器可把计算机的信号同时输入给显示器和大屏幕。装有COMBASE软件的控制计算机通过串口完成对内置U-GATE和视频矩阵、RGB矩阵的共同控制。

单箱体单元分辨率1024×768, 总体分辨率达2048×1536。每个箱体上下左右之间可以紧密地互相连接在一起, 每列箱体下都有独立基座做为支撑, 基座高度根据现场及用户要求设定。每个投影箱体单元都有两路RGB和一路VIDEOBNC接口接收显示信号。同时每个投影箱体的投影机都有2个RS485串口, 互相串接一起, 可以通过第三者RS232设备 (微机等) 控制调整投影机。

本系统配置方案具有配置网络预留接口位置。RGB信源或视频信源与网络预留接口在处理通道上相互独立。这样能够确保将来的网络控制器快速响应, 同时充分体现RGB信源或视频信源的显示优质质量和实时效果。该系统便于将来的扩充, 是较完善的解决方案。

5 结语

调度实时性 篇7

传统的自动发电控制(AGC)根据区域控制误差(ACE)来调整机组出力以满足相关的控制标准[1,2,3,4],其本质是一种反馈控制。这种反馈控制要求控制区有足够的快速可调容量,然而对于水电资源稀缺地区则难以满足,因此文献[5,6,7]提出了利用超短期负荷预测实现AGC的超前控制,在传统的机组调节量引入超前控制分量。另一方面,随着电力市场的兴起,实时调度系统作为实时发电市场的技术保障[8],其重要性不言而喻。文献[8,9,10,11]均设计并实现了完整的实时调度系统,并且应用在相应的省级电网。实时调度系统中,最关键的技术是实时发电计划的制定,传统的解决该问题的方法为静态优化方法和动态优化方法[12,13]。静态优化方法主要是最优潮流(或者利用潮流灵敏度)的方法,其最大的缺点是只针对某一时段优化,没有考虑时段之间的耦合关系。文献[14]系统地综述了国内外在动态优化上所做的研究,指出通过寻找到各时段之间的解耦条件并且把动态优化问题转变为静态优化问题是非常必要的。文献[15,16]提出有功调度的积留量方法,该方法在静态优化模型中引入前瞻约束和后顾约束,使动态优化问题转化为静态优化问题,求解速度大幅提高。文献[17]则在积留量方法中引入断面约束,进一步提高了该方法的实用性。

为了适应电网的发展,特别是为了降低连锁故障发生的风险,省级电网逐步打开500 kV 和220 kV间的电磁环网。为此,调度部门提出了新的控制要求:

1)电网分区控制:由于电网规模的不断扩大,为了降低调度复杂度,将大电网分解成各个控制子分区,并在日前制定各分区之间的500 kV割集断面功率传输计划,防止分区之间的传输功率产生大的波动。

2)电网分层控制:接入500 kV的机组一般是大容量的节能机组,机组调节特性好。在节能调度中,该类机组将被优先调节。一方面,这类具有快速调节能力机组的可调容量会被首先耗费掉;另一方面,会导致500 kV联络变压器下送功率过大。如果该类机组出现故障,则电网的负荷损失大,因此,需要控制500 kV机组的下送功率。

根据调度部门提出的控制要求,本文在安全经济调度优化模型中引入分区约束和分层约束,通过控制500 kV割集断面和500 kV联络变压器的功率,实现分区分层平衡。在此基础上,提出了在不可行(例如无法满足联络线路(断面)安全约束)的情况下求解机组的控制策略的新模型。该模型可以给出不可行情况下最小越限风险的控制策略,保证系统持续可靠运行。

1 系统可行条件下的实时机组计划制定

为了实时满足发供平衡,将电网的机组分成3类:①日前机组,负责执行日前计划;②实时机组,负责执行实时计划;③AGC机组,负责执行AGC控制指令。

其中,实时机组控制周期为15 min(可调)。在满足安全、节能环保要求的前提下,15 min实时机组计划完成的任务包括:①弥补日前负荷预测与15 min超短期负荷预测的偏差;②控制分区断面传输功率;③为AGC留出足够的备用容量。为此,可构建如下线性规划模型:

miniri|ΔΡi|iΝGcagc(1)

s.t.iΔΡi=ΔΡ(2)iSijΔΡi+gΝGncagcΔCgjΤ¯j-ΤjjΜint(3)iSijΔΡi+gΝGncagcΔCgj=Τjgoal-ΤjjΜcut(4)iSijΔΡi+gΝGncagcΔCgj=Τtrfm,jgoal-Τtrfm,jjΜtrfm(5)ΔΡ¯iΔΡiΔΡ¯iiΝGcagc(6)

式中:ri为发电机当前的发电单位成本;ΔP为下一点负荷增量减去日前机组和AGC机组的计划增长量,为了给AGC留出足够的裕量,在这里AGC机组的计划取可调出力上下限的中间值;ΔPi为机组i的调整量;NcagcG为全网实时调度机组的个数;NncagcG为除NcagcG以外的机组;Sij为负荷平衡灵敏度[9],其中为了达到分区平衡,需要在母线负荷因子中引入分区负荷预测的信息;ΔCgj为非实时调度的机组的计划调节量对断面功率的影响;Mint为内网安全功率传输断面集合;Τ¯j为断面的功率传输上限;Tj为断面的当前传输功率;Mcut为500 kV割集断面集合;Tgoalj为下一点的分区割集断面传输功率的控制目标值;Mtrfm为分层断面集合(分层断面由500 kV联络变压器高压侧绕组形成);Tgoaltrfm,j为下一点联络变压器下送功率目标值;Ttrfm,j为当前下送功率。

不等式(3)保证传输断面不过载;约束(式(4)、式(5))保证500 kV断面的功率跟踪计划值。

2 系统不可行条件下的实时机组计划制定

对于上述实时机组的计划制定模型,一般情况下是存在可行解的。然而在某些特殊情况下,可能会出现无可行解。此时表明在给定的断面潮流约束下,出现了机组出力发得出但送不出的情况,或者是500 kV断面计划不合理。当出现这种情况时,算法必须能自动松弛断面的功率约束以便获得可行解,从而保证系统的连续运行。为了极小化越限所带来的风险,此时的控制目标从发电经济型转变为断面越限后风险最小。因此,可建立如下目标规划模型:

min{w1iri|ΔΡi|+w2jpjdj++w3kpk(dk++dk-)

s.t.iΔΡi=ΔΡ(8)iSijΔΡi+gΝGdayΔCgj+dj--dj+=Τ¯j-ΤjjΜint(9)iSikΔΡi+gΝGncagcΔCgk+dk--dk+=Τtrfm,kgoal-ΤkkΜcut(10)iSikΔΡi+gΝGncagcΔCgk+dk--dk+=Τtrfm,kgoal-Τtrfm,kkΜtrfm(11)ΔΡ¯iΔΡiΔΡ¯iiΝGcagc(12)dj+0,dj-0,jΜintΜcutΜtrfm(13)

式中:w1,w2,w3为权系数,w2>w3>w1,表示优先考虑安全断面功率越限,其次是控制断面的功率偏移,最后考虑发电经济性;d+j为断面越限时的越限量;d-j为断面未越限时的剩余量;在目标函数希望越限量d+j最小,考虑到各断面的重要性不同,因此引入pj作为风险系数,∑pjd+j为断面越限的总风险;d-k为实际控制值小于目标值时的偏差;d+k为实际控制值大于目标值的偏差; 在目标值希望偏差量d+k+d-k最小,因此kpk(dk++dk-)表示控制偏移量产生的风险值。

式(9)在断面安全约束基础上引入d+jd-j,变成等式约束。式(10)、式(11)是分区分层控制约束,目标函数在原来发电成本项iri|ΔΡi|的基础上,增加了断面越限的总风险∑pjd+j和控制偏移量产生的风险kpk(dk++dk-)。然后通过设置权重系数w1,w2,w3作为优化的偏好。

3 模型的求解方法

上述模型本质上是线性规划模型,本文采用单纯形法求解。在河南电网实际运行中,165台实时机组,23个断面约束,在双核CPU主频1.66 GHz、物理内存1 GB的计算机上,可在10 s内完成一次计算,因此满足在线应用的要求。

4 算例分析

采用本文提出的方法的有功实时调度系统已经在河南省调度通信中心实际运行,运行表明本文提出的方法能够应对处理电网调度中的各种情况。

4.1 河南电网结构分析

图1是河南电网的网络结构分区图,分为豫北、豫西、豫中和豫南4个分区,各分区之间通过500 kV的割集断面连接,500 kV与220 kV通过500 kV联络变压器连接,豫西和豫中地区为主要的电源区,豫北和豫南地区为负荷区,所以省内基本上是西电东送的格局。

4.2 机组实时策略制定与控制效果分析

河南电网2008年某冬季潮流断面,各分区之间的功率传输情况如附录A表A1所示,各断面的安全限值如表A2所示,其中豫北—豫中和豫北下送断面需要跟踪其功率交换计划。

为了验证本文算法的有效性,下面给出不考虑和考虑分层约束条件下的2个算例,对比分析其调度策略的变化。

算例1:不考虑分层约束的机组调节策略

表1列出了各机组的电压等级和出力计划值调整量。

可以看出,由于500 kV机组的节能性能好,排序靠前,500 kV的机组出力上调量较大,产生大量功率下送,经过潮流的安全校核,预测下一点豫北地区的功率下送值变为2 598.72 MW。

算例2:考虑分层约束的机组调节策略

加入豫北下送的断面约束条件,下一点豫北的功率下送保持在2 500 MW。表2列出了求解出的机组调节策略。

从表1、表2的对比可以看出,在引入分层控制约束之后,500 kV机组的出力上调量减少,220 kV机组的上调量增加,负荷基本由220 kV的机组平衡,500 kV的机组主要控制分区之间的功率流通,达到了分层平衡的要求。

4.3 不可行条件下机组实时策略制定与分析

在实际运行中,存在500 kV联络线日前计划不合理或区域实时机组可调容量不足的情况,从而导致在现有约束条件下不存在可行解。该算例的目的是验证采用本文提出的最小越限风险控制策略的有效性。在上面的潮流断面下,调度员在设定实时控制机组时,豫中和豫南地区的实时机组可调容量很小,更多的实时机组设在豫西和豫北地区,然而由于豫中地区负荷预测增长量198.32 MW大于豫北—豫中断面和豫西—豫中断面的传输上限。可见采用算例1的模型无法求解出可行解,程序自动采用算例2的模型进行求解,得到控制策略如附录A表A3和表A4所示。

从附录A表A3和表A4的机组控制策略可以得出,下一点豫西机组出力增加204.9 MW,豫北机组出力增加255.7 MW,此时豫北—豫南功率变为-548.29 MW,偏离控制目标值51.71 MW。豫西—豫中断面的传输功率刚好控制到其极限值1 100 MW。可见,采用目标规划模型可以保证得到优化解,并且使断面的越限风险最小,且尽量跟踪计划值。在实际运行中,程序会给出报警信息,提示调度员哪些约束或计划发生问题,便于调度员及时修正相关联络线和机组计划。

5 结语

本文提出的有功实时调度方法兼顾了安全与经济的协调,体现了全局分区分层的控制策略。实时调度作为一个在线闭环控制系统,必须有足够的鲁棒性和可靠性。本文提出的方法在系统出现不存在可行解的情况时,也可得到预想风险最小的控制策略,从而保证在各种情况下,实时调度系统均能够求解出机组的控制策略。通过现场实际运行和仿真计算表明,本文提出的有功实时调度模型和方法能够在很大程度上提高电网有功调度的自动化水平[18]。

附录见本刊网络版(http://www.aeps-info.com/aeps/ch/index.aspx)。

调度实时性 篇8

随着数字多媒体技术的发展和普及,需要大量的多媒体服务器来支持实时多媒体流。一个实时多媒体流的编码比特率可以是固定的,也可以是可变的,如当今流行的视频点播、新闻点播等。为了避免内容传送的中断,即抖动,实时多媒体流磁盘请求必须在其截止时间前完成。一个多媒体服务器还将为如文字、图像等离散数据提供服务,这种离散数据没有实时性要求,称为非实时性磁盘请求。因此对于多媒体服务器来说,必须提出一个合理的实时磁盘调度策略,一方面要保证实时请求对于实时性的要求,另一方面也要为非实时磁盘请求提供合理的响应时间。

SCAN[1] 算法选择与当前磁头距离最短并且与磁头移动方向一致的任务作为下一个调度对象,已经被证明在减小磁盘寻道时间上是最优磁盘调度策略。但由于没有考虑实时磁盘请求,SCAN导致过多的截止时间被错过,不适合于实时多媒体服务器的磁盘调度算法。

EDF(Earliest Deadline First)[1]算法是一种基于任务截止时间的实时调度算法,在任务队列中具有最小截止时间的实时任务首先得到服务。这种算法能较好地满足任务的实时性,但它只考虑任务的截止时间因素而忽略了磁盘寻道时间,极大影响了系统的吞吐量。

许多实时磁盘调度算法如SCAN-EDF[1],SCAN-RT[2],DM-SCAN[3]都对SCAN算法进行改进,使其能够将实时性考虑在内。这些算法首先以EDF顺序来调度任务,对于截止时间相同的任务,如果不会引起错过其截止时间,则用SCAN算法来调度。最坏情况下,所有这些基于优先权的算法都将退化为EDF算法,并导致过多的磁盘寻道开销。由于这些算法都没有提供接纳控制来拒绝那些会错过其截止时刻的任务。结果导致不能保证处于服务中的流的质量。

由于多媒体服务器磁盘负载还包含了非实时任务请求,实时磁盘调度算法还必须让非时任务也具有合理的响应时间。一般的做法是每个磁盘周期都为非实时任务保留固定的权值。GSS(Group Sweeping Scheduling)[4]采用了分组策略的两级调度策略,对实时任务预留带宽。为了保证已经被接受的多媒体流的服务质量,QoS-Disk[5]引入了接纳控制机制来决定是否接受一个新到达的多媒体流。WRR-SCAN (Weighted-Round-Robin-SCAN)[6]算法对非实时任务采用固定预留带宽的方式。但是,当磁盘发生过载,或者实时任务和非实时任务请求比例突发变化时,磁盘性能将严重下降。

为此,提出了动态带宽分配扫描DBA-SCAN (Dynamic-Bandwidth-Assignment-SCAN ) 算法。该算法对非实时任务采用固定预留带宽的方式,并能够根据磁盘请求的负载变化动态调整磁盘带宽的分配比例,利用接纳控制拒绝一个不能在其截止时间前完成的请求,动态回收未用带宽来提高磁盘利用率。

1 DBA-SCAN磁盘调度框架

DBA-SCAN磁盘调度框架包括以下部分:质量协调部分,带宽预留计算部分,质量监测机制,接纳控制机制和动态带宽回收机制组成。一个磁盘作业由一个实时的连续多媒体任务或非周期任务发起。实时的连续多媒体任务是有时间限制,非周期任务没有时间限制,即非实时任务。实时磁盘调度策略不仅要考虑实时实时多媒体流请求,还要处理诸如图片、文字等离散的非实时磁盘请求。DBA-SCAN的总体运行框架如图1所示。

DBA-SCAN采用带宽预留机制,将可用的磁盘带宽预留给每个任务,预留的带宽是每个磁盘调度周期中,一个任务数据传送所需要的带宽,即一个磁盘调度周期中为其服务时的数据传输的最大时间。非实时任务则排成队列,由一个虚拟服务器服务,这个虚拟服务器也被预留了带宽。接纳控制决定是否接纳一个任务。质量协调器提供了自适应质量保证。核心调度器从每个队列中提取一轮作业,并将其排序成SCAN调度队列,同时完成动态回收未用带宽。实时任务分成保证性任务和可选性任务。保证性任务的请求必须要满足,可选性任务时在满足保证性任务后去满足的。

2 磁盘模型与任务模型

DBA-SCAN每次读或者写的最小单位为块,c表示块大小(单位:比特),V表示磁盘传输速率。磁头寻道时间为tseek(d) =a×d+tstart,其中,d表示磁头从一个磁道移动到另一个磁道所走过的磁道数,a是常数,表示磁头移动相邻两个磁道的时间,tstart为磁头启动时间。

实时磁盘调度策略的磁盘请求包括了周期性的实时请求和非周期到达的非实时请求。对于非实时请求来说,将其看成一个任务,由虚拟服务器来服务,每个磁盘调度周期都为其保留了一定的带宽。对于实时请求来说,每个磁盘调度周期都为每个实时请求预留固定的带宽。

实时请求 Ti可表示为 (Ai, Bi, Di),Ai表示到达时间,Bi表示请求磁盘块数,Di 表示截止时间。非实时请求Pi可表示为 (Ai, Bi)。

DBA-SCAN首先将磁盘带宽分成磁盘周期,磁盘周期划分如图2所示。

3 实时磁盘调度策略

一个磁盘周期的时间被分解为3个部分:磁盘寻道,磁盘旋转,磁盘数据传送。DBA-SCAN为每个任务分配一个权值来指示该任务在一个磁盘周期中所占有的最大传输时间。服务器在每个调度周期内轮流为每个任务服务。令L表示每个磁盘调度周期的时间,ts表示每个磁盘周期磁头寻道时间,tr 表示每个磁盘周期磁盘旋转时间,Wi表示实时任务Ti的权值,Wrt为所有实时任务权值之和,Wp表示非实时任务的权值,于是

对于非实时任务的权值Wp不是固定的,DBA-SCAN将利用负载监测机制来动态调整Wp的值。由于每个实时请求都带有固定的权值,通过调整权值,就能相应地控制QoS。

①权值的计算

对于实时任务Ti每个磁盘调度周期必须传输bi块数,Ti的权值是:

对于非实时任务每个磁盘调度周期保留磁盘块数ba,权值是:

没有非实时性任务时,DBA-SCAN将满足每个实时任务的截止时间。建立一个虚拟非实时服务器来为非实时任务服务。为其分配权值,为在每轮中保证其权值,为非实时任务提供小量数据传输率,以避免发生饥饿现象。非实时任务的权值越大,其作业的响应时间越短。

②接纳控制

DBA-SCAN提供了自适应质量保证,每个保证任务每一磁盘周期分配一个固定权值。剩余任务为可选任务。DBA-SCAN只有当其保证任务有足够带宽时才接纳可选任务。

当一个实时任务到达,利用公式 (1) 决定是否接纳该任务。对于tr 计算主要依赖文件系统如何组织数据块。当数据块在磁盘上随机存放时,一个磁盘周期所扫描的数据块可能不在同一个磁道上。每个磁盘周期传输的总数据块为:

其中,n为实时任务个数。最坏情况下所有数据块在不同磁道上,于是有:

其中,ta为磁盘旋转一圈与磁头启动之和。于是有:

为了完全利用带宽DBA-SCAN在磁盘周期前带宽分配,在磁盘周期后动态回收未用的带宽。前者通过每个调度周期尽可能调度更多的任务来降低磁盘开销,后者通过提前下一个磁盘周期的开始时间来动态回收未用带宽。

③负载监测机制

DBA-SCAN保证处于服务中的实时任务的质量。考虑最差情况下计算实时任务权值。然而,这些考虑也导致过多的磁盘调度时间保留,引起磁盘利用率的下降。

DBA-SCAN负载监测的方法是利用一个滑动窗口监测多媒体服务器磁盘负载的变化。自适应带宽分配调整的周期为滑动窗口大小ws。每隔ws时间进行一次带宽分配调整。监测的参数包括:实时请求的数目,非实时请求的数目,磁盘利用率。磁盘利用率定义为所有实时任务权值之和Wrt和非实时任务权值wpL的比值。多媒体服务器磁盘负载主要是实时多媒体请求,如果监测到实时请求和非实时请求变化较大,能够及时调整实时请求和非实时请求带宽分配。

为完全利用带宽,DBA-SCAN加入了动态调度策略,包括了磁盘周期前带宽分配和磁盘周期后带宽回收。前者通过每个磁盘周期尽可能调度更多的任务来降低磁盘开销,后者通过提前下一个磁盘周期的开始时间来动态回收未用带宽。

④带宽分配比例调整

磁盘工作是存在欠载和过载两种情况,需要针对不同情况来考虑如何调整带宽分配。

第一种,欠载情况。

欠载情况发生在为非实时任务保留带宽时,实时任务带宽是过载的,而实际磁盘是欠载的,即有剩余的磁盘带宽,还有实时请求得不到服务,降低了磁盘利用率。因此,DBA-SCAN利用监测参数来调整实时任务和非实时任务带宽的比例。此时,减小为非实时任务保留的带宽,尽量优先满足实时请求,因为非实时任务是欠载的。

由于权值W是按质量保证大小所预留的,因此实际应用中,一个流整个回放过程中,处于峰值的回放时间很短,又因为多个流的峰值出现在同一时间段内的概率较小。因此,当Wa调整为较小的值时,还有很大的概率利用动态回收的带宽来为非实时任务服务。DBA-SCAN对于Wa动态调整对非实时任务平均响应时间的影响不大。

第二种,过载情况。

采用磁盘利用率可以很好地表示各类应用请求所需的带宽,但是在过负的情况下,由于磁盘是饱和的,它的利用率是100%,因此不能反映出各类应用请求所需的带宽。在短暂过载的情况下,通常到达率高的请求应该分配高比例带宽。但是在过载的情况下,已经没有足够的带宽来满足实际请求的需要。在这种情况下,带宽调整主要任务是在服务器过载时反映出实时请求和非实时请求对带宽要求的相对差异,估计每类应用请求所需要的带宽。

所有实时任务权值之和为:

非实时任务分配的权值为:

其中,WrtWp分别为监测到得实时任务和非实时任务实际需求带宽。

4 实验结果

模拟仿真实验的目的是研究新提出的DBA-SCAN算法的性能,为了对比,选用WRR-SCAN算法。固定任务总数,通过调整实时任务的百分比表示实时请求到达的频繁程度。而服务时间和磁道号随机生成。参考文献[6]设置模拟实验参数如表1所示。

图3显示不同实时任务请求率向对实时任务错过截止时间率的影响。DBA-SCAN调度算法性能要优于WRR-SCAN,主要原因是该算法利用接纳控制和动态回收未用带宽来提高它们的运行质量。一个在其截止时间以后完成的磁盘请求不仅降低了流的质量也浪费了宝贵的磁盘带宽。当服务器超载时,接受还是拒绝一个磁盘请求对于处于服务中的实时流以及非实时请求的服务质量都有很大影响。DBA-SCAN拒绝一个不能在其截止时间前完成的请求。这种接纳控制在处理频繁到达的实时流时是高效的。

5 结束语

一个实时磁盘调度算法对于多媒体服务器的性能来说是非常关键的因素。本文中提出了一个新的实时磁盘调度策略DBA-SCAN。与传统的磁盘调度算法以尽力的方式服务不同,DBA-SCAN为所有处于服务中的流提供质量保证,并限定了非实时作业的响应时间。

DBA-SCAN将磁盘服务时间分成轮次,并对服务请求一SCAN顺序进行服务。DBA-SCAN通过将一个磁盘作业分成保证作业和可选作业来提供质量保证。非实时任务和实时任务在每轮调度时都被分配一个固定的权值。为了使带宽浪费最小化,DBA-SCAN引入了积极的带宽回收策略来在运行中动态回收未用带宽。回收的带宽将被用于为可选任务提供更好的质量以及减小非实时请求的响应时间。另外,通过自适应质量保证,WRR-SCAN能够灵活的对服务中的流进行质量与数量的权衡。

通过模拟程序来对比DBA-SCAN与WRR-SCAN调度算法,通过实验结果可以看出, DBA-SCAN的性能明显好于WRR-SCAN算法,而非实时请求的响应时间也能得到一定的控制。

摘要:多媒体服务器需要一个实时磁盘调度算法为具有软实时要求的连续多媒体流服务。传统的磁盘调度算法不适应实时多媒体流。提出一个新的实时磁盘调度DBA-SCAN(Dynamic-Band-width-Assignment-SCAN)算法。DBA-SCAN算法通过带宽预留和接纳控制机制为处于服务中多媒体流提供质量保证。对于非实时任务也预留了带宽以保证非实时任务具有合理的响应时间。DBA-SCAN采用一种积极策略在运行时动态回收未用的带宽。被回收的带宽被用于为可选任务或者更多的非实时任务服务。通过模拟实验对DBA-SCAN算法和WRR-SCAN算法进行对比,实验结果显示,DBA-SCAN为实时多媒体流提供了更好的质量。

关键词:实时磁盘调度,接纳控制,动态带宽分配,负载监测,SCAN

参考文献

[1]Walid G Lbrahim Kamel,Shahram Ghandeharizadeh.Disk schedu-ling in video editing systems[J].IEEE Transactions on Knowledgeand Data Engineering,2001,13(6):933-950.

[2]Kanhere S S,Sethu H,Parekh A B.Fair and efficient packetscheduling using elastic round robin[J].IEEE Transactions on Par-allel and Distributed Systems,2002,13(3):324-336.

[3]Reddy A L N,Wyllie J,Wijayaratne K B R.Disk scheduling in amultimedia I/O system[J].ACMTransactions on Multimedia Com-puting,Communications and Applications,2005,1(1):37-59.

[4]Ketil Lund,Vera Goebel.Adaptive disk scheduling in a multimediaDBMS[C].Proceedings of the eleventh ACM international confer-ence on Multimedia,2003:65-74.

[5] Myung-Sub Lee, Kwang-Jung Kim, Chang-Hyeon Park. Real-time disk scheduling algorithms based on the two-way SCAN technique[C]. Proceedings of the 2009 International Conference on Scalable Computing and Communications; Eighth International Conference on Embedded Computing, 2009:137-142.

调度实时性 篇9

需求响应(DR)作为智能电网的重要组成部分,为用户和供应商提供了更多选择,是解决能源价格浮动和能源消耗上涨的一种有效方法[1,2]。DR是通过用户响应电价变化或激励支付,改变其固有的消费模式,减少了用户电力支付,并且保证了系统稳定性[3,4,5]。用户使用的平均电价模式并不能反应实际的消耗价格,因此,针对平均电价的这种不足,提出了实时电价(RTP)、分时电价(TOU)和尖峰电价(CPP)[6,7]。分时电价和尖峰电价一个季度进行一次管理,电价值是提前设定,但为了真实地反映用户实际消耗和公共事业单位的电价水平,需要每小时进行电价的更新与管理,实时电价具有更高的灵活性,每小时对电价进行更新,符合智能家居[8,9]中通过电价的高低进行器具调度的要求。因此,本文中以实时电价为基础,对家庭器具进行优化调度,家庭器具调度系统如图1所示。

优化调度的前提是预测提前一天的实时电价。电价预测的方法有很多种,主要包括时间序列法,神经网络法和组合方法[10,11]。在文献[12,13]中,采用时间序列法(ARIMA)对电价进行了预测,这种方法需要的历史数据少,计算速度快,但是相比于其他方法预测误差较大;在文献[14]采用神经网络(NN)对实时电价进行电价预测,虽然神经网络方法相比于时间序列法预测精度得到了提高,但是当每个小时电价值的变化相差较小时,仍会影响预测效果。本文为了更加精确地预测实时电价,以西班牙的历史电价为基础[15],采用小波、微粒子群和自适应神经网络模糊推理系统(Wavelet-PSO-ANFIS,WPA)组合的方法预测实时电价。通过与其他电价预测的方法(ARIMA,W-ARIMA,NN)比较,表明了本文采用的这种电价预测方法在不牺牲计算复杂度的前提下,大大提高了电价预测精度。

其次,关于家庭器具的优化调度,学者也在不断的研究。文献[16,17]中通过不同的优化调度方法,减少了用户的电力支付,把保证了系统的稳定性,但是忽略了对用户舒适度的考虑;文献[18]中通过结合可再生能源的可用性预测和市场电价预测技术,为家用电器分配动态优先权,实现智能家居能源消耗的有效管理和调度,但是缺乏节能与体验质量的均衡性考虑与分析;文献[5,19]提出的优化调度算法权衡了用户的电力支付与用户的舒适度。但是以上的研究中均没有考虑器具的特殊性,没有针对家庭中不同器具的特性,考虑用户对不同器具延迟或者提前的影响。

针对器具的工作时长不同,文中提出了一种相对量化用户舒适度的方法,采用该方法解决了用户对不同器具延迟或者提前产生不同敏感度的问题,应用数学方法衡量了用户对不同器具的满意度。本文建立了关于用户电力支付和用户舒适的线性规划模型,通过优化调度有效地权衡了用户的电力支付与用户的舒适度,降低了系统的峰均比,保证了供电方系统的稳定性。

2 实时电价预测

准确的电价预测对于供应商和用户都存在重大意义。供应商利用预测的电价来策略投标,风险评估和制作投资计划等;用户则根据预测的电价重新安排器具。

2.1 利用WPA进行实时电价的一般步骤

WPA方法是一种混合方法,在电价预测中小波、PSO和ANFIS对于提高预测精度各有不同的用途。其中,小波转换将价格序列转换为一系列基本序列,这些基本序列比原始的价格序列表现出更好的性质,因此,可以更加精确地预测。它用在电价预测的第一阶段和最后一阶段。ANFIS结合了NN的自我学习能力和模糊推理的语言表达能力,应用于非线性预测,利用过去的样本来预测未来的样本,而PSO用于提高ANFIS的性能,调整隶属函数来实现低的错误。电价预测的具体步骤如图2所示。

第一步:价格序列的分解。对价格序列按照小波分析法进行分解,得到高频序列和低频序列。

第二步:高频和低频序列的预测。对每个序列进行预测时,首先确定PSO的种群大小,用初始化的种群代替ANFI的前件参数,根据前件参数计算后件参数的值,从而计算网络误差,将该网络误差作为粒子群的适应度值。接着更新粒子的速度和位置从而得到ANFIS的各参数。最后利用ANFI对这些序列逐步训练以确定最佳模型,通过该模型预测所有序列。

第三步:将预测的序列重构为原来序列的预测值。

2.2 利用WPA预测西班牙的实时电价

本节选取西班牙2013年3月到5月的电价作为训练数据,预测出2013年6月1日07:00到6月2日06:00的24小时的电价。PSO的参数设置如表1所示。图3是利用文中提出WPA方法预测的电价与实际电价的对比图。

2.3 不同的实时电价预测方法

根据式(1)计算了ARIMA、W-ARIMA、NN和WPA的平均绝对百分比误差(MAPE)。由表2数据可知,文中提出的WPA的预测效果优于其他几种方法。

式中:Ch是实际的电价,C'h是预测的电价。

2.4 电价模式

为了防止用户在低电价时段开启大量器具,本文中采用实时电价与斜坡块率(IBR)结合的电价模型

式中:mh和nh是根据能耗划分的阶梯型电价,nh>mh;Emax,h为时隙h的能耗上限;lh表示每时隙的总能耗,

3 优化调度模型

根据器具自身特性和用户的行为习惯,将家庭器具进行分类:非实时器具和实时器具。为了满足用户需求器具运行时间不能延时,当器具到达运行时间后必须马上开启,这类器具被指定为实时器具,例如:电视、电脑、电灯等;而热水壶、洗衣机、电饭煲等家庭器具可以根据所接收到的电价信息调度操作时间,减少电力支付,这类器具被称为非实时器具。将家庭器具的优化调度范围设定为一天(2013年6月1日07:00到6月2日06:00),利用H表示优化调度空间,则调度时隙h∈[1,2,…,H]。A表示非实时器具,对于每个器具a∈A,在时隙h的能耗是ea,h。

3.1 目标函数

目标函数的目的是最小化用户的支付成本,包括电力成本和用户舒适度成本。

3.1.1 用户电力支付

在所预测的实时电价基础上,用户的电力成本被公式化为

3.1.2 用户不满意度

由于家庭中不同器具的工作时长不同,为了权衡用户对不同器具的满意度问题,我们提出了一个量化舒适度的方法,即在用户可以容忍器具的工作时段内,利用优化调度后器具的工作时隙和用户最满意器具的工作时隙的相对距离与用户可容忍器具工作时隙总数之比来表示用户的满意度

式中:ψa是器具a优化调度后的实际开启时隙;γa是用户最满意器具a的开启时隙;la是器具a工作完成需要的总时隙数;λa是器具a在舒适度成本中所占的权重,λa=w/la;Za表示用户对器具a的不满意度;Z表示用户的不满意度。

3.2 约束条件

为了满足目标函数,达到最小的用户电力支付成本与用户的舒适度成本,需要满足以下约束条件。

3.2.1 能耗约束

在调度过程中为了保证器具a可以完成操作,所需的能源是

式中:αa和βa分别表示用户能够容忍的器具a运行的开始时隙和结束时隙;Ea表示器具a完成操作需要的总能耗。

为了保证系统的稳定,每个时隙器具的能耗有限,假设Emax,h为时隙h的最大能耗上限

3.2.2 舒适度约束

为了保证用户的舒适度,每个器具的不满意度需要小于用户对该器具的最大不满意值m

3.3 线型规划模型

结合式(3)和式(5),本文中提出的用户支付的目标函数为

由于式(9)是不可微分的,所以将目标函数(9)进行优化。结合式(2),每个时隙的电力支付被重新公式化:

当h时隙家庭器具的能耗0≤lh≤Emax,h时,用户的电力支付Pa为

当h时隙家庭器具的能耗lh>Emax,h时,用户的电力支付为(11)

因此

引入二进制决策变量xa,h,当xa,h=0表示器具a在时隙h开启;xa,h=1表示器具a在时隙h关闭。则式(11)被重新公式化为

通过上述变换,所提出的最小支付的调度问题被公式化为如下整数线性规划模型

式中:w1,w2分别为电力成本与舒适度在成本支付中的权值,w1+w2=1。

4 仿真验证

这一部分,利用计算机软件MATLAB和CPLEX仿真验证来评估提出的基于电价预测的家庭器具优化调度方法的性能。假设住宅在仿真过程中器具的参数设定如表3所示。时隙长度为10 min,则时隙t∈T=[1,2,3,…,144]。假设本文中所有器具的运行时间均为用户能够容忍的器具的工作范围。

4.1 电力成本与不满意度的关系

通过表4中的3种案例来说明用户不满意度与电力成本的关系。案例1:首先假设用户对器具的不满意度上限m=2,考虑用户的电力成本,即w1=1,w2=0时,对家庭器具进行优化调度。图4是经过优化调度后器具的实际操作时隙。然后将表3与图4中数据带入式(4)可以得出每个器具的不满意度值,如表5所示。此时,用户的不满意度Z=3.072,用户的电力支付Pa=50.95 cents;案例2:只考虑用户的最小电力成本,不考虑其他两个因素,即w1=1,w2=0时,m可以无限大,则用户不满意度Z=5.357,用户的电力支付Pa=41.39 cents;案例3:不考虑m与Pa,只考虑用户的不满意度,即w1=0,w2=1,此时不满意度Z=0,用户的电力支付为65.89 cents。

通过比较以上3种案例,发现用户的电力支付与用户的不满意度成反比。因此,可以通过对器具的优化调度来权衡用户的电力支付与用户的不满意度。

4.2 量化舒适度的影响

以上一节中案例1为对象说明本文中所提出的相对量化舒适度的性能。根据表3中的数据可知,电饭煲的实际开启时间比用户最满意的开始时间提前了6个时隙,而电动汽车的实际开启时间比用户最满意的开启时间延后了18个时隙。通过文献[5]中的方法,单从时隙方面来看,电动汽车对用户造成的影响较大。但是,电动汽车的工作时长相比于电饭煲要长,只采用这种方法无法准确衡量用户的满意度。所以采用本文中提出的相对量化方法,可以得出电动汽车的不满意度是3/4,而电饭煲的不满意度为2,如表5所示。因此,电饭煲开启时间的改变相比于电动汽车对用户的影响较大。

这种针对不同的器具特性,采用相对量化的方法,可以更加准确的衡量出器具延迟或者提前对用户造成的影响,提高用户的舒适度。

4.3 用户的支付成本

以上一节中案例1为例,说明优化调度对系统性能的影响。本节通过用户的电力支付评估文中提出的优化调度方案的性能。图5中显示出优化调度前与优化调度后用户的电力支付从65.89美分降低到50.95美分,降低了22.67%。图6中表明了一个月内用户每天优化调度前与优化调度后的电力支付,一个月内用户的电力支付从20.32美元降低到15.98美元。

利用式(15)计算系统的分均比可知,通过使用优化调度算法系统的平均PAR从5.65降低到4.57,降低了19.1%。

仿真结果表明利用文中所提出的优化调度算法不仅可以减少用户的电力支付,还可以降低系统的峰均比,保证系统的稳定性。

5 结束语

本文将WPA电价预测方法应用到智能家居中的实时电价预测。这种方法不仅保证了电价预测的预测精度,还保证了所预测电价的实时性。在预测的实时电价基础上,提出了一种家庭器具的优化调度算法,权衡了用户的电力支付与用户的舒适度问题,并且在文中提出了一种相对量化舒适度的方法,解决了器具由于工作时长不同,造成的用户对不同器具延迟或者提前工作产生不同影响的问题。

摘要:针对家庭器具优化调度中电价预测误差高和用户舒适度衡量偏差大的问题,提出了一种基于小波、微粒子群和自适应神经网络模糊推理系统(Wavelet-PSO-ANFIS,WPA)电价预测的家庭器具优化调度算法。并在该算法中针对器具运行时长不同的问题,提出了一种新颖的相对量化舒适度的方法。仿真结果表明,此电价预测方法在不牺牲计算复杂度的基础上提高了预测精度,不仅可以权衡用户的用户支付和不满意度,还可以降低系统的峰均比。

上一篇:货代及航空公司下一篇:秸秆还田可行性分析