CN104731658A - 供应和合并共享资源以最大化资源可用性的方法和系统 - Google Patents
供应和合并共享资源以最大化资源可用性的方法和系统 Download PDFInfo
- Publication number
- CN104731658A CN104731658A CN201410706156.1A CN201410706156A CN104731658A CN 104731658 A CN104731658 A CN 104731658A CN 201410706156 A CN201410706156 A CN 201410706156A CN 104731658 A CN104731658 A CN 104731658A
- Authority
- CN
- China
- Prior art keywords
- resource
- computer
- supply
- principal
- cloud
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/783—Distributed allocation of resources, e.g. bandwidth brokers
-
- 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
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种供应和合并共享资源以最大化资源可用性的方法和系统。提供了一种共享资源系统、管理所述系统上的资源的方法以及用于此的计算机程序产品。资源整合单元导致标识主计算机上的相同存储器分段。所述资源整合单元可以在一个或多个主计算机上。每个相同存储器分段与在至少两个主计算机上供应的资源的多个实例相关联。所述资源整合单元导致针对至少一个实例,将供应的资源从所述两个主机的一个迁移到另一个。在所述另一个主计算机上,所迁移的资源与已经在所述另一个主机上供应的资源共享相应的相同存储器分段。
Description
技术领域
本发明涉及管理共享资源,更具体地说,涉及跨多个计算机整合分配的资源以便最小化供应的资源使用的计算机资源,尤其是存储器。
背景技术
对于任何现代组织而言,获得和管理信息技术(IT)是主要预算问题。此外,本地IT硬件很少在满负载下使用。为了降低IT基础架构成本和浪费,组织越来越多地在更少服务器上托管的虚拟机(VM)上整合工作负载,而不是获得物理硬件。远程服务器计算机提供每个VM作为具有虚拟资源(例如,处理能力、存储器和磁盘空间)的虚拟服务器。通常,从多个虚拟资源模板(VRT或模板)中选择每个VM配置。每个VM具有分配的能力(例如,磁盘空间、处理资源和存储器),并且针对其预期目的和预计需要进行配置(软件栈和许可)。管理这些VM的关键问题是确定如何优化资源能力和配置以便最大化VM密度而不损害性能。
通常,服务提供者可以主要基于提供者系统优化、工作负载预测以及来自持续监视VM资源使用的结果,针对每个VM分配/放置物理资源。分配不足(仅为每个VM提供整个请求的一部分)可以利用所有资源,同时损害用户的服务质量(QoS)。过度分配(为每个VM提供整个请求并且保持某种裕度)可以确保可接受的用户QoS,但浪费资源和能源,并且减少用于后续请求用户的可用能力。在理想情况下,对分配进行平衡,既要分配足够的IT资源而不浪费,同时还保持用户的QoS。
如果发现主计算机存储器限制VM能力,则除了添加更多存储器之外,服务提供者还尝试增加存储能力,在某些情况下这可能需要整个系统体系架构更改。因此,提供者例如使用基于内容的页面共享(CBPS)技术(例如内核同页合并(KSM)),以便跨多个VM整合用于相同内容的主机存储器,增加主机的VM密度和利用率。但是,尽管这改进了个体主机上的能力,但改进仅是渐进式的。
因此,需要在主计算机上定位VM以便跨虚拟化环境有效整合资源;以及更具体地说,需要在主机之间迁移VM以便改进资源分配效率,改进能源节省和安全性,同时避免增加资本支出、网络延迟和资源管理要求。
发明内容
本发明的一个特性是在多个主机系统上整合为VM供应的资源;
本发明的另一个特性是在云环境中的主机系统中提高VM密度;
本发明的另一个特性是通过整合为VM供应的资源来最佳利用云资源,隔离云主机中的现有VM和新VM以便最大化利用率。
本发明涉及一种共享资源系统、管理所述系统上的资源的方法以及用于此的计算机程序产品。资源整合单元导致标识主计算机上的相同存储器分段。所述资源整合单元可以在一个或多个主计算机上。每个相同存储器分段与在至少两个主计算机上供应的资源的多个实例相关联。所述资源整合单元导致针对至少一个实例,将供应的资源从所述两个主机的一个迁移到另一个。在所述另一个主计算机上,所迁移的资源与已经在所述另一个主机上供应的资源共享相应的相同存储器分段。
附图说明
从以下参考附图的对本发明优选实施例的详细描述,将更好地理解以上和其它目的、方面和优点,这些附图是:
图1示出根据本发明的一个实施例的云计算节点;
图2示出根据本发明的一个实施例的云计算环境;
图3示出根据本发明的一个实施例的抽象模型层;
图4示出根据本发明的一个优选实施例的用于整合的资源分配的资源供应和管理(例如在管理层中)的示例;
图5更详细示出隐私感知选择的一个示例,其基本上采用两个阶段:依次是初始化阶段和分析阶段;
图6A-B示出将初始化阶段应用于一对系统管理程序主机的示例,该对主机连接到网络并具有VM;
图6C示出将不可知或分布式KSM选择应用于图6A的云布置的示例。
具体实施方式
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是如下详述,能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。并且,本发明为客户端提供了用于调整个体资源分配的自我监控以及以最小化的操作成本和能源利用实时地用于优化的资源分配的实时配置。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其它基础计算资源,有时也被称为系统管理程序。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统或设备的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算机系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MCA)总线,增强型ISA(EISA)总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓冲存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM、DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。如下面进一步示出和描述的,存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它组件通信。应当明白,尽管图中未示出,其它硬件和/或软件组件可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;IBM系统;IBM系统;存储器件;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM应用服务器软件;数据库软件,例如IBM数据库软件。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统64,以及虚拟客户端。
在一个示例中,管理层66可以提供下述功能:资源供应功能68:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取。计量和定价功能70:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能72:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能74:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层76提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;以及交易处理。
图4示出参考图1-3,根据本发明的一个优选实施例的用于整合的资源分配的资源供应和管理100(例如在管理层66中)的示例。优选资源供应和管理100可以位于一个或多个网络节点10、资源供应68、计量和定价70、服务水平管理72、SLA计划和履行74中,或者单独作为管理层66中的资源整合单元。优选资源供应和管理100分析虚拟机(VM)请求和供应的VM以便标识存储实例共性,从而标识的VM需要相同存储器数据分段/页面;以及其中适当地放置/迁移这些标识的VM以减少总物理存储器要求,以便整合这些VM的存储器分配。
资源供应和管理100可以单独或顺序使用蛮力选择102、操作系统(OS)和进程感知选择104、隐私感知选择106以及分布式内核同页合并(KSM)选择110中的任何或全部来选择存储器以便整合。优选地,资源供应和管理100跨云整合VM以便优化物理存储器使用,从而放置VM以便通过跨云节点10实现基于内容的页面共享来最小化物理存储器使用。在分布式环境(例如云环境)中将具有公共存储器表示的VM 100整合到单个物理节点在总体上通过虚拟复制相同内容占用的存储器空间来降低总物理存储器要求,这将增加虚拟存储能力而不更改物理能力。
在蛮力选择102期间,云主机10比较跨所有物理主机10的每个供应的VM的存储器占用,以便标识多个VM上的所有进程使用的公共存储器区段,例如具有公共数据和/或程序的区段或页面。通常,这种云范围匹配计算量大,尤其对于大的系统集合而言。
OS和进程感知选择104基于评估的存储器要求放置VM,这些评估的存储器要求从有关每个VM中存在的操作系统和进程的信息提取。基于特定OS(例如版本和服务)和列出的运行中进程,评估VM存储内容。通过针对每个VM节点交换OS细节和进程列表,放置VM以便最大化预测的共享页面数量,即,最小化相同个体页面的重复实例数量。
图5示出隐私感知选择106的示例,基本上采用两个阶段:依次是创建共享字典120的初始化阶段106,以及对照现有字典映像比较新映像的分析阶段122。优选地,主机10基于VM创建/销毁的频率或者基于负载,按指定间隔定期重新初始化106。
初始化始于每个主机(图1和2中的10)标识1062每个VM上的存储器页面或分段数量,该主机和其它主机上的VM共享这些存储器页面或分段。记录1064结果将生成字典120。然后,主机10根据共享页面对VM进行排序1066。优选地,主机10基于与该同一主机10上的其它VM的共性级别,对VM进行排序1066。因此,例如最低排序的VM可以与同一主机上的其它VM具有最少共享存储器。
每个主机10迭代选择1068具有最少共享存储器的VM,并且将选定VM复制到另一个主机,即目标主机10。优选地,每个主机10将与其它本地VM具有最少本地共性(或预先计算的非共享存储空间散列)的VM(多个)复制到目标主机10。目标主机10分析1072复制或迁移的VM与本地VM的共性,并且共享1074结果。当选择1068、复制1070和分析1072所有VM或预定最大数量的VM 1076时,共享字典120完成。主机10检查结果1078以便确定优化利用率的迁移计划,并且主机10将选定映像迁移1080到被预测共享最多页面的任何一个主机10。之后,主机10使用字典对照已知VM分析122每个新VM,以便帮助确定如何最佳迁移新VM。
图6A-B示出参考图5,将初始化阶段应用于一对系统管理程序主机130、132的示例,该对主机连接到网络134并且具有VM 136、138、140、142、144。在初始化期间,主机130、132根据存储页面中的共性程度,各自对VM 136、138、140、142、144进行排序1066,这在表146、148中示出。在该示例中,VM3 140与VM4 142和VM5 144具有很少共享,VM4142和VM5 144共享公共存储内容,例如具有相同OS和/或应用的存储器。因此,潜在地,将VM3 140迁移到其它主机130可以改进整合。
因此,然后主机130标识1062 VM1 136和VM2 138中的公共内容150;以及主机132标识1062 VM4 142和VM5 144中的公共内容152;以及主机130、132对结果进行排序1066。主机132选择1068 VM3 140并将其复制1070到目标主机130。目标主机130比较1072副本154与供应的存储器(包括公共内容150存储器),以确定复制的VM3 150是否与本地VM1136和VM2 138共享任何共性,从而标识具有公共内容的分段156。同样,随后首先将VM2 132然后将VM2复制到主机132可以标识区域,以便进一步基于任何其它标识的共性进行整合。这种比较将防止迁移或复制没有导致最佳放置或改进现有放置的VM,因此是不需要和/或不必要的。
图6C示出将不可知或分布式KSM选择110应用于图6A的云布置的示例,在该示例中具有类似的结果并且具有同样标记的相同特性。分布式KSM选择110类似于KSM,KSM用于整合单个主机的资源。但是,其中KSM专注于单个主机,分布式KSM选择110跨分布式云主机130、132维护分布式散列表(DHT)160。DHT 160记录具有运行的一个或多个VM136、138、140、142、144的主机130、132的物理机历史。
优选地,DHT 160包括记录的散列值的历史,这些值指示页面稳定性。例如,DHT 160可以包括值字段,其跨VM 136、138、140、142、144和物理节点130、132存储页面特征。此外,DHT 160还可以包括有关页面的其它元数据,例如大小、访问频率、VM和物理节点。可选地,DHT 160可以是多层,其中一个层用于VM 136、138、140、142、144,并且另一个层用于物理节点130、132。在该可选多层示例中,针对每次发生合并/迁移操作,仅更新物理节点层。通过比较散列值历史稳定性,DHT 160将页面标识为相对稳定或不稳定。
可以使用内核级别存储排序技术跨标识的页面解决/最小化存储效应碎片。因此,组合分布式KSM与内核级别存储排序将防止地址不匹配产生的存储器故障,以便促进针对跨多个页面分段的存储器维护块完整性,即使在以可伸缩和受控方式迁移之后也是如此。
有利地,本发明选择性地将虚拟机(VM)从一个服务器迁移到另一个,以便在虚拟化环境中整合服务器资源。此整合改进现有资源的有效分配、能源节省和安全性并降低资本支出、网络延迟和管理要求。具体地说,应用本发明通过在分布式计算环境上优化基于内容的页面共享(CBPS)效率,在分布式环境中最佳放置VM以便最大化硬件资源利用率。
尽管根据优选实施例描述了本发明,但所属技术领域的技术人员应该理解,可以在所附权利要求的精神和范围内通过修改实现本发明。所有这些变化和修改都旨在落入所附权利要求的范围内。因此,示例和附图被视为是示例性的而非限制性的。
Claims (17)
1.一种共享资源系统,包括:
多个客户机设备;
多个服务提供者计算机,它们选择性地使资源能力可用于所述多个客户机设备;
网络,通过所述网络将资源能力从所述多个服务提供者计算机提供给所述多个客户机设备;以及
资源整合单元,其标识位于所述多个服务提供者计算机中的两个或更多服务提供者计算机上的相同供应的资源的多个实例,并且将所标识的多个实例中的一个或多个实例迁移到所述两个或更多服务提供者计算机中的一个。
2.根据权利要求1的共享资源系统,其中所述多个服务提供者计算机是云计算机,提供的资源能力包括为所述多个客户机设备中的多个供应的虚拟机VM。
3.根据权利要求2的共享资源系统,其中多个所述供应的VM包括存储器中的供应的操作系统OS和一个或多个软件应用,每个VM在托管所述每个VM的特定云计算机上,所述资源整合单元在供应的VM中标识操作系统和软件应用之间的共性。
4.根据权利要求3的共享资源系统,所述资源整合单元导致每个云主机将每个供应的VM的存储器占用与所有其它云主机上的供应的VM相比较,以便标识公共存储器区段。
5.根据权利要求3的共享资源系统,所述资源整合单元提取与每个VM中存在的OS和进程有关的信息,并且响应于所提取的信息而评估存储器要求,响应于所评估的存储器要求,将所述VM放置在主机上。
6.根据权利要求3的共享资源系统,其中所述资源整合单元包括整合历史,其指示所述多个服务提供者计算机中的每一个上的资源实例。
7.根据权利要求6的共享资源系统,所述资源整合单元分析供应的VM的映像以便创建指示所述整合历史的字典,所述资源整合导致在主机之间迁移所述供应的VM以便在所述主机中最小化相同存储器分段的相同实例,所述资源整合单元对照现有映像的所述字典比较新映像。
8.根据权利要求3的共享资源系统,所述资源整合单元跨所述主机维护分布式散列表DHT,所述DHT记录具有一个或多个供应的VM的所述主机的物理机历史。
9.一种管理资源的方法,所述方法包括:
在多个主计算机上标识相同存储器分段,每个相同存储器分段与在所述多个主计算机中的至少两个主计算机上供应的资源的多个实例相关联;以及
针对所述多个实例中的至少一个,将供应的资源从所述至少两个主计算机中的一个主计算机迁移到所述至少两个主计算机中的另一个主计算机,所迁移的供应的资源与所述另一个主计算机上先前供应的资源共享相应的所述相同存储器分段。
10.根据权利要求9的管理资源的方法,其中所述多个主计算机是云计算机,供应的资源能力包括为多个云客户机设备中的多个供应的虚拟机VM。
11.根据权利要求10的管理资源的方法,其中标识相同存储器分段包括将每个主计算机上的每个VM的存储器占用与每个其它主计算机上的每个VM的存储器占用相比较。
12.根据权利要求10的管理资源的方法,其中标识相同存储器分段包括:
从每个VM提取OS和进程信息;以及
响应于提取的所述OS和进程信息而评估存储器要求,响应于所评估的存储器要求,将所述VM迁移到并且放置在主机上。
13.根据权利要求10的管理资源的方法,其中标识相同存储器分段包括:
导致每个主计算机分析相应的所述每个主计算机上的供应的VM的映像,以便在本地供应的VM之间标识所述相同存储器分段;
根据本地共性对所述本地供应的VM进行排序,本地共性指示具有供应的VM的所标识的相同存储器分段在所述每个主计算机上的频率;
将排序为具有最低共性的所述本地供应的VM迭代复制到每个其它主计算机,所述其它主计算机是目标主机;
将每个复制的VM与所述目标主机上的供应的VM相比较,将在所述目标主机上具有较高频率的任何所复制的VM迁移到所述目标主机,所迁移的VM在所述主计算机中最小化所述相同存储器分段的相同实例;
创建现有映像的字典,其指示从迁移复制的VM产生的整合历史;以及
对照现有映像的所述字典比较新映像,在具有任何所述相同实例的一个所述主计算机上供应所述新VM。
14.根据权利要求10的在云环境中管理资源的方法,其中标识相同存储器分段包括跨所述主计算机维护分布式散列表DHT,所述DHT记录具有一个或多个供应的VM的所述主计算机的物理机历史。
15.根据权利要求10的在云环境中管理资源的方法,其中多个所述供应的VM包括存储器中的供应的操作系统OS和一个或多个软件应用,每个VM在托管所述每个VM的特定云计算机上,资源整合单元在供应的VM中标识操作系统和软件应用之间的共性。
16.一种用于管理云环境资源的计算机程序产品,所述计算机程序产品包括计算机可用介质,所述计算机可用介质具有存储在其上的计算机可读程序代码,所述计算机可读程序代码导致计算机执行所述代码以便:
在多个主计算机上标识相同存储器分段,每个相同存储器分段与在所述多个主计算机中的至少两个主计算机上供应的资源的多个实例相关联;以及
针对所述多个实例中的至少一个,将供应的资源从所述至少两个主计算机中的一个主计算机迁移到所述至少两个主计算机中的另一个主计算机,所迁移的供应的资源与所述另一个主计算机上先前供应的资源共享相应的所述相同存储器分段。
17.一种用于管理云资源的计算机程序产品,所述计算机程序产品包括计算机可用介质,所述计算机可用介质具有存储在其上的计算机可读程序代码,所述计算机可读程序代码包括:
用于选择性地使多个主机设备的每一个上的服务提供者计算机资源能力可用于请求客户机设备的计算机可读程序代码装置;
用于标识在单独服务提供者计算机上供应的虚拟机VM中的相同存储器分段的计算机可读程序代码装置;以及
用于选择性地将一个或多个标识的VM迁移到服务提供者计算机的计算机可读程序代码装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/135557 | 2013-12-19 | ||
US14/135,557 US9280385B2 (en) | 2013-12-19 | 2013-12-19 | Optimally provisioning and merging shared resources to maximize resource availability |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104731658A true CN104731658A (zh) | 2015-06-24 |
CN104731658B CN104731658B (zh) | 2018-01-12 |
Family
ID=53400138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410706156.1A Active CN104731658B (zh) | 2013-12-19 | 2014-11-28 | 供应和合并共享资源以最大化资源可用性的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9280385B2 (zh) |
CN (1) | CN104731658B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108292240A (zh) * | 2015-10-05 | 2018-07-17 | 富古股份有限公司 | 用于在基于云的计算环境中构建、优化和实施基础架构的系统和方法 |
WO2019210474A1 (en) | 2018-05-03 | 2019-11-07 | Microsoft Technology Licensing, Llc | Scalable real-time duplex communications service |
WO2020088340A1 (zh) * | 2018-11-01 | 2020-05-07 | 阿里巴巴集团控股有限公司 | 一种提供云计算服务的方法及系统 |
CN112764938A (zh) * | 2021-02-02 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 云服务器资源管理方法、装置、计算机设备和存储介质 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9558055B2 (en) * | 2014-02-19 | 2017-01-31 | Cisco Technology, Inc. | System level memory leak detection |
US9684567B2 (en) | 2014-09-04 | 2017-06-20 | International Business Machines Corporation | Hypervisor agnostic interchangeable backup recovery and file level recovery from virtual disks |
US9389901B2 (en) * | 2014-09-09 | 2016-07-12 | Vmware, Inc. | Load balancing of cloned virtual machines |
US9854041B1 (en) | 2014-09-30 | 2017-12-26 | Amazon Technologies, Inc. | Reducing network traffic when replicating memory data across hosts |
US9760398B1 (en) * | 2015-06-29 | 2017-09-12 | Amazon Technologies, Inc. | Automatic placement of virtual machine instances |
US20170003997A1 (en) * | 2015-07-01 | 2017-01-05 | Dell Products, Lp | Compute Cluster Load Balancing Based on Memory Page Contents |
JPWO2017099061A1 (ja) * | 2015-12-08 | 2018-09-27 | 日本電気株式会社 | 仮想マシンの配置を計画するための計画システム、計画方法、及び、計画用プログラムを記録する記録媒体 |
CN107967168B (zh) * | 2017-12-08 | 2021-11-12 | 中南大学 | 一种云数据中心里基于共享内存页面的虚拟机整合方法 |
CN108629702A (zh) * | 2018-05-08 | 2018-10-09 | 刘贤贤 | 一种涉及多种能源发电设备的能源运营管理方法及系统 |
US10652093B1 (en) | 2018-10-22 | 2020-05-12 | International Business Machines Corporation | Automated nondisruptive merge of management systems |
US11366702B1 (en) * | 2019-03-29 | 2022-06-21 | United Services Automobile Association (Usaa) | Dynamic allocation of resources |
JP7010272B2 (ja) * | 2019-10-08 | 2022-01-26 | 横河電機株式会社 | リアルタイム通信処理システム、およびリアルタイム通信処理方法 |
US11870846B2 (en) | 2021-02-25 | 2024-01-09 | Red Hat, Inc. | Post-copy migration cross cluster synchronization for post-copy migration of virtual machines |
CN113176958B (zh) * | 2021-04-29 | 2024-02-23 | 深信服科技股份有限公司 | 一种内存共享方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020135582A1 (en) * | 2001-03-22 | 2002-09-26 | Masakazu Suzuoki | Resource dedication system and method for a computer architecture for broadband networks |
US20120131591A1 (en) * | 2010-08-24 | 2012-05-24 | Jay Moorthi | Method and apparatus for clearing cloud compute demand |
CN103425529A (zh) * | 2012-05-17 | 2013-12-04 | 国际商业机器公司 | 基于资源利用在网络计算环境间迁移虚拟机的系统及方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4955943B2 (ja) * | 2005-06-28 | 2012-06-20 | クラリオン株式会社 | 情報端末および計算機資源管理方法 |
US8429630B2 (en) | 2005-09-15 | 2013-04-23 | Ca, Inc. | Globally distributed utility computing cloud |
US7409525B1 (en) | 2006-03-29 | 2008-08-05 | Emc Corporation | Implicit locks in a shared virtual memory system |
US8479194B2 (en) * | 2007-04-25 | 2013-07-02 | Microsoft Corporation | Virtual machine migration |
US8312419B2 (en) * | 2008-10-30 | 2012-11-13 | Hewlett-Packard Development Company, L.P. | Automated lifecycle management of a computer implemented service |
US8694638B2 (en) * | 2009-06-29 | 2014-04-08 | Red Hat Israel | Selecting a host from a host cluster to run a virtual machine |
US8327060B2 (en) * | 2009-11-30 | 2012-12-04 | Red Hat Israel, Ltd. | Mechanism for live migration of virtual machines with memory optimizations |
US8589921B2 (en) * | 2009-11-30 | 2013-11-19 | Red Hat Israel, Ltd. | Method and system for target host optimization based on resource sharing in a load balancing host and virtual machine adjustable selection algorithm |
US8484661B2 (en) | 2010-03-19 | 2013-07-09 | At&T Mobility Ii Llc | Agnostic execution cluster for an agnostic execution environment |
CN102103518B (zh) * | 2011-02-23 | 2013-11-13 | 运软网络科技(上海)有限公司 | 一种在虚拟化环境中管理资源的系统及其实现方法 |
US9164802B2 (en) * | 2011-05-24 | 2015-10-20 | International Business Machines Corporation | System, method and program product for allocating resources and services |
US8694995B2 (en) | 2011-12-14 | 2014-04-08 | International Business Machines Corporation | Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment |
US20130166504A1 (en) | 2011-12-27 | 2013-06-27 | RiverMeadow Software, Inc. | Systems and methods for virtual machine migration |
-
2013
- 2013-12-19 US US14/135,557 patent/US9280385B2/en active Active
-
2014
- 2014-11-28 CN CN201410706156.1A patent/CN104731658B/zh active Active
-
2015
- 2015-11-24 US US14/950,515 patent/US9590917B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020135582A1 (en) * | 2001-03-22 | 2002-09-26 | Masakazu Suzuoki | Resource dedication system and method for a computer architecture for broadband networks |
US20120131591A1 (en) * | 2010-08-24 | 2012-05-24 | Jay Moorthi | Method and apparatus for clearing cloud compute demand |
CN103425529A (zh) * | 2012-05-17 | 2013-12-04 | 国际商业机器公司 | 基于资源利用在网络计算环境间迁移虚拟机的系统及方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108292240A (zh) * | 2015-10-05 | 2018-07-17 | 富古股份有限公司 | 用于在基于云的计算环境中构建、优化和实施基础架构的系统和方法 |
WO2019210474A1 (en) | 2018-05-03 | 2019-11-07 | Microsoft Technology Licensing, Llc | Scalable real-time duplex communications service |
US11336700B2 (en) | 2018-05-03 | 2022-05-17 | Microsoft Technology Licensing, Llc | Scalable real-time duplex communications service |
WO2020088340A1 (zh) * | 2018-11-01 | 2020-05-07 | 阿里巴巴集团控股有限公司 | 一种提供云计算服务的方法及系统 |
CN112764938A (zh) * | 2021-02-02 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 云服务器资源管理方法、装置、计算机设备和存储介质 |
CN112764938B (zh) * | 2021-02-02 | 2024-02-06 | 腾讯科技(深圳)有限公司 | 云服务器资源管理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20150178127A1 (en) | 2015-06-25 |
US20160080286A1 (en) | 2016-03-17 |
US9590917B2 (en) | 2017-03-07 |
CN104731658B (zh) | 2018-01-12 |
US9280385B2 (en) | 2016-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104731658A (zh) | 供应和合并共享资源以最大化资源可用性的方法和系统 | |
US11431651B2 (en) | Dynamic allocation of workload deployment units across a plurality of clouds | |
CN103368767B (zh) | 用于在容许故障的因特网云上部署软件应用的方法和系统 | |
CN104424013B (zh) | 在计算环境中部署虚拟机的方法和设备 | |
CN104205056B (zh) | 跨多个云的工作负荷的动态分配的方法和系统 | |
US20170344598A1 (en) | De-Duplication Optimized Platform for Object Grouping | |
CN103970607A (zh) | 使用等价集合来计算优化虚拟机分配的方法和装置 | |
CN104067265A (zh) | 用于支持在云中的安全应用部署的系统和方法 | |
CN105893139A (zh) | 在云存储环境中用于向租户提供存储服务的方法和装置 | |
WO2011143568A2 (en) | A decision support system for moving computing workloads to public clouds | |
CN104765620A (zh) | 一种程序模块部署的方法和系统 | |
CN103814358A (zh) | 服务器群内的虚拟机放置 | |
CN104216662A (zh) | 用于跨远程复制关系的卷布置的方法和系统 | |
CN105359088A (zh) | 使用动态生成的虚拟磁盘内容优化供应时间的方法 | |
CN104516773A (zh) | 用于物理机的数据分配方法和数据分配装置 | |
Scroggins | Emerging virtualization technology | |
CN104424012A (zh) | 用于提供自定义虚拟装置的方法和设备 | |
Krampis et al. | A review of cloud computing bioinformatics solutions for next-gen sequencing data analysis and research | |
US20140244954A1 (en) | Identifying and accessing reference data in an in-memory data grid | |
Opara et al. | Effect of virtualization on enterprise network, server/desktop systems on small and mid-size businesses (SMB) | |
Terry et al. | ACM tech pack on cloud computing | |
Quintero et al. | IBM Platform Computing Solutions Reference Architectures and Best Practices | |
CN103853501B (zh) | 为磁盘映像流式传输标识冗余数据的计算机实现方法和计算机系统 | |
Evangelia Athanasaki et al. | E-Infrastructures | |
Wang | Resource Management and Scheduling Algorithm in Hybrid Cloud Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |