CN106155764A - 调度虚拟机输入输出资源的方法及装置 - Google Patents

调度虚拟机输入输出资源的方法及装置 Download PDF

Info

Publication number
CN106155764A
CN106155764A CN201510197899.5A CN201510197899A CN106155764A CN 106155764 A CN106155764 A CN 106155764A CN 201510197899 A CN201510197899 A CN 201510197899A CN 106155764 A CN106155764 A CN 106155764A
Authority
CN
China
Prior art keywords
resource
request
virtual disk
virtual
proportioning
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.)
Pending
Application number
CN201510197899.5A
Other languages
English (en)
Inventor
张超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510197899.5A priority Critical patent/CN106155764A/zh
Priority to TW104142098A priority patent/TWI685754B/zh
Priority to US15/087,396 priority patent/US9858117B2/en
Priority to PCT/US2016/025733 priority patent/WO2016171876A1/en
Publication of CN106155764A publication Critical patent/CN106155764A/zh
Priority to US15/833,779 priority patent/US10423450B2/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种调度虚拟机IO资源的方法及装置,该方法应用于所述虚拟机所在的物理机上,所述方法包括:响应于当前触发的多个IO请求,确定所述多个IO请求分别指向的、所述虚拟机中的多个目标虚拟磁盘;将所述多个IO请求分别分配至与所述多个目标虚拟磁盘一一对应的多个IO队列中;依据预先设置的各个虚拟磁盘对应的IO资源调度参数,对所述多个IO请求所占用的IO资源进行调度,所述IO资源调度参数包括:各个虚拟磁盘的IO资源配比。在本申请实施例中,可以使得IO资源在各个虚拟磁盘之间起到均衡合理分配的效果,提高虚拟机的服务质量(Qos)。

Description

调度虚拟机输入输出资源的方法及装置
技术领域
本申请涉及云计算技术领域,特别涉及一种调度虚拟机输入输出IO资源的方法及装置。
背景技术
在计算机中,虚拟化(Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有物理资源的架设方式、地域或物理组态所限制。虚拟机(Virtual Machine)就是指通过软件模拟的具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***。而云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。
存储性能在云计算与虚拟化中有着至关重要的作用,在KVM(Kernel-based Virtual Machine,基于内核的虚拟机)的存储虚拟化中,可以采用多个虚拟磁盘共享一个IO(输入输出,Input/Output)线程,例如,虚拟机对应的物理机的CPU创建了IO线程1来执行对虚拟磁盘1和2的IO操作,而创建了IO线程2来执行对虚拟磁盘3和4的IO操作,等等。
发明内容
但是发明人在研究过程中发现,现有技术中这种多个虚拟磁盘共享一个IO线程的方式,会导致多个虚拟磁盘也同属于该一个IO线程对应的一个IO队列,因此,当某一个虚拟磁盘需要占用较大的IO资源的时候,与该虚拟磁盘共享同一个IO线程的其他虚拟磁盘的IO资源就会相对较小,从而使得各个虚拟磁盘之间的IO资源的使用并不均衡。进一步的,当该虚拟磁盘的IO操作是用户发出的交互操作时,更会影响用户的体验。
基于上述原因,本申请实施例所要解决的技术问题是提供一种调度虚拟机IO资源的方法,用以尽量避免现有技术中。
本申请还提供了一种调度虚拟机IO资源的装置,用以保证上述方法在实际中的实现及应用。
为了解决上述问题,本申请公开了一种调度虚拟机IO资源的方法,该方法应用于所述虚拟机所在的物理机上,包括:
响应于当前触发的多个IO请求,确定所述多个IO请求分别指向的、所述虚拟机中的多个目标虚拟磁盘;
将所述多个IO请求分别分配至与所述多个目标虚拟磁盘一一对应的多个IO队列中;
依据预先设置的各个虚拟磁盘对应的IO资源调度参数,对所述多个IO请求所占用的IO资源进行调度,所述IO资源调度参数包括:各个虚拟磁盘的IO资源配比。
本申请公开了一种调度虚拟机IO资源的装置,所述装置集成于所述虚拟机所在的物理机上,包括:
确定模块,用于响应于当前触发的多个IO请求,确定所述多个IO请求分别指向的、所述虚拟机中的多个目标虚拟磁盘;
分配模块,用于将所述多个IO请求分别分配至与所述多个目标虚拟磁盘一一对应的多个IO队列中;
调度模块,用于依据预先设置的各个虚拟磁盘对应的IO资源调度参数,对所述多个IO请求所占用的IO资源进行调度,所述IO资源调度参数包括:各个虚拟磁盘的IO资源配比。
与现有技术相比,本申请包括以下优点:
当虚拟机中有IO请求时,该IO请求最终会通过虚拟机和物理机之间的通道传递给物理机。在本申请实施例中,物理机中存储有为IO请求预先创建的IO队列,该IO队列是与虚拟机中的虚拟磁盘一一对应的,IO请求涉及到对哪个虚拟磁盘的读写,该IO请求就会被分配到该虚拟磁盘对应的IO队列中,继而再根据各个虚拟磁盘,也即各个IO队列对应的IO资源配比进行IO资源调度,从而可以使得IO资源在各个虚拟磁盘之间起到均衡合理分配的效果,提高虚拟机的服务质量(Qos)。
进一步的,还能为不同的虚拟机磁盘配置不同的IO优先级,从而结合IO优先级和IO资源配比实现对IO资源的调度,从而实现虚拟机内部多个虚拟磁盘互相隔离并进行QOS控制的目的。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的调度虚拟机IO资源的方法实施例的流程图;
图2是本申请的方法实施例中创建IO队列的结构示意图;
图3是本申请的调度虚拟机IO资源的装置实施例的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
参考图1,示出了本申请一种调度虚拟机IO资源的方法实施例的流程图,该方法应用于所述虚拟机对应的物理机上,本实施例可以包括以下步骤:
步骤101:响应于当前触发的多个IO请求,确定所述多个IO请求分别指向的、所述虚拟机中的多个目标虚拟磁盘。
在本申请实施例中,可以以虚拟机安装Linux***为例进行说明。在Linux***中,如果用户触发了相应的操作,例如读取硬盘中的数据,或者提交验证信息请求服务器进行验证,物理机就会响应用户当前触发的IO请求,来触发对该虚拟机的某一个虚拟磁盘的IO操作。因此本步骤中,物理机首先需要确定用户当前触发的多个IO请求,分别指向了虚拟机中的哪些虚拟磁盘。
具体的,在本实施例中,步骤102具体可以包括:
步骤A1:响应于当前触发的多个IO请求,获取各个IO请求预先设置的IO特征,所述IO特征包括虚拟磁盘标识,所述虚拟磁盘的标识用于表示所述IO请求待访问的虚拟磁盘。
在本实施例中,可以预先设置IO特征,IO特征可以包括虚拟磁盘标识,如果设置的IO特征中包括了某个虚拟磁盘标识,则表示用户比较关注对该虚拟磁盘的读写操作。在实际应用中,虚拟机中的虚拟磁盘可能对应了物理机中的一个文件,那么虚拟磁盘标识就是文件描述符;当然,如果采用物理机中的其他形式来对应生成虚拟磁盘,虚拟磁盘标识也可以是其他标志。如果用户预先设置了IO特征,即,虚拟磁盘标识,则表示用户比较关注对该虚拟磁盘的读写操作。
因此,在本步骤中,如果用户预先设置了IO特征,比如虚拟磁盘标识A,则IO请求在下发过程中,根据该IO请求涉及的读写操作是否涉及虚拟磁盘标识A来对其进行标记,那么就可以根据各个IO请求对应的IO特征来确定各个IO请求需要针对哪一个虚拟磁盘进行读写操作。
步骤A3:将各个虚拟磁盘标识对应的虚拟磁盘确定为各个IO请求待访问的目标虚拟磁盘。
再根据虚拟磁盘标识确定各个IO请求待访问的目标虚拟磁盘是哪个虚拟磁盘。
在不同的实施方式中,除了虚拟磁盘标识,IO特征还可以包括进程标识,该进程标识可以表示某个IO请求的触发源是虚拟机还是物理机,虚拟机的IO请求,才执行本实施例中的方法。那么,在步骤A3之前,还可以包括:
步骤A2:判断所述IO请求的进程标识是否表示所述IO请求的触发源是虚拟机,如果是,则执行步骤A3。
判断IO请求对应的IO特征中的进程标识是否表示某个IO请求是虚拟机触发的,因为虚拟机对应了一个进程标识,如果IO请求是虚拟机触发的,则直接执行步骤A3。如果不是,则不执行A3。
接着进入步骤102:将所述多个IO请求分别分配至与所述多个目标虚拟磁盘一一对应的多个IO队列中。
在本实施例中,为每一个虚拟磁盘都建立一个对应的IO队列,对每一个虚拟磁盘的IO操作都会被分配至与该虚拟磁盘对应的IO队列中等待调度。
那么,本实施例在实际应用中还可以包括:
步骤100:在所述物理机的内核中预先为所述虚拟机的各个虚拟磁盘分别创建唯一对应的IO队列。
以CFQ(Completely Fair Queueing,绝对公平调度器)调度算法为例,对IO请求的调度分为CFQ Group(CFQ组)、service tree(服务树)和CFQ Queue(CFQ队列)三层,其中,CFQ Queue即为每个虚拟磁盘的对应的IO队列。在实际应用中,每个CFQ Group对应的一个IO策略组,物理机***会为每个IO策略组分配一定的IO资源,而在一个CFQ Group中,又包含多个Service tree。参考图2所示,为本申请实施例中创建IO队列的一个示意图。在图2中,假设虚拟磁盘标识为文件描述符,那么针对两个文件描述符fd1和fd2分别创建了两个CFQ Queue:CFQ Queue1和CFQ Queue2,CFQ Queue1和CFQ Queue2可以分属于不同的servicetree,也可以属于不同的CFQ Group。
则,本步骤具体可以包括:
步骤B1:获取预先创建的IO队列与虚拟磁盘之间的对应关系。
首先,获取到预先创建的IO队列与虚拟磁盘之间的对应关系。例如图2所示的fd1与CFQ Queue1的对应关系,以及fd2与CFQ Queue2的对应关系。
步骤B2:依据所述对应关系和IO特征确定各个IO请求对应的目标IO队列。
参考IO请求对应的IO特征的虚拟磁盘标识,可以确定出IO请求指向的目标虚拟磁盘,进而可以根据虚拟磁盘与IO队列的对应关系,可以确定出IO请求对应的目标IO队列。
步骤B3:将多个IO请求分别分配至对应的目标IO队列中。
再将各个IO请求对应分配至其所属的目标IO队列。
接着返回图1,进入步骤103:依据预先设置的各个虚拟磁盘对应的IO资源调度参数,对所述多个IO请求所占用的IO资源进行调度,所述IO资源调度参数包括:各个虚拟磁盘的IO资源配比。
在本实施例中,用户可以预先设置各个虚拟磁盘对应的IO资源调度参数,例如各个虚拟磁盘的IO资源配比。例如,虚拟磁盘1和虚拟磁盘2共享为其分配的IO资源的配比为1:3。
具体的,本步骤可以包括:
步骤C1:获取预先配置好的各个虚拟磁盘对应的IO资源调度参数,所述IO资源调度参数包括IO资源配比,所述IO资源配比用于表示所述各个虚拟磁盘相对于共享IO资源的百分比。
首先,获取预先配置好的各个虚拟磁盘对应的IO资源调度参数,即,表示各个虚拟磁盘相对于共享IO资源的百分比的IO资源配比。
步骤C4:按照所述IO资源配比表示的百分比,从共享IO资源中为所述多个IP请求分配各自占用的IO资源。
然后按照IO资源配比表示的百分比,从***分配的共享IO资源中为多个IP请求分配各自占用的IO资源。例如,假设虚拟磁盘1和虚拟磁盘2共享的IO资源为100M的IO带宽,那么以虚拟磁盘1和虚拟磁盘2的IO资源配比为1:3来讲,虚拟磁盘1就分到25M的IO带宽,虚拟磁盘2就分到75M的IO带宽。
在不同的实施例中,IO资源调度参数还可以包括,用户预先设置好的各个虚拟磁盘的优先级,则在对所述多个IO请求所占用的IO资源进行调度的过程中,在步骤C4之前,还可以包括:
步骤C2:针对所述多个目标虚拟磁盘,判断IO资源配比大于预设的资源配比阈值的那些虚拟磁盘当前是否空闲,如果是,则执行步骤C3,如果否,则执行步骤C4。
仍然以前述的虚拟磁盘1和虚拟磁盘2为例,两者的资源配比为1:3,那么虚拟磁盘1的占比为25%,虚拟磁盘2的占比为75%,假设预设的资源配比阈值为50%,那么本步骤就需要判断虚拟磁盘2当前是否空闲。因为如果虚拟磁盘2当前空闲,即,不存在IO操作的情况下,仍然对其分配较多的IO资源是不合适的,因此,需要执行本步骤的判断过程。
步骤C3:更新目标虚拟磁盘的IO资源配比,并按照更新后的IO资源配比表示的百分比,从共享IO资源中为所述多个IO请求分配各自占用的IO资源。
其中,所述更新目标虚拟磁盘的IO资源配比包括:减小空闲的目标虚拟磁盘的IO资源配比,并将减小的IO资源配比分配至非空闲的其他虚拟磁盘。在本步骤中,例如,可以将虚拟磁盘2的资源配比调整为25%,甚至更小,而将虚拟磁盘1的资源配比调整为75%,甚至更大,然后再按照调整后的IO资源配比为虚拟磁盘1和2来分配各自占用的IO资源。
可见,在本申请实施例中,为IO请求预先创建的IO队列是与虚拟机中的虚拟磁盘一一对应的,IO请求涉及到对哪个虚拟磁盘的读写,该IO请求就会被分配到该虚拟磁盘对应的IO队列中,继而再根据各个虚拟磁盘,也即各个IO队列对应的IO资源配比进行IO资源调度,从而可以使得IO资源在各个虚拟磁盘之间起到均衡合理分配的效果,提高虚拟机的服务质量(Qos)。
对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
与上述本申请一种调度虚拟机IO资源的方法实施例所提供的方法相对应,参见图3,本申请还提供了一种调度虚拟机IO资源的装置实施例,该装置可以集成在虚拟机所在的物理机上,在本实施例中,该装置可以包括:
确定模块301,用于响应于当前触发的多个IO请求,确定所述多个IO请求分别指向的、所述虚拟机中的多个目标虚拟磁盘。
其中,确定模块301具体可以包括:
获取特征子模块,用于响应于当前触发的多个IO请求,获取各个IO请求预先设置的IO特征,所述IO特征包括虚拟磁盘标识,所述虚拟磁盘的标识用于表示所述IO请求待访问的虚拟磁盘;和,确定磁盘子模块,用于将各个虚拟磁盘标识对应的虚拟磁盘确定为各个IO请求待访问的目标虚拟磁盘。
在实际应用中,IO特征还可以包括进程标识,该进程标识用于表示所述IO请求的触发源是虚拟机还是物理机;所述确定模块301还可以包括:
第一判断子模块,用于判断所述IO请求的进程标识是否表示所述IO请求的触发源是虚拟机;和,第一触发子模块,用于在所述判断子模块的结果为是的情况下,触发所述确定子模块。
分配模块302,用于将所述多个IO请求分别分配至与所述多个目标虚拟磁盘一一对应的多个IO队列中。
在实际应用中,该装置还可以包括:
创建模块300,用于在所述物理机的内核中预先为所述虚拟机的各个虚拟磁盘分别创建唯一对应的IO队列;
相应的,所述分配模块302具体可以包括:
获取关系子模块,用于获取预先创建的IO队列与虚拟磁盘之间的对应关系;确定队列子模块,用于依据所述对应关系和IO特征确定各个IO请求对应的目标IO队列;和,分配队列子模块,用于将多个IO请求分别分配至对应的目标IO队列中。
调度模块303,用于依据预先设置的各个虚拟磁盘对应的IO资源调度参数,对所述多个IO请求所占用的IO资源进行调度,所述IO资源调度参数包括:各个虚拟磁盘的IO资源配比。
其中,调度模块303具体可以包括:
获取参数子模块,用于获取预先配置好的各个虚拟磁盘对应的IO资源调度参数,所述IO资源调度参数包括IO资源配比,所述IO资源配比用于表示所述各个虚拟磁盘相对于共享IO资源的百分比;和,第一分配资源子模块,用于按照所述IO资源配比表示的百分比,从共享IO资源中为所述多个IP请求分配各自占用的IO资源。
其中,IO资源调度参数还包括各个虚拟磁盘的优先级,所述调度模块303还可以包括:
第二判断子模块,用于针对所述多个目标虚拟磁盘,判断IO资源配比大于预设的资源配比阈值的那些虚拟磁盘当前是否空闲;更新子模块,用于在所述第二判断子模块的结果为是的情况下,更新目标虚拟磁盘的IO资源配比;其中,所述更新目标虚拟磁盘的IO资源配比包括:减小空闲的目标虚拟磁盘的IO资源配比,并将减小的IO资源配比分配至非空闲的其他虚拟磁盘;第二分配资源子模块,用于按照更新后的IO资源配比表示的百分比,从共享IO资源中为所述多个IO请求分配各自占用的IO资源;和,第二触发子模块,用于在所述第二判断子模块的结果为否的情况下,直接触发所述第一分配资源子模块。
在本申请实施例中,为IO请求预先创建的IO队列是与虚拟机中的虚拟磁盘一一对应的,IO请求涉及到对哪个虚拟磁盘的读写,该IO请求就会被分配到该虚拟磁盘对应的IO队列中,继而再根据各个虚拟磁盘,也即各个IO队列对应的IO资源配比进行IO资源调度,从而可以使得IO资源在各个虚拟磁盘之间起到均衡合理分配的效果,提高虚拟机的服务质量(Qos)。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的调度虚拟机IO资源的方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种调度虚拟机IO资源的方法,其特征在于,该方法应用于所述虚拟机所在的物理机上,包括:
响应于当前触发的多个IO请求,确定所述多个IO请求分别指向的、所述虚拟机中的多个目标虚拟磁盘;
将所述多个IO请求分别分配至与所述多个目标虚拟磁盘一一对应的多个IO队列中;
依据预先设置的各个虚拟磁盘对应的IO资源调度参数,对所述多个IO请求所占用的IO资源进行调度,所述IO资源调度参数包括:各个虚拟磁盘的IO资源配比。
2.根据权利要求1所述的方法,其特征在于,所述响应于当前触发的多个IO请求,确定所述多个IO请求分别指向的、所述虚拟机中的多个目标虚拟磁盘,包括:
响应于当前触发的多个IO请求,获取各个IO请求预先设置的IO特征,所述IO特征包括虚拟磁盘标识,所述虚拟磁盘的标识用于表示所述IO请求待访问的虚拟磁盘;
将各个虚拟磁盘标识对应的虚拟磁盘确定为各个IO请求待访问的目标虚拟磁盘。
3.根据权利要求2所述的方法,其特征在于,所述IO特征还包括进程标识,所述进程标识用于表示所述IO请求的触发源是虚拟机还是物理机;则所述响应于当前触发的多个IO请求,获取各个IO请求预先设置的IO特征,还包括:
判断所述IO请求的进程标识是否表示所述IO请求的触发源是虚拟机,如果是,则执行将各个虚拟磁盘标识对应的虚拟磁盘确定为各个IO请求待访问的目标虚拟磁盘的步骤。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
在所述物理机的内核中预先为所述虚拟机的各个虚拟磁盘分别创建唯一对应的IO队列;
则,所述将所述多个IO请求分别分配至与所述多个目标虚拟磁盘一一对应的多个IO队列中,包括:
获取预先创建的IO队列与虚拟磁盘之间的对应关系;
依据所述对应关系和IO特征确定各个IO请求对应的目标IO队列;
将多个IO请求分别分配至对应的目标IO队列中。
5.根据权利要求1所述的方法,其特征在于,依据预先设置的各个虚拟磁盘对应的IO资源调度参数,对所述多个IO请求所占用的IO资源进行调度,包括:
获取预先配置好的各个虚拟磁盘对应的IO资源调度参数,所述IO资源调度参数包括IO资源配比,所述IO资源配比用于表示所述各个虚拟磁盘相对于共享IO资源的百分比;
按照所述IO资源配比表示的百分比,从共享IO资源中为所述多个IP请求分配各自占用的IO资源。
6.根据权利要求5所述的方法,其特征在于,所述IO资源调度参数还包括各个虚拟磁盘的优先级,则所述对所述多个IO请求所占用的IO资源进行调度,还包括:
针对所述多个目标虚拟磁盘,判断IO资源配比大于预设的资源配比阈值的那些虚拟磁盘当前是否空闲,如果是,则更新目标虚拟磁盘的IO资源配比,并按照更新后的IO资源配比表示的百分比,从共享IO资源中为所述多个IP请求分配各自占用的IO资源;其中,所述更新目标虚拟磁盘的IO资源配比包括:减小空闲的目标虚拟磁盘的IO资源配比,并将减小的IO资源配比分配至非空闲的其他虚拟磁盘;
如果否,则直接执行按照所述IO资源配比表示的百分比,从共享IO资源中为所述多个IP请求分配各自占用的IO资源的步骤。
7.一种调度虚拟机IO资源的装置,其特征在于,所述装置集成于所述虚拟机所在的物理机上,包括:
确定模块,用于响应于当前触发的多个IO请求,确定所述多个IO请求分别指向的、所述虚拟机中的多个目标虚拟磁盘;
分配模块,用于将所述多个IO请求分别分配至与所述多个目标虚拟磁盘一一对应的多个IO队列中;
调度模块,用于依据预先设置的各个虚拟磁盘对应的IO资源调度参数,对所述多个IO请求所占用的IO资源进行调度,所述IO资源调度参数包括:各个虚拟磁盘的IO资源配比。
8.根据权利要求7所述的装置,其特征在于,所述确定模块包括:
获取特征子模块,用于响应于当前触发的多个IO请求,获取各个IO请求预先设置的IO特征,所述IO特征包括虚拟磁盘标识,所述虚拟磁盘的标识用于表示所述IO请求待访问的虚拟磁盘;
确定磁盘子模块,用于将各个虚拟磁盘标识对应的虚拟磁盘确定为各个IO请求待访问的目标虚拟磁盘。
9.根据权利要求8所述的装置,其特征在于,所述IO特征还包括进程标识,所述进程标识用于表示所述IO请求的触发源是虚拟机还是物理机;所述确定模块还包括:
第一判断子模块,用于判断所述IO请求的进程标识是否表示所述IO请求的触发源是虚拟机;
第一触发子模块,用于在所述判断子模块的结果为是的情况下,触发所述确定子模块。
10.根据权利要求8或9所述的装置,其特征在于,还包括:
创建模块,用于在所述物理机的内核中预先为所述虚拟机的各个虚拟磁盘分别创建唯一对应的IO队列;
相应的,所述分配模块包括:
获取关系子模块,用于获取预先创建的IO队列与虚拟磁盘之间的对应关系;
确定队列子模块,用于依据所述对应关系和IO特征确定各个IO请求对应的目标IO队列;
分配队列子模块,用于将多个IO请求分别分配至对应的目标IO队列中。
11.根据权利要求7所述的装置,其特征在于,所述调度模块包括:
获取参数子模块,用于获取预先配置好的各个虚拟磁盘对应的IO资源调度参数,所述IO资源调度参数包括IO资源配比,所述IO资源配比用于表示所述各个虚拟磁盘相对于共享IO资源的百分比;
第一分配资源子模块,用于按照所述IO资源配比表示的百分比,从共享IO资源中为所述多个IP请求分配各自占用的IO资源。
12.根据权利要求11所述的装置,其特征在于,所述IO资源调度参数还包括各个虚拟磁盘的优先级,所述调度模块还包括:
第二判断子模块,用于针对所述多个目标虚拟磁盘,判断IO资源配比大于预设的资源配比阈值的那些虚拟磁盘当前是否空闲;
更新子模块,用于在所述第二判断子模块的结果为是的情况下,更新目标虚拟磁盘的IO资源配比;其中,所述更新目标虚拟磁盘的IO资源配比包括:减小空闲的目标虚拟磁盘的IO资源配比,并将减小的IO资源配比分配至非空闲的其他虚拟磁盘;
第二分配资源子模块,用于按照更新后的IO资源配比表示的百分比,从共享IO资源中为所述多个IP请求分配各自占用的IO资源;
第二触发子模块,用于在所述第二判断子模块的结果为否的情况下,直接触发所述第一分配资源子模块。
CN201510197899.5A 2015-04-23 2015-04-23 调度虚拟机输入输出资源的方法及装置 Pending CN106155764A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201510197899.5A CN106155764A (zh) 2015-04-23 2015-04-23 调度虚拟机输入输出资源的方法及装置
TW104142098A TWI685754B (zh) 2015-04-23 2015-12-15 調度虛擬機輸入輸出資源的方法及裝置
US15/087,396 US9858117B2 (en) 2015-04-23 2016-03-31 Method and system for scheduling input/output resources of a virtual machine
PCT/US2016/025733 WO2016171876A1 (en) 2015-04-23 2016-04-01 Method and system for scheduling input/output resources of a virtual machine
US15/833,779 US10423450B2 (en) 2015-04-23 2017-12-06 Method and system for scheduling input/output resources of a virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510197899.5A CN106155764A (zh) 2015-04-23 2015-04-23 调度虚拟机输入输出资源的方法及装置

Publications (1)

Publication Number Publication Date
CN106155764A true CN106155764A (zh) 2016-11-23

Family

ID=57148642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510197899.5A Pending CN106155764A (zh) 2015-04-23 2015-04-23 调度虚拟机输入输出资源的方法及装置

Country Status (3)

Country Link
US (2) US9858117B2 (zh)
CN (1) CN106155764A (zh)
TW (1) TWI685754B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109407970A (zh) * 2018-09-12 2019-03-01 新华三技术有限公司成都分公司 读写请求处理方法、装置及电子设备
CN110096355A (zh) * 2018-01-29 2019-08-06 阿里巴巴集团控股有限公司 一种共享资源分配方法、装置和设备
US10884667B2 (en) 2017-01-05 2021-01-05 Huawei Technologies Co., Ltd. Storage controller and IO request processing method
US11003360B2 (en) 2016-12-29 2021-05-11 Huawei Technologies Co., Ltd. IO request processing according to processing sorting indexes

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103795804A (zh) * 2014-02-24 2014-05-14 华为技术有限公司 存储资源调度方法及存储计算***
US11327789B2 (en) * 2017-02-17 2022-05-10 Intel Corporation Merged input/output operations from a plurality of virtual machines
US10838624B2 (en) * 2018-01-31 2020-11-17 Hewlett Packard Enterprise Development Lp Extent pool allocations based on file system instance identifiers
CN108920269B (zh) * 2018-07-19 2021-03-19 中国联合网络通信集团有限公司 容器的i/o传输任务的调度方法和装置
CN115220911A (zh) * 2022-06-17 2022-10-21 中科驭数(北京)科技有限公司 资源管理方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440113A (zh) * 2013-09-16 2013-12-11 北京搜狐新媒体信息技术有限公司 一种磁盘io资源分配方法和装置
CN103870341A (zh) * 2014-03-12 2014-06-18 汉柏科技有限公司 一种调整虚拟机资源的方法和***
CN104111800A (zh) * 2013-04-18 2014-10-22 阿里巴巴集团控股有限公司 一种虚拟磁盘的io口调度方法及其调度装置

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044439A (en) 1997-10-27 2000-03-28 Acceleration Software International Corporation Heuristic method for preloading cache to enhance hit rate
US6976258B1 (en) 1999-11-30 2005-12-13 Ensim Corporation Providing quality of service guarantees to virtual hosts
US6633954B1 (en) * 2000-03-31 2003-10-14 Emc Corporation Method for enhancing host application performance with a DASD using task priorities
US7062642B1 (en) 2000-05-20 2006-06-13 Ciena Corporation Policy based provisioning of network device resources
US6829704B2 (en) 2001-04-13 2004-12-07 General Electric Company Method and system to automatically activate software options upon initialization of a device
US7047297B2 (en) 2001-07-17 2006-05-16 Mcafee, Inc. Hierarchically organizing network data collected from full time recording machines and efficiently filtering the same
US6968398B2 (en) 2001-08-15 2005-11-22 International Business Machines Corporation Method of virtualizing I/O resources in a computer system
US20050052992A1 (en) 2003-08-01 2005-03-10 Cloonan Thomas J. Method and system for dynamically managing cable data bandwidth based on channel congestion state and subscriber usage profile
US7457870B1 (en) 2004-02-27 2008-11-25 Packeteer, Inc. Methods, apparatuses and systems facilitating classification of web services network traffic
WO2005093576A1 (en) 2004-03-28 2005-10-06 Robert Iakobashvili Visualization of packet network performance, analysis and optimization for design
US7590830B2 (en) 2004-05-28 2009-09-15 Sun Microsystems, Inc. Method and structure for concurrent branch prediction in a processor
US20060143617A1 (en) 2004-12-29 2006-06-29 Knauerhase Robert C Method, apparatus and system for dynamic allocation of virtual platform resources
US7617314B1 (en) 2005-05-20 2009-11-10 Network General Technology HyperLock technique for high-speed network data monitoring
US20060288015A1 (en) 2005-06-15 2006-12-21 Schirripa Steven R Electronic content classification
US7639613B1 (en) 2005-06-24 2009-12-29 Packeteer, Inc. Adaptive, flow-based network traffic measurement and monitoring system
US8121043B2 (en) 2005-08-19 2012-02-21 Cisco Technology, Inc. Approach for managing the consumption of resources using adaptive random sampling
US20070276989A1 (en) 2006-05-29 2007-11-29 Sandisk Il Ltd. Predictive data-loader
JP4240062B2 (ja) 2006-05-31 2009-03-18 日本電気株式会社 計算機システムおよび性能計測方法ならびに管理サーバ装置
US8782047B2 (en) * 2009-10-30 2014-07-15 Hitachi Data Systems Corporation Fixed content storage within a partitioned content platform using namespaces
JP2008217216A (ja) * 2007-03-01 2008-09-18 Hitachi Ltd 負荷分散方法及び計算機システム
US7752360B2 (en) 2007-05-16 2010-07-06 Nuova Systems, Inc. Method and system to map virtual PCIe I/O devices and resources to a standard I/O bus
US8141094B2 (en) * 2007-12-03 2012-03-20 International Business Machines Corporation Distribution of resources for I/O virtualized (IOV) adapters and management of the adapters through an IOV management partition via user selection of compatible virtual functions
US8849971B2 (en) 2008-05-28 2014-09-30 Red Hat, Inc. Load balancing in cloud-based networks
US9208003B2 (en) 2008-06-09 2015-12-08 International Business Machines Corporation Hypervisor to I/O stack conduit in virtual real memory
US9055080B2 (en) 2009-12-14 2015-06-09 Citrix Systems, Inc. Systems and methods for service isolation
JP5427011B2 (ja) * 2009-12-17 2014-02-26 株式会社日立製作所 仮想ハードディスクの管理サーバおよび管理方法、管理プログラム
US8452835B2 (en) 2009-12-23 2013-05-28 Citrix Systems, Inc. Systems and methods for object rate limiting in multi-core system
US8627426B2 (en) 2010-04-26 2014-01-07 Vmware, Inc. Cloud platform architecture
US8719804B2 (en) 2010-05-05 2014-05-06 Microsoft Corporation Managing runtime execution of applications on cloud computing systems
US8938774B2 (en) 2010-05-28 2015-01-20 Dell Products, Lp System and method for I/O port assignment and security policy application in a client hosted virtualization system
US8620870B2 (en) * 2010-09-30 2013-12-31 Commvault Systems, Inc. Efficient data management improvements, such as docking limited-feature data management modules to a full-featured data management system
GB2499747B (en) 2010-11-22 2014-04-09 Seven Networks Inc Aligning data transfer to optimize connections established for transmission over a wireless network
US8904136B2 (en) * 2011-03-15 2014-12-02 Symantec Corporation Optimized shrinking of virtual disks
US20120324572A1 (en) 2011-06-16 2012-12-20 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods that perform application request throttling in a distributed computing environment
US8997171B2 (en) 2011-08-19 2015-03-31 Microsoft Technology Licensing, Llc Policy based application suspension and termination
US9152405B2 (en) 2011-08-22 2015-10-06 International Business Machines Corporation Rapid provisioning of virtual machines based on multi-dimensional user request patterns in a cloud
CN103036930B (zh) * 2011-09-30 2015-06-03 国际商业机器公司 用于管理存储设备的方法和设备
US20150120914A1 (en) 2012-06-13 2015-04-30 Hitachi, Ltd. Service monitoring system and service monitoring method
US9092341B2 (en) 2012-07-10 2015-07-28 International Business Machines Corporation Methods of cache preloading on a partition or a context switch
TW201407476A (zh) * 2012-08-06 2014-02-16 Hon Hai Prec Ind Co Ltd 虛擬機資源配置系統及方法
CN104969604B (zh) 2012-08-14 2020-06-02 俄亥俄州立创新基金会 有效使用网络带宽的***和方法
US9451403B2 (en) 2012-08-30 2016-09-20 Ebay Inc. Systems and method for configuring mobile device applications based on location
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US20140223427A1 (en) 2013-02-04 2014-08-07 Thomas C. Bootland System, Method and Apparatus for Determining Virtual Machine Performance
EA201301283A1 (ru) 2013-11-26 2015-05-29 Общество С Ограниченной Ответственностью "Параллелз" Способ целевой виртуализации ресурсов в контейнере
US9262192B2 (en) * 2013-12-16 2016-02-16 Vmware, Inc. Virtual machine data store queue allocation
WO2015136624A1 (ja) 2014-03-11 2015-09-17 株式会社日立製作所 アプリケーション性能監視方法および装置
US9690685B2 (en) 2014-05-30 2017-06-27 Apple Inc. Performance management based on resource consumption
EP3170335B1 (en) 2014-07-16 2019-12-11 Tensera Networks Ltd. Efficient content delivery over wireless networks using guaranteed prefetching at selected times-of-day
US9256467B1 (en) 2014-11-11 2016-02-09 Amazon Technologies, Inc. System for managing and scheduling containers
US9612758B1 (en) 2015-03-10 2017-04-04 EMC IP Holding Company LLC Performing a pre-warm-up procedure via intelligently forecasting as to when a host computer will access certain host data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104111800A (zh) * 2013-04-18 2014-10-22 阿里巴巴集团控股有限公司 一种虚拟磁盘的io口调度方法及其调度装置
CN103440113A (zh) * 2013-09-16 2013-12-11 北京搜狐新媒体信息技术有限公司 一种磁盘io资源分配方法和装置
CN103870341A (zh) * 2014-03-12 2014-06-18 汉柏科技有限公司 一种调整虚拟机资源的方法和***

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11003360B2 (en) 2016-12-29 2021-05-11 Huawei Technologies Co., Ltd. IO request processing according to processing sorting indexes
US10884667B2 (en) 2017-01-05 2021-01-05 Huawei Technologies Co., Ltd. Storage controller and IO request processing method
CN110096355A (zh) * 2018-01-29 2019-08-06 阿里巴巴集团控股有限公司 一种共享资源分配方法、装置和设备
CN110096355B (zh) * 2018-01-29 2024-04-09 阿里巴巴集团控股有限公司 一种共享资源分配方法、装置和设备
CN109407970A (zh) * 2018-09-12 2019-03-01 新华三技术有限公司成都分公司 读写请求处理方法、装置及电子设备
CN109407970B (zh) * 2018-09-12 2022-02-11 新华三技术有限公司成都分公司 读写请求处理方法、装置及电子设备

Also Published As

Publication number Publication date
TW201638795A (zh) 2016-11-01
US20180095789A1 (en) 2018-04-05
TWI685754B (zh) 2020-02-21
US10423450B2 (en) 2019-09-24
US20160314017A1 (en) 2016-10-27
US9858117B2 (en) 2018-01-02

Similar Documents

Publication Publication Date Title
CN106155764A (zh) 调度虚拟机输入输出资源的方法及装置
Abdulhamid et al. Fault tolerance aware scheduling technique for cloud computing environment using dynamic clustering algorithm
US10896064B2 (en) Coordinated, topology-aware CPU-GPU-memory scheduling for containerized workloads
Duan et al. Multi-objective game theoretic schedulingof bag-of-tasks workflows on hybrid clouds
CN108667867B (zh) 数据存储方法及装置
CN104428752B (zh) 将虚拟机流卸载至物理队列
US8725875B2 (en) Native cloud computing via network segmentation
Gupta et al. Optimizing VM Placement for HPC in the Cloud
US20140215465A1 (en) Traffic and/or workload processing
CN110313149A (zh) 数据中心云架构中的统一资源管理
CN111344688A (zh) 云计算中资源提供的方法及***
CN104142864A (zh) 一种基于虚拟化技术的多租户性能隔离框架
Zhu et al. FPGA resource pooling in cloud computing
CN109286579A (zh) 一种用户资源的分配方法、装置及计算机可读存储介质
CN106502760A (zh) 一种虚拟机亲和性策略可视化的方法及装置
CN107872405A (zh) 分布式带宽分配和调节
CN107807848A (zh) 一种云桌面***
Alam et al. An NBDMMM algorithm based framework for allocation of resources in cloud
Himthani et al. Comparative analysis of VM scheduling algorithms in cloud environment
CN105653347A (zh) 一种服务器、资源管理方法及虚拟机管理器
Hu et al. Research of scheduling strategy on OpenStack
CN103795621A (zh) 一种虚拟机的数据交换方法、装置及物理主机
Rodrigues de Castro A feasible community cloud architecture for provisioning infrastructure as a service in the government sector
KR101811317B1 (ko) 하나의 물리적 서버를 이용한 웹 기반 시뮬레이션 실행을 위한 독립 플랫폼
Gupta Techniques for efficient high performance computing in the cloud

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161123

RJ01 Rejection of invention patent application after publication