对中尺度数值运算系统的优化_第1页
对中尺度数值运算系统的优化_第2页
对中尺度数值运算系统的优化_第3页
对中尺度数值运算系统的优化_第4页
对中尺度数值运算系统的优化_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、对中尺度数值运算系统的优化     3. 91550部队15分队,辽宁大连  116023)     摘  要  以某并行计算机为中心的天气预报中尺度数值运算系统存在一些缺陷。针对这些缺陷,在不改变原有程序的基础上,提出了利用Shell、守护进程、FTP等技术进行改进的方法,大大提高了系统的自动化程度,明显缩短计算时间,从而使系统能够更加及时地为天气预报提供参考资料。    关键词  MM5;并行计算机;Shell;守护进程;FTP &

2、#160;   天气预报中尺度数值运算系统是以MM5模型为基础编写的,可提供未来5日的天气形势图等天气预报参考资料,为天气预报提供了一份重要的参考数据。本系统组成如图1所示,其中并行计算机的操作系统是UNIX,该并行计算机具有高速I/O、并行计算等性能,本系统主要的计算程序中尺度数值运算程序就运行在它上面。系统接收中央气象台发布的天气资料,经过筛选保存到数据库,当天的数据接收完成后数据检索机从数据库中检索所需的数据并在每日8时生成数据文件,中尺度数值运算程序利用检索得到的数据文件进行计算,计算完成后的结果可以生成未来5日的天气形势图等天气预报参考资料。  

3、;  系统除了中尺度数值运算程序其他设备上的程序全部自动运行。但中尺度数值运算程序必须由操作员手动执行。工作流程如下:    (1)清理上一次运算的临时文件。    (2)将数据检索机上的数据文件下载到并行计算机指定目录。    (3)分别运行中尺度数值运算程序的三个子程序Makebat、fourmakaof和run_all_day。手动操作过程比较繁琐;另一方面,在运行run_all_day程序时并行计算机向控制台输出大量中间数据,造成并行计算机约6小时等待输出完成而中断计算任务,从而使利用运

4、算结果生成的天气形势图晚约6小时,这与天气预报要求的时效性相违背。中尺度数值运算程序存在的这些缺陷制约了该并行计算机性能的发挥,急需改进。    针对这些缺陷,在不改变原有程序的基础上,着眼于如何最大限度的发挥并行计算机的性能、缩短程序运算的时间、提高该系统的自动化程度的问题,提出了利用Shell、守护进程、FTP等技术进行优化。优化的思想是利用UNIX重定向技术修改运算程序执行命令,使输出重定向到并行计算机的本地文件;利用FTP服务完成从数据检索机下载数据文件的工作;将所有的命令按照一定的规则写成Shell脚本,并利用cron守护进程每日定时启动该Shell脚本

5、执行。具体的优化方法如下。图1 中尺度数值运算系统网络拓朴图1  利用FTP服务下载数据文件    文件传输协议(File Transfer Protocol,FTP)是在TCP/IP网络上的计算机之间进行文件传输的简单方法。1.1  在数据检索机上开启FTP服务    为了能够从数据检索机下载数据文件,应在数据检索机上开启FTP服务,并设置登录的用户名和密码分别为mm5和1234,并设置登陆的根目录是数据文件所在目录。1.2  利用FTP服务下载数据文件    数据检索机上

6、的FTP服务启动后,在并行计算机上利用FTP客户端程序从数据检索机上下载数据文件。FTP客户端程序是一个会话式工具,必须输入指令以到达所要的目录,再取回想要的文件;如果要自动执行,必须把过程所需的指令事先写在一个文件中,再让FTP客户端程序去读取这些指令并执行。具体的实现步骤如下:    (1)在程序所在目录建一个名为“.netrc”文件,让FTP客户端程序自动到此读取用户名和密码,才能以不用交互的方式登录到数据检索机上。.netrc文件只有一行,内容如下:        machine 192

7、.168.18.5 login mm5 password 1234该行含义分别是FTP服务器的主机地址、登录的用户名和密码。    (2)将下载过程中用到的指令顺序保存在文件ftp_command中。ftp_command的文件内容如下:    lcd  /disk1/mm5/makaof  #切换本地目录到数据文件要保存的目录     prompt          

8、;      #退出交谈模式     binary                 #以二进制格式下载     mget *.*             #下载

9、远程计算机当前目录的所有文件     bye                     #退出    (3)最后再执行下面指令即可。    nohup ftp < ftp_command &    其中nohup

