CN1356639A - 为有同时截止期和优先级的盘输入/输出子***提供服务质量 - Google Patents
为有同时截止期和优先级的盘输入/输出子***提供服务质量 Download PDFInfo
- Publication number
- CN1356639A CN1356639A CN01138463.8A CN01138463A CN1356639A CN 1356639 A CN1356639 A CN 1356639A CN 01138463 A CN01138463 A CN 01138463A CN 1356639 A CN1356639 A CN 1356639A
- Authority
- CN
- China
- Prior art keywords
- request
- priority
- formation
- period
- time
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
- H04N21/2326—Scheduling disk or memory reading operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Feeding And Guiding Record Carriers (AREA)
- Paper (AREA)
- Moving Of Heads (AREA)
Abstract
盘调度算法,仅当为一个具有较低优先级和严格截止期的请求服务不影响优先级高的请求的截止期限制时,才为优先级低并要求严格截止期的请求提供服务。其中一个算法使用了单独对列保留所有请求而不考虑它们的优先级。单独对列在新的请求到来之后根据对请求进行服务的顺序重新组织。另一个算法采用多个队列。每个队列只保留相同优先级的请求,每个优先级队列中的请求根据它们的截止期进行排序。在调度时间决定对某个请求服务。
Description
技术领域
本发明通常涉及一种盘存储技术,具体地说,本发明涉及一套用于改善输入/输出性能的经过改善的盘调度和盘访问算法。改进的算法可以用于多种盘访问应用。特别适用于需要实时提供视频音频流式数据的多媒体服务器。
背景技术
在公众发现例如文本、图像和音频等不同种类的多媒体对象在存储和检索方面需求不断增加的情况下,多媒体服务器的使用增长十分迅速。例如,当前许多最新的视频编辑站使用基于服务器的技术存储和检索工作于其上的多媒体内容。按需视频传输***也使用类似的基于服务器的技术将视频传送到分布站点或用户终端站点。当因特网访问带宽增加时,基于服务器的技术也将会更为广泛的应用在上述媒介上传输多媒体内容。如果有适当的带宽,这些多媒体内容就可以成为可交互的——即用户将能够与他或她所看到的内容进行交互,并在某种程度上进行控制。
对多媒体对象进行存储和检索的要求一般取决于被存储和检索对象的类型。对于实时的音频和视频数据流许多用户要求数据在一个特殊的截止期内被传送,如果服务器错过了这个截止期,就会导致一个特殊视频帧的传输失败,那么便不能按需要对所述帧进行处理。然而,在视频重放中丢失帧会导致显示时的跳跃。因此,如视频重放这样的实时应用程序需要性能保证,即数据块应在一个特定时间前可用。相反,诸如字处理应用程序的“尽力”(best effort)的应用程序则不需要任何性能保证。因此,在多媒体应用程序中,截止期(dead line)被认为是考虑在什麽时候提供质量服务的一个重要参数;但在字处理应用程序中就不是那么重要了。
多媒体应用程序中另一个重要的参数是优先级(priority)。例如,在多媒体服务器应用程序中,不同的视频剪图可以被分配不同的优先级,优先级较高的剪图要比优先级低的剪图优先对待。有可能是如下情形,例如,设计一个传送***,其中重要用户要比非重要用户受到优先对待。在非线性视频编辑站中,例如某种特定的关键性的编辑操作需要高质量的数据馈给,反之其它不太关键的操作可能能够接受低质量的数据馈给。
诸如实时多媒体传输应用程序这样同时注重截止期和优先级的应用程序,对基于服务器的存储和检索***的设计者来说是一个急待解决的问题。即使利用当今的高速度、高带宽服务器技术,在同时满足截止期和优先级的要求时仍存在内在的权衡。哪些数据应该优先存储和检索,哪些必须等待,这些问题在众多实时数据传输***的设计中都居于中心位置并且是基本的问题。***设计者使用了各种盘调度算法来处理这些问题。
在所述算法是试图使盘寻道时间最小化还是试图利用截止期和优先级要求服务于所述请求从而与传输时间相比使所述寻道时间可以忽略不计的基础上,早期处理盘访问调度的方法有两种。当我们考虑诸如其中客户端发出与大尺寸数据相关的请求的持续煤体服务器、数字图书馆或视频编辑***时,忽略寻道时间是一个有效的设想。
某些多媒体应用程序的算法采用了基于周期技术的设计,以便保证无抖动显示支持的数据传输。基于周期的算法根据数据在盘上的物理位置将请求划分成组,并将每一组中的请求分类。他们通常不将截止期和所述请求联系起来。相反,它们将一个周期分成时隙,在一个时隙中支持一个显示。由于用户期望及时响应他们的交互式输入请求(在使用其它计算应用程序时他们期望也是这样),交互式应用程序突出的成为一个急待解决的问题。交互式应用程序的用户立刻注意到隐藏的过长的盘访问等待时间,并对此不满。为了处理这个问题,一些人建议为交互式输入请求提供比常规周期请求更高性能级的保证。
传统的截止期驱动算法,诸如Earliest Deadline First(EDF)、SCAN-EDF和SCAN-RT都不考虑不同的优先级。相反,他们提供软实时传送保证。一种建议的多队列EDF变换是考虑了不同优先级的。这种EDF的变换对每一个优先等级有独立的队列,且请求根据每个优先级队列中的截止期进行划分。然而,这种EDF变换采用的算法将永远取来自最高优先级队列的请求,除非它是空的,在为空的情况下,将进到下一个优先级队列并以此类推。这种算法的一个缺点是低优先级队列会由于此算法而总处于期望(starvation)状态。
本发明提供了一组解决上述期望问题的算法。这组算法由截止期驱动,但是它还可以区分不同的优先级。本发明的算法试图在只有对一个具有较低优先级并具有严格截止期的请求的服务不会干扰较高优先级请求的截止期限制时才对前者进行服务。下面对两个实施例进行说明和描述。一个实施例采用单独队列保留所有的请求而不考虑它们的优先级。另一个实施例采用多个队列,每一个队列只保留优先级相同的请求,每个优先级队列中的请求根据截止期分类。
为了更全面的理解本发明,其目的和优点参考下述附图及其说明。
附图说明
附图1a-1f是展示当前优选的单个队列实施例在该实施例的相关算法的各个阶段下的数据结构图;
附图2是用示范数据展示当前优选的多队列实施例的数据结构示意图,有利于所述实施例中所述算法的理解;以及
附图3是具有相关数据结构图的流程图,说明多队列实施例中的算法
具体实施方式
引言——在多媒体实时传输中要考虑的因素
本发明中的盘调度算法可以有许多不同的应用。因为多媒体应用程序提出了一些重大的挑战,本发明将对多媒体服务器应用程序的内容进行说明,该应用程序同时涉及到截止期和优先级。本发明不仅限于所选择的多媒体应用程序实施例,本发明还可以用于除多媒体应用程序之外的其它方面。
同时考虑截止期和优先级的多媒体应用程序包括非线性视频编辑站、数字图书馆服务器、视频服务器、按需视频服务器、交互式视频服务器等。这些类型的应用程序将涉及视频和音频的存储和检索,由此并可能具有截止期和优先级要求。
例如,数字图书馆应用程序涉及视频和音频流式数据这样的连续介质,以及象文本、图片、ASCII文本和扫描文件这样传统的非实时数据。在这样的数字图书馆应用程序中,连续介质数据需要在严格的截止期中传送,它们中的一些具有高的优先级。相反非实时数据不需要截止期要求,通常给予比视频和音频数据低的优先级。从而在数字图书馆应用程序中的访问数据块请求中,可能出现实时部分(具有截止期)和非实时部分(无限的或很大的截止期)以及优先级。为了支持这种类型的应用程序而实现一种盘调度算法表示,所述算法同时考虑这两个参数,所述参数又会表示给定的服务质量。调度算法应保证低优先级或非实时数据不会处于期望状态。
视频编辑站和按需视频服务器在实时提供流式视频剪图时也有截止期和优先级要求。在有些时候,可能需要同时回放多个视频流,这些流可能具有不同的实时截止期要求。还有一些视频帧可以有高于其它帧的较高优先级,视频服务器也需要提供连续介质数据的实时保证。此外对于按需视频,将视价格提供不同质量等级的服务。
假设视频服务器应用程序提供三个等级的优先级:高级、中级和尽力。用户预订高质量的服务将比预定中级和尽力服务支付更多的费用。为了提供所请求的服务质量,盘调度算法应当优先对待优先级高的请求并努力在其截止期内对其服务。因此,用于对视频服务器或按需视频服务器上的视频和音频帧进行存储和检素的调度算法,应当在进行智能决策以便提高盘输入输出性能以及在不同费用的基础上对不同的用户提供特惠的服务时将这些因素都加以考虑。
基于因特网并支持MPEG编码的视频数据***提供了其中截止期和优先级都很重要的另一个例子。MPEG数据以帧内、预测和双向(I,P,B)帧的交错顺序存储。因为I帧丢失所引起的图像跳动比P或者B帧丢失所引起的图像跳动更加严重,所以,在这个应用程序中请求调度程序将总是试图优惠I帧。因此,不同种类的帧需要不同的截止期和优先级处理。
在任何一个前述的例子中,无论是截止期还是优先级本身,都不可以充分的建立起应用程序对盘访问请求的需求模型。需要一种同时考虑截止期和优先级的算法来对盘输入输出请求进行调度。
调度算法
本发明提供了一种优化的用于对具有实时截止期和优先级的请求进行服务的调度算法。如以下更完整的描述,这些算法基于每一个请求的截止期进行决策并忽略数据在盘上的相对位置。忽略相对位置可能会引起是否会导致明显的寻道时间过长以及循环等待时间***开销的争论。然而,对于数据访问量很大的多媒体应用程序以及其它目标应用程序来讲,这种***开销与传送时间相比却较小。目标应用程序包括视频服务、视频编辑站和数字图书馆。所有的这些都与大规模数据决请求相关,所述块大约有兆比特或者更大。与传送时间相比这些请求的寻道时间变得相对短。
本发明的调度算法可以作为一组算法执行。当前首选的两个算法都考虑了截止期和优先级。这两个算法最重要的差别在于一个采用了单独队列保留请求并对进入队列的请求进行调度,另一个采用了多个队列。这两种算法都由截止期驱动,并具有多个优先级。如下所述,只要优先级较低的请求不影响优先级高的请求的截止期限制,所述算法都尽可能为请求服务,从而优先级低的请求也能获得服务。该算法还尽量将错过截止期的请求的数目最小化。在单独队列实施例中,在每个请求到来后根据对请求进行服务的顺序重组所述队列。只要所述***能够服务于所述队列中的所有请求,那么在这个重新排序的表中可能存在位于具有较高优先级请求之上的肯有较低优先级的请求。
多队列实施例只在给定的队列中放置具有同等优先级的请求并且每个优先级队列的请求根据它们的截止期排序。传统的多队列算法从优先级最高的队列开始取请求,只有当高优先级队列为空之后才进行到优先级低的队列。本发明的多队列实施例与传统的不同,本发明采用了嵌入式智能化设计,即使有优先级较高的请求,也允许响应优先级较低的队列。这种对优先级较低的请求提供服务的决策仅在不影响任何优先级较高队列的请求的截止期的基础上才进行。
单独队列实施例
在单独队列实施例中单独队列保留所有的请求,且这个队列总是按调度顺序上组织。我们称其为请求队列。调度顺序的意义在于该请求的排序是由请求所期望得到服务的调度时间决定的。
调度程序总是从队列开头的请求开始服务,即使队列开头请求的调度时间比要比现在的时间晚,也是如此。请求在***时间内被排序。单独队列算法尽可能将请求往后排,在开头处留出余地,以便***任何新的具有更严格的截止期的请求。在***具有更严格截止期和高优先级请求的过程中,该算法需要删除一些优先级低的请求。这是允许的。在优先级低的请求不影响较高优先级请求的截止期的情况下,队列中优先级低的请求可以比优先级高的请求在前。所述实施例中假设一个固定大小的块,其中该块的大小足够大(大约一兆比特),数据的传送时间也就足够长,长的完全可将寻道时间忽略不计。
队列的每一个成员都有4个要素(调度时间、截止期、优先级、服务时间)。一个请求总有与之相关的截止期和优先级。在得到了一个请求r(优先级、截止期)后,将其转换成R(调度时间、优先级、截止期、服务时间)。调度时间是请求的最晚调度时间,对请求的服务不能晚于这个时间。对调度时间的计算基于下述规则:
调度时间=截止期-服务时间
所述调度时间是请求最初的被调度时间且随着时间的推移,队列逐渐被新的请求填满,调度时间也随之改变,队列总是根据所述调度时间进行组建。服务时间是传送固定大小数据块的时间,在多媒体服务中通常在一兆比特数量级上。
单独队列算法及其例子
算法的第一步是将一个请求***队列。当一个新的请求到达后,算法扫描请求队列根据其调度时间和优先级找到恰当的位置***新的请求。在***新的请求时,所述算法可能从队列中删除一个元素,提供给优先级更高的请求一个位置。对请求进行服务时,通常从队列中的第一个元素开始,因为它是最严格截止期的候选元素。队列总是根据调度时间排序。在此,假定新的请求用Rnew表示
将请求***队列的过程如下:
1.根据调度时间确定Rnew应***队列的位置。
2.在为队列中***新的请求进行扫描时,如果有优先级最低的请求,对其进行标记。这个标记过的请求的优先级总是低于新的请求。标记过的请求作为将在必要时从队列中删除的后选。
3.如果Rnew的***会影响一个或多个优先级更高的请求,并且有被标记过的请求,则将这个标记过的请求删除并将新的请求***到适当的位置;否则丢弃新的请求。
4.如果两个或两个以上的请求具有相同的调度时间,在新***的请求之前更新所有请求的调度时间。
更新调度时间的算法如下,设新的请求为请求Rk:
while((调度时间(Rk)=调度时间(Rk-1))and(非队列头))
{
调度时间(Rk-1)=调度时间(Rk-1)-服务时间
k=k-1;
}
分析采用上述算法的例子,在时间0时有下述请求:
请求 (优先级,截止期)
1. (0,10)
2. (1,15)
3. (0,10)
4. (0,20)
5. (0,20)
6. (1,15)
7. (2,25)
为简单起见,认为所有请求的服务时间均为5ms。图1a-1f所示为在***每一个新的请求后的队列内容。从第一个请求开始看它是否可以调度。如果是,根据它的调度时间***;否则作为一个不能服务的请求将其忽略。对所有请求照此继续执行。
请求1,(0,10)将在时间t=(截止期-服务时间)=(10-5)=5被调度。由于时隙在时间t=5时为空,将这个请求***到这个时隙中。***后的队列内容如图1a所示。
请求2,(1,15)将在时间t=(20-5)=15被调度。时隙在这时为空,因此将这个请求***到这个时隙中,如图1b所示。
请求3,(0,10)本应在时间t=(10-5)=5被调度。但是已经有请求被***在这。根据所述算法将减少请求3的调度时间,将它放到第一个时隙中。请求3将在时间t=0时被调度。***后的队列内容如图1c所示。
请求4,(0,20)将在时间t=(20-5)=15被调度。时隙在这时为空,因此将这个请求***到这个时隙中,***后的队列内容如图1d所示。
请求5,(0,20)本应在时间t=(20-5)=15被调度。但是已经有请求被***这个时隙,不能再***。根据所述算法将在这个时隙之前的时隙中寻找优先级低的已经***的请求。发现请求2的优先级比请求5的优先级低,因此将请求2删除,以便将请求5***到此位置。并将减少它的调度时间,以便整个队列是可调度的。在执行完所述算法的所有步骤之后,请求5在时间t=10时被调度。***后的队列内容如图1e所示。
请求6,(1,15)本应在时间t=(15-5)=10被调度。但实际已有优先级更高的请求占据了这个时隙并且在这个时隙之前的时隙中没有任何请求的优先级低于该请求,不能为这个请求提供服务,因此将该请求删除。
请求7,(2,25)将在时间t=(25-5)=20被调度。时隙在这时为空,因此将这个请求***到这个时隙中。***后的最终队列内容如图1f所示。
多队列实施例
多队列实施例中每一个优先级等级都有一个独立的队列,且每个优先级等级中的请求是根据截止期排序的。为了防止低优先级请求处于期望状态,只要为较低优先级的请求服务不影响较高优先级请求的截止期的情况下,该算法试图为优先级低的请求服务。该算法依赖于:在决定对优先级低的请求进行服务是否会影响到优先级较高的请求的同时将几个队列合并。该算法的要点如下:
Rnew是优先级权为i的新到达的请求。根据其截止期将Rnew***QI中,然后执行合并步骤并决定请求将被服务的新顺序。新的调度顺存储在队列Q中。
令优先级队列为Q1,Q2,Q3,Q4…Qk
其中Q1是优先级最高的队列。
每个新的请求到来之后,按照下述步骤建立一个根据调度顺序排序的合并队列。调度顺序在这里是指为请求提供服务的顺序。
1.令Q为合并队列。
2.初始化Q=NULL;
3.当(i=1到k)
{
令R为队列QI的下一个请求
根据截止期将R***到队列Q中,只要它不影响任何优先级高的请求。
若R不能***,将R从QI中删除
}
下面分析多个队列方法的例子。令队列0是优先级最高的队列,队列2是优先级最低的队列并为简单起见将服务时间设为5毫秒。图2所示为这三个示例队列(队列0,队列1,队列2)的最初配置。
所述三个队列在调度顺序上合并为一个单独的队列的过程如图3所示,并由下述步骤执行
步骤1:将R1和R2***合并队列的步骤
步骤2:***R3的步骤
步骤3:***R4的步骤
步骤4:***R5的步骤
注意如果***R5则会影响优先级高的请求的截止期,因此将R5从队列2中删除。
步骤5:***R6的步骤
设计思路
如前所述的两个当前优选算法中的每个都有其缺点和优点。使用哪一个将依赖于所设计的特定***的目标和任务。单独队列实施例在数据块的大小固定的时候很容易执行,也就是说服务时间或传送时间对所有的请求都固定。它只需要时间0(n),n是队列中请求的数据。单独队列实施例的缺点是在服务时间不固定时,需要特别注意保证满足优先级高的请求的截止期。因此,可能要对一些优先级低的请求作标记以便允许***删除必要数量的被标记请求,从而满足优先级较高的请求的截止期。
在多队列实施例中请求的***过程中计算的成本更高。整个合并过程在最差的情况下需要的时间为0(nk),k是优先级总数。多队列实施例取决于将多个队列合并为单独队列以维护一个调度顺序。因此,每个新到的请求都可以启动所述的合并过程。多队列实施例因此要维护几个队列,其中包括合并队列,在单独队列实施例中则只需要维护一个队列。
如前所述可以看出,两个算法的实施例都解决了优先级较低请求的期望状况,即使在队列中还有一些较高优先级请求的情况下,也试图为优先级较低的请求服务。只要优先级较低的请求不影响优先级高的请求的截止期,则对优先级低的请求服务。为了表示该技术的成就,下面提供一些实验结果。
实验结果
将单独队列实施例和Earliest Deadline First(EDF)算法进行模拟,并将本发明的算法和具有多个优先级的EDF算法的模拟结果加以比较。模拟环境下的盘模型如下表:
表1:盘模型
盘参数 | 值 |
类型 | 昆腾XP32150 |
柱面数量 | 3832 |
磁道/柱面 | 10 |
区段数量 | 16 |
扇区大小 | 512 |
转速 | 7200RPM |
盘尺寸 | 2.1GB |
块尺寸 | 1MB |
传输速度 | 4.9-8.MB/sec |
盘/RAID | 5(4位数据1位奇偶) |
在模拟中,假设有40-50个用户对各盘进行同时访问。模拟使用3个优先级等级。认为这些客户或用户的请求都为固定大小的块,块大小为1MB。通过将P-EDF(有多个优先级的EDF)算法和本发明中单独队列(单独Q)方法进行比较,判断使用每种算法丢失数据块的数量。结果如表2所示。结果显示了本发明算法相对传统EDF算法的优点。本发明算法会减少数据的丢失。
表2:三种优先级的数块丢失数量
用户数 | 优先级0 | 优先级1 | 优先级2 | |||
P-EDF | 单独Q | P-EDF | 单独Q | P-EDF | 单独Q | |
40 | 0 | 0 | 0 | 0 | 0 | 0 |
41 | 64 | 2 | 0 | 0 | 0 | 0 |
42 | 877 | 73 | 0 | 0 | 0 | 0 |
43 | 1772 | 1568 | 0 | 0 | 0 | 0 |
44 | 2562 | 2331 | 0 | 0 | 0 | 0 |
45 | 3458 | 3200 | 0 | 0 | 0 | 0 |
46 | 4223 | 3994 | 0 | 0 | 0 | 0 |
47 | 5103 | 4836 | 0 | 0 | 0 | 0 |
48 | 5799 | 5578 | 0 | 0 | 0 | 0 |
49 | 6690 | 6447 | 0 | 0 | 0 | 0 |
50 | 7400 | 7215 | 0 | 0 | 0 | 0 |
尽管通过将本发明结合目前提供的优选实施例进行说明,但应理解本发明的原理可扩展到其它实施例。在这里所述实施例意图说明本发明的概念,不对随附权利要求书中的范围进行限制。
Claims (10)
1.一种对新的盘访问请求进行调度的方法,包括:
a.维护至少一个盘访问请求队列,所述队列中的每个成员由至少记录各成员的截止期优先级和调度时间的一个数据结构表示;
b.通过基于与所述新请求相关的截止期确定所述新请求的调度时间来处理新的盘访问请求;
c.通过将所述新的请求的调度时间和优先级同所述队列中的其它成员的调度时间和优先级相比较,扫描所述队列以便定位所述新的请求的***点,所述***点的选择使得不会影响优先级比所述新的请求高的成员的截止期;
d.在步骤C对所述队列进行扫描时,确定优先级比所述新请求低的成员并对其进行标记;
e.在不影响任何优先级高于所述新请求的成员的截止期的情况下,在所述队列中的所述***点***所述新请求;
f.如果在步骤d确定了一个被标记的成员,且将所述新请求***所述队列的所述***点会影响其它优先级高于所述新请求的成员的截止期,则删除所述被标记过的成员,并重复步骤e和f;
g.如果在步骤d没有确定一个被标记的成员,且在所述队列中的所述插点***所述新请求将影响其它优先级高于所述新请求的成员的截止期,则丢弃所述新请求;
2.如权利要求1所述方法,其特征在于所述的数据结构记录与从所述盘中读出所述成员相关的传输时间对应的每个成员的服务时间。
3.如权利要求1所述方法,其特征在于用于确定调度时间的所述步骤b是通过获得与所述新请求相关的一个截止期并从中减去与从所述盘中读出一个成员相关的传输时间执行的。
4.如权利要求1所述的方法,进一步包括对不同的优先级的盘访问请求保持独立队列;
5.如权利要求1所述的方法,进一步包括对不同的优先级的盘访问请求保持独立队列,并在决定取较低优先级请求是否影响一个较高优先级请求的截止期的同时合并所述独立的队列。
6.如权利要求1所述的方法,进一步包括若多个成员有相同的调度时间,那么,在***所述新请求的所述步骤e之前更新所述队列中每个成员的调度时间的步骤。
7.如权利要求6所述的方法,其特征在于所述的更新步骤通过将所述多个中一个的调度时间调节与从所述盘读出成员所涉及的服务时间相关的一个量来执行。
8.如权利要求6所述的方法,其特征在于所述的更新步骤是这样执行的:第一步先将所述多个中一个的调度时间调节与从所述盘读出成员所涉及的服务时间相关的一个量,再迭代地调节那些其调度时间由于所述第一步骤而发生重叠的其它成员的调度时间。
9.如权利要求1所述的方法,其特征在于所述成员对应于被分类为帧内、预测和双向帧的MPEG视频帧;和其中所述优先级根据所述成员的帧分类分配给所述成员。
10.如权利要求1所述的方法,其特征在于所述的队列中每个组成成员由至少四个元素组成:调度时间、优先级、截止期和服务时间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/672,916 US6871011B1 (en) | 2000-09-28 | 2000-09-28 | Providing quality of service for disks I/O sub-system with simultaneous deadlines and priority |
US09/672,916 | 2000-09-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1356639A true CN1356639A (zh) | 2002-07-03 |
Family
ID=24700551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN01138463.8A Pending CN1356639A (zh) | 2000-09-28 | 2001-09-28 | 为有同时截止期和优先级的盘输入/输出子***提供服务质量 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6871011B1 (zh) |
EP (1) | EP1193967B1 (zh) |
JP (1) | JP2002197046A (zh) |
CN (1) | CN1356639A (zh) |
AT (1) | ATE310357T1 (zh) |
DE (1) | DE60114966D1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100392627C (zh) * | 2003-12-22 | 2008-06-04 | 威盛电子股份有限公司 | 存储器存取要求优先序列仲裁装置及方法 |
US7694040B2 (en) | 2003-12-12 | 2010-04-06 | Via Technologies, Inc. | Method and apparatus of arranging priority queue and arbitrating for memory access requests |
CN101009658B (zh) * | 2006-01-26 | 2011-03-30 | 索尼株式会社 | 访问控制方法和设备 |
CN102457578A (zh) * | 2011-12-16 | 2012-05-16 | 中标软件有限公司 | 一种基于事件机制的分布式网络监控方法 |
CN101406025B (zh) * | 2006-03-28 | 2012-09-05 | 汤姆森许可贸易公司 | 针对内容传递网络的集中式调度器 |
CN104991816A (zh) * | 2015-06-25 | 2015-10-21 | 浪潮(北京)电子信息产业有限公司 | 一种进程调度方法及装置 |
CN109783028A (zh) * | 2019-01-16 | 2019-05-21 | Oppo广东移动通信有限公司 | I/o调度的优化方法、装置、存储介质及智能终端 |
CN110463144A (zh) * | 2017-01-24 | 2019-11-15 | 诺基亚通信公司 | 处理实时多点对点业务 |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7849172B2 (en) * | 2002-03-01 | 2010-12-07 | Broadcom Corporation | Method of analyzing non-preemptive DRAM transactions in real-time unified memory architectures |
US7046677B2 (en) * | 2002-11-27 | 2006-05-16 | Rgb Networks, Inc. | Method and apparatus for time-multiplexed processing of multiple digital video programs |
CA2523343A1 (en) * | 2003-04-21 | 2004-11-04 | Rgb Networks, Inc. | Time-multiplexed multi-program encryption system |
US20040225707A1 (en) * | 2003-05-09 | 2004-11-11 | Chong Huai-Ter Victor | Systems and methods for combining a slow data stream and a fast data stream into a single fast data stream |
US20070261082A1 (en) * | 2003-08-22 | 2007-11-08 | Interuniversitair Microelektronica Centrum (Imec) | Method for operating a multi-media wireless system in a multi-user environment |
US20060114836A1 (en) | 2004-08-20 | 2006-06-01 | Sofie Pollin | Method for operating a combined multimedia -telecom system |
US8228952B2 (en) * | 2003-08-22 | 2012-07-24 | Imec | Method for operating a telecom system |
CN101065963B (zh) * | 2003-08-29 | 2010-09-15 | Rgb网络有限公司 | 提供低延迟类vcr效果和节目改变的视频多路复用器*** |
US7254685B1 (en) | 2004-06-15 | 2007-08-07 | Emc Corporation | Method for maintaining high performance while preserving relative write I/O ordering for a semi-synchronous remote replication solution |
TWI284810B (en) * | 2004-08-18 | 2007-08-01 | Via Tech Inc | Software communication between MPEG layer and servo layer |
US7386692B1 (en) * | 2004-08-20 | 2008-06-10 | Sun Microsystems, Inc. | Method and apparatus for quantized deadline I/O scheduling |
US7260703B1 (en) * | 2004-08-20 | 2007-08-21 | Sun Microsystems, Inc. | Method and apparatus for I/O scheduling |
US7305537B1 (en) | 2005-03-01 | 2007-12-04 | Sun Microsystems, Inc. | Method and system for I/O scheduler activations |
US7281086B1 (en) | 2005-06-02 | 2007-10-09 | Emc Corporation | Disk queue management for quality of service |
US20060288184A1 (en) * | 2005-06-17 | 2006-12-21 | Seagate Technology Llc | Admission control in data storage devices |
US7636801B1 (en) | 2005-06-20 | 2009-12-22 | Symantec Operating Corporation | Coordination of quality of service in a multi-layer virtualized storage environment |
US7293136B1 (en) | 2005-08-19 | 2007-11-06 | Emc Corporation | Management of two-queue request structure for quality of service in disk storage systems |
US8046558B2 (en) * | 2005-09-16 | 2011-10-25 | The Research Foundation Of State University Of New York | File system having predictable real-time performance |
US7478179B2 (en) * | 2005-11-04 | 2009-01-13 | Sun Microsystems, Inc. | Input/output priority inheritance wherein first I/O request is executed based on higher priority |
US20070106849A1 (en) * | 2005-11-04 | 2007-05-10 | Sun Microsystems, Inc. | Method and system for adaptive intelligent prefetch |
US7657671B2 (en) * | 2005-11-04 | 2010-02-02 | Sun Microsystems, Inc. | Adaptive resilvering I/O scheduling |
GB0524260D0 (en) | 2005-11-29 | 2006-01-04 | Ibm | Methods, apparatus and computer programs for managing access to storage |
US7523271B2 (en) * | 2006-01-03 | 2009-04-21 | International Business Machines Corporation | Apparatus, system, and method for regulating the number of write requests in a fixed-size cache |
US8127294B2 (en) * | 2007-05-22 | 2012-02-28 | Intel Corporation | Disk drive for handling conflicting deadlines and methods thereof |
US20090094248A1 (en) * | 2007-10-03 | 2009-04-09 | Concert Technology Corporation | System and method of prioritizing the downloading of media items in a media item recommendation network |
KR100927190B1 (ko) * | 2007-10-12 | 2009-11-18 | 한국전자통신연구원 | 디스크 스케줄링 방법 및 장치 |
CN101252516B (zh) * | 2008-03-27 | 2011-07-13 | 中兴通讯股份有限公司 | 一种高速下行分组业务的实现方法 |
US8347302B1 (en) | 2008-10-09 | 2013-01-01 | Amazon Technologies, Inc. | System-aware resource scheduling |
JP2010108300A (ja) | 2008-10-30 | 2010-05-13 | Hitachi Ltd | 情報処理システム、及び情報処理システムにおけるi/oのパスへの割り当て方法 |
KR101644800B1 (ko) | 2010-01-07 | 2016-08-02 | 삼성전자주식회사 | 컴퓨팅 시스템 및 방법 |
US8621176B2 (en) * | 2010-01-20 | 2013-12-31 | Netapp, Inc. | Method and system for allocating data objects for efficient reads in a mass storage subsystem |
US11275509B1 (en) | 2010-09-15 | 2022-03-15 | Pure Storage, Inc. | Intelligently sizing high latency I/O requests in a storage environment |
US8732426B2 (en) | 2010-09-15 | 2014-05-20 | Pure Storage, Inc. | Scheduling of reactive I/O operations in a storage environment |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US8468318B2 (en) | 2010-09-15 | 2013-06-18 | Pure Storage Inc. | Scheduling of I/O writes in a storage environment |
US8589625B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
US8868855B2 (en) * | 2011-02-28 | 2014-10-21 | Hewlett-Packard Development Company, L.P. | Request management system and method for dynamically managing prioritized requests |
GB2540809B (en) * | 2015-07-29 | 2017-12-13 | Advanced Risc Mach Ltd | Task scheduling |
US10908950B1 (en) | 2018-04-20 | 2021-02-02 | Automation Anywhere, Inc. | Robotic process automation system with queue orchestration and task prioritization |
US11354164B1 (en) * | 2018-04-20 | 2022-06-07 | Automation Anywhere, Inc. | Robotic process automation system with quality of service based automation |
CN111782632B (zh) * | 2020-06-28 | 2024-07-09 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置、设备和存储介质 |
CN114489867B (zh) * | 2022-04-19 | 2022-09-06 | 浙江大华技术股份有限公司 | 算法模块调度方法、算法模块调度装置以及可读存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956321A (en) | 1995-03-16 | 1999-09-21 | Kabushiki Kaisha Toshiba | Stream scheduling system for real time stream server |
US6049332A (en) | 1996-10-07 | 2000-04-11 | Sony Corporation | Method and apparatus for the scheduling and ordering of elements in a multimedia environment |
US6078998A (en) | 1997-02-11 | 2000-06-20 | Matsushita Electric Industrial Co., Ltd. | Real time scheduling of prioritized disk requests |
US6370323B1 (en) * | 1997-04-03 | 2002-04-09 | Lsi Logic Corporation | Digital video disc decoder including command buffer and command status pointers |
US6023720A (en) | 1998-02-09 | 2000-02-08 | Matsushita Electric Industrial Co., Ltd. | Simultaneous processing of read and write requests using optimized storage partitions for read and write request deadlines |
US6182197B1 (en) | 1998-07-10 | 2001-01-30 | International Business Machines Corporation | Real-time shared disk system for computer clusters |
DE69937674T2 (de) * | 1998-12-23 | 2008-10-30 | Koninklijke Philips Electronics N.V. | Programmeempfangsgerät |
US6378036B2 (en) | 1999-03-12 | 2002-04-23 | Diva Systems Corporation | Queuing architecture including a plurality of queues and associated method for scheduling disk access requests for video content |
US6496899B1 (en) * | 2000-02-28 | 2002-12-17 | Sun Microsystems, Inc. | Disk scheduling system with bounded request reordering |
-
2000
- 2000-09-28 US US09/672,916 patent/US6871011B1/en not_active Expired - Fee Related
-
2001
- 2001-09-27 AT AT01308234T patent/ATE310357T1/de not_active IP Right Cessation
- 2001-09-27 DE DE60114966T patent/DE60114966D1/de not_active Expired - Lifetime
- 2001-09-27 EP EP01308234A patent/EP1193967B1/en not_active Expired - Lifetime
- 2001-09-28 JP JP2001302770A patent/JP2002197046A/ja active Pending
- 2001-09-28 CN CN01138463.8A patent/CN1356639A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7694040B2 (en) | 2003-12-12 | 2010-04-06 | Via Technologies, Inc. | Method and apparatus of arranging priority queue and arbitrating for memory access requests |
CN100392627C (zh) * | 2003-12-22 | 2008-06-04 | 威盛电子股份有限公司 | 存储器存取要求优先序列仲裁装置及方法 |
CN101009658B (zh) * | 2006-01-26 | 2011-03-30 | 索尼株式会社 | 访问控制方法和设备 |
CN101406025B (zh) * | 2006-03-28 | 2012-09-05 | 汤姆森许可贸易公司 | 针对内容传递网络的集中式调度器 |
CN102457578A (zh) * | 2011-12-16 | 2012-05-16 | 中标软件有限公司 | 一种基于事件机制的分布式网络监控方法 |
CN104991816A (zh) * | 2015-06-25 | 2015-10-21 | 浪潮(北京)电子信息产业有限公司 | 一种进程调度方法及装置 |
CN110463144A (zh) * | 2017-01-24 | 2019-11-15 | 诺基亚通信公司 | 处理实时多点对点业务 |
CN110463144B (zh) * | 2017-01-24 | 2021-11-26 | 诺基亚通信公司 | 处理实时多点对点业务 |
CN109783028A (zh) * | 2019-01-16 | 2019-05-21 | Oppo广东移动通信有限公司 | I/o调度的优化方法、装置、存储介质及智能终端 |
Also Published As
Publication number | Publication date |
---|---|
EP1193967B1 (en) | 2005-11-16 |
ATE310357T1 (de) | 2005-12-15 |
JP2002197046A (ja) | 2002-07-12 |
EP1193967A3 (en) | 2003-11-12 |
US6871011B1 (en) | 2005-03-22 |
DE60114966D1 (de) | 2005-12-22 |
EP1193967A2 (en) | 2002-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1356639A (zh) | 为有同时截止期和优先级的盘输入/输出子***提供服务质量 | |
CN1237767C (zh) | 一种共享资源访问的调度控制方法及装置 | |
KR101086514B1 (ko) | 연속 매체 우선순위 인식 저장장치 스케줄러 | |
Rangan et al. | Efficient storage techniques for digital continuous multimedia | |
US8683471B2 (en) | Highly distributed parallel processing on multi-core device | |
CN1154928C (zh) | 用于多任务设施信息处理***的资源管理方法和设备 | |
Sarhan et al. | Caching and scheduling in NAD-based multimedia servers | |
CN1761972A (zh) | 判断因特网用户意图的方法以及利用该判断方法进行因特网广告的方法及其*** | |
US6263411B1 (en) | Video server scheduling for simultaneous read-write requests | |
CN1877534A (zh) | 一种嵌入式实时文件***任务调度的实现方法 | |
Daigle et al. | Disk scheduling for multimedia data streams | |
CN1975655A (zh) | 用于管理对存储装置的访问的方法和设备 | |
Shenoy et al. | Cello: A disk scheduling framework for next generation operating systems | |
Chang et al. | Deadline-modification-scan with maximum-scannable-groups for multimedia real-time disk scheduling | |
US11388367B2 (en) | Methods and apparatus for automatic media file transcoding | |
Nerjes et al. | Incremental scheduling of mixed workloads in multimedia information servers | |
JPH07239756A (ja) | 入出力スケジューリング方法及び入出力スケジューリングシステム | |
CN1273910C (zh) | 总线式进程间通信方法 | |
CN1304954C (zh) | 存储器件控制*** | |
Chang et al. | Reschedulable-Group-SCAN scheme for mixed real-time/non-real-time disk scheduling in a multimedia system | |
To et al. | Interactive Video-on-demand Systems: Resource Management and Scheduling Strategies | |
Lemos et al. | A study of a multi-ring buffer management for BLAST | |
CN106155810A (zh) | 软件定义混合储存***中工作负载感知的输入输出调度器 | |
Campbell et al. | Scheduling and optimization of the delivery of multimedia streams using query scripts | |
Ghandeharizadeh et al. | A cost driven disk scheduling algorithm for multimedia object retrieval |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
C20 | Patent right or utility model deemed to be abandoned or is abandoned |