自由软件在调度自动化系统中应用的可行性研究
> 路广王永福张伯明孙宏斌
100084)
Linux操作系统调度自动化嵌入式
1引言
近年来,随着中央处理器(CPU)制造技术和工艺的飞速发展,CPU的性能得到很大的提高。基于IntelX86CPU芯片和自由软件组织(GNU)发展起来的Linux操作系统不仅使PC机能够达到和超过Unix工作站的性能,更使PC具有这些商用工作站所无法比拟的性能价格比。PC/Linux越来越受到人们的重视,它在很多领域中得到了广泛的应用。世界上一些大的高能物理实验室,如CERN、费米实验室等都在尝试着用微机代替工作站进行大型数据分析工作,并取得了良好的效果。
为了提高调度自动化系统的数据分析能力,清华大学电机系调度自动化研究室从1997年开始尝试PC/Linux系统,从1998年起就着手进行把原来在Sun和Alpha工作站上运行的TH-EMS/DTS(V3.0版本)一体化系统移植到PC/Linux平台上的工作,并在此基础上对TH-EMS/DTS一体化系统的软件环境进行了全面的移植与改进,使之能在PC/Linux平台上运行。从1999年起就以PC/Linux为开发平台,构建新版的TH-2100EMS/DTS一体化系统,并且成功地移植到Sun/Solaris和Compaq/Tru64的平台上,被多个地区级电网采用,得到了良好的评价。
2自由软件与Linux
近年来以Linux为代表的自由软件在计算机界掀起了一场革命。Linux是一种可以运行在多种计算机上的免费的类Unix操作系统。自从Linux的源程序在Internet上公开后,就以惊人的速度成为发展最快的操作系统。现在Linux已经成为一个功能强大、稳定可靠的操作系统,与传统Unix和微软的Windows成三足鼎立之势。Linux的开发及其源代码在GPL(GeneralPublicLicense)的保护下对任何人完全免费,用户可以通过Internet下载或购买相当于光盘成本的CD-ROM。除GNU组织和世界各地的自由软件高手外,很多商业化公司提供完整的Linux发行版(Distribution),内含功能丰富的自由软件。Linux在大型机、高端服务器、低端工作站、PC微机、移动通信和嵌入式系统方面都有广泛的应用。
Linux之所以被如此广泛的应用,是因为它具有如下的优点:
(1)安全可靠:源代码公开,开发商无法在操作系统中预留安全隐患。
(2)硬件开放性好:支持PC、Alpha、Sun、Pow-erPC等多种机型;支持绝大多数的外设硬件;支持多网卡和双网结构;支持许多老、旧硬件。
(3)软件开放性好:支持POSIX接口,具有全部Unix特征,在Linux上开发的程序只需少量修改就可以移植到其他Unix系统上。
(4)网络性好:支持TCP/IP、Netware、PPP、SLIP、Samba、AppleTalk、RPC、NFS等多种协议,可与Windows、Netware、VMS和各种Unix系统互联。
(5)安全性好:象大多数Unix一样达到C2级标准,在Internet网络服务器应用最多。
(6)支持高性能数据库:包括Oracle、Sybase、DB2、Informix等大型数据库,和MySQL、Post-greSQL等小型数据库,支持C/C++、ODBC、JDBC、Perl、PHP接口。
(7)图形化用户界面(GUI):X-Windows下支持OSF/Motif和OpenGL。
(8)面向对象的开发:支持C/C++、Java、Fortran、汇编、Perl、PHP、Awk、Tcl/Tk等多种语言,具有功能齐全、免费易用的开发工具和集成化的开发环境。
(9)支持背景雄厚:已经有多家大型IT行业厂商宣布支持Linux,包括IBM、HP、Compaq、Intel、Sun、SGI、Apple、SCO、Novell、Oracle、Informix、Sybase、CA、Lotus、Corel、Netscape、Borland、Motorola等。
(10)汉化:比较成熟的中文版Linux有红旗Linux、TurboLinux、XteamLinux和BluePointLinux。
我国有多年使用Linux的历史,也有丰富的Linux相关技术讨论站点,越来越多的大学生和技术人员掌握了自由软件的知识,成为将自由软件应用于工业企业中的坚实基础。从1999年“Linux未来发展”高层研讨会起,国家信息产业部大力全面推动Linux在中国的普及和应用,为将以Linux为代表的自由软件应用到工业领域起到了非常重要的促进作用。
3应用自由软件的可行性研究
由于PC微机和工作站的中央处理器不同,Unix和Linux平台下的软件支持程序也有所不同,人们担心这些可能的差别会导致同样的数据在U-nix工作站和Linux微机两个平台上分别进行分析计算后得到的结果不一致;或者担心PC/Linux的速度无法满足调度自动化系统的要求。另一方面,由于PC/Linux的价格低廉,可能会怀疑其工作的可靠性和寿命。
为了能从实际应用的方面来回答这些问题,笔者对这些平台工作的可靠性、稳定性进行了测试研究,并将在PC/Linux上与在工作站上进行的数据处理结果的一致性作了研究对比。
3.1PC/Linux系统配置
笔者使用的PC/Linux系统由9台PC微机组成,CPU为Intel公司产品,从PII233到PIII500不等。它们直接连接在100MB/s高速以太网上,彼此可以共享硬件和软件的资源。这些微机上安装了目前较为流行的RedHat6.2和TurboLinux6.1操作系统,辅以一系列应用、管理和开发方面的自由软件,构成了全方位的开发环境,成为功能强大的Linux系统。
3.2EMS/DTS一体化系统的移植
作为SCADA上的高级分析软件,EMS对于调度决策起关键的辅助作用;作为电网的模拟器和培训调度员的有力工具,DTS对电网稳定运行也是非常重要的。清华大学所开发的TH-2100EMS/DTS一体化系统是在支撑平台、功能模块、数据结构和应用程序级三个层次上的一体化系统。
为了使该系统既能在Unix上又能在Linux上运行,需要对程序进行移植。在不同的机器中,系统提供的函数是不尽相同的,数据结构也是不一致的。在移植过程中,需要建立针对不同平台的预编译宏,编写不同的系统访问函数,提高程序的可移植性,使其能在各种平台上运行,从而保证程序在不同平台上运行都能得到相同的结果。
3.3用网络分析软件对两类平台的测试
3.3.1结果一致性的测试
为了检验PC/Linux对电网实时数据的处理能力,随机选取南方某大型地区电网的某个实时数据断面,分别在PC/Linux、SunUltra10/Solaris和CompaqAlpha/Tru64工作站上进行分析。通过对断面的分析得到状态估计和在线潮流结果。比较两类平台的计算结果后看到,即使精确到小数点后3~4位,三台机器上的结果也是完全一致的。采用不同断面进行分析的结果也相同,说明计算结果准确。
3.3.2CPU数据处理能力对比
同样以该地区电网为例,在Alpha600au/Tru64工作站上进行一次状态估计平均需要1.1s,在SunUltra10/Solaris7(双CPU)工作站上进行一次状态估计平均需要1.3s,而在PIII500微机上同样进行一次状态估计平均需要0.4s。PIII500微机与Alpha600au工作站相比,前者的估计速度是后者的2.7倍,是SunUltra10工作站的3.0倍。在线潮流的计算速度比较结果也是类似的。更详细的对比参见表1。
为了测试PC/Linux系统处理进程调度和网络通信的能力,分别使用这几台微机和工作站运行同样的EMS/DTS一体化系统。在这种情况下,PC/Linux工作站的空闲率在60左右,而工作站的空闲率为30左右。
研究结果表明,在进行电网实时数据分析方面,PC/Linux完全具有商用Unix工作站的性能,并且运算速度遥遥领先。在现有的硬件配置和软件环境下,一台PIII500微机的计算能力是SunUltra10和Alpha600au工作站的2~3倍。而PC的价格远远低于工作站(仅为相同能力的Sun工作站价格的5~10)。
经过近一年的开发和测试,发现该系统不但在运算速度和价格上占有很大优势,而且运行稳定、可靠。因此笔者认为选择PC/Linux平台用于电网调度自动化系统的数据分析是可行的、经济的。
3.4两类平台[1][2]下一页
来源:中国电力资料网