DC资源管理系统中科院计算所詹剑锋/jfzhan /jfzhan提纲⏹概述⏹EC2模式下的资源管理⏹MapReduce Cluster的资源管理⏹HPC in Cloud场景下的资源管理⏹相关系统什么是资源管理?⏹In organizational studies, resource management is the efficient and effective deployment for an organization‘s resources when they are needed.(Wikpedia)⏹通过有效的资源分配手段,在满足用户需求的前提下,实现系统的高利用率和低成本。
资源管理是计算机系统的基本问题⏹处理器资源管理⏹操作系统⏹广义的操作系统资源管理系统的评价指标⏹服务端评价指标⏹系统吞吐率⏹Instructions⏹Threads⏹应用相关的指标⏹TCO、功耗。
⏹客户端评价指标⏹应用平均响应时间、作业平均运行时间。
资源管理系统的Benchmark ⏹管理系统框架⏹负载traces⏹HPC⏹Cloud ?提纲⏹概述⏹EC2模式下的资源管理⏹MapReduce Cluster的资源管理⏹HPC in Cloud场景下的资源管理⏹相关系统EC2概述⏹Pay as you go模式⏹Elastic Compute Cloud⏹Amazon的云计算服务⏹基于Amazon内部的大规模虚拟化数据中心平台⏹用户租用虚拟机实例(Virtual Instances)⏹通过Web客户端和API租用⏹$0.10 VM instance/hourEC2模式的资源管理⏹问题抽象⏹虚拟机在线放置问题⏹资源碎片=》在线迁移First-Fit⏹This is a very straightforward approximation algorithmin the first bin that can accommodate theIf no bin is found, it opens a new bin andputs the item within the new bin.Best-fit为一作业选择分区时总是寻找其大小最接近于作业所要求的存储空间提纲⏹概述⏹EC2模式下的资源管理⏹MapReduce Clusters的资源管理⏹HPC in Cloud场景下的资源管理⏹相关系统并行数据处理模型-MapReduce云计算数据中心资源管理⏹问题抽象基于存储与计算平台的作业调度问题A Node1 Node2. . .B Node3 Node5….C Node4….Hadoop MR作业调度流程评价指标⏹数据中心⏹吞吐率⏹The number of completed jobs or tasks?⏹公平性(Fairness)⏹资源利用率⏹用户⏹作业的平均运行时间云计算数据中心调度⏹调度算法⏹FIFO⏹公平调度⏹延迟调度⏹计算能力调度FIFO调度⏹应用场景⏹面对单用户提交大型批处理作业⏹Nutch⏹Inject、Generate、Fetch、Parse、Update Crawl DB、Invert Links、IndexFIFO调度⏹策略⏹所有用户作业被提交到一个队列⏹按照作业的优先级调度⏹特点⏹算法简洁⏹不支持抢占⏹忽略了多用户场景公平调度⏹应用场景⏹多用户共享⏹FaceBook生产性应用(数据加载、数据分析)批处理作业(机器学习)交互式作业(SQl查询)如何分配?公平调度⏹策略⏹将作业按照用户分组,形成作业池⏹给每个作业池分配资源容量下限⏹将多余的资源平均分配给每个作业公平调度⏹特点⏹支持两级调度⏹支持抢占⏹支持作业分类调度⏹不同类型作业可以获得不同规模的资源⏹没有考虑节点的实际负载状态⏹可能导致节点负载实际不平衡Proportional Share Scheduling ⏹In a proportional share algorithm every job has a weight, and jobs receive a share of the available resources proportional to the weight of every job.⏹wikipediaLottery Scheduling⏹Yet another alternative: Lottery Scheduling⏹Give each job some number of lottery tickets⏹On average, CPU time is proportional to number oftickets given to each job⏹How to assign tickets?⏹To approximate SRTF, short running jobs get more,long running jobs get fewer⏹To avoid starvation, every job gets at least one ticket(everyone makes progress)⏹Advantage over strict priority scheduling: behaves gracefullyas load changes⏹Adding or deleting a job affects all jobsproportionally, independent of how many ticketseach job possessesLottery Scheduling Example⏹Lottery Scheduling Example⏹Assume short jobs get 10 tickets, long jobs get 1N/A50%50%N/A9.9%0.99%50%5%延迟调度⏹问题背景⏹如何在公平调度的基础上,兼顾公平性和数据局部性的目标?⏹分配给新作业的节点可能没有其对应的数据⏹策略⏹在新作业提交的时候,如果当前被分配节点上无其对应的数据(不满足局部性),选择延迟等待,允许其他满足数据局部性的作业先被调度。
延迟调度 简化的算法描述试验结果⏹性能⏹在保证公平性的前提下,吞吐率提高1倍。
⏹取决于workload traces计算能力调度⏹应用场景⏹多用户共享⏹思想⏹为各个队列中的作业模拟出具有指定计算能力的独立Hadoop集群资源,而不是公平调度算法那样试图在所有的作业之间实现公平的资源分享。
计算能力调度⏹策略⏹多个作业队列⏹每个队列分配一定的系统容量⏹空闲资源可以被动态分配给负载中的队列⏹支持作业优先级⏹特点⏹支持多作业并行执行,提高资源利用率⏹动态调整资源分配,提高作业执行效率⏹用户需要了解大量系统信息提纲⏹概述⏹EC2模式的资源管理⏹云计算数据中心的资源管理⏹HPC in the Cloud场景下的资源管理HPC in the Cloud 概述⏹动机⏹能否构建一个为使用HPC应用的中小规模科研团体服务的云平台?⏹通过HPC应用负载的聚合,提高云平台资源利用率,降低云平台的使用成本。
⏹实现⏹聚合HPC负载的云平台管理系统DawningCloud⏹Lei Wang, Jianfeng Zhan , Weisong Shi, Liang Yi,In Cloud, Can Scientific Communities Benefitfrom the Economics of Scale? IEEE Trans. ParallelDistrib. Syst. 23(2): 296-303 (2012).HPC in the Cloud 使用模型⏹Resource Provider: 资源提供者,拥有资源可以动态的为服务提供者创建运行环境和分配资源。
⏹Service Provider :服务提供者,为用户提供服务,可以根据用户负载动态变化资源数量。
⏹End Users :用户,使用服务提供者提供的服务。
Resource providerService providerEnd Users nodeRuntime environmentWorkload运行时环境生存周期管理HPC in the Cloud资源管理⏹问题抽象⏹在保证服务质量的前提下,云平台服务提供者和资源提供者如何通过协作的资源管理机制与策略,实现各自成本的节约。
⏹评价指标⏹服务提供者⏹性能⏹吞吐率、单位时间完成作业数。
⏹使用成本⏹资源开销(单位:节点*时)⏹资源提供者⏹运行成本⏹运行时的总资源开销(单位:节点*时)⏹构造成本⏹运行时的峰值资源开销(单位:节点)相关系统:ReservoirMesos实现一个分布式环境的资源管理平台,对于Hadoop、MPI等不同计算模式的作业进行统一资源管理。
DawningCloud与相关系统比较⏹Reservoir versus DawningCloud⏹Reservoir是在基于虚拟机供应和集成现有开源软件的基础上实现⏹DawningCloud通过一体化设计和分层的架构,可以更灵活的构造出轻量级的服务环境,同时在资源供应方式上,不仅支持虚拟机还支持物理机。
⏹Mesos versus DawningCloud⏹Mesos以将不同的HPC计算模式(MPI、MR)聚合为目的,实现统一计算平台。
⏹DawningCloud将不同HPC计算负载的聚合,提高云平台资源利用率,降低云平台使用成本。
HPC应用类型⏹Many-task computing (MTC)⏹定义:⏹delivers much large numbers of computing resources over shortperiod of time to accomplish many computational tasks.⏹特点⏹短时间内完成大量的计算任务⏹代表⏹HPC Workflow⏹High throughput computing (HTC)⏹定义⏹delivers large amounts of processing capacity over long period oftime.⏹特点⏹长时间内实现对于大量作业的处理⏹代表⏹batch jobsDawningCloud系统架构⏹Thin runtime environment (TRE)⏹提供服务的运行环境。
⏹HPC应用、MR应用⏹Common service framework (CSF)⏹集成的基础框架提供对TRE支持的基础服务⏹虚拟机管理、生命周期管理、配置服务、命令加载。
CSF 的生命周期管理服务CSF 的资源供应服务TRE 的server 服务Resource managementpolicyResourceprovision policySetup policy DawningCloud 资源管理资源管理策略(服务提供者制定)安装策略(服务提供者制定)资源供应策略(资源提供者制定)DawningCloud资源管理策略HTC TRE初始资源动态资源Yes当前所需资源总数大于阈值HTC TRE当前作业需要最大资源数大于当前拥有资源YesNO每分钟执行检查HTC TRE实验分析⏹实验场景⏹1个资源提供者⏹4个服务提供者⏹3个HTC应用服务⏹NASA iPSC⏹SDSC BLUE⏹LLNL Thunder⏹1个MTC应用服务⏹Montage workflowHPC应用负载介绍⏹NASA iPSCSystem128-nodeHPC应用负载介绍⏹LLNL ThunderSystem1024-nodeNASA iPSC完成作业数18237和其他系统具有相同的吞吐率(完成作业数)比DCS节约25.6%的资源,的资源SDSC BLUE完成作业数和其他系统具有相同或更好的DCS节约14%的资源,比EC2LLNL Thunder完成作业数DCS节约7.9%的资源,比EC2节Montage workflow DCS 节约67.5%的资源,比的资源每秒完成作业数DCS 模式 2.46DawningCloud资源提供者⏹总资源消耗使用DawningCloud比DCS节约29.5%的资源,比EC2节约54%的资源。