10、表示即使退出系统也不会杀掉这个FTP下载进程,“&”表示在后台执行这条命令即将启动的进程。2  利用Shell脚本批量执行    Shell是UNIX操作系统中一个介于用户与底层操作系统核心之间的命令解释器。它方便用户使用内核,并保护内核不受用户破坏。在UNIX操作系统中,最常用的是Bourne Shell。在UNIX下的批处理脚本称为Shell脚本(Shell Script),Shell脚本以文本方式存储,执行时必须利用Shell将其内容转成一个个的命令执行。    将中尺度数值运算的计算任务写成Bourne Sh

11、ell脚本,执行这个脚本就可以完成操作员需要手动执行三步操作。                         (1)将操作步骤按顺序写入文件如下:    #!/bin/sh     #删除临时文件    rm  R  /disk6/mm5out/*

12、    rm  -f  /disk1/mm5/pt106/output/*     #利用FTP服务下载数据文件    cd /disk1/mm5/makaof    nohup ftp < ftp_command &     #切换到程序所在目录并分步执行中尺度数值运算程序    cd  /disk1/mm5 

13、60;  ./Makebat    ./fourmakeof    ./ run_all_day  disk6    上面的代码保存为文本文件格式并命名为mm5Script。    (2)将文件mm5Script的存取权限设定为可执行,使其成为Shell脚本。设定命令如下:    chmod  u+x  mm5Script  #设置为文件所有者可执行,其它人不能执行。  

14、60; 文件mm5Script的权限设定后就可以像其他可执行程序一样通过Shell程序调用执行。执行该脚本只需切换到mm5Script所在目录下,然后在Shell提示符下输入“./mm5Script”。    把每天重复的运算步骤按顺序写成Shell脚本,通过Shell脚本执行中尺度数值运算程序省去了输入大量命令,减少了并行计算机等待输入的时间,提高了程序执行的速度。 3  利用重定向技术弥补程序缺陷    UNIX系统使用stdout表示标准输出,在本系统中是控制台显示器;而stdin表示标准输入,在本系统中是控

15、制台键盘。在默认的情况下,Shell采用标准输入作为它所有命令的输入,而采用标准输出作为它所有命令的输出。要想改变这种默认工作方式,可以使用UNIX重定向(简称重定向)技术,即在命令后加上“>> 文件名”将输出重定向到文件或“<< 文件名”将输入重定向到文件。    在程序执行过程中有大量的运算中间结果通过网络输出到标准输出即控制台显示器,持续时间为6小时左右。后续运算需要等到中间结果输出完毕后才能进行,从而造成并行计算机长时间得不到有效利用。利用重定向技术可以将输出重定向到保存在并行计算机的本地硬盘上的文件,具体实现如下:$./ruan_

16、all_day disk6 >>/disk1/mm5/message #重定向到本地message文件因为并行计算机具有高速I/O的特性,可以很快完成输出显示到本地文件,经过测算时间大概为3-5分钟,大大缩短了程序执行的时间,为天气预报争取了宝贵的时间。    另外,利用FTP服务进行数据文件下载时也可以利用重定向技术把信息保存到文件中,为了方便也保存到message文件中,修改后的FTP执行命令如下:     $nohup ftp <ftp_command >>message&

17、amp;“>> message” 是将下载过程中的信息保存到文件 message中,以便在下载过程有错误发生时从中得到错误信息。4  利用守护进程自动执行    在UNIX系统中,有许多关键的功能都是由一些被称为守护(daemon)进程的系统进程来实现的,这些进程在后台自动运行并负责管理系统。利用名叫cron的守护进程UNIX系统可以实现在指定的时刻执行指定的程序。cron按照crontabs文件指定的时间执行命令。crontabs文件由若干行组成,每行表示一个作业。每行由若干字段组成,字段间用空格分开,每行中字段名依次为分、时、日、月、星期

18、、要执行的命令。crontabs文件是不能直接通过编辑命令修改的,要对crontabs文件进行操作必须以root身份登录使用crontab命令进行修改。    由于数值天气预报程序需要每日定时(8:00时)开始执行,在此可以利用crontab来安排进程实现其定时执行。具体做法是:    (1) 执行 crontab -l >/disk6/mm5/tmp 命令将现有的crontab重定向到tmp文件。    (2) 要设定Shell脚本mm5在每日8时定时执行,则需要对tmp文件追加下面一行:           &

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论