本发明专利技术涉及使用盘驱动器模拟模型来对盘I/O扼流。提供用于对从虚拟机(VM)到硬盘驱动器(HDD)的请求进行扼流的计算机化的方法、系统和计算机存储介质。当从VM接收到对盘I/O的请求时,访问盘驱动器模型,所述盘驱动器模型模拟所述HDD的性能特性。在访问期间,收集所述盘驱动器模型对HDD参数的估计和所述盘驱动器模型对所述HDD的盘头的当前状态的估计。根据估计的HDD参数和估计的盘头的当前状态来计算执行所述请求的预期执行时间。而且,当允许所述请求传递到所述HDD时就测量执行所述请求的实际执行时间。使用所述预期执行时间和所述实际执行时间的比较,对来自所述VM的请求的流量进行扼流。
【技术实现步骤摘要】
本专利技术涉及使用盘驱动器模拟模型来对盘i/o扼流。
技术介绍
大规模联网系统是在用于为业务和操作功能运行应用和维护数据的多种设定中使用的常见平台。例如,数据中心(例如物理云计算基础设施)可以同时为多个客户提供多种服务(例如web应用、电子邮件服务、搜索引擎服务等等)。这些大规模联网系统通常包括遍及该数据中心分布的大量资源,其中每个资源都类似物理机或在物理节点或主机上运行的虚拟机(VM)。当数据中心托管多个承租人(例如客户程序)时,这些资源被最优地从同一数据中心分配给不同的承租人。通常,多个VM将同时运行在计算网络或数据中心内的同一物理节点上。共享共同物理节点的这些VM可被分配给不同的承租人(tenant)并可在不同时间需要不同资源量。例如,资源可包括与物理节点相关联的物理盘(例如,硬盘驱动器),其中在某一时帧期间该物理盘具有有限量的可访问性。当一个承租人需要增加对物理盘的使用来完成特定任务时,在该物理节点上运行的该承租人的VM可能潜在地通过发送向物理盘发送大量请求来向该物理盘施加压力,从而阻止在该物理节点上运行的其他VM公平地共享其资源。目前,因为盘输入/输出(I/O)性能(例如,访问一数据片段的时间)通常滞后于在该物理节点上运行的VM的CPU性能(例如,处理器速度)和网络性能(例如,带宽使用),所以存在用于计量从VM发送到物理盘的请求的基本方法。这些方法通过尝试使用存储速率(兆字节/秒)或者替代地使用活动速率(请求/秒)来描述盘I/O性能来计量请求。在使用兆字节/秒的情况下,这种方法考虑被读取或写入的数据的大小,但是不考虑数据在物理盘内是被如何安排的。另一方面,在使用请求/秒的情况下,这种方法考虑在给定时帧内盘头(disk head)被要求在物理盘上移动的次数。即,使用请求/秒方法不考虑在移动盘头之后被访问的数据的大小。相应地,因为基于兆字节/秒的方法(仅与顺序访问有关)和基于请求/秒的方法(仅与随机访问有关)各关注盘I/o性能的不同的具体方面,所以这些方法无法同时考虑对物理盘的顺序访问和随机访问两者。例如,基于兆字节/秒的方法关注顺序访问,从而呈现出被随机访问的洪泛压垮并生成请求积压的风险。另一方面,基于请求/秒的方法关注随机访问,从而呈现出遇到顺序访问串且不必要地限制到物理盘的吞吐量的风险。因此,无法考虑顺序访问以及随机访问,或者没有意识到它们所产生的盘I/o性能之间的巨大差别,从而使得这些方法是低效的。
技术实现思路
提供本
技术实现思路
是为了以简化的形式介绍将在以下具体实施方式中进一步描述的概念。本
技术实现思路
并非旨在标识所要求保护的所针对的的关键特征或必要特征,也不旨在用于帮助确定所要求保护的所针对的的范围。本专利技术的实施例提供一种根据盘驱动器模型对从在虚拟机(VM)上运行的服务应用发出的请求进行扼流的机制,所述虚拟机驻留于数据中心的共同的物理机或节点上。如此处所使用的,短语“盘驱动器模型”一般是指硬盘驱动器(HDD)的软性盘(soft-disk)表示,其中盘驱动器模型在计算用于执行服务-应用请求的预期执行时间时模拟HDD的性能特性。在一示例下实施例中,盘驱动器模型通过考虑HDD的至少以下两个因素来模拟HDD的性能特性:与HDD上目前存在的一组实际参数相对应的一组参数;以及HDD的盘头的当前状态。如下面更完全地讨论的,盘头的当前状态可被用来计算将该盘头从满足当前执行的请求的第一位置移动到满足待决请求的第二位置所消耗的时间。先前的用于量化HDD的性能的方法限于考虑兆字节/秒(所传输的信息量)或请求/秒(操作速率)之一。本专利技术的实施例中所采用的方法依赖于盘驱动器模型,该盘驱动器模型基于各种因素(包括上面提到的两个因素)来精确地量化盘I/o性能。此外,本专利技术的实施例中的方法应用盘驱动器模型来确定应当如何处理读取或写入的盘I/o请求(后文称为“请求”),诸如基于HDD相对于该盘驱动器模型如何执行的事实来对请求进行限制或“扼流”。出于各种原因,在云计算环境中对盘I/O进行正确地扼流是有利的,诸如提供一种将VM盘性能与底层物理存储硬件(例如HDD)解耦合的方式以及提供向个体VM动态分配性能阈值的能力。如下面更全面地讨论的,基于将请求的预期执行时间(使用盘驱动模型)和请求的实际执行时间(测量该HDD执行请求所花的时间)进行比较,计算性能阈值。在一示例下实施例中,该盘驱动器模型被用于对盘I/O的请求进行扼流的目的。最初,对于被请求的每一盘I/o操作,计算预期执行时间(B卩,该盘驱动器模型处理该盘I/O操作所花的时间)。在操作中,该盘驱动器模型的预期执行时间可被用作扼流决策的基准栏(baseline bar)。一旦传递到HDD,测量实际执行时间(B卩,HDD执行盘I/O操作所花的时间)。如果HDD的实际执行时间少于该盘驱动器模型的预期执行时间,则该HDD的性能超额(outperform).当该HDD性能胜过盘驱动器模型到一定程度时,可以延迟的方式来执行后续盘I/O操作,或者换言之,可对后续请求进行扼流。作为示例,扼流可涉及当HDD的性能超额时在调度后续请求时增加时间。或者,扼流可涉及当HDD的性能不足时,立即处理后续请求。如此,使用此盘驱动器模型来确定何时对请求的消费选择性地施加约束可改善对HDD能力的施压或者改善对向VM驻留于其中的数据中心的承租人保证的服务的质量带来的负面影响,并且同时最大化磁盘I/O操作的吞吐量。而且,在实践中,当该HDD没有被过度施压时可使用扼流。在一个示例中,如果向不同类型的VM分配不同的性能等级,则扼流可帮助使得这些性能等级被保持。在另一示例中,如果不管特定客户的VM被部署在何处(例如,在快物理机上或在慢物理机上),均向该VM保证一性能等级,则扼流可帮助确保所保证的性能等级被保持。附图说明以下参考附图详细描述本专利技术的各实施例,附图中:图1是适用于实现本专利技术的各实施例的示例性计算环境的框图;图2是示出适于用于实现本专利技术的实施例的示例性云计算平台的框图,该平台被配置成利用盘驱动器模型来计算传入请求的预期执行时间;图3是根据本专利技术的实施例的描绘与过滤器驱动程序通信的物理节点内的队列的示例性分布式计算环境的框图;图4是示出根据本专利技术的实施例的使用过滤器驱动程序来对从一个或多个虚拟机(VM)到硬盘驱动器(HDD)的请求进行扼流的示例性方法的流程图;以及图5是示出根据本专利技术的实施例的用于限制流向该HDD的请求的速率的示例性方法的流程图。具体实施例方式此处用细节来描述本专利技术的各实施例的所针对的以满足法定要求。然而,该描述本身并非旨在限制本专利的范围。相反,专利技术人设想所要求保护的所针对的还可结合其他当前或未来技术按照其他方式来具体化,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。本专利技术的实施例涉及用于向对要由硬盘驱动器(HDD)处理的盘I/O操作的请求的源(例如,在物理节点上实例化的虚拟机(VM))应用扼流的方法、计算机系统和计算机可读介质。在操作中,所施加的扼流可根据请求的预期执行时间(使用盘驱动模型)和请求的实际执行时间(测量该HDD执行请求所花的时间)的比较来对来自VM的请求进行计量。在一示例性实施例中,计量涉及对在标识所预期执行时间超过实际执行时间之后发出的那些请求的递送进行延迟。本文档来自技高网...
【技术保护点】
一个或多个其上包含计算机可执行指令的计算机可读介质,所述计算机可执行指令在被执行时执行一种用于使用过滤器驱动程序对从一个或多个虚拟机(VM)到硬盘驱动器的请求进行扼流的方法,所述方法包括:从在所述一个或多个VM上运行的服务应用接收(410)所针对的请求;访问(412)盘驱动器模型,所述盘驱动器模型与所述硬盘驱动器基本类似地行动,其中所述访问的过程包括:(a)读取(414)所述盘驱动器模型对所述硬盘驱动器的性能特性的模拟;以及(b)读取(416)所述盘驱动器模型对所述硬盘驱动器的盘头的当前状态的模拟;根据所述性能特性以及所述盘头的所述当前状态来计算(418)执行所述所针对的请求的预期执行时间;测量(420)在将所述所针对的请求传送到所述硬盘驱动器之后用于执行所述所针对的请求的实际执行时间;以及使用所述预期执行时间和所述实际执行时间的比较来对从所述VM到所述硬盘驱动器的所述请求的流量进行扼流。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:Y·邓,邹浩源,左玥,F·C·福尔茨,
申请(专利权)人:微软公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。