面向Web的高性能计算集群作业调度系统

2016-12-15 20:17李薛剑苏素梁瑞陈仕绮
电脑知识与技术 2016年27期

李薛剑+苏素+梁瑞+陈仕绮

摘要:目前高性能计算机集群的作业提交和运行状况反馈大多是基于linux系统的命令行方式,该种操作需要操作人员对Linux系统和高性能计算机集群命令有一定的了解。对非计算机专业人员而说,使用高性能计算机集群非常不方便。基于这一现状设计了一个基于Web提交的高性能计算机集群作业调度系统,系统主要有作业提交、作业查询、用户信息修改查询和记录操作等功能。Web前端通过Http协议将用户请求和数据传输到后台服务器,后台服务器通过过滤器拦截提取分析用户请求,根据用户请求通过ssh安全协议将文件提交到作业调度系统,执行命令。实现了用户通过图形界面友好方便地使用作业调度系统。

关键词:计算机集群;java web;作业调度系统;ssh协议;界面功能

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)27-0205-03

Abstract: Many health of university high-performance computer clusters out of the feedback information is based on linux system shell interface, this interface is neither beautiful nor convenient for people operating and requires professional and technical personnel input command character. Based on this situation we designed a high-performance computer cluster a Web-based system is divided into two parts, user interface and administrator interface, there are two parts in job submission, job queries and query records and modify some of the information function, the operating system becomes visual query without having to enter the command character, simply click interface, graphical components, feedback out of the information displayed on the web naturally interface.

Key words: computer clusters; web; job actions; feedback; interface features

1 背景

高性能计算技术目前已越来越广泛的用于科学计算、金融分析、气象预测等多个领域。人们对于大规模计算的需求急剧增加。由于高性能计算机的操作要求较高,需要用户对linux系统和作业调度系统有一定的了解,并熟练掌握作业调度系统的命令。这对于非计算机专业的使用人员来说并不友好:第一,他们需要的是对高性能计算机集群的操作,对学习linux系统和集群命令并不感兴趣;第二,使用命令行来进行操作十分复杂,需要使用者对集群的架构十分清楚。

基于以上原因,本工作本着操作简化的原则,研制了一个基于WEB提交查询作业的作业调度系统,通过WEB界面上的图形组件直接与安装在集群上的作业调度系统进行通信。

2 关键技术

本工作使用动态网页技术标准JSP,涉及JAVA编程语言、ssh传输协议、SQL数据库,以及TORQUE高性能集群作业管理系统和Linux操作系统。

3 系统结构功能分析

3.1 系统的结构

系统用户分为普通用户和管理员两类:普通用户实现作业提交、作业查询、用户信息查询修改和操作记录查询功能;管理员在普通用户功能的基础上增加了控制用户和控制计算作业的功能。

系统结构图如图1。

4 模块分析

4.1 作业提交模块

Web前端通过html的file标签获取本地要提交的作业,通过http协议提交到服务器中,在获取本地文件的同时,还需在网页上填写或选择脚本信息,数据提交到web后台处理,在服务器本地中生成脚本文件。然后通过ssh协议,将获取到的作业和生成的脚本文件提交到远程作业调度系统中,再通过ssh协议向作业调度系统发出提交作业的命令,实现向作业调度系统提交作业的功能。如果脚本文件是windows/Dos环境下生成的,还需要传输格式转换命令,将脚本文件转换为unix格式。作业提交模块流程如图2所示。

4.2 作业查询模块

Web前端的作业查询是对数据库进行查询。用户要执行作业查询操作时,web后台向作业调度系统传输查询作业命令,并将查询结果重定向输入到一个文本文件中。将记录作业状态的文本文件下载到服务器中,后台对文本文件进行分析处理,提取出信息依次存入或更新到数据库中,最后在数据库中提取信息显示到jsp页面中。作业查询模块流程如图3所示。

4.3 登录注册模块

用户在前端输入登录信息提交,拦截器拦截分类提取信息,提交到aciton类中,action类连接数据库进行对比,核对成功则进入相应主界面,不成功则返回登录界面并反馈错误信息。本模块流程如图4。

4.4 其他模块

其他模块主要是对数据库进行操作,如图5所示。用户进入不同的页面,向后台发出相应请求。后台接收到请求后连接数据库,根据请求不同,生成不同的sql语句并执行,若有返回结果集,则显示到前台,若没有结果集,返回相应提示信息。为了提高性能,本工作采取了数据库连接池的技术。

5 实验环境及功能实现

5.1 实验环境

本实验环境在windows下通过myeclipse编写,数据库采用mySql,并用安装在centos7上的torque系统进行实验测试。

5.2 实验测试

1)作业提交

可实现提交作业并返回作业号,方便用户查询

2)作业查询

可查询到集群上的作业状态,可实现删除作业功能。

3)登录注册功能

验证登录注册如图8扎示。

4)其他功能

查询和修改数据库记录功能如图9。

5.3 实验总结及改进

本工作通过Java与远程作业调度系统进行交互,实现了高性能计算集群的作业提交、作业查询、删除作业功能。除了以上核心功能,还实现了系统基本的登录注册,修改查询等功能,满足用户的使用。

网站性能方面尚有所欠缺,缺少必要的安全性方面的保障。在后续阶段中逐步对系统进行优化修改。

6 结束语

调度系统在高性能计算中必不可少,由于现有的调度系统都是使用命令行来对集群进行操作,使得工作量大大的增加,也让许多非专业人士望而却步,导致高性能计算无法普遍的使用。本着简化操作的原则,我们在网页上做出了图形界面,实现了可视化操作,用户只需要登录网站就能直观的对集群进行操作,不用再像传统的调度系统输入命令行。这一调度系统的实现,大大减少了用户的工作量,最重要的是简化了用户的操作。经过软件测试,该调度系统能够实现作业的提交、删除与收回,能够动态可视的检测集群的使用情况。对于用户来说,这些基本功能已经能够满足他们的需求,用户不需要了解集群的架构也不需要学习专门的命令行,只需要能够使用计算即可。就用户需求来说,该调度系统已经实现了简洁可视化的操作。针对用户中的专业人士对于高性能计算的专业需求,在未来的工作中,我们将对系统进一步完善,满足多种用户的需求,广泛地应用于高性能计算中。

参考文献:

[1] 陈意云. 编程语言JAVA介绍[D]. 合肥: 中国科学技术大学网络与系统研究所,2010.

[2] 张洋. 高性能集群作业管理系统torque分析与应用实现[J]. 计算机工程与科学, 2007, 29(10):132-134.

[3] 郭真. jsp 程序设计教程[M]. 北京: 人民邮电出版社,2008.

[4] Michael Bowers. 精通HTML与CSS设计模式[M]. 北京: 人民邮电出版社,2008.

[5] 陈冈. ANT和openSSH在JavaWeb数据安全传输中的应用[J]. 电脑开发与应用, 2014(8):47-49.

[6] 陈明. 基于OpenSSH实现安全传输的解决方案[J]. 计算机光盘软件与应用, 2014(22):173-174.

[7] 李洋. 使用 SSH 实现 Linux 下的安全数据传输[D]. 北京:中科院计算所,2005.

[8] 余永洪. 用SSH技术远程管理 Linux服务器[J].计算机与现代化,2007(7).

[9] 李仕金. 基于 Linux 环境下 torque 集群作业管理平台的研究和应用[J]. 云南大学学报:自然科学版, 2011(S2).