基于虚拟节点资源的增强型高速缓存存储器分配

文档序号:1382592 发布日期:2020-08-14 浏览:8次 >En<

阅读说明:本技术 基于虚拟节点资源的增强型高速缓存存储器分配 (Enhanced cache memory allocation based on virtual node resources ) 是由 T·A·费伦 R·基肖尔 于 2018-12-21 设计创作,主要内容包括:本文中描述了用于增强对虚拟节点的高速缓存资源的分配的系统、方法和软件。在一个实现中,大规模处理环境中的配置系统被配置为:标识对发起大规模处理框架(LSPF)集群的请求,其中LSPF集群包括多个虚拟节点;并且标识被分配给LSFP集群的每个虚拟节点的主机计算系统的主机计算资源。配置系统还基于主机计算资源,向每个虚拟节点分配高速缓存服务的高速缓存存储器,并且在计算环境中发起LSPF集群。(Systems, methods, and software for enhancing allocation of cache resources to virtual nodes are described herein. In one implementation, a configuration system in a large-scale processing environment is configured to: identifying a request to initiate a large-scale processing framework (LSPF) cluster, wherein the LSPF cluster includes a plurality of virtual nodes; and identifying host computing resources of the host computing system assigned to each virtual node of the LSFP cluster. The configuration system also allocates cache memory for the cache service to each virtual node based on the host computing resources and initiates a LSPF cluster in the computing environment.)

基于虚拟节点资源的增强型高速缓存存储器分配

背景技术

正在开发越来越多的数据密集型分布式应用来服务各种需求,诸如处理通常无法由单个计算机处理的非常大的数据集。取而代之,采用计算机集群来分发各种任务,诸如组织和访问数据以及针对数据执行相关操作。已经开发了各种大型处理应用和框架来与这样的大型数据集交互,包括Hive、HBase、Hadoop、Spark等。

同时,虚拟化技术已经变得普及并且现在在数据中心和其中提高使用计算资源的效率是有用的其他计算环境中变得司空见惯。在虚拟化环境中,一个或多个虚拟节点在底层物理计算机上被实例化,并且共享底层计算机的资源。相应地,不是每个主机计算系统实现单个节点,而是可以在主机上部署多个节点以更有效地使用计算系统的处理资源。这些虚拟节点可以包括完整的操作系统虚拟机、容器(诸如Linux容器或Docker容器)、监狱或其他类似类型的虚拟包含节点。然而,尽管虚拟化技术在计算环境内提供了效率的提高,但是在将资源分配给各个虚拟节点时常常会出现困难。特别地,管理员可能难以准确地确定节点在其操作过程中将使用的处理、存储和存储器资源。

发明内容

本文描述的技术增强了向计算环境中的虚拟节点的高速缓存存储器的分配。在一个实现中,一种操作大规模处理环境的配置系统的方法包括:标识对发起大规模处理框架(LSPF)集群的请求,其中LSPF集群包括多个虚拟节点。该方法还包括:标识被分配给LSFP群集的每个虚拟节点的主机计算系统的主机计算资源,以及基于主机计算资源为LSPF群集的每个虚拟节点分配高速缓存存储器,其中高速缓存存储器包括由主机计算系统上的虚拟节点共享的高速缓存服务可访问的主机存储器。该方法还提供了在计算环境中发起LSPF集群。

附图说明

图1示出了根据实现的用于大规模数据处理的计算环境。

图2示出了根据实现的大规模数据处理环境中的配置系统的操作。

图3A-图3B示出了根据实现的虚拟集群的部署。

图4示出了根据实现的用于虚拟节点的数据交互的概述。

图5A-图5B示出了根据实现的动态地分配高速缓存存储器的操作方案。

图6示出了根据实现的主机存储器。

图7示出了根据实现的用于发起虚拟集群的配置计算系统。

具体实施方式

图1图示了根据实现的用于大规模数据处理的计算环境100。计算环境100包括主机105-108、存储库140和配置系统150。主机105还包括虚拟节点120-123和提供高速缓存存储器130的高速缓存服务110。配置系统150被配置为提供在图2中进一步描述的操作200。

在操作中,主机105-108提供用于虚拟节点的执行的平台,该虚拟节点提供大规模数据处理集群作为计算环境100的一部分。集群中的每个集群可以包括一个或多个虚拟节点,其中虚拟节点可以包括完整的操作系统虚拟机和/或容器,其中容器可以包括Linux容器、Docker容器和其他类似的基于名称空间的容器。容器可以共享来自主机计算系统的资源,而不是需要虚拟机所需要的单独的操作系统,其中资源可以包括来自主机操作系统的核心资源,并且还可以包括存储库和可以与在主机上执行的其他容器或进程共享的其他批准的资源。但是,尽管可以在主机上的容器之间共享资源,但是容器被配置为通过其自己的标识符空间、文件系统结构和网络接口来对操作系统进行私有访问。操作系统还可以负责管理容器化端点的处理资源、存储器资源、网络资源和其他类似资源。

为了提供所需要的大规模处理操作,集群中的每个集群的虚拟节点可以与被存储在存储库140中的处理数据集并行工作。这些数据集可以使用Hadoop分布式文件系统(HDFS)、Gluster文件系统(GlusterFS)或某种其他类似的文件系统来存储。为了获取用于处理所需要的数据,示例主机105上的每个节点可以与高速缓存服务110通信以检索和高速缓存数据集的所需要的部分。例如,虚拟节点120可以发起对来自存储库140中的HDFS数据集的一部分数据的请求。响应于该请求,高速缓存服务110将标识存储库中的数据的适当段,检索该数据段。并且将数据高速缓存在虚拟节点120可访问的高速缓存存储器位置中,其中高速缓存存储器130包括被分配给高速缓存服务110的主机存储器。在一些实现中,高速缓存存储器130包括高速缓存服务110和虚拟节点120-123基于虚拟节点120-123的要求而可访问的主机105的存储器地址。

在本示例中,为了将高速缓存存储器130指派给虚拟节点120-123中的每个虚拟节点,提供了配置系统150。特别地,当计算环境的管理员使用配置系统150来请求集群的生成时,管理员可以定义将被分配给集群中的每个虚拟节点的主机计算资源。例如,如果群集由虚拟节点120-123组成,则管理员可以定义被分配给节点中的每个节点的处理核心数量、被分配给每个节点的存储器数量(与高速缓存存储器130分开)、或到节点的主机105的任何其他类似资源。一旦管理员分配了资源,配置系统150就可以使用关于所提供的资源的信息来针对虚拟节点配置高速缓存服务。

图2图示了根据一种实现的大规模数据处理环境中的配置系统的操作200。在下面参考图1的计算环境100的系统和元件的段落中在括号内引用操作200。尽管在下面参考主机105的示例中进行说明,但是应当理解,配置系统150可以在管理被部署在主机106-108处的群集时执行类似的过程。

如图所示,操作200包括标识(201)对发起大规模处理框架(LSPF)集群的请求,其中集群包括多个虚拟节点,并且操作200还包括标识(202)被分配给LSPF群集中的每个虚拟节点的主机计算资源。在一些实现中,当管理员请求新的集群时,配置系统150可以向环境的管理员提供用户接口,许可用户使用主机105-108来选择和生成新的集群。在许可管理员生成集群时,配置系统150可以向管理员提供选择以下各项的能力:集群的节点数、集群的框架类型(例如,等)、专用于每个节点的操作存储器的量、来自将被分配给每个节点的主机的中央处理单元的处理核心数、或关于群集的某些其他类似信息。作为示例,管理员可以经由由配置系统150提供的用户接口来选择具有四个节点的Apache Hadoop集群,每个节点分配有两个处理核心和四个千兆字节存储器。

