CN112433819A - 异构集群调度的模拟方法、装置、计算机设备及存储介质 - Google Patents
异构集群调度的模拟方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112433819A CN112433819A CN202011375112.7A CN202011375112A CN112433819A CN 112433819 A CN112433819 A CN 112433819A CN 202011375112 A CN202011375112 A CN 202011375112A CN 112433819 A CN112433819 A CN 112433819A
- Authority
- CN
- China
- Prior art keywords
- deep learning
- learning load
- scheduling
- load
- heterogeneous
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000013135 deep learning Methods 0.000 claims abstract description 209
- 238000011156 evaluation Methods 0.000 claims abstract description 37
- 238000005516 engineering process Methods 0.000 claims abstract description 20
- 230000006399 behavior Effects 0.000 claims abstract description 17
- 238000012549 training Methods 0.000 claims description 39
- 230000015654 memory Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000011160 research Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 239000004433 Thermoplastic polyurethane Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 229920002803 thermoplastic polyurethane Polymers 0.000 description 4
- 238000011157 data evaluation Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009249 intrinsic sympathomimetic activity Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Abstract
本申请实施例属于信息技术领域,涉及一种异构集群调度的模拟方法,包括接收用户终端发送的模拟运行请求;响应模拟运行请求,读取本地数据库获取历史异构资源配置信息;基于历史异构资源配置信息对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置;基于执行指令使深度学习负载按照运行模式以及指令调度策略运行;基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展,模拟深度学习负载的大规模异构集群运行,得到深度学习负载的运行行为特征以及运行状态数据。本申请还提供一种异构集群调度的模拟装置、计算机设备及存储介质。本申请能够提供低成本的实验环境,在一定程度上有效降低异构集群的评估时间。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种异构集群调度的模拟方法、装置、计算机设备及存储介质。
背景技术
人工智能的迅速发展使得涌现出越来越多的深度学习应用,而该类应用在运行时由于需要海量的训练数据和高性能的计算能力,促使了高性能芯片如GPU、FPGA和TPU等的产生和应用。为了满足上层深度学习应用对计算力和存储能力的需求,CPU与GPU等的异构集群逐渐成为主要集群配置方案。
而近年来随着深度学习的崛起,高性能计算逐渐进入云集群领域。由于深度学习应用对算力的需求非常旺盛,一般的计算平台无法达到其要求,而高性能计算则为该类应用的运行提供了持续稳定的算例保障。而由于高性能芯片GPU等购价昂贵,且底层架构复杂多样、集群规模不断扩张,对上层的深度学习应用调度带来了巨大的挑战。而在针对异构集群上的深度学习应用设计调度算法时则面临着诸多问题。一方面由于底层硬件资源如GPU等型号众多,购置费用昂贵;另一方面,调度的决策受许多因素如公平性、容量保证和资源可靠性的影响,很难找到大规模集群评测调度算法性能。因此,如何根据实际需求设计一个轻量级、易于配置和使用的异构集群调度模拟器是目前异构调度研究的主要问题。
目前,潘旭明等的《MapReduce FairScheduler的高性能优化及超大规模集群模拟器设计及实现》结合真实的线上生产集群,设计并实现了超大规模hadoop集群的模拟器,并对其功能和性能做了验证性测试,其主要功能有(1)用1~2台服务器模拟超大规模集群,(2)模拟客户端并发提交作业,提供全面的benchmark测试。基于模拟器搭建了2000个节点的模拟集群,分别对FIFO,FairScheduler和新的公平调度器进行全面的对比测试;以及刘知俊等的《面向性能调优的MapReduce集群模拟器的研究与设计》设计了一个MapReduce模拟器,能使用少量节点模拟出大规模集群,并对作业的运行过程进行了精确模拟,从而提供了一个完整的Hadoop集群性能测试平台,帮助解决大规模集群的测试问题。此外,Apache也提供了一个Yarn调度器负载模拟器Yarn Scheduler Load Simulator(SLS),它是一个能够在一台机器上装载应用程序,模拟一个大规模的YARN集群的工具。模拟器使用实际的YARNResourceManager,在相同的JAVA虚拟机内,通过处理和调度NM/AMs心跳事件,模拟NodeManager和ApplicationMaster来移除网络因素。
但是,这些技术一方面采用针对CPU处理器的模拟器如gem5,支持多种ISAs和CPU模型且高度可配置;或者针对GPU的模拟器如GPGPU-sim,支持不同GPU架构;针对CPU和GPU混合的模拟器gem5-gpu,该模拟器是对gem5和GPGPU-sim的集成。另一方面,现有的集群模拟器主要是针对大数据负载设计的Hadoop和Yarn调度模拟器,这些模拟器在底层硬件架构和上层调度系统方面都存在滞后性,难以满足调度优化研发人员对于异构集群调度的迫切需求,且实验环境准备的复杂性高以及硬件资源购置的费用支出高昂。
发明内容
本申请实施例的目的在于提出一种异构集群调度的模拟方法、装置、计算机设备及存储介质,以至少解决传统的异构集群调度方法的实验环境准备的复杂性高以及硬件资源购置的费用支出高昂的问题。
为了解决上述技术问题,本申请实施例提供一种异构集群调度的模拟方法,采用了如下所述的技术方案:
接收用户终端发送的模拟运行请求;
响应模拟运行请求,读取本地数据库获取历史异构资源配置信息;
基于历史异构资源配置信息对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置;
基于执行指令使深度学习负载按照运行模式以及指令调度策略运行;
基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展,模拟深度学习负载的大规模异构集群运行,得到深度学习负载的运行行为特征以及运行状态数据。
进一步的,该方法还包括:
读取本地数据库,获取训练数据集;
基于训练数据集对基础深度学习负载benchmark进行训练,得到训练好的深度学习负载benchmark;
基于执行指令使深度学习负载按照运行模式以及指令调度策略运行具体包括:
基于执行指令使深度学习负载benchmark按照运行模式以及指令调度策略运行。
进一步地,该方法还包括:
对深度学习负载benchmark的应用层以及微架构层的性能指标进行脚本编辑,得到深度学习负载benchmark对应的指标采集配置文件。
进一步地,该方法还包括:
基于指标采集配置文件对运行中的深度学习负载进行调度性能指标采集,得到调度性能数据;
基于预设的性能指标对调度性能数据进行评价,得到调度性能评估结果。
为了解决上述技术问题,本申请实施例还提供一种异构集群调度的模拟装置,采用了如下所述的技术方案:
请求接收模块,用于接收用户终端发送的模拟运行请求;
信息读取模块,用于响应模拟运行请求,读取本地数据库获取历史异构资源配置信息;
指令设置模块,用于基于历史异构资源配置信息对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置;
负载运行模块,用于基于执行指令使深度学习负载按照运行模式以及指令调度策略运行;
模拟运行模块,用于基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展,模拟深度学习负载的大规模异构集群运行,得到深度学习负载的运行行为特征以及运行状态数据。
进一步的,该装置还包括:
数据集获取模块,用于读取本地数据库,获取训练数据集;
负载训练模块,用于基于训练数据集对基础深度学习负载benchmark进行训练,得到训练好的深度学习负载benchmark;
负载运行模块包括:
负载运行单元,用于基于执行指令使深度学习负载benchmark按照运行模式以及指令调度策略运行。
进一步地,该装置还包括:
对深度学习负载benchmark的应用层以及微架构层的性能指标进行脚本编辑,得到深度学习负载benchmark对应的指标采集配置文件。
进一步地,该装置还包括:
性能指标采集模块,用于基于指标采集配置文件对运行中的深度学习负载进行调度性能指标采集,得到调度性能数据;
性能评估模块,用于基于预设的性能指标对调度性能数据进行评价,得到调度性能评估结果。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
包括存储器和处理器,存储器中存储有计算机程序,处理器执行计算机程序时实现如上所述异构集群调度的模拟方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上所述的异构集群调度的模拟方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请提供了一种异构集群调度的模拟方法,包括:接收用户终端发送的模拟运行请求;响应模拟运行请求,读取本地数据库获取历史异构资源配置信息;基于历史异构资源配置信息对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置;基于执行指令使深度学习负载按照运行模式以及指令调度策略运行;基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展,模拟深度学习负载的大规模异构集群运行,得到深度学习负载的运行行为特征以及运行状态数据。基于预先收集到的历史异构资源配置信息针对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置;并基于执行指令使深度学习负载按照运行模式以及指令调度策略运行来准确获取深度学习负载的运行行为特征;进而,基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展,从而模拟深度学习负载的大规模异构集群运行来获取运行状态数据,不仅能够实现模拟kubernetes大规模集群部署方式,还能够通过少量节点实现模拟大规模异构集群的应用场景,从而为调度研发人员提供低成本的实验环境,并在一定程度上有效降低异构集群的评估时间以及成本。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性原理示意图;
图2是根据本申请的异构集群调度的模拟方法的一个实施例的流程图;
图3是根据本申请的异构集群调度的模拟方法的深度学习负载训练的流程图;
图4是根据本申请的异构集群调度的模拟方法的性能数据评价的流程图;
图5是根据本申请的异构集群调度的模拟装置的一个实施例的结构示意图;
图6是根据本申请的异构集群调度的模拟装置的深度学习负载训练的结构示意图;
图7是根据本申请的异构集群调度的模拟装置的性能数据评价的结构示意图;
图8是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
实施例一
参阅图1-2,示出了根据本申请的异构集群调度的模拟的方法的一个实施例的流程图,为了便于说明,仅示出了与本申请相关的部分。
在步骤S1中,接收用户终端发送的模拟运行请求。
在本实施例中,模拟运行请求是调度研发人员为了获取深度学习负载在不同高性能异构硬件配置下的运行时特征需要提供环境支持而发出的操作请求。
在步骤S2中,响应模拟运行请求,读取本地数据库获取历史异构资源配置信息。
在本实施例中,历史异构资源配置信息是在模拟运行前,为了能够有针对性的对深度学习负载的应用程序在不同架构芯片下的运行方式和API调用关系进行设置而进行采集的现有CPU与高性能芯片如GPU的不同架构数据,其中,该不同架构数据具体可以包含CPU模型(AtomicSimple、TimingSimple、InOrder和O3等)与GPU架构(Tesla、Fermi、Kepler、Volta、Turing等)以及FPGA、TPU等数据。
在步骤S3中,基于历史异构资源配置信息对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置。
在本实施例中,运行模式是指在实现不同架构下深度学习负载的应用程序执行指令时的运算模式如串行运行和并行运行等。
在本实施例中,指令调度策略是指实现不同架构下深度学习负载的应用程序执行指令时的调度策略,以及能够执行该调度策略的不同硬件组合的参数配置文件。
在本实施例中,基于历史异构资源配置信息对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置具体可以是对基于历史异构资源配置信息来对现有硬件类型和架构进行分析,从而设置能够实现不同架构下深度学习负载的应用程序执行指令时的运算模式如串行运行和并行运行等,以及能够实现不同架构下深度学习负载的应用程序执行指令时的调度策略,以及能够执行该调度策略的不同硬件组合的参数配置文件,使得后续能够模拟不同架构下深度学习负载的应用程序运行状态,进一步分析深度学习负载在不同硬件配置下的运行时特征,从而实现不同硬件架构组合的自主化配置功能,模拟异构集群的底层资源配置策略,简化异构环境的配置,实现节约购买物理硬件的成本。
在步骤S4中,基于执行指令使深度学习负载按照运行模式以及指令调度策略运行。
在本实施例中,基于执行指令使深度学习负载按照运行模式以及指令调度策略运行具体可以是在不同架构下使该深度学习负载的应用程序执行如串行运行和并行运行等运算模式,以及在不同架构下使该深度学习负载的应用程序基于不同硬件组合的参数配置文件执行该调度策略,能够实现在不同架构下模拟深度学习负载的应用程序的运行状态,进而分析深度学习负载在不同硬件配置下的运行时特征,从而实现不同硬件架构组合的自主化配置功能,模拟异构集群的底层资源配置策略,简化异构环境的配置,实现节约购买物理硬件的成本。
在步骤S5中,基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展,模拟深度学习负载的大规模异构集群运行,得到深度学习负载的运行行为特征以及运行状态数据。
在本实施例中,Kubernetes(K8s)因其可移植、可扩展和自修复的特点成为目前工业界和学术界广泛应用的容器编排工具。
在本实施例中,基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展具体可以是通过采用k8s部署集群,并基于k8s容器编排工具通过模拟物理机特征实现将少量节点模拟出大规模节点的集群来模拟深度学习负载的大规模异构集群运行,从而准确获取能够直观反映集群运行状态的运行状态数据,不仅能够实现集群节点的模拟扩展,还能够为集群调度优化研究提供了良好的环境支持。
本申请提供了一种异构集群调度的模拟方法,包括:接收用户终端发送的模拟运行请求;响应模拟运行请求,读取本地数据库获取历史异构资源配置信息;基于历史异构资源配置信息对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置;基于执行指令使深度学习负载按照运行模式以及指令调度策略运行;基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展,模拟深度学习负载的大规模异构集群运行,得到深度学习负载的运行行为特征以及运行状态数据。基于预先收集到的历史异构资源配置信息针对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置;并基于执行指令使深度学习负载按照运行模式以及指令调度策略运行来准确获取深度学习负载的运行行为特征;进而,基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展,从而模拟深度学习负载的大规模异构集群运行来获取运行状态数据,不仅能够实现模拟kubernetes大规模集群部署方式,还能够通过少量节点实现模拟大规模异构集群的应用场景,从而为调度研发人员提供低成本的实验环境,并在一定程度上有效降低异构集群的评估时间以及成本。
继续参考图3,示出了根据本申请的异构集群调度的模拟方法的深度学习负载训练的流程图,为了便于说明,仅示出了与本申请相关的部分。
在本实施例一的一些可选的实现方式中,在上述步骤S4之前,该方法还包括:步骤S301以及步骤S302;上述步骤S4包括:步骤S303。
在步骤S301中,读取本地数据库,获取训练数据集。
在步骤S302中,基于训练数据集对基础深度学习负载benchmark进行训练,得到训练好的深度学习负载benchmark。
在步骤S303中,基于执行指令使深度学习负载benchmark按照运行模式以及指令调度策略运行。
在本实施例中,基础深度学习负载benchmark是从现有的几种不同类型的深度学习负载中筛选具有代表性的benchmarks,主要用于测试负载的执行时间、传输速度、吞吐量、资源占用率等数据。
在本实施例中,训练数据集是每个benchmark所对应的不同规模的训练数据集。
在本实施例中,通过收集每个benchmark所对应的不同规模的训练数据集来对选取的基础深度学习负载benchmark进行训练,以获取能够用于测试模拟深度学习负载的应用程序在不同架构下运行的深度学习负载benchmark,进而后续当在不同架构下该深度学习负载benchmark的应用程序执行如串行运行和并行运行等运算模式,以及在不同架构下该深度学习负载benchmark的应用程序基于不同硬件组合的参数配置文件执行该调度策略时,能够实现在不同架构下模拟深度学习负载benchmark的应用程序的运行状态,进而分析深度学习负载benchmark在不同硬件配置下的运行时特征,从而实现不同硬件架构组合的自主化配置功能,模拟异构集群的底层资源配置策略,简化异构环境的配置,实现节约购买物理硬件的成本。
在本实施例一的一些可选的实现方式中,在上述步骤S302之后,该方法还包括:
对深度学习负载benchmark的应用层以及微架构层的性能指标进行脚本编辑,得到深度学习负载benchmark对应的指标采集配置文件。
在本实施例中,脚本编辑是指能够自由选择性能指标以及采样间隔的配置文件的设置。
在本实施例中,深度学习负载benchmark的应用层的性能指标如CPU利用率、内存利用率、磁盘IO大小、网络带宽等。
在本实施例中,深度学习负载benchmark的微架构层的性能指标如IPC(Instructions per Cycle),分支预测(Branch Predict)和缓存丢失(Cache misses)等数据。
在本实施例中,为了能够对在不同架构下深度学习负载benchmark模拟运行采用的调度算法进行有效的调度性能评估,本实施例通过对深度学习负载benchmark的应用层的性能指标如CPU利用率、内存利用率、磁盘IO大小、网络带宽等,以及深度学习负载benchmark的微架构层的性能指标如IPC(Instructions per Cycle),分支预测(BranchPredict)和缓存丢失(Cache misses)等数据,进行脚本设置,得到包含有自由选择性能指标以及采样间隔功能的指标采集配置文件,以使后续能够基于该采集配置文件对运行中的深度学习负载进行调度性能指标采集,并对采集到的数据进行性能评估,以获取性能评估结果,从而实现对调度算法性能有效评估,并在一定程度上有效降低异构集群的评估时间以及成本。
继续参考图4,示出了根据本申请的异构集群调度的模拟方法的性能数据评价的流程图,为了便于说明,仅示出了与本申请相关的部分。
在本实施例一的一些可选的实现方式中,在上述步骤S5之后,该方法还包括:步骤S401以及步骤S402。
在步骤S401中,基于指标采集配置文件对运行中的深度学习负载进行调度性能指标采集,得到调度性能数据。
在步骤S402中,基于预设的性能指标对调度性能数据进行评价,得到调度性能评估结果。
在本实施例中,预设的性能指标是根据实际应用需求设置的能够用于选取评估调度性能的关键指标如完成每次调度的时间成本、平均作业周转时间和集群整体资源利用率的变化等,此处不作具体限制。
在本实施例中,调度性能评估结果是能够用于直观反映深度学习负载benchmark模拟运行时的调度性能的评价指标。
在本实施例中,基于指标采集配置文件中采样间隔来对模拟运行中的深度学习负载进行调度性能指标采集,得到能够用于直观反映深度学习负载benchmark模拟运行时的调度性能的调度性能数据,进而,在该调度性能数据中筛选出满足预设的性能指标要求的关键指标如完成每次调度的时间成本、平均作业周转时间和集群整体资源利用率的变化等,从而得到能够用于直观反映深度学习负载benchmark模拟运行时的调度性能的调度性能评估结果,以及在一定程度上有效降低异构集群的评估时间以及成本。
综上所述,本申请提供了一种异构集群调度的模拟方法,包括:接收用户终端发送的模拟运行请求;响应模拟运行请求,读取本地数据库获取历史异构资源配置信息;基于历史异构资源配置信息对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置;基于执行指令使深度学习负载按照运行模式以及指令调度策略运行;基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展,模拟深度学习负载的大规模异构集群运行,得到深度学习负载的运行行为特征以及运行状态数据。基于训练数据集对基础深度学习负载benchmark进行训练,得到训练好的深度学习负载benchmark,并基于预先收集到的历史异构资源配置信息针对深度学习负载benchmark进行执行指令的运行模式以及指令调度策略的设置;进而基于执行指令使深度学习负载benchmark按照运行模式以及指令调度策略运行来准确获取深度学习负载的运行行为特征;再基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展,从而模拟深度学习负载的大规模异构集群运行来获取运行状态数据;然后,基于深度学习负载benchmark的应用层以及微架构层的性能指标进行设置的指标采集配置文件,对运行中的深度学习负载进行调度性能指标采集,并对采集到的调度性能数据进行评价,以快速获取调度性能评估结果。不仅能够实现模拟kubernetes大规模集群部署方式,还能够通过少量节点实现模拟大规模异构集群的应用场景,从而为调度研发人员提供低成本的实验环境,并在一定程度上有效降低异构集群的评估时间以及成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例二
进一步参考图5,作为对上述图2所示方法的实现,本申请提供了一种异构集群调度的模拟装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本申请实施例二提供的异构集群调度的模拟装置100包括:请求接收模块101、信息读取模块102、指令设置模块103、负载运行模块104以及模拟运行模块105。其中:
请求接收模块101,用于接收用户终端发送的模拟运行请求;
在本实施例中,模拟运行请求是调度研发人员为了获取深度学习负载在不同高性能异构硬件配置下的运行时特征需要提供环境支持而发出的操作请求。
信息读取模块102,用于响应所述模拟运行请求,读取本地数据库获取历史异构资源配置信息;
在本实施例中,历史异构资源配置信息是在模拟运行前,为了能够有针对性的对深度学习负载的应用程序在不同架构芯片下的运行方式和API调用关系进行设置而进行采集的现有CPU与高性能芯片如GPU的不同架构数据,其中,该不同架构数据具体可以包含CPU模型(AtomicSimple、TimingSimple、InOrder和O3等)与GPU架构(Tesla、Fermi、Kepler、Volta、Turing等)以及FPGA、TPU等数据。
指令设置模块103,用于基于所述历史异构资源配置信息对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置;
在本实施例中,运行模式是指在实现不同架构下深度学习负载的应用程序执行指令时的运算模式如串行运行和并行运行等。
在本实施例中,指令调度策略是指实现不同架构下深度学习负载的应用程序执行指令时的调度策略,以及能够执行该调度策略的不同硬件组合的参数配置文件。
在本实施例中,基于历史异构资源配置信息对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置具体可以是对基于历史异构资源配置信息来对现有硬件类型和架构进行分析,从而设置能够实现不同架构下深度学习负载的应用程序执行指令时的运算模式如串行运行和并行运行等,以及能够实现不同架构下深度学习负载的应用程序执行指令时的调度策略,以及能够执行该调度策略的不同硬件组合的参数配置文件,使得后续能够模拟不同架构下深度学习负载的应用程序运行状态,进一步分析深度学习负载在不同硬件配置下的运行时特征,从而实现不同硬件架构组合的自主化配置功能,模拟异构集群的底层资源配置策略,简化异构环境的配置,实现节约购买物理硬件的成本。
负载运行模块104,用于基于所述执行指令使所述深度学习负载按照所述运行模式以及所述指令调度策略运行;
在本实施例中,基于执行指令使深度学习负载按照运行模式以及指令调度策略运行具体可以是在不同架构下使该深度学习负载的应用程序执行如串行运行和并行运行等运算模式,以及在不同架构下使该深度学习负载的应用程序基于不同硬件组合的参数配置文件执行该调度策略,能够实现在不同架构下模拟深度学习负载的应用程序的运行状态,进而分析深度学习负载在不同硬件配置下的运行时特征,从而实现不同硬件架构组合的自主化配置功能,模拟异构集群的底层资源配置策略,简化异构环境的配置,实现节约购买物理硬件的成本。
模拟运行模块105,用于基于kubernetes虚拟化技术对运行中的所述深度学习负载进行集群节点模拟扩展,模拟所述深度学习负载的大规模异构集群运行,得到所述深度学习负载的运行行为特征以及运行状态数据。
在本实施例中,Kubernetes(K8s)因其可移植、可扩展和自修复的特点成为目前工业界和学术界广泛应用的容器编排工具。
在本实施例中,基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展具体可以是通过采用k8s部署集群,并基于k8s容器编排工具通过模拟物理机特征实现将少量节点模拟出大规模节点的集群来模拟深度学习负载的大规模异构集群运行,从而准确获取能够直观反映集群运行状态的运行状态数据,不仅能够实现集群节点的模拟扩展,还能够为集群调度优化研究提供了良好的环境支持。
本申请提供了一种异构集群调度的模拟装置,包括:基于预先收集到的历史异构资源配置信息针对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置;并基于执行指令使深度学习负载按照运行模式以及指令调度策略运行来准确获取深度学习负载的运行行为特征;进而,基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展,从而模拟深度学习负载的大规模异构集群运行来获取运行状态数据,不仅能够实现模拟kubernetes大规模集群部署方式,还能够通过少量节点实现模拟大规模异构集群的应用场景,从而为调度研发人员提供低成本的实验环境,并在一定程度上有效降低异构集群的评估时间以及成本。
继续参考图6,示出了根据本申请的异构集群调度的模拟装置的深度学习负载训练的结构示意图,为了便于说明,仅示出了与本申请相关的部分。
在本实施例二的一些可选的实现方式中,该装置还包括:数据集获取模块601以及负载训练模块602;上述负载运行模块104包括:负载运行单元603。
数据集获取模块601,用于读取本地数据库,获取训练数据集;
负载训练模块602,用于基于训练数据集对基础深度学习负载benchmark进行训练,得到训练好的深度学习负载benchmark;
负载运行单元603,用于基于执行指令使深度学习负载benchmark按照运行模式以及指令调度策略运行。
在本实施例中,基础深度学习负载benchmark是从现有的几种不同类型的深度学习负载中筛选具有代表性的benchmarks,主要用于测试负载的执行时间、传输速度、吞吐量、资源占用率等数据。
在本实施例中,训练数据集是每个benchmark所对应的不同规模的训练数据集。
在本实施例中,通过收集每个benchmark所对应的不同规模的训练数据集来对选取的基础深度学习负载benchmark进行训练,以获取能够用于测试模拟深度学习负载的应用程序在不同架构下运行的深度学习负载benchmark,进而后续当在不同架构下该深度学习负载benchmark的应用程序执行如串行运行和并行运行等运算模式,以及在不同架构下该深度学习负载benchmark的应用程序基于不同硬件组合的参数配置文件执行该调度策略时,能够实现在不同架构下模拟深度学习负载benchmark的应用程序的运行状态,进而分析深度学习负载benchmark在不同硬件配置下的运行时特征,从而实现不同硬件架构组合的自主化配置功能,模拟异构集群的底层资源配置策略,简化异构环境的配置,实现节约购买物理硬件的成本。
在本实施例二的一些可选的实现方式中,该装置还包括:
对深度学习负载benchmark的应用层以及微架构层的性能指标进行脚本编辑,得到深度学习负载benchmark对应的指标采集配置文件。
在本实施例中,脚本编辑是指能够自由选择性能指标以及采样间隔的配置文件的设置。
在本实施例中,深度学习负载benchmark的应用层的性能指标如CPU利用率、内存利用率、磁盘IO大小、网络带宽等。
在本实施例中,深度学习负载benchmark的微架构层的性能指标如IPC(Instructions per Cycle),分支预测(Branch Predict)和缓存丢失(Cache misses)等数据。
在本实施例中,为了能够对在不同架构下深度学习负载benchmark模拟运行采用的调度算法进行有效的调度性能评估,本实施例通过对深度学习负载benchmark的应用层的性能指标如CPU利用率、内存利用率、磁盘IO大小、网络带宽等,以及深度学习负载benchmark的微架构层的性能指标如IPC(Instructions per Cycle),分支预测(BranchPredict)和缓存丢失(Cache misses)等数据,进行脚本设置,得到包含有自由选择性能指标以及采样间隔功能的指标采集配置文件,以使后续能够基于该采集配置文件对运行中的深度学习负载进行调度性能指标采集,并对采集到的数据进行性能评估,以获取性能评估结果,从而实现对调度算法性能有效评估,并在一定程度上有效降低异构集群的评估时间以及成本。
继续参考图7,示出了根据本申请的异构集群调度的模拟装置的性能数据评价的结构示意图,为了便于说明,仅示出了与本申请相关的部分。
在本实施例二的一些可选的实现方式中,该装置还包括:性能指标采集模块701以及性能评估模块702。
性能指标采集模块701,用于基于指标采集配置文件对运行中的深度学习负载进行调度性能指标采集,得到调度性能数据;
性能评估模块702,用于基于预设的性能指标对调度性能数据进行评价,得到调度性能评估结果。
在本实施例中,预设的性能指标是根据实际应用需求设置的能够用于选取评估调度性能的关键指标如完成每次调度的时间成本、平均作业周转时间和集群整体资源利用率的变化等,此处不作具体限制。
在本实施例中,调度性能评估结果是能够用于直观反映深度学习负载benchmark模拟运行时的调度性能的评价指标。
在本实施例中,基于指标采集配置文件中采样间隔来对模拟运行中的深度学习负载进行调度性能指标采集,得到能够用于直观反映深度学习负载benchmark模拟运行时的调度性能的调度性能数据,进而,在该调度性能数据中筛选出满足预设的性能指标要求的关键指标如完成每次调度的时间成本、平均作业周转时间和集群整体资源利用率的变化等,从而得到能够用于直观反映深度学习负载benchmark模拟运行时的调度性能的调度性能评估结果,以及在一定程度上有效降低异构集群的评估时间以及成本。
综上所述,本申请提供了一种异构集群调度的模拟装置,包括:请求接收模块,用于接收用户终端发送的模拟运行请求;信息读取模块,用于响应模拟运行请求,读取本地数据库获取历史异构资源配置信息;指令设置模块,用于基于历史异构资源配置信息对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置;负载运行模块,用于基于执行指令使深度学习负载按照运行模式以及指令调度策略运行;模拟运行模块,用于基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展,模拟深度学习负载的大规模异构集群运行,得到深度学习负载的运行行为特征以及运行状态数据。基于训练数据集对基础深度学习负载benchmark进行训练,得到训练好的深度学习负载benchmark,并基于预先收集到的历史异构资源配置信息针对深度学习负载benchmark进行执行指令的运行模式以及指令调度策略的设置;进而基于执行指令使深度学习负载benchmark按照运行模式以及指令调度策略运行来准确获取深度学习负载的运行行为特征;再基于kubernetes虚拟化技术对运行中的深度学习负载进行集群节点模拟扩展,从而模拟深度学习负载的大规模异构集群运行来获取运行状态数据;然后,基于深度学习负载benchmark的应用层以及微架构层的性能指标进行设置的指标采集配置文件,对运行中的深度学习负载进行调度性能指标采集,并对采集到的调度性能数据进行评价,以快速获取调度性能评估结果。不仅能够实现模拟kubernetes大规模集群部署方式,还能够通过少量节点实现模拟大规模异构集群的应用场景,从而为调度研发人员提供低成本的实验环境,并在一定程度上有效降低异构集群的评估时间以及成本。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图8,图8为本实施例计算机设备基本结构框图。
所述计算机设备8包括通过系统总线相互通信连接存储器81、处理器82、网络接口83。需要指出的是,图中仅示出了具有组件81-83的计算机设备8,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器81至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器81可以是所述计算机设备8的内部存储单元,例如该计算机设备8的硬盘或内存。在另一些实施例中,所述存储器81也可以是所述计算机设备8的外部存储设备,例如该计算机设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器81还可以既包括所述计算机设备8的内部存储单元也包括其外部存储设备。本实施例中,所述存储器81通常用于存储安装于所述计算机设备8的操作系统和各类应用软件,例如异构集群调度的模拟方法的程序代码等。此外,所述存储器81还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器82在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器82通常用于控制所述计算机设备8的总体操作。本实施例中,所述处理器82用于运行所述存储器81中存储的程序代码或者处理数据,例如运行所述异构集群调度的模拟方法的程序代码。
所述网络接口83可包括无线网络接口或有线网络接口,该网络接口83通常用于在所述计算机设备8与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有异构集群调度的模拟程序,所述异构集群调度的模拟程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的异构集群调度的模拟方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种异构集群调度的模拟方法,其特征在于,包括下述步骤:
接收用户终端发送的模拟运行请求;
响应所述模拟运行请求,读取本地数据库获取历史异构资源配置信息;
基于所述历史异构资源配置信息对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置;
基于所述执行指令使所述深度学习负载按照所述运行模式以及所述指令调度策略运行;
基于kubernetes虚拟化技术对运行中的所述深度学习负载进行集群节点模拟扩展,模拟所述深度学习负载的大规模异构集群运行,得到所述深度学习负载的运行行为特征以及运行状态数据。
2.根据权利要求1所述的异构集群调度的模拟方法,其特征在于,在所述基于所述执行指令使所述深度学习负载按照所述运行模式以及所述指令调度策略运行的步骤之前,所述方法还包括:
读取所述本地数据库,获取训练数据集;
基于所述训练数据集对基础深度学习负载benchmark进行训练,得到训练好的深度学习负载benchmark;
所述基于所述执行指令使所述深度学习负载按照所述运行模式以及所述指令调度策略运行具体包括:
基于所述执行指令使所述深度学习负载benchmark按照所述运行模式以及所述指令调度策略运行。
3.根据权利要求2所述的异构集群调度的模拟方法,其特征在于,在所述基于所述训练数据集对基础深度学习负载benchmark进行训练,得到训练好的深度学习负载benchmark的步骤之后,所述方法还包括:
对所述深度学习负载benchmark的应用层以及微架构层的性能指标进行脚本编辑,得到所述深度学习负载benchmark对应的指标采集配置文件。
4.根据权利要求3所述的异构集群调度的模拟方法,其特征在于,在所述当所述深度学习负载在所述执行模式中运行时,基于kubernetes虚拟化技术对所述深度学习负载进行集群节点模拟扩展,模拟所述深度学习负载的大规模异构集群运行,得到所述深度学习负载的运行行为特征以及运行状态数据的步骤之后,所述方法还包括:
基于所述指标采集配置文件对运行中的所述深度学习负载进行调度性能指标采集,得到调度性能数据;
基于预设的性能指标对所述调度性能数据进行评价,得到调度性能评估结果。
5.一种异构集群调度的模拟装置,其特征在于,包括:
请求接收模块,用于接收用户终端发送的模拟运行请求;
信息读取模块,用于响应所述模拟运行请求,读取本地数据库获取历史异构资源配置信息;
指令设置模块,用于基于所述历史异构资源配置信息对预先训练好的深度学习负载进行执行指令的运行模式以及指令调度策略的设置;
负载运行模块,用于基于所述执行指令使所述深度学习负载按照所述运行模式以及所述指令调度策略运行;
模拟运行模块,用于基于kubernetes虚拟化技术对运行中的所述深度学习负载进行集群节点模拟扩展,模拟所述深度学习负载的大规模异构集群运行,得到所述深度学习负载的运行行为特征以及运行状态数据。
6.根据权利要求5所述的异构集群调度的模拟装置,其特征在于,所述装置还包括:
数据集获取模块,用于读取所述本地数据库,获取训练数据集;
负载训练模块,用于基于所述训练数据集对基础深度学习负载benchmark进行训练,得到训练好的深度学习负载benchmark;
所述负载运行模块包括:
负载运行单元,用于基于所述执行指令使所述深度学习负载benchmark按照所述运行模式以及所述指令调度策略运行。
7.根据权利要求6所述的异构集群调度的模拟装置,其特征在于,所述装置还包括:
对所述深度学习负载benchmark的应用层以及微架构层的性能指标进行脚本编辑,得到所述深度学习负载benchmark对应的指标采集配置文件。
8.根据权利要求7所述的异构集群调度的模拟装置,其特征在于,所述装置还包括:
性能指标采集模块,用于基于所述指标采集配置文件对运行中的所述深度学习负载进行调度性能指标采集,得到调度性能数据;
性能评估模块,用于基于预设的性能指标对所述调度性能数据进行评价,得到调度性能评估结果。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的异构集群调度的模拟方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的异构集群调度的模拟方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011375112.7A CN112433819B (zh) | 2020-11-30 | 异构集群调度的模拟方法、装置、计算机设备及存储介质 | |
PCT/CN2020/139683 WO2022110446A1 (zh) | 2020-11-30 | 2020-12-25 | 异构集群调度的模拟方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011375112.7A CN112433819B (zh) | 2020-11-30 | 异构集群调度的模拟方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112433819A true CN112433819A (zh) | 2021-03-02 |
CN112433819B CN112433819B (zh) | 2024-04-19 |
Family
ID=
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113298176A (zh) * | 2021-06-10 | 2021-08-24 | 中国科学技术大学 | 异构模型自适应协作方法 |
CN113377540A (zh) * | 2021-06-15 | 2021-09-10 | 上海商汤科技开发有限公司 | 集群资源调度方法及装置、电子设备和存储介质 |
CN113391925A (zh) * | 2021-06-25 | 2021-09-14 | 北京字节跳动网络技术有限公司 | 云资源管理方法、系统、介质、计算机设备 |
CN113420517A (zh) * | 2021-05-28 | 2021-09-21 | 清华大学 | 面向云端深度学习推理的fpga虚拟化硬件系统栈设计 |
CN113504966A (zh) * | 2021-06-22 | 2021-10-15 | 中国科学院计算技术研究所 | Gpu集群调度策略模拟方法及gpu集群模拟器 |
CN113553140A (zh) * | 2021-09-17 | 2021-10-26 | 阿里云计算有限公司 | 资源调度方法、设备及系统 |
CN113973049A (zh) * | 2021-10-13 | 2022-01-25 | 中国科学院计算技术研究所 | 一种fpga集群管理与部署比特流的方法 |
CN114637650A (zh) * | 2022-03-11 | 2022-06-17 | 电子科技大学 | 一种基于Kubernetes集群的弹性伸缩方法 |
CN116170518A (zh) * | 2023-04-26 | 2023-05-26 | 北京太极信息系统技术有限公司 | 一种国产芯片容器云跨架构管理的方法及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205003A (zh) * | 2015-10-28 | 2015-12-30 | 努比亚技术有限公司 | 一种基于集群化系统的自动化测试方法和装置 |
CN111274036A (zh) * | 2020-01-21 | 2020-06-12 | 南京大学 | 一种基于速度预测的深度学习任务的调度方法 |
US20200285503A1 (en) * | 2019-03-10 | 2020-09-10 | Microsoft Technology Licensing, Llc. | Cloud resource management using machine learning |
CN111966484A (zh) * | 2020-06-23 | 2020-11-20 | 北京大学 | 一种基于深度强化学习的集群资源管理和任务调度方法及系统 |
CN112000421A (zh) * | 2020-07-15 | 2020-11-27 | 北京计算机技术及应用研究所 | 基于超融合架构的管理调度技术 |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205003A (zh) * | 2015-10-28 | 2015-12-30 | 努比亚技术有限公司 | 一种基于集群化系统的自动化测试方法和装置 |
US20200285503A1 (en) * | 2019-03-10 | 2020-09-10 | Microsoft Technology Licensing, Llc. | Cloud resource management using machine learning |
CN111274036A (zh) * | 2020-01-21 | 2020-06-12 | 南京大学 | 一种基于速度预测的深度学习任务的调度方法 |
CN111966484A (zh) * | 2020-06-23 | 2020-11-20 | 北京大学 | 一种基于深度强化学习的集群资源管理和任务调度方法及系统 |
CN112000421A (zh) * | 2020-07-15 | 2020-11-27 | 北京计算机技术及应用研究所 | 基于超融合架构的管理调度技术 |
Non-Patent Citations (2)
Title |
---|
YAN MIN ET AL.: "A Simulation-Based Analysis of Cluster Tools Scheduling with Plant Simulation", 《THE 19TH INTERNATIONAL CONFERENCE ON INDUSTRIAL ENGINEERING AND ENGINEERING MANAGEMENT》, 1 January 2013 (2013-01-01), pages 71 - 80 * |
潘佳艺 等: "异构Hadoop集群下的负载自适应反馈调度策略", 《计算机工程与科学》, vol. 39, no. 3, 31 March 2017 (2017-03-31), pages 413 - 423 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113420517B (zh) * | 2021-05-28 | 2023-01-06 | 清华大学 | 面向云端深度学习推理的fpga虚拟化硬件系统栈设计 |
CN113420517A (zh) * | 2021-05-28 | 2021-09-21 | 清华大学 | 面向云端深度学习推理的fpga虚拟化硬件系统栈设计 |
CN113298176A (zh) * | 2021-06-10 | 2021-08-24 | 中国科学技术大学 | 异构模型自适应协作方法 |
CN113298176B (zh) * | 2021-06-10 | 2023-04-25 | 中国科学技术大学 | 异构模型自适应协作方法 |
CN113377540A (zh) * | 2021-06-15 | 2021-09-10 | 上海商汤科技开发有限公司 | 集群资源调度方法及装置、电子设备和存储介质 |
CN113504966A (zh) * | 2021-06-22 | 2021-10-15 | 中国科学院计算技术研究所 | Gpu集群调度策略模拟方法及gpu集群模拟器 |
CN113504966B (zh) * | 2021-06-22 | 2023-10-31 | 中国科学院计算技术研究所 | Gpu集群调度策略模拟方法及gpu集群模拟器 |
CN113391925A (zh) * | 2021-06-25 | 2021-09-14 | 北京字节跳动网络技术有限公司 | 云资源管理方法、系统、介质、计算机设备 |
CN113553140A (zh) * | 2021-09-17 | 2021-10-26 | 阿里云计算有限公司 | 资源调度方法、设备及系统 |
CN113553140B (zh) * | 2021-09-17 | 2022-03-18 | 阿里云计算有限公司 | 资源调度方法、设备及系统 |
CN113973049A (zh) * | 2021-10-13 | 2022-01-25 | 中国科学院计算技术研究所 | 一种fpga集群管理与部署比特流的方法 |
CN114637650A (zh) * | 2022-03-11 | 2022-06-17 | 电子科技大学 | 一种基于Kubernetes集群的弹性伸缩方法 |
CN116170518A (zh) * | 2023-04-26 | 2023-05-26 | 北京太极信息系统技术有限公司 | 一种国产芯片容器云跨架构管理的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2022110446A1 (zh) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378463B (zh) | 一种人工智能模型标准化训练平台及自动化系统 | |
WO2022110446A1 (zh) | 异构集群调度的模拟方法、装置、计算机设备及存储介质 | |
CN116126346B (zh) | Ai模型的代码编译方法、装置、计算机设备及存储介质 | |
US8768680B2 (en) | Simulator of multi-core system employing reconfigurable processor cores and method of simulating multi-core system employing reconfigurable processor cores | |
Muttillo et al. | Hepsycode-RT: A real-time extension for an ESL HW/SW co-design methodology | |
CN100531070C (zh) | 网络资源调度仿真系统 | |
CN116450486A (zh) | 多元异构计算系统内节点的建模方法、装置、设备及介质 | |
CN101799767B (zh) | 一种利用模拟器多种运行模式反复切换进行并行模拟的方法 | |
CA2739155C (en) | Method and data processing system for simulating an embedded system | |
CN113168552A (zh) | 人工智能应用开发系统、计算机设备及存储介质 | |
CN103309676A (zh) | 用于海洋数值模拟ROMS的Web服务封装方法以及系统 | |
CN105760638A (zh) | 一种加快soc芯片仿真的方法 | |
CN114357685A (zh) | 一种基于云平台的量子芯片性能模拟分析系统 | |
CN107436839A (zh) | 进程负载获取方法、电子终端及计算机可读存储介质 | |
CN112068942A (zh) | 一种基于单节点模拟的大规模并行系统模拟方法 | |
CN114021733B (zh) | 模型训练优化方法、装置、计算机设备及存储介质 | |
CN112433819B (zh) | 异构集群调度的模拟方法、装置、计算机设备及存储介质 | |
CN111523657B (zh) | 神经网络加速器创建方法及装置、电子设备和存储介质 | |
CN103310002A (zh) | 用于气象预报计算系统MM5的Web服务封装方法以及系统 | |
CN114466014A (zh) | 一种服务调度方法、装置、电子设备及存储介质 | |
Hernández et al. | A Simulation-based Scheduling Strategy for Scientific Workflows. | |
Khaitan et al. | Parallelizing power system contingency analysis using D programming language | |
Kim et al. | RETRACTED ARTICLE: Simulator considering modeling and performance evaluation for high-performance computing of collaborative-based mobile cloud infrastructure | |
Hammond et al. | Predictive simulation of HPC applications | |
CN113268436B (zh) | 基于钩子点的多粒度计算机仿真运行信息采集方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |