资源调整的自动管理制造技术

技术编号:16307967 阅读:49 留言:0更新日期:2017-09-27 01:53
本文提供了一种系统,所述系统用于提供自动资源重新调整。所述系统可以被配置以维持多个虚拟机实例。所述系统可以被进一步配置,以接收执行程序代码的请求以及分配计算资源用于在所述虚拟机实例中的一个上执行所述程序代码。分配的用于执行所述程序代码的所述资源量可以由所述请求指定并且可以视需要进行调整。

Automatic management of resource adjustment

The present invention provides a system for providing automatic resource re adjustment. The system can be configured to maintain a plurality of virtual machine instances. The system may be further configured to receive requests for executing program code and to allocate computing resources for executing the program code on one of the virtual machine instances. The amount of resources allocated for executing the program code can be specified by the request and can be adjusted as needed.

【技术实现步骤摘要】
【国外来华专利技术】资源调整的自动管理其它申请的交叉引用本申请的申请人于2014年9月30日提交了以下美国专利申请:申请No.标题14/502,992“THREADINGASASERVICE”另外,本申请的申请人于2014年12月5日提交了以下美国专利申请:申请No.标题14/562,601“AUTOMATICDETERMINATIONOFRESOURCESIZING”以上引用的申请的公开内容特此以引用的方式整体并入。背景一般来说,计算装置利用通信网络或一系列通信网络以交换数据。公司和组织操作互连若干计算装置以支持操作或向第三方提供服务的计算机网络。计算系统可能定位在单个地理位置处,或者定位在多个截然不同的地理位置处(例如,经由专用或公共通信网络互连)。具体地说,数据中心或数据处理中心,在本文中通常称作“数据中心”,可能包括若干互连的计算系统以向数据中心的用户提供计算资源。所述数据中心可能是代表组织操作的专用数据中心,或者可能是代表或为了公众的利益而操作的公共数据中心。为了有助于提高数据中心资源的利用率,虚拟化技术可以允许单个物理计算装置来托管虚拟机的一个或多个实例,所述一个或多个实例作为独立计算装置向数据中心的用户进行显示和操作。在虚拟化技术的情况下,单个物理计算装置可以动态方式创建、维持、删除或另外管理虚拟机。反过来,用户可以从数据中心请求计算机资源,包括单个计算装置或联网计算装置配置,并且被提供有数量不断变化的虚拟机资源。在一些情境中,可以根据若干虚拟机实例类型配置虚拟机实例以提供特定功能。例如,各种计算装置可能与操作系统或操作系统配置、虚拟硬件资源和软件应用的不同组合相关联,以使得计算装置能够更加有效地提供不同的所需的功能,或提供类似的功能。这些虚拟机实例类型配置通常包含在装置图像内,所述装置图像包括包含虚拟机启动时将运行的软件(例如,OS以及应用及其配置和数据文件等)的静态数据。所述装置图像通常存储在用于创建或初始化所述实例的磁盘中。因此,计算装置可以处理装置图像,以便实现所需的软件配置。附图简述本公开的前述方面和伴随的优点中的许多将与通过参考当结合附图进行时的下面的详述变得更好理解一样变得更容易理解,其中:图1是描绘根据示例性方面的用于提供低延时计算能力的说明性环境的框图。图2描绘根据示例性方面的提供用于管理低延时计算能力的资源管理器的计算装置的总体架构。图3是图示根据示例性方面的由资源管理器实现的资源调整例程的流程图。图4是图示根据另一示例性方面的由资源管理器实现的资源调整例程的流程图。图5是图示根据另一示例性方面的由资源管理器实现的资源调整例程的流程图。图6至图8图示根据示例性方面的由资源管理器执行的资源调整。图9至图11图示根据另一示例性方面的由资源管理器执行的资源调整。详述公司和组织不再需要获取和管理其自身的数据中心以便执行计算操作(例如,执行代码,包括线程、程序、功能、软件、例程、子例程、过程等)。随着云计算的出现,现在可以通过互联网在几分钟内获得且配置通常由硬件计算装置提供的存储空间和计算能力。因此,开发人员可以快速地购买所需要的计算资源量,而无需为获取物理机而烦恼。所述计算资源通常呈虚拟计算资源或虚拟机实例的形式进行购买。虚拟机的这些实例是物理机(例如,计算机)的软件实现,所述软件实现托管在物理计算装置上,并且可能包含通常提供在物理机上的操作系统和应用。使用一组计算资源(例如,存储器、CPU、磁盘、网络等)对这些虚拟机实例进行配置,在所述虚拟机实例上运行的应用可以请求并且可以与物理计算机相同的方式利用所述组计算资源。然而,即使当购买了虚拟计算资源(例如,呈虚拟机实例的形式),开发人员仍然需要决定购买多少和购买什么类型的虚拟机实例以及保持它们多长时间。例如,使用虚拟机实例的成本可能会根据它们被租用的类型和小时数而变化。除此以外,虚拟机可以租用的最小时间通常以小时为单位。另外,开发人员需要指定安装在虚拟机上的硬件资源和软件资源(例如,操作系统和语言运行时间的类型等)。他们可能会有的其它问题包括过度利用(例如,获取太少计算资源且遭遇性能问题)、利用不足(例如,获取的计算资源超出运行代码所必要的量,且因此付款过多)、对流量变化的预测(例如,以使得他们知道何时扩展或收缩)以及实例和语言运行时间启动延迟,所述启动延迟可能需要3至10分钟或更长,尽管用户可能期望以秒或甚至毫秒为单位的计算能力。因此,需要允许用户利用由服务提供商所提供的虚拟机实例的改进的方法。根据本公开的方面,通过维持一接收到用户请求就随时可用的预初始化的虚拟机实例池,可以大大缩短与执行用户代码(例如,实例和语言运行时间启动时间)相关联的延迟(有时称作延时)。一般来说,本公开的方面涉及虚拟机实例及其中所创建的容器的管理。具体地说,公开的系统和方法有助于虚拟计算系统中虚拟机实例的管理。虚拟计算系统维持虚拟机实例池,所述虚拟机实例池上加载有一个或多个软件部件(例如,操作系统、语言运行时间、库等)。维持虚拟机实例池可能涉及:创建新实例,从提供服务的外部实例获取新实例,破坏实例,分配/重新分配实例给用户,修改实例(例如,容器或其中的资源)等。池中的虚拟机实例可以被指定用于服务于用户请求以执行程序代码。在本公开中,短语“程序代码”、“用户代码”和“云功能”有时可以互换使用。程序代码可以在虚拟机实例上创建的隔离的容器中执行。因为等到接收请求的时候池中的虚拟机实例已经被启动且加载了特定操作系统和语言运行时间,所以大大缩短了与找出可以处理请求(例如,通过在虚拟机实例上创建的一个或多个容器中执行用户代码)的计算能力相关联的延迟。在另一方面中,虚拟计算系统可以监测和记录与分配的用于执行用户代码的资源量有关的信息。通过这样来做,虚拟计算系统可能够通过调整分配的资源量来识别提高用户代码执行性能的机会。可以通过增加过度利用情况下的分配的资源量来降低错误率,并且可以通过减少利用不足情况下的分配的资源量来降低与执行用户代码相关联的成本。现在将参考附图描述本公开的特定实施方案和示例性应用。这些实施方案和示例性应用意在说明而非限制本公开。参考图1,将描述图示虚拟环境100的实施方案的框图。图1中示出的示例包括虚拟环境100,其中用户计算装置102的用户(例如,开发人员等)可以使用由虚拟计算系统110提供的虚拟计算资源运行各种程序代码。举例来说,各种示例性用户计算装置102被示出与虚拟计算系统110通信,包括台式计算机、笔记本电脑和手机。一般而言,用户计算装置102可能是诸如台式电脑、笔记本电脑、手机(或智能电话)、平板电脑、信息亭、无线装置和其它电子装置等任何计算装置。除此以外,用户计算装置102可能包括在相同或不同的数据中心上运行的web服务,其中例如不同的web服务可以编程方式彼此通信,以执行本文所描述的一个或多个技术。另外,用户计算装置102可能包括物联网(IoT)装置,诸如互联网电器和连接的装置。虚拟计算系统110可以向用户计算装置102提供一个或多个用户接口、命令行接口(CLI)、应用程序接口(API)和/或其它程序设计接口,以用于生成和上传用户代码,调用用户代码(例如,提交在实施虚拟计算系统110上执行用户代码的请求),调度基于事件的作业或定时作业,本文档来自技高网...
资源调整的自动管理