一旦管理员为集群提供了主机计算资源信息,操作200就基于主机计算资源向LSPF集群的每个节点分配(203)高速缓存存储器,其中高速缓存存储器与各个虚拟节点的操作存储器不同并且分离。参考计算环境100中的主机105,高速缓存存储器130包括物理主机存储器,该物理主机存储器被用于高速缓存数据以用于由在主机105上执行的虚拟节点来处理。特别地,高速缓存存储器可以包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或由高速缓存服务110和虚拟节点120-123可访问的某种其他类似类型的存储器。在本实现中,在使高速缓存存储器对虚拟节点可用时,虚拟节点中的每个虚拟节点可以被分配高速缓存存储器130中的存储器地址,其中该地址由虚拟节点和高速缓存服务可访问。为了确定被分配给每个虚拟节点的高速缓存存储器的量,配置系统150可以处理被分配给虚拟节点的个体主机资源。例如,虚拟节点120可以被分配第一数目的处理核心和第一量的专用存储器,而虚拟节点122可以被分配第二数目的处理核心和第二量的专用存储器。结果,在为虚拟节点配置高速缓存存储器时,虚拟节点中的每个虚拟节点可以被分配提供不同量的高速缓存存储器130。

在确定将被分配给处理集群的每个节点的高速缓存存储器之后,操作200还利用所分配的高速缓存存储器来在计算环境中发起(204)LSPF集群。参考图1的计算环境100中的示例,如果虚拟节点121-123要被部署为新的LSPF集群的一部分,则配置系统150可以检查专用于虚拟节点中的每个虚拟节点的资源,并且标识将被分配给每个虚拟节点的高速缓存存储器130的一部分。一旦针对虚拟节点中的每个虚拟节点标识了高速缓存存储器的一部分,配置系统150就可以发起虚拟节点,其中虚拟节点可以使用高速缓存服务110和高速缓存存储器130的对应部分来处理来自存储库140的数据。

图3A-图3B示出了根据实现的虚拟集群的部署。本文中使用来自图1的计算环境100的主机105来示出图3A-图3B。图3A和3B中的集群的部署示出了作为集群的一部分的虚拟节点122-123的发起,但是应当理解,任何数目的虚拟节点可以作为集群的一部分在主机105上被发起。

首先参考图3A,虚拟节点120-121在主机105上执行以提供大规模数据处理操作作为群集的一部分。在提供操作时,虚拟节点120-121中的每个虚拟节点被分配了高速缓存存储器130的对应部分310-311。高速缓存存储器130包括由高速缓存服务110和在主机105上执行的虚拟节点可寻址的存储器。特别地,高速缓存服务110被配置为充当在主机上执行的虚拟节点与存储供虚拟节点处理的数据的存储库之间的数据交互中介。为了提供该操作,高速缓存服务110被配置为标识来自虚拟节点的数据请求,从存储库获取与该请求相关联的数据,并且将数据高速缓存在与所请求的虚拟机相对应的部分310-311中的对应部分中。在一些实现中,来自虚拟节点的请求可以包括第一数据访问格式(例如,与HDFS、GlusterFS相关联的格式或某种其他类似格式)的请求。一旦在高速缓存服务110中标识了请求,高速缓存服务就可以将第一数据访问格式转换为与所请求的数据存储库相关联的第二数据访问格式。例如,虚拟节点120可以被配置为使用HDFS来请求数据,但是,用于数据的数据存储库可以使用GluserFS或某种其他数据存储结构来存储数据。因此,当使用HDFS格式标识请求时,高速缓存服务110可以用于将请求转换为适当的数据访问格式以取得所需要的数据。一旦被取得,高速缓存服务110就可以将数据高速缓存在与虚拟节点120相关联的部分310中,其中虚拟节点120可以根据处理作业的需要来处理数据。

在将高速缓存存储器130的各部分分配给每个虚拟节点时,可以使用配置系统来标识应当可用于虚拟节点的高速缓存存储器的数量。为了标识高速缓存存储器的数量,配置系统可以处理关于分配给每个虚拟节点的主机资源的信息。这些主机资源可以包括主机105的CPU的处理核心、专用于虚拟节点的存储器、或分配给虚拟节点的某种其他类似资源。在一些实现中,这些资源可以由环境的管理员提供,其中可以向用户提供用于定义虚拟节点的专用资源的用户接口。一旦提供了资源,配置系统就可以标识应当分配给集群的虚拟节点的高速缓存存储器130的部分大小。

