Download presentation
Presentation is loading. Please wait.
Published byRosemary Parks Modified 6年之前
1
高能物理云平台中的弹性计算资源管理 中国科学院高能物理研究所计算中心 程振京 sce2017 Weihai,
2
提纲 背景——虚拟计算集群技术 VCondor——基于HTCondor的弹性计算资源管理系统
部署——高能所IHEPCloud云平台&运行结果分析 总结 大家都知道,随着我们高能物理实验的规模越来越大,对计算资源的需求也越来越大。虚拟化技术作为一种新的资源管理技术,正在高能物理领域得到越来越广泛的应用。是将计算机中的各种资源,如服务器、网络、内存和存储资源予以抽象、转换后呈现出来,打破实体结构间不可切割的障碍。 2017/07/05 高能物理云平台中的弹性计算资源管理
3
提纲 背景——虚拟计算集群技术 VCondor——基于HTCondor的弹性计算资源管理系统
部署——高能所IHEPCloud云平台&运行结果分析 总结 2017/07/05 高能物理云平台中的弹性计算资源管理
4
典型的高能物理计算集群架构 典型的数据密集型应用,高吞吐率的数据并发,普遍采用集群计算系统以及计算和存储分离模式
高能物理计算是典型的数据密集型应用,其计算特点是从海量数据中挖掘出稀有的事例。其特点是高吞吐率的数据并发。在高能物理领域中普通采用集群计算系统以及计算和存储分离的模式。计算节点使用批处理作业系统来处理。 典型的数据密集型应用,高吞吐率的数据并发,普遍采用集群计算系统以及计算和存储分离模式 集群计算资源由多个实验组提供,使用HTCondor作为RMS ~11000物理机和~2000虚拟机 同时存在多个独立的高能物理实验应用& 多个独立的计算队列 2017/07/05 高能物理云平台中的弹性计算资源管理
5
存在的问题 计算资源为多个计算队列使用,资源隔离 虚拟计算集群技术 各物理实验可使用的CPU核数是固定的
不同作业队列使用计算资源的高峰时间不同 同时存在作业大量排队而整体资源利用率不高的问题 虚拟计算集群技术 “弹性扩展”最早是由亚马逊提出 资源在多个计算队列中按需分配和弹性调度 多个弹性资源池, 根据作业需要动态扩张或收缩 最早是由亚马逊提出,弹性扩展是针对云应用或者WEB应用的运行资源的一种动态扩展,实现支撑云应用在运行期间的虚拟机数量的一种动态增加和减少 2017/07/05 高能物理云平台中的弹性计算资源管理
6
Openstack/OpenNebula
在传统虚拟集群上运行作业 在底层物理机集群和上层RMS(资源管理系统如HTCondor)之间构建虚拟机层VPManager 打破资源隔离,使计算队列在某些情况下可使用他人的或公共的计算资源,实现共享 WLCG Grid RMS VCondor/VPBS VPManager Virtual machines Openstack/OpenNebula Dedicated SGE working physical nodes VPManager同时包括了虚拟机监控,云平台调度和控制等其它内容。 VMM VMM VMM VMM Physical machines 2017/07/05 高能物理云平台中的弹性计算资源管理
7
提纲 背景——虚拟计算集群技术 VCondor——基于HTCondor的弹性计算资源管理系统
部署——高能所IHEPCloud云平台&运行结果分析 总结 2017/07/05 高能物理云平台中的弹性计算资源管理
8
面向高能物理应用的弹性资源管理框架 面向高能物理应用的弹性资源管理框架:
框架的前端使用作业批处理系统 HTCondor 调度作业运行,面向用户提供了提交作业 和管理作业的接口。 框架的中间层为自主开发的弹性集群调度 器。 框架的后端为运行用户作业的计算节点和 提供计算资源的物理机。 在高能物理领域的使用经验中,与其他作业调度器如 Torque PBS等相比,HTCondor表现出了支持多种平台、高吞吐以及支持更大规模集群的优 势。 2017/07/05 高能物理云平台中的弹性计算资源管理
9
资源池扩张流程 VCondor Openstack OpenNebula … VMQuota 2017/07/05
Condor Job Submit Node Job Compute Job Openstack OpenNebula … 7 WN Condor Worker Node Compute Job Transfer Virtual Machine VCondor Workflow 5 VCondor 8 VM Creation 6 4 1 3 VMQuota Job LHAASO 2 9 Job Job Job Job 11 Job Job 10 WN WN JUNO Job Scheduler Job Job CONDOR POOL OF JOBS CONDOR POOL OF NODES 2017/07/05 高能物理云平台中的弹性计算资源管理
10
Resource pool expansion
Openstack OpenNebula … 7 1. Users submit jobs to HTCondor. 5 VCondor 8 VM Creation 6 4 3 VMQuota Job LHAASO 2 9 Job Job Job Job Job Job 11 10 WN WN JUNO Job Scheduler Job Job CONDOR POOL OF JOBS CONDOR POOL OF NODES 2017/07/05 高能物理云平台中的弹性计算资源管理
11
Resource pool expansion
Openstack OpenNebula … 7 2. Jobs enter the condor pool and queue up. 5 VCondor 8 VM Creation 6 4 1 3 VMQuota Job LHAASO 9 Job Job Job Job Job Job 11 10 WN WN JUNO Job Scheduler Job Job CONDOR POOL OF JOBS CONDOR POOL OF NODES 2017/07/05 高能物理云平台中的弹性计算资源管理
12
Resource pool expansion
Openstack OpenNebula … 7 3. VCondor checks job and job queue information periodically. 5 VCondor 8 VM Creation 6 4 1 VMQuota Job LHAASO 2 9 Job Job Job Job Job Job 11 10 WN WN JUNO Job Scheduler Job Job CONDOR POOL OF JOBS CONDOR POOL OF NODES 2017/07/05 高能物理云平台中的弹性计算资源管理
13
Resource pool expansion
Condor Job Submit Node Openstack OpenNebula … Job Compute Job 7 WN Condor Worker Node Compute Job Transfer Virtual Machine VCondor Workflow 5 VCondor 8 VM Creation 6 1 VMQuota 3 Job LHAASO 2 9 4. VCondor requests resources from VMQuota. Job Job Job Job Job Job 11 WN WN JUNO 10 Job Scheduler Job Job CONDOR POOL OF JOBS CONDOR POOL OF NODES 2017/07/05 高能物理云平台中的弹性计算资源管理
14
Resource pool expansion
Condor Job Submit Node Openstack OpenNebula … Job Compute Job 7 WN Condor Worker Node Compute Job Transfer 5. count the current computing resource consumption Virtual Machine VCondor Workflow VCondor 8 VM Creation 6 4 1 VMQuota 3 Job LHAASO 2 9 Job Job Job 11 Job Job Job 10 WN WN JUNO Job Scheduler Job Job CONDOR POOL OF JOBS CONDOR POOL OF NODES 2017/07/05 高能物理云平台中的弹性计算资源管理
15
Resource pool expansion
Condor Job Submit Node Openstack OpenNebula … Job Compute Job 7 6. reserve and allocate part of the resources for the job queue WN Condor Worker Node Compute Job Transfer Virtual Machine VCondor Workflow VCondor 5 8 VM Creation 4 1 VMQuota 3 Job LHAASO 2 9 Job Job Job 11 Job Job Job 10 WN WN JUNO Job Scheduler Job Job CONDOR POOL OF JOBS CONDOR POOL OF NODES 2017/07/05 高能物理云平台中的弹性计算资源管理
16
Resource pool expansion
7. tell Openstack or OpenNebula to start a batch of virtual machines Openstack OpenNebula … VCondor 6 5 8 VM Creation 4 1 VMQuota 3 Job LHAASO 2 9 Job Job Job Job Job Job 11 10 WN WN JUNO Job Scheduler Job Job CONDOR POOL OF JOBS CONDOR POOL OF NODES 2017/07/05 高能物理云平台中的弹性计算资源管理
17
Resource pool expansion
Condor Job Submit Node Openstack OpenNebula … Job Compute Job 7 WN Condor Worker Node Compute Job Transfer Virtual Machine VCondor Workflow VCondor 8 VM Creation 6 5 4 1 VMQuota 9. VM join in the condor pool as a worker node 3 Job LHAASO 2 Job Job Job 11 Job Job Job 10 WN WN JUNO Job Scheduler Job Job CONDOR POOL OF JOBS CONDOR POOL OF NODES 2017/07/05 高能物理云平台中的弹性计算资源管理
18
Resource pool expansion
Condor Job Submit Node Openstack OpenNebula … Job Compute Job 7 WN Condor Worker Node Compute Job Transfer Virtual Machine VCondor Workflow VCondor 6 5 8 VM Creation 4 1 VMQuota 3 Job LHAASO 2 9 Job Job Job Job 11 Job Job 10 WN WN JUNO Job Scheduler Job Job CONDOR POOL OF JOBS CONDOR POOL OF NODES 10. Jobs are pushed to worker nodes to run 2017/07/05 高能物理云平台中的弹性计算资源管理
19
资源池收缩流程 VCondor Openstack OpenNebula … VMQuota
Condor Job Submit Node Openstack OpenNebula … Job Compute Job 7 WN Condor Worker Node Compute Job Transfer Virtual Machine VCondor Workflow 5 VCondor 8 VM Deletion 6 4 3 VMQuota LHAASO 9 1 2 Job Job Job Job Job 10 WN WN JUNO 经由VPManager中另外一个应用VMCtrl, 来告诉虚拟机在作业结束后退出Condor节点池,由Openstack销毁这些虚拟机并回收虚拟计算资源 Job Scheduler 11 CONDOR POOL OF JOBS CONDOR POOL OF NODES 2017/07/05 高能物理云平台中的弹性计算资源管理
20
VCondor 组件 弹性集群调度器VCondor: 虚拟资源配额服务VMQuota:
Job submission 弹性集群调度器VCondor: 资源需求统计组件JobMonitor:查询记录作业信息及监控队列长度的变化 虚拟机启停控制组件NodeManager::使用基于Openstack或者Opennebula的API来创建或销毁虚拟机 组件通信与生命周期控制DAEMON:守护进程,周期性调用 虚拟资源配额服务VMQuota: 不同队列的计算资源份额管理 2017/07/05 高能物理云平台中的弹性计算资源管理
21
(1) JobMonitor:分析作业需求 使用基于 XML协议的 soap API 进行通讯 IHEPCloud: 高能所虚拟计算云平台
修改后的HTCondor version:8.2.5 基于Openstack kilo 版本,为不同高能物理实验制作不同虚拟机镜像 为多个高能物理实验如LHAASO, JUNO和CEPC 提供支持 通过基于 XML协议的 soap API在HTCondor的队列服务器 Schedd 上执行远程过程调用,以获取各队列用户作业的属性,并计算各队列作业对于计算资源,主要是 CPU核数目的需求 ,降低了该模块和condor之间的耦合度 使用基于 XML协议的 soap API 进行通讯 2017/07/05 高能物理云平台中的弹性计算资源管理
22
(2)NodeManager:虚拟机创建和销毁
VM Class —存储虚拟机相关属性,如主机名,所属计算队列和计算节点状态等 Icluster Abstract Class —实现该接口可支持对接多种云计算平台,如Openstack, OpenNebula, AWS EC2等 Openstack Cluster Class —通过实现REST风格的API,与Openstack 中的Nova组件通信,控制相应虚拟机的启停动作 ResourcePool Class —虚拟资源池类为跨多个云计算平台的虚拟计算资源的管理提供支持 设计两级缓冲池以应对作业瞬时峰值的压力 Openstack VM Manager Create/Delete VM VM info <object> <object> REST Client Post,Put,Delete Get REST API Nova Keystone Neutron …… 设计两级缓冲池以应对作业瞬时峰值对弹性集群扩展的压力 (1)一级缓冲池:由已开启但未加入 HTCondor资源池的虚拟机组成 。占用计算资源,可在需要时快速加入 HTCondor资源池,接收用户作业 运行 (2)二级缓冲池:由虚拟计算、网络和存储资源组成 OpenStack VM VM VM VM 2017/07/05 高能物理云平台中的弹性计算资源管理
23
(3)VMQuota:虚拟资源配额服务 vcondor LHAASO 100 400 200 600 JUNO 300
考虑到多个队列的情况… Queue Lower thresholds Upper thresholds Available resource Resource reservation time(seconds) LHAASO 100 400 200 600 JUNO 300 vcondor [{“ResID”:”juno”}] VMQuota 考虑到多个队列情况下,即使一个队列内有大量作业排队,其资源池也并非越大越好,而是应控制在一定阈值范围内,使其他队列仍然可以保有部分计算资源使用。因 此,为使计算资源得到最大化合理利用的同时,兼顾分配的公平性,通过双阈值的方式来限定每个队列资源池的大小。 阈值的设定需要考虑计算队列计算队列的优先级,平均队列长度,集群总可用计算资源数目等 Sending Requests Socket Socket Sending Replies [{“ResID”:”juno”,”MIN”:100,”AVAILABLE”:50}] VMQuota 2017/07/05 高能物理云平台中的弹性计算资源管理
24
提纲 背景——虚拟计算集群技术 VCondor——一种基于HTCondor的弹性计算资源管理系统
部署——高能所IHEPCloud云平台&运行结果分析 总结 2017/07/05 高能物理云平台中的弹性计算资源管理
25
Dynamic Scheduling Effect
Upper thresholds Jobs queuing, automatically adding virtual computing nodes Lower thresholds LHAASO 虚拟资源池: 根据作业排队数目动态增加和减少虚拟机 2017/07/05 高能物理云平台中的弹性计算资源管理
26
提纲 背景——虚拟计算集群技术 VCondor——一种基于HTCondor的弹性计算资源管理系统
部署——高能所IHEPCloud云平台&运行结果分析 总结 2017/07/05 高能物理云平台中的弹性计算资源管理
27
Summary Future Vcondor实现虚拟计算资源的弹性控制
从 起开始在高能所公共云平台IHEPCloud中进行试运行, 为LHAASO和JUNO实 验提供支持 作为虚拟计算集群中间件VPManager中的一个应用,可以为动态虚拟计算集群与提 出的计算资源共享互借计划提供支持 Future 前期工作侧重于系统实现与应用 后期侧重于调度算法上的改进 目前的调度算法是FCFS,比较简单 针对使用高能所 OpenStack 和 HTCondor 构建的虚拟计算集群实际应用环境,结合高能物理计算的特点,设计并实现了一种弹性计算资源管理系统,根据 HTCondor 中各队列作业的需要,动态地调整各物理实验队列占用的资源。与预分配资源的静态虚拟机集群相比,最大的特点是资源分配更具有灵活性,队列资源 池可根据需要弹性伸缩。目前系统已在 IHEPCloud 上进行了实际部署,从实际运行情况来看,计算资源利用率相比传统的静态资源管理方式有显著地提高。目前系统的规模不是很大,但基本技术已具备,下一步将有更多的物理实验的资源加入系统中。笔者及所在单位 Welcome to Contact us ! 2017/07/05 高能物理云平台中的弹性计算资源管理
28
Thanks for your listening! Any Questions?
目前的调度算法是FCFS,比较简单 2017/07/05 高能物理云平台中的弹性计算资源管理
Similar presentations