【技术保护点】
一种被调适以从虚拟计算群提供低延时计算能力的系统,所述系统包括:电子数据存储区,其被配置以存储用户的至少一个程序代码;以及虚拟计算系统,其包括被调适以执行特定计算机可执行指令的一个或多个硬件计算装置,所述虚拟计算系统与所述电子数据存储区通信并且被配置以至少:在一个或多个物理计算装置上维持多个虚拟机实例,其中所述多个虚拟机实例包括:预热池,所述预热池包括上面加载有一个或多个软件部件并且等待被分配给用户的虚拟机实例;以及活性池,所述活性池包括当前分配给一个或多个用户的虚拟机实例;接收在所述虚拟计算系统上执行与用户相关联的程序代码的请求,所述请求包括指示所述程序代码和与所述程序代码相关联的所述用户的信息;从所述预热池或所述活性池选择将用于执行所述程序代码的虚拟机实例,所述虚拟机实例具有计算资源;在所选择的虚拟机实例中创建容器,所述容器具有所述计算资源的第一量;引起与所述用户相关联的所述程序代码从所述电子数据存储区加载到所述容器上,并且在所述容器中执行;基于所述程序代码在所述容器中的所述执行确定应调整所述第一量以提高所述程序代码的未来执行;调整所选择的虚拟机实例中的所述容器,以使得所述容器具有所述计算资源的第二量,所述第二量与所述第一量不同;以及引起所述程序代码在具有所述计算资源的所述第二量的所述调整的容器中执行。...