转到图3B,图3B示出了将虚拟节点作为群集添加到主机105。在部署新的虚拟群集时,诸如图1中的配置系统150等配置系统被配置为标识生成新的集群的请求并且标识分配给LSPF集群的每个虚拟节点的主机105的主机计算资源。在此,用于主机105的新的集群包括两个虚拟节点122-123,其中可以为虚拟节点分配处理资源(例如,核心、时钟周期等)、以及主机105的专用存储器资源,诸如DRAM。除了将主机资源分配给各个虚拟节点,配置系统还基于主机资源来确定应当提供给虚拟节点的高速缓存存储器130的量。在一些实现中,虚拟节点的专用资源(例如,处理资源和存储器)可以由生成新的集群的管理员来定义,并且高速缓存存储器可以基于从管理员提供的信息来动态地分配。

在一些实现中,可以为高速缓存服务110分配一组定义的存储器地址,该存储器地址集合用于在虚拟节点在主机105上被发起时高速缓存虚拟节点的数据。特别地,当管理员请求新的集群时,配置系统150可以标识高速缓存存储器130的空闲部分,并且将这些部分分配给新的集群。如本示例中所示,为虚拟节点122-123分配了高速缓存存储器130的较大部分,以支持节点的大规模数据处理操作。这些较大的部分可以基于提供给虚拟节点的更多数目的核心、提供给每个虚拟节点的更大量的专用存储器、或被分配给虚拟节点的某种其他相似主机资源来确定。

尽管在先前的示例中被示出为向主机计算系统添加集群,但是应当理解,也可以从主机系统中去除集群。在去除集群时,计算环境的管理员可以标识出不再需要集群的操作,并且可以生成去除与集群相关联的节点的请求。响应于该请求,配置系统可以停止虚拟节点的执行,并且使高速缓存存储器可用于将来的虚拟节点。因此,如果请求新的集群,则可以将被分配给被去除的集群的高速缓存存储器部分分配给新的集群。

图4示出了根据实现的用于虚拟节点的数据交互的概述400。概述400包括来自图1的计算环境100的存储库140和主机105。主机105包括高速缓存服务110、高速缓存存储器130和虚拟节点120-123。高速缓存存储器130包括部分410-413,其中部分中的每个部分对应于虚拟节点120-123中的虚拟节点。

如本文中描述的,当在主机计算系统上发起虚拟节点时,为每个节点分配由高速缓存服务支持的高速缓存存储器的一部分。该高速缓存存储器用于高速缓存数据以供各个虚拟节点处理。在本示例中,在步骤1,虚拟节点123生成对存储库140中的数据的请求,其中该请求符合第一数据访问格式。随着请求被生成,在步骤2,高速缓存服务110可以标识该请求,并且将该请求从第一数据访问格式转换为第二数据访问格式。作为示例,可以使用HDFS从虚拟节点生成请求,但是,可以使用GlusterFS将数据存储在存储库140中。作为配置的结果,在获取数据之前,可能需要高速缓存服务110将请求转换为由GlusterFS使用的格式。

一旦请求被转换,在步骤3,高速缓存服务110从存储库140获取数据,并且将数据高速缓存在分配给虚拟节点123的高速缓存存储器130的部分413中。例如,虚拟节点123可以请求被存储在存储库140中的数据对象的至少一部分。响应于该请求,高速缓存服务110将请求转换为与该对象相关联的数据访问格式,并且使用转换后的数据访问格式来取得该对象。随着数据被取得,高速缓存服务110将数据高速缓存在与虚拟节点123相关联的存储器部分413中,其中虚拟节点123可以访问该数据以进行处理。在一些实现中,高速缓存服务110可以访问与虚拟节点相同的存储器地址。结果,当生成请求时,高速缓存存储器130被配置为使得其由高速缓存服务和虚拟节点两者可寻址,而不是将数据高速缓存在与高速缓存服务相关联的第一位置中并且随后执行存储器转移以将数据移动到与虚拟节点相关联的存储器位置中。存储器空间的这种共享限制了针对虚拟节点高速缓存数据所需要的时间。

