高能物理云计算应用 中国科学院高能物理研究所 计算中心 程耀东 2016年6月6日
提纲 云计算与高能物理需求 IHEPCloud项目及虚拟计算 未来展望
云计算-定义 其定义众说纷纭 美国NIST(美国国家标准与技术研究所):云计算是一种模型,它可以实现随时随地,便捷地,随需应变地从可配置计算资源共享池中获取所需的资源(例如,网络、服务器、存储、应用、及服务),资源能够快速供应并释放,使管理资源的工作量和与服务提供商的交互减小到最低限度。 五个特点 随需应变的自助服务;无处不在的网络访问;资源共享池;快速而灵活;计量付费服务 三种服务模型 软件即服务SaaS;平台即服务PaaS;基础设施即服务IaaS 四种部署模型 私有云(Private cloud);社区云(Community cloud);公共云(Public cloud) ;混合云(Hybrid cloud)
云计算服务模式 SaaS 软件作为服务 Google App Microsoft Live SalesForce SaaS PaaS 平台作为服务 Google AppEngine Microsoft Azure Sina AppEngine IaaS 基础设施作为服务 Amazon S3/EC2 IBM BlueCloud 阿里云…
典型的高能物理计算集群架构 计算资源由各个实验组购买 划分为很多计算队列
计算资源使用统计(示例) 2016.5.29-6.4
总体41% 排队 总体情况 2016.5.29-6.4
使用特点 有的队列大量排队,有的队列空闲 每个队列的使用均存在高低的波动 不同队列之间的使用高峰时间不同 总体资源使用同时出现大量排队和资源利用率不高的问题 在示例中,排队有时高达1万作业,但是仍然存在5000左右的CPU核空闲
存在的问题 引入虚拟化和云计算 队列使用控制 个人权限限制 操作系统等运行环境不兼容 不支持抢占,资源回收慢 不允许其它人或其它组使用 每个人最多只能运行具体数目的作业,提交太多,不允许运行 操作系统等运行环境不兼容 不同实验组之间不能互相运行作业 不支持抢占,资源回收慢 引入虚拟化和云计算
虚拟计算集群 在物理机和RMS(资源管理系统,比如PBS)之间构造虚拟层 将物理机虚拟化,形成多个虚拟机 按照作业量动态扩展或者收缩计算队列的资源 减少运维工作量,提高资源利用率 WLCG Grid RMS Virtualized RMS nodes Virtual machines Openstack Dedicated SGE working physical nodes VMM VMM VMM VMM Physical machines
CERN Cloud CERN Cloud是世界最大的虚拟集群之一 基于Openstack构建,2013年开始运行 统一管理两个数据中心(日内瓦与布达佩斯) 规模:5800物理机,15.5万颗CPU核,18000虚拟机 2016年还将扩充资源,全部资源都将虚拟化 根据集群任务动态创建或删除虚拟机 平均10秒钟创建/删除一个虚拟机 CERN团队获得Openstack 2015年巴黎峰会SuperUser大奖 数据来源:HEPiX 2016 Spring
IHEPCloud 2014年11月上线服务 面向用户的自助服务 虚拟计算集群,动态资源调度 基于用户的记账系统和资源互换 IaaS服务,个人虚拟机 虚拟计算集群,动态资源调度 基于物理作业动态启动和注销虚拟机 针对作业调度适配的image,一个作业一台虚拟机 灵活的网络架构 任意虚拟机可以调度到任意物理服务器,接入任意网络 基于用户的记账系统和资源互换 开发的用户虚拟计算资源使用记账系统 基于“积分”的用户资源提供和消费机制
个人云计算 个人测试机,拥有完全权限 虚拟登录节点 在线自助申请,无需审批 几分钟之内拥有一台完全可控的机器 拥有root权限 与登录节点环境完全相同 不受物理登录节点(lxslcXXX) 资源限制) 不受其它用户影响 只能用AFS账号登录 没有root访问权限 在线自助申请,无需审批 http://cloud.ihep.ac.cn
Architecture OpenStack DNS API Get info. interactive Storage path Push info. Dashboard Dirac Virtual Cluster API API Host Monitor OpenStack Log Analysis authentication LDAP Service monitor UMT (IHEP EMAIL) Register Nagios Get VM info. Interoperation DNS Configuration management Backend storage UMT (CAS CLOUD) Register DNS CEPH NetworkDB Register Puppet
虚拟集群计算中间件:VPManager (Virtual resource Pool Manager) Application BES CEPC JUNO LHAASO Get VM Status, Decide to be deleted VM Node Manager Server Virtual Job Scheduler VPBS VCondor VM Node Agent Get Quota Info Create/Delete VM VM Quota Interface (Socket) Image Mngt. API VM Pool NETDB Accounting Table Openstack 1 Openstack 2 image NMS/DNS/…
资源份额管理 设置不同的计算队列,制定不同的虚拟队列 针对不同的应用开发不同的负载检查程序,比如VPBS, Vcondor,将来可以扩展到其它应用,比如Web集群等 每个队列由最大值、最小值、预留等份额管理 队列名称 最少资源 最大资源 可用资源 预留时间(秒) BES 100 400 200 600 JUNO 300 策略 LHAASO:可用50 JUNO:可用40 VCondor 提交 作业 LHAASO排队100 JUNO排队80 申请资源 VMQuota Openstack 资源 状态 作业队列(JUNO, LHAASO等)
虚拟机性能测试(1) BES模拟作业 测试环境 测试结果 相同数量的作业运行物理机和虚拟机上,每个虚拟机一个作业. 分别测试不同的虚拟机数量(物理机24个核):1,12,24 测试环境 虚拟机:1CPU cores,2GB memory 物理机:24CPU cores,16GB memory 测试结果 1个作业:虚拟机损耗~ 3% 24个作业:虚拟机损耗~2% Job alltime usertime CPU slow 1-pm 3318.51 3303.13 99.5% 1-vm 3427.12 3391.56 98.9% 3.3% 12-pm 3761.75 3740.76 12-vm 3862.58 3828.31 99.1% 2.7% 24-pm 3786.45 3750.01 24-vm 3870.08 3829.19 2.2%
虚拟机性能测试(2) BES重建作业 测试环境 测试结果 相同数量的作业运行物理机和虚拟机上,每个虚拟机一个作业. 分别测试不同的虚拟机数量(物理机24个核):1,12,24 测试环境 虚拟机: 1CPU cores,2GB memory 物理机: 24CPU cores,16GB memory 测试结果 1作业:虚拟机损耗~ 3% 24作业:虚拟机~16% Job alltime usertime CPU slow 1-pm 6409.75 6394.53 99.7% 1-vm 6642.33 6632.84 99.3% 3.6% 12-pm 7333.58 7305.78 12-vm 7639.41 7583.24 99.4% 4.2% 24-pm 7366.25 7333.02 24-vm 8564.37 8286.49 97% 16.3% Network I/O consumption cause high IOWait
资源状况 Openstack 1: 主要面向个人用户,21个计算节点,336个物理核,464个虚核 已经使用362个 Openstack 2: 主要面向虚拟集群,28个计算节点,672个物理核,1个虚核对应一个物理核 支持LHAASO, JUNO, BES, CEPC加速器设计等 LHAASO: 410 JUNO: 100 BES:100 CEPC: 50 存储与备份 个人虚拟机不提供额外的存储和备份,可考虑IHEPBox 登录节点和计算集群使用公共存储, /afs, /besfs, /ybjgfs, /eos等
运行情况 JUNO LHAASO VCondor动态调度效果, LHAASO根据作业排队增加/减少虚拟机 (2016年4月起,6万多个作业,5万CPU小时,作业效率84.8%,与物理机运行效率接近) LHAASO (2016年1月起,4万多个作业,48万CPU小时 ,作业效率92.6%) 作业排队,自动增加虚拟机,而后排队减少 最小值 VCondor动态调度效果, LHAASO根据作业排队增加/减少虚拟机
虚拟计算集群规划 PBS 各个实验的物理机虚拟化,构成统一共享资源池,按需按策略使用 BES JUNO LHAASO Other Job Queues PBS Resource Scheduler ACCOUNTING Virtual Machines … Physical Machines BES JUNO LHAASO 各个实验的物理机虚拟化,构成统一共享资源池,按需按策略使用
各实验组资源互换计划 基础 目标 倡议 基本技术已具备,希望各实验组考虑加入这一计划,可以从少量资源共享开始! 计算资源使用,有忙有闲 精细记账,知道我使用了别人多少资源,别人使用我多少资源 快速动态调度资源,实时响应作业变化 支持作业抢占,满足高优先级作业优先运行 目标 空闲时,各实验组向外贡献资源 紧急时,实验组可以使用比自己更多的资源 如愿意付费,可以自动代理使用商业云 实验组优先使用自己的资源 使用方式不变,完全透明 倡议 基本技术已具备,希望各实验组考虑加入这一计划,可以从少量资源共享开始!
中国高能物理云计算社区 目标与各实验组资源共享一样 技术上与网格侧重点不同 资源共享、使用更多资源、等等 技术上与网格侧重点不同 构造跨站点的统一系统映像 广域网上的使用方式与本地相同 跨站点/商业云资源自动组成资源池,由后台操作 美国OSG已经运行10多年,使用HTCondor作为中间件,具有丰富的经验 自动转移作业 亚马逊,阿里云,… 商业云 BUSY SiteA SiteB
HTCondor分布式资源管理 计算实例 仓储 作业 Condor Sched Condor Sched Condor Central Manager Condor Central Manager HTCondor CE (HTCondor、PBS、Slurm…) HTCondor CE (HTCondor、PBS、Slurm…) 计算节点(HTCondor) 计算节点(PBS) pbs_mom condor_startd condor_startd condor_startd 防火墙边界 机构A 机构B
小结 虚拟化和云计算技术已经相对成熟 基于虚拟化提高资源利用率是可行的方案 高能物理领域开始广泛采用虚拟化和云计算 高能所虚拟集群和动态资源调度已经上线试运行 实验组资源互换与中国高能物理云计算社区规划,类似于共享经济概念,比网格计算更加自由灵活 最后,希望大家集思广益,探索资源共享机制,积极把资源加入高能物理云平台
谢谢 chyd@ihep.ac.cn