1系统总体架构
超级计算中心从建成开始面临最大的问题就是如何提升用户服务质量和水平。作为超级计算中心运营管理部分的核心内容,多租户资源分配管理需要考虑3个关键问题:资源共享机制,减少每个租户的硬件、软件和管理成本;隔离机制,防止租户之间的非法访问、冲突和干扰;定制机制,通过配置方法支持与租户相关的UI、访问控制、数据模型[6]。面向超级计算中心的运营管理支撑平台作为支持多租户并发使用超级计算机资源的基础性设施,包括支撑平台、个性化增强模块、高可用增强模块、运维管理模块以及应用服务模块,构成一个智慧计算支撑环境,支持多用户同时使用超算资源时的灵活性、安全性和高可用性。主要开发实现的内容包括:支持多租户运营模式的智慧计算支撑环境,包括支撑平台的个性化支撑技术、支撑平台的高可用增强、运维管理机制与面向超级计算关键应用负载特性研究;研究超级计算中心的运营机制。运营管理支撑平台总体架构见图1。
2系统分析与设计
2.1智慧计算支撑平台
2.1.1高性能隔离域子系统高性能隔离域技术向用户提供了构筑独立运行环境的支持。通过该运行环境,操作系统支持用户可以按照自己的意愿灵活配置。高性能隔离域技术采用操作系统层虚拟化技术,通过在一个操作系统上构建出多个独立的用户运行环境,实现了在一个操作系统内核上同时运行多个相互独立的高性能虚拟机的目标,同时保证了系统性能基本无损。系统提供通用的虚拟计算环境,支持专用虚拟计算环境定制。为了减小性能损耗,为用户提供性能无损的计算服务,采用了环境提取和基于路径转换的快速计算环境构建技术,通过文件目录树的切换在计算结点上快速构建与前端一致的用户运行环境。2.1.2资源管理与调度子系统资源管理与调度子系统的基本功能是接受来自用户的资源请求,并且把特定的资源分配给资源请求者。合理地调度相应的资源,使请求资源的作业得以运行。该系统应提供4种基本的服务,即资源发现、资源分发、资源存储和资源的调度。资源发现和资源分发提供相互补充的功能,资源分发由资源启动且提供有关机器资源的信息或一个源信息资源的指针并试图去发现能够利用该资源的合适的应用。而资源发现由网络应用启动并在云计算中发现适于本应用的资源。资源分发和资源发现以及资源存储是资源调度的前提条件,资源调度实施把所需资源分配到相应的请求上去,包括通过不同结点资源的协作分配。
2.2个性化增强机制
2.2.1云平台虚拟镜像管理技术虚拟机镜像在云平台上是统一管理的,云平台镜像管理技术涉及到几个方面的关键问题。(1)虚拟机镜像模板化。为了管理需要,云平台虚拟机应采用模板化的方法,这是指虚拟系统须预先完成系统安装和制作,保存为可用的镜像模板。(2)虚拟机运行实例化。云平台对虚拟机的管理采用了不同于一般虚拟化软件的方法,即在每次启动虚拟系统时,使用的虚拟机镜像只是虚拟机镜像模板的一个副本,它是模板化的虚拟机镜像的一份拷贝。运行中的虚拟机作为一个实例,具有临时性,当虚拟机任务结束后,实例对应的镜像随之销毁。(3)虚拟机实例IP动态绑定。因为虚拟机镜像模板化和实例化的原因,虚拟机系统IP并不能够在启动虚拟机前动态决定,而是在虚拟系统实例启动的过程中动态决定并分配。2.2.2支持应用快速部署的应用虚拟化当计算中心向外提供虚拟主机服务时,面临的一个重要问题是海量应用以及来自不同用户对于应用需求的多样化的问题,应用软件的数量是海量的。系统深入分析应用软件的封装技术,支持应用的自洽打包成可自由移动的软件部署包;实现软件的按需加载策略,使无需通地冗余的方式加载资源,有效提高资源利用;对应用软件将其作为资源在后台进行统一管理,在需求改变的情形下只需在后台进行重新配置,提高了管理能力和软件的部署效率。实现将研究应用软件在实际物理地址的映射关系到逻辑服务名字空间的映射策略,支持服务的全局命名。实例之间只知道对方的逻辑地址,相互连接前都要询问该中心获得真实的IP地址,然后才能进行连接通讯。当通讯失败后,需要再重新去命名中心询问该逻辑名对应的新物理地址,再重新连接。2.2.3桌面虚拟化在私有云条件下,计算中心对用户提供远程的以虚拟化为基础的主机系统服务。远程操作具体有2种方式:一是用户通过命令终端进行操作,二是通过远程桌面进行图形化的操作。一般情况下,在类Linux系统环境下普遍使用命令终端的操作,在Windows系统则采用Windows远程桌面连接的方式。从最终用户体验出发,以图形化为特点的桌面操作方式具有人性化的特点,使用户获得更好的人机交互体验。在私有云条件下构建远程桌面系统能够有效提升用户体验,从而提升计算中心的服务水平。
2.3高可用增强机制
2.3.1系统监控技术超级计算机系统规模大,软硬件部件多、结构复杂;同时根据单个部件的故障概率计算,全系统发生故障的概率相对提高,在这种复杂系统环境下,定位、恢复系统故障对系统管理员的工作量和工作难度都是很大的挑战,因此有效的监控管理软件是确保系统正常运行和提高维护保障的重要软件系统。超级计算中心监控基础架构包括3个层次的组件:应用服务运行状态监控、系统性能监控与调优工具以及硬件平台监控。一方面该系统负责监控系统潜在的错误并及时通报给运维工程师,另一方面该系统负责收集系统运行参数,为进一步的系统调优提供真实可靠的数据。2.3.2应用服务的高可用技术超级计算机系统的高可用性可以通过检测节点或服务进程故障和正确地重置系统来实现,使系统收到的请求能被存活的结点处理。通常,我们在调度器上有资源监测进程来时刻监视各个服务器结点的健康状况。当服务器对ICMPping不可达时或者探测其网络服务在指定的时间没有响应时,资源监测进程通知操作系统内核将该服务器从调度列表中删除或者失效。这样,新的服务请求就不会被调度到故障结点。资源监测进程能通过电子邮件或传呼机向管理员报告故障。一旦监测进程到服务器恢复工作时,即通知调度器将其加入调度列表进行调度。另外,通过系统提供的管理程序,管理员可发命令随时将新机器加入服务来提高系统的处理性能,也可以将已有的服务器切出服务,以便对服务器进行系统维护。
2.4应用服务技术
2.4.1高性能计算门户高性能计算门户是用户使用高性能计算资源的统一访问接口,基于portlet技术,以服务方式为用户提供安全方便的访问各类高性能计算资源的途径。门户框架主要由安全服务、远程应用管理、个性化用户界面定制等[7]。(1)安全服务。基于安全保护平台提供的认证机制,门户将建立单一登录功能,用户通过Web浏览器使用用户名/密码登录高性能计算门户后,门户将在用户的整个会话期内为用户管理证书,基于证书映射的角色为用户提供细粒度的高性能计算资源和高性能计算服务访问控制。(2)个性化用户界面定制。给行使不同角色的用户赋予不同的资源和服务视图,保证资源和服务的安全运行,同时也给不同用户提供特定的应用体验。(3)远程应用管理。基于Web的远程应用管理功能是对高性能计算作业进行在线管理,方便用户监控自己的应用作业。用户使用发布出来的在线高性能应用服务提交高性能计算作业,对于在线的应用管理分为3个部分:作业提交管理、作业详细信息管理、作业列表管理。2.4.2应用服务封装与管理通过深入分析主流的开源和商用大型科学与工程计算软件的应用模式,提取出软件的应用服务封装的一般化方法,在此基础上实现部分软件的基于Web技术的应用服务封装,为用户提供更加直观、易用的基于Web的应用使用方式。具体包括应用界面与应用核心的分离、应用界面的Web服务封装和封装模板管理、应用Web服务发布[8]。2.4.3数据管理服务计算数据是用户开展高性能计算的基础,也是用户的核心知识产权所在,因此提高数据的管理和应用效率具有非常重要的意义。传统的高性能计算机提供大量命令行操作进行数据管理,需要掌握较为复杂的操作系统命令和文件系统应用知识,而且随着应用数量的不断增长,数据存储量快速增长、目录结构更加庞大和复杂,对用户而言其数据管理的难度越来越大。因此本项目将首先深入分析广州超级计算中心超级计算机的文件系统的管理和应用模式,采用Web服务技术封装文件和目录操作,形成一套基本的基于Web的常用数据操作工具;然后设计一套用户作业与计算数据之间的生产和消费管理机制和方法,建立面向应用项目的数据管理模式;最后参考Windows资源管理器的风格,基于Web的数据操作工具,采用面向应用项目的数据管理模式,设计实现基于Web的计算数据管理服务,对不同用户、不同应用的作业数据进行高效的管理。
2.5运营管理机制
2.5.1运维管理平台高性能计算服务管理平台的IT服务管理组织架构分为2部分:服务管理(IT前台)与服务支持(IT后台)。IT前台直接面向用户,通过服务目录向用户提供服务功能列表,通过服务需求管理、关系管理、服务发布管理等,能够为用户提供更加体贴的服务。IT后台在服务台、事件管理和问题管理的基础上,基于ITIL建立变更管理、发布管理、可用性管理、能力管理等等服务流程,能够进一步完善IT服务管理流程,提高服务支持的风险防范能力。2.5.2资源审计与服务计费系统资源审计与服务计费子系统能够精确和可靠地采集服务资源的各种指标数据,并根据一定的计费算法计算出所提供服务资源的费用,或者预测服务可能收费,并将这些信息展示给用户和云服务的提供商。同时,结合第三方平台提供便捷的支付手段。此外,安全和保密措施也是云服务计费平台的重要内容。其主要内容包括[9]:(1)计费系统基础架构。计费系统基础架构主要包括账号管理、安全审计、鉴权认证、费用查询功能以及第三方的支付平台接口。(2)硬件服务计费。硬件资源采集的数据主要有CPU占用率、存储空间大小、存储访问次数、网络带宽、网络访问出入流量。这些数据的组合,可以形成多种形式的收费算法,如服务器费用按需后付费、带宽费用按流量后付费;服务器费用包时预付费等。计费平台除了支持上述基本的计费算法以外,还能够支持各种灵活的优惠措施算法。(3)软件服务计费。针对超级计算关键业务软件应用部分,计算相关费用。其中包括按组件的固定收费,以及跟用户数、在线用户数相关的浮动收费等传统软件的计费方式。此外,还有根据用户交易次数进行计费、根据云计算特有的计费方式,这就要求软件服务计费同样需要数据采集的功能。因为云计算的特点,要求软件资源的计费同样具有弹性,可以按照用户的需要随时调整软件资源的数量。2.5.3数据分析统计系统数据分析系统能够对集群系统的使用情况进行系统的分析,主要包括系统数据分析统计系统和用户数据分析统计系统。该系统将从系统的CPU、内存、节点队列、用户作业的规模、用户的机时统计及其他定制分析等方面入手,实现对大规模的高性能计算机的整体应用及性能的分析。(1)系统分析统计系统。系统分析统计系统将分为实时分析和历史分析2个部分,主要是通过对系统各项指标(主要包括CPU、内存、节点队列等)在指定的一段时间内的使用情况进行分析,通过实时使用率和历史平均使用率来了解系统在不同时段的使用状况,以此来对系统中的资源分配及节点队列进行调整,保证资源的合理利用。(2)用户数据分析统计系统。用户数据分析统计系统主要是通过多角度的数据挖掘,对用户使用系统的情况进行统计,同时为用户提供查询各项指标的功能。该系统主要分为用户机时统计、用户作业规模的机时统计、商业软件机时统计3个部分,分析不同用户的作业规模机时使用情况及各种商业软件机时使用情况,为后期资源分配调整、软件升级更新提供了全面的数据依据。
3特色与创新点
本系统平台将作为广州超级计算中心十亿亿次超级计算机系统的配套项目,实际支撑广州超级计算中心的运营,并具有以下特色和创新点[10-12]:(1)支持多租户对超级计算资源的隔离使用。支持多个用户同时透明使用超级计算资源,超级计算中心为用户构建相互隔离的运行环境,实现资源隔离、性能隔离、故障隔离,并支持用户数据的隐私保护。(2)基于虚拟化技术的多租户的个性环境构建技术。基于虚拟化技术,支持用户对私有智慧计算环境的个性化部署需求。依据用户需求加载特定软件,动态部署用户的个性环境,配置灵活。(3)支持运营策略灵活配置的资源审计机制。支撑平台具有带内和带外监控功能,支持对节点、CPU、内存、网络带宽、存储容量等多属性的监控,实现对用户所用资源的丰富审计,支持管理员对运营策略的灵活配置,从而支持超级计算中心的运营需求。
作者:杨敏 关伟豪 朱敏 单位:中山大学网络与信息技术中心 国防科技大学计算机学院
相关专题:创业理念 滨州学院学报投稿模板