【技术特征摘要】
【国外来华专利技术】2014.12.05 US 14/562,5771.一种被调适以从虚拟计算群提供低延时计算能力的系统,所述系统包括:电子数据存储区,其被配置以存储用户的至少一个程序代码;以及虚拟计算系统,其包括被调适以执行特定计算机可执行指令的一个或多个硬件计算装置,所述虚拟计算系统与所述电子数据存储区通信并且被配置以至少:在一个或多个物理计算装置上维持多个虚拟机实例,其中所述多个虚拟机实例包括:预热池,所述预热池包括上面加载有一个或多个软件部件并且等待被分配给用户的虚拟机实例;以及活性池,所述活性池包括当前分配给一个或多个用户的虚拟机实例;接收在所述虚拟计算系统上执行与用户相关联的程序代码的请求,所述请求包括指示所述程序代码和与所述程序代码相关联的所述用户的信息;从所述预热池或所述活性池选择将用于执行所述程序代码的虚拟机实例,所述虚拟机实例具有计算资源;在所选择的虚拟机实例中创建容器,所述容器具有所述计算资源的第一量;引起与所述用户相关联的所述程序代码从所述电子数据存储区加载到所述容器上,并且在所述容器中执行;基于所述程序代码在所述容器中的所述执行确定应调整所述第一量以提高所述程序代码的未来执行;调整所选择的虚拟机实例中的所述容器,以使得所述容器具有所述计算资源的第二量,所述第二量与所述第一量不同;以及引起所述程序代码在具有所述计算资源的所述第二量的所述调整的容器中执行。2.如权利要求1所述的系统,其中所述虚拟计算系统被进一步配置以向所述用户提供通知,所述通知包括以下中的一个:(a)指示应增加所述第一量;(b)指示所述第一量应增加第一调整量;(c)指示应减少所述第一量;或(d)指示所述第一量应减少第二调整量。3.一种系统,其包括:虚拟计算系统,其包括执行特定计算机可执行指令的一个或多个硬件计算装置并且被配置以至少:在一个或多个物理计算装置上维持多个虚拟机实例;接收在所述虚拟计算系统上执行与用户相关联的程序代码的请求,所述请求包括指示所述程序代码和与所述程序代码相关联的所述用户的信息;从所述多个虚拟机实例选择将用于执行所述程序代码的虚拟机实例,所选择的虚拟机实例具有计算资源;在所选择的虚拟机实例中创建容器,所述容器具有所述计算资源的第一量;引起与所述用户相关联的所述程序代码加载到所述容器上,并且在所述容器中执行;在所述程序代码在所选择的虚拟机实例中创建的所述容器中的一个或多个执行期间,监测所述程序代码对所述计算资源的使用;以及基于所述程序代码对所述计算资源的所述使用确定应调整被分配用于执行所述程序代码的所述第一量。4.如权利要求3所述的系统,其中所述虚拟计算系统被进一步配置以:基于所述请求中指示的用户指定的量或与所述请求、所述程序代码或在所述虚拟计算系统上执行所述程序代码的所述用户相关联的其它配置信息确定所述第一量;将所述程序代码对所述计算资源的所述使用与所述请求中指示的所述用户指定的量进行比较;以及提供应如何调整所述第一量的指示。5.如权利要求4所述的系统,其中提供所述指示包括以下中的一个:(a)指示应增加所述第一量;(b)指示所述第一量应增加第一调整量;(c)指示应减少所述第一量;或(d)指示所述第一量应减少第二调整量。6.如权利要求3所述的系统,其中所述虚拟计算系统被进一步配置以:基于所述程序代码对所述计算资源的所述使用确定所述计算资源的与所述第一量不同的第二量;以及分配所述计算资源的所述第二量用于执行所述程序代码。7.如权利要求6所述的系统,其中所述虚拟计算系统被配置以确定所述第二量,以使得所述第二量在与所述程序代码相关联的用户所指定的阈值范围内。8.如权利要求3所述的系统,其中所述虚拟计算系统被进一步配置,以允许所述程序代码对所述计算资源的所述使用超出所述第一量超出量,所述超出量小于最大超出量。9.一种计算机实现方法,其包括:如由配置有特定可执行指令的一个或多个计算装置所实现,在一个或多个物理计算装置上维持多个虚拟机实例;接收在所述虚拟计算系统上执行与用户相关联的程序代码的请求...

【专利技术属性】
技术研发人员:肖恩·菲利普·雷克德里克·史蒂文·曼纳林迪伦·钱德勒·托马斯蒂莫西·艾伦·瓦格纳赵鑫
申请(专利权)人:亚马逊技术有限公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1