图5A-图5B示出了根据实现的动态地分配高速缓存存储器的操作方案。图5A和图5B包括图1中引入的主机105的元件。特别地,图5A-图5B包括高速缓存服务110、高速缓存存储器130和虚拟节点120-123。图5A包括高速缓存存储器130的分配给对应虚拟节点120-123的部分510-513。图5B包括高速缓存存储器130的分配给对应虚拟节点120-123的部分512-515。

首先参考图5A,在诸如主机105的主机计算系统上执行虚拟节点,以提供用于大规模数据处理操作的平台。特别地,一个或多个虚拟节点可以被部署为集群以支持Hadoop、Spark和其他类似的大规模数据处理操作。为了支持虚拟节点的操作,共享的高速缓存服务110支持每个虚拟节点,该共享的高速缓存服务110用于检索和高速缓存对应虚拟节点的数据。在高速缓存数据时,虚拟节点中的每个虚拟节点被分配了高速缓存存储器130的一部分,其中高速缓存存储器130包括高速缓存服务110可以使用来高速缓存个体节点的数据的地址空间。为了确保为节点中的每个节点被分配了足够量的高速缓存存储器,可以提供标识并且向各个节点中的每个节点分配高速缓存存储器的各部分的配置服务。

在本示例中,虚拟节点120-123被分配对应存储器部分510-513。在虚拟节点的执行期间,在主机105上执行的高速缓存服务110或一些其他监测服务监测每个虚拟节点的操作统计信息。这些操作统计信息可以包括由每个节点使用的处理资源量(例如,由每个节点生成的中央处理单元或CPU负载)、每个虚拟节点的专用存储器使用率、每个虚拟节点的高速缓存存储器使用率、或某种其他类似的操作统计信息。在一些实现中,高速缓存服务可以充当配置系统的一部分,并且可以动态地修改被分配给每个虚拟节点的高速缓存存储器资源。在其他实现中,高速缓存服务或其他监测服务可以向配置系统报告信息,从而允许配置系统更新分配给每个虚拟节点的高速缓存存储器。

转向图5B,在针对在主机105上执行的虚拟节点标识了操作统计之后,使用操作统计来修改向一个或多个虚拟节点的高速缓存存储器的分配。在本示例中,被分配给虚拟节点120-121的高速缓存存储器从与部分510-511相关联的第一大小部分修改为与部分514-515相关联的第二大小部分。在本示例中,部分大小被示出为基于虚拟节点的操作统计信息而增加,应当理解,高速缓存部分大小也可以基于虚拟节点的操作统计信息而被减小。

作为分配高速缓存存储器的说明性示例,高速缓存服务110可以监测虚拟节点120-123的操作统计,并且标识虚拟节点120-121(其可以表示与虚拟节点122-123不同的群集)正在使用更大量的计算资源和/或可能会受到当前高速缓存存储器量的限制。这些资源可以包括由虚拟节点引起的CPU负载、由虚拟节点使用的存储器资源、由虚拟节点使用的高速缓存存储器资源、或虚拟节点的某种其他类似资源。基于虚拟节点正在使用的更大量资源,虚拟节点120-121中的每个虚拟节点可以分别被分配高速缓存存储器部分514-515,其中新的存储器部分可以许可虚拟节点高速缓存其他数据以用于处理。

在一些实现中,在将高速缓存存储器的初始部分大小分配给虚拟节点120-123时,可以使用配置系统,该配置系统标识被分配给虚拟节点的主机资源并且基于主机资源来分配高速缓存存储器部分。这些主机资源可以包括从管理员分配给虚拟节点的处理核心、分配给虚拟节点的专用存储器资源、或由管理员可配置的某种其他类似主机资源。另外,在一些示例中,在确定要分配给特定节点的高速缓存存储器量时,配置系统可以考虑关于集群的其他信息,包括集群的类型(例如,Hadoop、Spark等)以及集群的版本。一旦确定了初始高速缓存存储器分配,就可以在对应主机上发起虚拟节点。然后,主机可以监测虚拟节点的操作统计信息,并且更新高速缓存存储器分配,如本文中描述的。

