您好, 访客   登录/注册

超算中心服务门户系统的设计与实现

来源:用户上传      作者:王秀梅 张运动

  摘要:随着超级计算中心系统计算性能不断提高,对校级超算中心的运行管理和服务能力提出了考验,文章以某大学超级计算中心为例,从该中心提供服务的对象和内容实际出发,探讨了校级超算中心服务门户的设计与实现。
  关键词:超算中心;门户系统;计算系统
  中图分类号:TP311.52      文献标识码:A
  文章编号:1009-3044(2020)28-0096-03
  1 背景
  中国科学技术大学超算中心目前有瀚海20超级计算系统和曙光TC4600超级计算系统,计算能力高达3.168千万亿次/秒,计算能力位居国内高校前列。中心不仅面向校内外有高性能计算需求的科研院系师生和用户提供高性能计算服务,此外还向需求用户提供高发热密度的计算服务器及配套设备托管服务、计算软件合作研发服务、用户培训服务等等。为提高本中心的管理服务水平,针对这种向特定科研群体提供服务的特性,需要开发一套平台进行管理运维,从而设计了具有用户管理、计费管理、系统运行分析及性能监控、成果统计等功能的超算中心创新型服务门户系统。
  2 总体框架设计
  首先,本服务门户系统根据用户使用方式设计一套包括资源申请和审批功能的工作流程。另外该系统是在原有LSF作业调度系统的基础上开发的,故可通过操作系统接口以及作业调度系统接口获取系统信息和作业调度系统的作业信息,通过作业调度系统的接口实现提交和管理作业,以及对作业调度系统的配置进行修改。
  设计该门户系统应具备以下几层:
  1) 被管理对象层:主要包括系统管理的软硬件设备;
  2) 交换层:包括门户系统与操作系统与作业调度系统的接口;
  3) 数据存储层:使用Mysql作为系统的核心数据库;
  4) 业务逻辑层:所有的业务逻辑,如:工作流程、作业管理、系统管理、用户管理等功能都在该层实现;
  5) 系统展示层:通过Web实现用户交互,包括标准展示和自定义展示。
  3 门户系统主要功能模块设计
  3.1 在线注册和用户登录
  此功能提供包含校内外用户可访问的在线注册功能,对校内用户支持是否为在校师生等身份认证,支持本校的现有统一身份认证系统。当用户申请开设超算账户时先在线注册门户账户,收到用户申请后,发邮件通知超算中心开户,超算中心批准后,用户再申请超算账户。另外,还设有负责人账户及普通账户,分级管理。
  3.2 信息总览
  该功能主要提供科大超算中心在用的瀚海20超级计算系统和曙光TC4600百万亿次超级计算系统的总体信息,包括集群资源、作业排队、机时等几个维度的信息。
  系统账户管理包含用户账户管理、角色管理、待审核用户列表等。
  采用分级账户管理制度,提供超算中心管理员、课题组管理员、个人用户三级账户,不同账户具备不同的权限,获取不同的信息;根据校超算中心的具体使用情况提供省内、省外、中科院等不同用户的账户管理:
  1) 添加账户:超算中心管理员可添加课题组或个人用户,课题组在得到授权后可添加组内个人系统用户和VPN用户,添加后需超算中心管理员批准后才生效;
  2) 修改账户:超算中心管理员可对各级账户进行修改,课题组账户可修改课题组成员账户联系等信息,系统账户等信息需要经超算管理员批准后才生效;
  3) 删除账户:超算中心管理员可删除任意账户,删除后需保留以前信息;
  4) 开户需要设定开始结束时间,直接记录在超算系统中;
  5) 允许用户负责人在自己账户下提出申请(需要自动核实账户是否可用,比如已经存在等),申请提出后,通过邮件等通知超算中心管理员确认开户。
  3.3 计费管理
  根据校级超算中心制定的计费策略,实现不同集群、不同策略的分别计费;根据不同的计费策略,提供机时充值,机时修正功能。
  1) 提供设备托管功能,支持托管设备费用记录;
  2) 提供队列及费率信息,包含独占队列、非独占队列及设备托管信息,管理员可在页面上动态调整不同队列的计费策略,并记录开始结束日期;
  3) 计费策略中需包含优惠政策等,并记录开始结束日期等,统计时需对应;
  4) 提供计费策略的修改功能,超算中心可自行修改;
  5) 机时充值:超算中心管理员可在本页面直接为对应账户充值;
  6) 机时修正:对于计算有误或者因其他不可抗力造成的机时误差,可以使用机时修正功能,退还用户使用机时。
  3.4 成果统计
  提供用户科研成果录入(支持用户和超算中心管理员录入,各子账户的计入负责人账户)以及机时奖励系统,返还机时数据并入计费系统;以图表方式展示科研成果;对校内用户支持从校论文采集系统抽取数据由用户进行确认。
  3.5 运行分析
  提供多套集群的数据分析与统计功能,提供每套集群的主要使用数据,包括资源情况、排队情况,用户使用及作业使用情况;支持按照用户名、用户组、时间、隊列、单作业并行核数、运行机时范围等组合查询。
  3.6 性能监控
  通过大规模机群的并行性能监控和分析,可实现用户对应用运行特征的准确了解,以及对性能异常提供报警,提高运行性能,实现绿色计算和节能减排。
  1) 在门户系统中加入云版paramon软件,用户可根据自己的权限看到对应作业运行状态,账户管理员可以看到该账户下所有用户使用的作业在节点上的运行情况,包含节点本省状态,作业的运行性能等;而每个用户只能看到自己当前提交作业节点的运行状态,及应用性能状态。
  2) 保存运行特征文件   用户可单独保存某个作业的运行特征文件,并提交到超算中心,做初步的应用性能分析。如果用户很关心所运行应用的性能,可将特征文件保存后发给超算中心进行进一步分析。
  4 服务门户系统技术实现
  4.1 系统技术路线
  该服务门户系统采用B/S架构模式,后台基于成熟的SSH框架开发,采用Tomcat作为Web容器,Mysql作为系统核心数据库。系统前台采用BootStrap作为基础模板和素材库,通过重写JS和JQuery实现动态效果,系统中的报表组件采用HighChart报表库。
  4.2 应用特征数据采集与收集
  超算中心门户系统中,用户比较关注自身的具体使用情况,特征数据收集分为前台系统和后台系统,后台系统又分为服务器端程序和客户端程序。软件后台系统用于采集服务器各结点的特征指标数据,前台系统用于将收集到的特征指标数据进行实时显示,对于某一特定用户,只能通过页面看到自己的应用当前在集群上的使用情况,并记录离线的性能数据文件。
  客户端程序采集每一个结点的特征数据,然后将汇总的数据再统一传递给服务器端程序。数据采集是客户端程序的核心部分,系统级数据主要通过操作系统或第三方API获得。如:CPU每个核(包括打开SMT超线程)的USED使用率(即CPU每个核的利用率)和SYS使用率(即CPU每个核系统开销的利用率)、内存使用率、SWAP使用率、本地磁盘读写速率以及以太网网络收发速率的采集是通过调用操作系统提供的接口来获得;GPU利用率的实时采集是通过硬件厂商提供的API接口(NVML)规范来实现,InfiniBand网络的实时接收和发送量采集也是通过厂商提供的API实现。网络文件系统读写速率通过调用服务端系统参数来获得。
  服务器端程序的主要工作是汇总客户端数据,并提交给前台系统显示。由于涉及不同平台数据传输,因此,整个数据传输过程,通过XML封装数据。XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。XML在任何应用程序中读写数据都比较简单,程序可以很容易地与Windows、Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并进行分析,并以XML格式输出结果。
  前台系统的主要工作是汇总后台数据,实时呈现被选中结点的特征数据,并离线记录到文件中。同时,在前台系统中预设一系列可报警的事件列表,并对外提供开放的接口,支持自定义事件;当前台系统中对应的预设事件被触发,系统会按照预设的操作方式进行操作,即进行自动应用软件性能优化。前台系统要求是独立的系统,即可以单独部署在一个结点上,也可以和后台系统部署在同一结点上。每个节点在前台系统里有与之对应的单体窗口,在单体窗口来显示该节点资源使用状态。
  5 结束语
  在高性能计算环境运行过程中,需要加强管理,对作业进行合理调度,提高系统利用率[1]。通过建立超算服务门户系统,可以直观、全面、充分展示超算中心的资源、作业、应用和成果等各方面的信息,方便全面管理运行数据、作业数据、账单数据、成果统计等,并从不同的维度分析展現数据价值,从而进行数据积累与分析挖掘,为后续队列策略提供依据,同时为超算中心的管理和运维工作提升了效率。
  参考文献:
  [1] 赵毅,朱鹏,迟学斌,等.浅析高性能计算应用的需求与发展[J].计算机研究与发展,2007,44(10):1640-1646.
  【通联编辑:谢媛媛】
转载注明来源:https://www.xzbu.com/8/view-15368285.htm