图6图示了根据实现的主机存储器600。主机存储器600包括针对虚拟节点存储器611和612以及作业进程存储器616和617所分配的存储器。主机存储器600还包括针对高速缓存服务存储器630和高速缓存存储器640所分配的存储器。

如本文中描述的,随着虚拟节点被部署在LSPF环境内,节点被分配处理和存储器资源以用于提供期望的操作。特别地,节点可以被提供有用于处理系统的处理核心、时钟周期等,并且还被提供有专用存储器,其中诸如与作业进程存储器616和617相关联的作业进程等操作可以从其执行。除了与虚拟节点相关联的专用主机资源(处理和存储器),每个虚拟节点还被分配了高速缓存存储器640的一部分,其中高速缓存存储器640在虚拟节点与经由高速缓存服务存储器630提供的高速缓存服务之间共享。

在将高速缓存存储器640分配给每个虚拟节点时,可以在计算环境(未示出)中提供配置服务,其中配置服务可以基于用于虚拟节点的专用主机资源,来向每个操作虚拟节点分配高速缓存存储器量。作为示例,被分配有更多主机资源(诸如处理核心或专用存储器)的虚拟节点可以被提供有更大量的高速缓存存储器,而被分配有更少主机资源的虚拟节点可以被提供有更少量的高速缓存存储器。在一些实现中,当高速缓存服务在主机计算系统上发起时,高速缓存服务被分配了预定义数量的存储器,该预定义数量的存储器然后可以被分配给主机计算系统上的虚拟节点。结果,为了确保为每个虚拟节点被提供最佳量的高速缓存存储器,可以使用配置系统基于资源来标识和分配存储器。

一旦将主机资源以及高速缓存存储器640的部分一起被分配给虚拟节点,虚拟节点中的每个虚拟节点就可以使用高速缓存服务来取得和高速缓存数据以用于虚拟节点进行处理。例如,与虚拟节点存储器611相关联的虚拟节点可以从数据存储库请求数据。响应于该请求,高速缓存服务可以将请求从第一访问格式转换为第二访问格式,并且从存储库获取数据。一旦获取,高速缓存服务就可以将数据高速缓存在与虚拟节点相关联的高速缓存存储器640中。在将数据高速缓存在高速缓存存储器内之后,虚拟节点可以根据需要来处理数据。

尽管在先前的示例中被示出为从存储库中检索数据,但是应当理解,在将数据存储到存储库时可以采用类似的操作。特别地,当在虚拟节点上执行的作业进程需要将数据保存到存储库时,高速缓存服务可以标识这种需求(作为存储请求),将请求从第一访问格式转换为第二访问格式,并且将数据存储在与第二访问格式相关联的存储库中。

在一些实现中,在从存储库中取得数据时,与高速缓存服务存储器630相关联的高速缓存服务可以限制在针对虚拟节点高速缓存数据时数据需要被复制的次数。特别地,由于虚拟节点可以与高速缓存服务共享可寻址的存储器空间,因此高速缓存服务可以将数据高速缓存在共享的存储器空间中,从而限制了必须首先将数据复制到主机存储器空间并且传输到与虚拟节点相关联的存储器空间中的这一要求。

在一些实现中,基于虚拟机中的作业进程的操作,被分配给虚拟机中的每个虚拟机的高速缓存存储器640可以是动态的。特别地,在主机上执行的高速缓存服务或某种其他进程可以监测由虚拟节点在向作业进程提供数据时使用的高速缓存存储器640的量。例如,虚拟节点可以最初被提供两个千兆字节的高速缓存存储器640以提供所需要的操作。但是,在作业进程在虚拟节点上的执行期间,高速缓存服务可以标识出仅使用1GB的高速缓存存储器。结果,高速缓存服务可以与配置系统通信,或者作为配置系统的一部分来操作,以减少可用于虚拟节点的高速缓存存储器640的量。还可以提供类似的操作以增加分配给虚拟节点的高速缓存存储器的量。

图7图示了根据实现的用以发起虚拟集群的配置计算系统700。计算系统700表示可以利用其实现本文中公开的用于配置系统的各种操作架构、过程、场景和序列的任何一个或多个计算系统。计算系统700是配置系统150的示例,尽管可以存在其他示例。计算系统700包括通信接口701、用户接口702和处理系统703。处理系统703链接到通信接口701和用户接口702。处理系统703包括处理电路系统705和存储操作软件707的存储器设备706。计算系统700可以包括为了清楚起见而未示出的其他公知组件,诸如电池和外壳。

通信接口701包括通过通信链路进行通信的组件,诸如网卡、端口、射频(RF)、处理电路系统和软件、或某些其他通信设备。通信接口701可以被配置为通过金属、无线或光学链路进行通信。通信接口701可以被配置为使用时分复用(TDM)、互联网协议(IP)、以太网、光联网、无线协议、通信信令或某种其他通信格式(包括其组合)。在至少一种实现中,通信接口701可以用于在大规模数据处理环境中与一个或多个主机通信,其中主机执行虚拟节点以支持LSPF作业。

用户接口702包括与用户交互以接收用户输入并且呈现媒体和/或信息的组件。用户接口702可以包括扬声器、麦克风、按钮、灯、显示屏、触摸屏、触摸板、滚轮、通信端口或某种其他用户输入/输出装置(包括其组合)。在一些示例中,可以省略用户接口702。

处理电路系统705包括微处理器和从存储器设备706中检索和执行操作软件707的其他电路系统。存储器设备706可以包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性和非易失性的可移动和不可移动介质。存储器设备706可以被实现为单个存储设备,但是也可以跨多个存储设备或子系统来实现。存储器设备706可以包括附加元件,诸如用于读取操作软件707的控制器。存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘和闪存、以及其任何组合或变形、或任何其他类型的存储介质。在一些实现中,存储介质可以是非瞬态存储介质。在某些情况下,至少一部分存储介质可以是瞬态的。应当理解,在任何情况下,存储介质都不是传播信号。

处理电路系统705通常被安装在电路板上,该电路板上还可以容纳存储器设备706、以及通信接口701和用户接口702的部分。操作软件707包括计算机程序、固件、或某种其他形式的机器可读程序指令。操作软件707包括请求模块708、资源模块709和高速缓存模块710,尽管任何数目的软件模块可以提供类似的操作。操作系统软件707还可以包括操作系统、实用程序、驱动程序、网络接口、应用或某种其他类型的软件。在由处理电路系统705执行时,操作软件707指示处理系统703操作计算系统700,如本文中描述的。

在一种实现中,请求模块708指示处理系统703标识来自管理员的生成新的大规模处理群集的请求,其中群集包括一个或多个虚拟节点。响应于该请求,资源模块709指示处理系统703为集群中的每个虚拟节点标识专用主机计算资源,其中该资源可以包括处理核心、时钟周期、作业进程的专用存储器、或虚拟节点专用的某种其他类似主机资源。在一些示例中,响应于管理员对集群的请求,可以向管理员提供新集群的选项,其中用户可以选择LSPF的类型、集群的节点数、和主机计算资源(处理核心、专用存储器等)。基于由管理员提供的信息,可以在环境中的至少一个主机计算系统上发起虚拟节点以支持请求。

在本实现中,除了提供虚拟节点以支持管理员的请求,还提供了高速缓存模块710,在由处理系统703读取和执行时,该高速缓存模块710标识将被分配给虚拟节点的高速缓存存储器。在虚拟节点的操作期间用于高速缓存数据的该高速缓存存储器由高速缓存模块710基于被提供给节点的计算资源来分配。特别地,基于由管理员在配置期间提供的计算资源,高速缓存模块710可以分配适合于节点的操作的高速缓存存储器。该高速缓存存储器与在同一主机上执行的高速缓存服务相关联,其中高速缓存服务标识对虚拟节点的数据请求,从存储库中检索与该请求相关联的数据,并且将该数据高速缓存在分配给虚拟节点的高速缓存存储器中。在一些实现中,高速缓存服务可以被配置为,为虚拟节点提供转换操作,其中虚拟节点可以使用第一数据访问格式来请求数据,并且高速缓存服务可以将请求转换为第二数据访问格式以从存储库中获取数据。

在一些示例中,当主机计算系统被发起时,高速缓存服务被发起并且被分配存储器的一部分以为虚拟节点提供本文中描述的高速缓存操作。随着虚拟节点被部署在主机系统上,高速缓存存储器的各部分可以被分配给各个节点以提供高速缓存操作。另外,一旦选择了要去除的群集,就可以使高速缓存存储器再次可用以分配给新的虚拟节点。

尽管在先前的示例中被描述为在虚拟集群的部署期间分配高速缓存存储器,但是应当理解,可以基于虚拟节点的操作统计信息来动态地调节高速缓存存储器的量。在一些实现中,高速缓存服务或某种其他监测服务可以监测由每个节点使用的资源。这可以包括所使用的处理资源的量、所使用的专用存储器的量、所使用的高速缓存存储器的量、或与虚拟节点进行的数据处理有关的某种其他类似的操作统计信息。基于操作统计信息,可以调节分配给虚拟节点的高速缓存存储器。例如,如果虚拟节点正在使用为高速缓存服务而分配给虚拟节点的高速缓存存储器的一半,则配置系统(其可以与监测服务一起操作)可以减少被分配给虚拟节点的高速缓存存储器的量。相反,如果虚拟节点使分配给它的高速缓存存储器饱和,则配置系统可以增加分配给虚拟节点的高速缓存存储器的量。以这种方式,为了确保将有限的高速缓存存储器有效地分配给每个虚拟节点,配置计算系统700可以被用于动态地确定被分配给每个节点的高速缓存存储器的数量。

返回图1的元件,主机105-108和配置系统150可以均包括通信接口、网络接口、处理系统、计算机系统、微处理器、存储系统、存储介质、或某些其他处理设备或软件系统,并且可以在多个设备之间被分发。主机105-108和配置系统150的示例可以包括软件,诸如操作系统、日志、数据库、实用程序、驱动程序、联网软件、以及存储在计算机可读介质上的其他软件。在一些示例中,主机105-108和配置系统150可以包括一个或多个服务器计算系统、台式计算系统、膝上型计算系统或任何其他计算系统(包括其组合)。

存储库140可以驻留在任何一个或多个计算系统上,该系统可以包括通信接口、网络接口、处理系统、计算机系统、微处理器、存储系统、存储介质或某些其他处理设备或软件系统,并且可以在多个设备之间被分发。存储库140可以位于一个或多个服务器计算系统、台式计算系统、膝上型计算系统或任何其他计算系统上(包括其组合)。尽管被示出为与主机105-108分开,但是应当理解,存储库140可以本地存储在主机105-108上。存储库140可以使用HDFS、GlusterFS、或某种其他类似的分布式文件或对象存储(包括其组合)来存储数据。

主机105-108、存储库140与配置系统150之间的通信可以使用金属、玻璃、光学、空气、空间或某种其他材料作为传输介质。主机105-108、存储库140与配置系统150之间的通信可以使用各种通信协议,诸如时分多路复用(TDM)、异步传输模式(ATM)、互联网协议(IP)、以太网、同步光网络(SONET)、混合光纤同轴电缆(HFC)、电路交换、通信信令、无线通信、或某种其他通信格式,包括其组合、改进或变化。主机105-108、存储库140和配置系统150之间的通信可以是直接链路,或者可以包括中间网络、系统或设备,并且可以包括在多个物理链路上传输的逻辑网络链路。

所包括的描述和附图描绘了特定实现,以教导本领域技术人员如何制作和使用最佳模式。为了教导发明原理,已经简化或省略了一些常规方面。本领域技术人员将意识到落入本发明的范围内的来自这些实现的变型。本领域技术人员还将认识到,上述特征可以以各种方式组合以形成多种实现。结果,本发明不限于上述特定实现,而是仅由权利要求书及其等同物限定。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用异构数据的对象模型来便于建立数据可视化

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类