CN106201664B - 具应用程序信息感知的数据处理方法以及系统 - Google Patents
具应用程序信息感知的数据处理方法以及系统 Download PDFInfo
- Publication number
- CN106201664B CN106201664B CN201510245391.8A CN201510245391A CN106201664B CN 106201664 B CN106201664 B CN 106201664B CN 201510245391 A CN201510245391 A CN 201510245391A CN 106201664 B CN106201664 B CN 106201664B
- Authority
- CN
- China
- Prior art keywords
- data path
- program
- application
- scheduler
- application layer
- 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.)
- Active
Links
Classifications
-
- 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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种具应用程序信息感知的数据处理方法以及系统,该数据处理系统包括储存装置、接口模块以及排程器。接口模块经由第一数据路径发送非优先次序化要求,并经由第二数据路径传递应用程序的应用层信息。排程器耦接至第一及第二数据路径,其分别依据从该第一及第二数据路径所接收到的非优先次序化要求以及应用层信息致能对储存装置的存取。
Description
技术领域
本发明是有关于一种数据处理方法以及相关的系统,且特别是有关于一种具应用程序信息感知的数据处理方法以及相关的系统。
背景技术
现代的电子装置通常会同时执行多个应用程序。当运行于操作系统,这些应用程序可发送输入/输出(Input/Output,I/O)要求以存取储存装置。
然而,在传统的系统中,I/O排程器(scheduler)通常使用自身的优先次序(priority)排程方案来决定I/O要求的服务顺序。在对此些要求进行排程时,I/O排程器并不会感知应用层信息。
举例来说,当两个应用程序同时要存取储存装置,来自这两个应用程序的I/O要求可能会以错开的顺序抵达I/O排程器,而这些I/O要求将会按照其抵达的顺序而被服务。在此情况下,这两个工作都会被减缓,进而使整体的系统产量降低。
因此,如何提供一种具应用程序信息感知的数据处理方法以及相关的系统,使得I/O排程器可基于应用程序信息来排程要求,乃目前业界所致力的课题之一。
发明内容
本发明是有关于一种具应用程序信息感知的数据处理方法以及相关的系统。
依据本发明的一实施例,是提供一种数据处理系统。数据处理系统包括储存装置、接口模块以及排程器。接口模块由耦接至储存装置的处理器所实现,其经由第一数据路径发送非优先次序化要求,并经由第二数据路径传递应用程序的应用层信息。排程器耦接至第一及第二数据路径,其分别依据从该第一及第二数据路径所接收到的非优先次序化要求以及应用层信息致能对储存装置的存取。
依据本发明的另一实施例,是提供一种数据处理系统。数据处理系统包括处理器、第一存储器以及第二存储器。该处理器透过第一数据路径发送非优先次序化要求,并透过第二数据路径传递应用程序的应用层信息。第一存储器耦接至该处理器,其储存由该处理器所发送的应用层信息。第二存储器耦接至该处理器,其中该处理器依据储存于第一存储器中的应用层信息,对该非优先次序化要求进行排程。
依据本发明的又一实施例,提供一种由处理器实现的数据处理方法,其包括以下步骤:经由第一数据路径发送非优先次序化要求;经由第二数据路径传递应用程序的应用层信息;依据接收自第一数据路径的非优先次序化要求以及接收自第二数据路径的应用层信息,致能对储存装置的存取。
为了对本发明的上述及其它方面有更佳的了解,下文特举较佳实施例,并配合所附图式,作详细说明如下:
附图说明
图1是依据本发明的一实施例的数据处理系统的例示I/O要求流。
图2A绘示依据本发明的一实施例的数据处理系统的例示I/O要求流。
图2B绘示依据本发明的另一实施例的虚拟机器的例示I/O要求流。
图3绘示依据本发明的一实施例的数据处理系统的例示I/O要求流。
图4绘示依据本发明的一实施例的例示要求批次程序。
图5绘示依据本发明的一实施例的要求批次程序的流程图。
图6绘示依据本发明的一实施例的内排程程序的示意图。
图7绘示依据本发明的一实施例的跨排程程序的示意图。
图8绘示依据本发明的一实施例的排程程序的流程图。
【符号说明】
100、200、300:数据处理系统
102:接口模块
104:排程器
106:储存装置
108:虚拟文件系统
110:文件系统
112:装置驱动器
114:分享存储器
116:虚拟档案
118:特定驱动器
202、202’、302:虚拟机器
204:超管理器
500、800:流程图
502、504、506、508、510、512、514、516、802、804、806、808、810、812、814、816、818、820、822、824:步骤
V21:接口模块
V22:访客虚拟文件系统
V23:访客文件系统
V24:访客排程器
V25:访客装置驱动器
V26:虚拟化储存装置
V27:服务驱动器
V31:接口模块
V32:应用程序框架
V33:资源管理器
V34:链接库与执行期模块
APP:应用程序
PA1、PA1’、PA1”:第一数据路径
PA2、PA2’、PA2”:第二数据路径
PU:处理器
Req1~Req7:要求
PID:程序辨识码
AP-ID:应用程序辨识码
VM-ID:虚拟机器辨识码
VM-Batch1、VM-Batch2:虚拟机器批次单元
AP-Batch1~AP-Batch3:应用程序批次单元
P-Batch1~P-Batch4:程序批次单元
TB1、TB2:映射表
具体实施方式
以下是提出实施例进行详细说明,实施例仅用以作为范例说明,并不会限缩本发明欲保护的范围。此外,实施例中的图式是省略不必要的元件,以清楚显示本发明的技术特点。
图1是依据本发明的一实施例的数据处理系统100的例示I/O要求流。数据处理系统100的I/O基本架构主要包括接口模块102、排程器104以及储存装置106。
接口模块102可以应用程序/程序模块的方式来实现,或实现于叠层在系统100中应用层下方的一层。排程器104可以软件、固件(firmware)或硬件(例如逻辑电路)的方式来实现。在一实施例中,排程器104亦可由处理器PU来实现。需注意图1中排程器104是实现于接口模块102以及装置驱动器112之间,但本发明并不限于此。在一实施例中,排程器104亦可实现于装置驱动器112以及储存装置106之间。储存装置106可透过大多的非易失性存储器来实现,例如NOR/NAND闪存、相变化存储器(PCM)、可变电阻式存储器(ReRAM)、自旋磁性存储器(STT-MRAM)等等。
接口模块102可经由两独立的数据路径PA1及PA2发送应用程序相关的数据。一方面,接口模块102可响应于应用程序APP所发送的I/O要求,发送一或多个非优先次序化(non-prioritized)要求。此些非优先次序化要求是透过第一数据路径PA1来传递。另一方面,接口模块102可监视应用程序APP以收集对应的应用层信息,并透过第二数据路径PA2传递此应用层信息。在一实施例中,应用层信息可来自虚拟机器、操作系统、应用程序设计者等等,或者由接口模块102估计而得。应用层信息可包括一或多个应用程序的优先次序等级以及一或多个应用程序的操作状态至少其中之一。在一实施例中,应用层信息可包括用以指示I/O要求来源的虚拟机器辨识码、应用程序辨识码以及程序辨识码。
当应用程序APP在操作系统上执行,其可发送优先次序化(prioritized)的I/O要求。优先次序化的I/O要求例如是一种被分派对应优先次序等级的I/O要求,例如高优先次序、中优先次序或低优先次序。此优先次序等级决定了I/O要求在系统中的被服务顺序。优先次序方案可依据任一应用程序形式来决定,像是前景/背景、I/O强化(intensive)/非I/O强化等等、或者由应用程序设计者来定义。一般而言,一旦优先次序化的I/O要求被服务过,其优先次序信息会变成不可见(invisible)。如图1所示,当应用程序APP所发送的优先次序化I/O要求经过接口模块102,其即变成非优先次序化的I/O要求(也就是不具有优先次序信息)。
如前所述,第一数据路径PA1可用来传递非优先次序化的I/O要求。在一实施例中,第一数据路径PA1可包括I/O基础架构,像是虚拟文件系统108以及文件系统110。虚拟文件系统108可以是文件系统110上方的抽象层(abstraction layer)。文件系统110可用来控制数据如何被存入至或取出自储存装置106。可以理解的是,本发明并不限于此。第一数据路径PA1可依据实际的设计或需求而具有各式的I/O基础架构。
耦接至第一及第二数据路径PA1及PA2的排程器104可依据接收自第一数据路径PA1的一或多个非优先次序化要求以及接收自第二数据路径PA2的应用层信息,致能对储存装置106的存取。举例来说,排程器104可发送重新形成的优先次序化的I/O要求至系统100的装置驱动器112,以致能储存装置106的硬件功能。
上述数据处理系统100中的I/O基本架构的各层可以不同的方式来实现。在一实施例中,上述数据处理系统100中的I/O基本架构的各层,除了底层的储存装置106以外,皆可透过处理器PU来实现。在另一实施例中,I/O基本架构中的各层可分别由对应的逻辑电路或硬件模块来实现。又一实施例中,I/O基本架构中的部份层可由处理器PU来实现,其它层则可以由电路/硬件模块来实现。
第二数据路径PA2可使应用层信息的传递独立于第一数据路径PA1。因此,应用层信息可在不修改原始I/O要求格式的情况下被传递至排程器104。
如图1所示,第二数据路径PA2绕过第一数据路径PA1中的虚拟文件系统108以及文件系统110,并直接耦接至排程器104。因此,即便数据处理系统100包括可能会抹除优先次序信息的I/O基础架构,此优先次序信息仍可被传递至系统100的较低层(例如排程器104)以进行I/O要求的排程。
透过第二数据路径PA2传递应用层信息可以各种方式来实现。举例来说,第二数据路径PA2可包括分享存储器114以储存取得自接口模块102的应用层信息,使得排程器104可从分享存储器114取得应用层信息。分享存储器114可以是储存装置106的一部份,或是独立于储存装置106的存储器空间。在一实施例中,分享存储器114包括易失性存储器,例如动态随机存存储器(DRAM)。
在另一例子中,第二数据路径PA2可包括虚拟档案116以记录取得自接口模块102的应用层信息,使得排程器104可从虚拟档案116取得应用层信息。举例来说,在监视应用程序APP的过程中,接口模块102可建立虚拟档案116以记录所收集到的应用层信息。排程器104可透过存取虚拟档案116以取得应用层信息。
又一例子中,第二数据路径PA2可包括特定驱动器118以直接地将所收集到的应用层信息发送至排程器104。可以理解的是,本发明并不限于上述的例子。用以传递应用层信息的第二数据路径PA2可依据实际的需求而以其它方式来实现。举例来说,第二数据路径亦可以额外的应用程序或其它软件方法来实现。
图2A绘示依据本发明的一实施例的数据处理系统200的例示I/O要求流。数据处理系统200与数据处理系统100间的主要差异在于,数据处理系统200更包括多个虚拟机器202以及超管理器204(hypervisor)。虚拟机器202可以是一个仿真的计算机系统,并具有对应的操作系统。应用程序APP是于操作系统上独立地运作。超管理器204用以管理此些虚拟机器202。也就是说,超管理器204可视为虚拟机器的管理者,其允许多个操作系统同时地运行于数据处理系统200。
在图2A的例子中,各个虚拟机器202包括类似于图1的虚拟化I/O基础架构。如图2A所示,各虚拟机器202有其对应的接口模块V21、访客虚拟文件系统V22、访客文件系统V23、访客排程器V24、访客装置驱动器V25以及虚拟化储存装置V26。类似于先前的实施例,非优先次序化要求可透过穿过虚拟机器202中虚拟化I/O基础架构的第一数据路径PA1进行传递,而虚拟机器202中的接口模块V21则可透过第二数据路径PA2传递关于应用程序APP的应用层信息。
图2B绘示依据本发明的另一实施例的虚拟机器202’的例示I/O要求流。虚拟机器202’与图2A所示的虚拟机器202的主要差别在于,虚拟机器202’更包括服务驱动器V27以传递应用层信息至内部的访客排程器V24。在此情况下,虚拟机器202’中的虚拟化储存装置V26亦可感知来自应用层的信息。需注意的是,由于优先次序的信息是终止于虚拟化储存装置V26,故虚拟化储存装置V26的输出仍会变回非优先次序化要求。因此,应用层信息仍是透过第二数据路径PA2’来传递,如图2B所示。
图3绘示依据本发明的一实施例的数据处理系统300的例示I/O要求流。数据处理系统300与数据处理系统200的主要差别在于,数据处理系统300包括不具访客操作系统的虚拟机器302。此虚拟系统可例如实现于Android/iOS的智能型手机。
在图3的例子中,虚拟机器302包括接口模块V31、应用程序框架(framework)V32、资源管理器V33以及链接库与执行期(library&runtime)模块V34。类似于先前的实施例,非优先次序化要求可透过穿过虚拟机器302中虚拟化I/O基础架构的第一数据路径PA1”进行传递,而虚拟机器302中的接口模块V31则可透过第二数据路径PA2”传递关于应用程序APP的应用层信息。
如前所述,排程器104可依据非优先次序化要求以及应用层信息致能对储存装置106的存取。举例来说,若应用层信息包含优先次序等级信息,排程器104可利用此优先次序等级信息来执行要求的批次(batching)及排程(scheduling)程序,以管理对储存装置106的存取。
图4绘示依据本发明的一实施例的例示要求批次程序。在此实施例中,排程器104是将要求形成为批次单元(batch)。如图4所示,程序批次单元P-BATCH1包含要求Req1及Req4,其具有相同的程序辨识码PID:1;程序批次单元P-BATCH2包含要求Req2,其具有程序辨识码PID:2;程序批次单元P-BATCH3包含要求Req2及Req6,其具有相同的程序辨识码PID:3;程序批次单元P-BATCH4包含要求Req3及Req5,其具有相同的程序辨识码PID:4。由于排程器104可从第二数据路径PA2取得应用层信息,排程器104是知悉各程序所对应的应用程序辨识码(AP-ID)及/或虚拟机器辨识码(VM-ID)。也就是说,排程器104可辨识出哪个程序是来自哪个应用程序及虚拟机器(若有的话)。
以三级的批次单元阶层为例(虚拟机器层、应用层、程序层),在排程器104依据应用层信息辨识出各个非优先次序化要求所对应的虚拟机器/应用程序后,排程器104可将来自相同虚拟机器的非优先次序化要求组成一个虚拟机器层批次单元。在此虚拟机器层批次单元中,排程器104进一步将来自相同应用程序的要求组成一个应用层批次单元。在此应用层批次单元中,排程器104将来自相同程序的要求组成一个程序批次单元。
如图4所示,对应相同应用程序辨识码AP-ID:1及虚拟机器辨识码VM-ID:1的程序批次单元P-BATCH1及P-BATCH2,是被分配至相同的应用程序批次单元AP-BATCH1以及相同的虚拟机器批次单元VM-Batch1;而具有AP-ID:2及VM-ID:1的程序批次单元P-BATCH3,是被分配至同一虚拟机器批次单元VM-Batch1中的另一应用程序批次单元AP-BATCH2。基于相同的要求批次程序策略,具有AP-ID:3及VM-ID:2的程序批次单元P-BATCH4,是被分配至虚拟机器批次单元VM-Batch2中的应用程序批次单元AP-BATCH3。
图5绘示依据本发明的一实施例的要求批次程序的流程图500。要求批次程序例如起始于排程器104自应用程序APP接收到新要求之时。接着,在步骤502,排程器104可查阅映射表以依据新要求的程序辨识码取得虚拟机器辨识码以及应用程序辨识码。映射表的一例是如图4中的表TB1所示,当中纪录各个程序辨识码(PID)所对应的应用程序辨识码(AP-ID)以及虚拟机器辨识码(VM-ID)。可以理解的是,本发明并不以此为限。映像表可以各种不同的方式来实现,像是列表、查阅表、或其它可记录各个程序/要求所对应的应用程序辨识码及虚拟机器辨识码(若有的话)的数据形式。
在步骤504,排程器104判断具有VM-ID的虚拟机器批次单元是否存在。若否,则在步骤506,具有VM-ID的新虚拟机器批次单元是被创建。若是,程序接续至步骤508,排程器104判断具有AP-ID的应用程序批次单元是否存在。若步骤508的判断结果是否定的,则在步骤510创建具有AP-ID的新应用程序批次单元。若步骤508的判断结果是肯定的,则程序进行至步骤510。排程器104接着在步骤512判断具有PID的程序批次单元是否存在。若不存在这样的程序批次单元,则在步骤514创建具有P-ID的新程序批次单元,而此新要求是被添加至对应的虚拟机器批次单元、应用程序批次单元以及程序批次单元,如步骤516所示。
在要求被组成为批次单元后,排程器104可执行内排程(intra scheduling)策略及/或跨排程(inter scheduling)策略以安排批次单元的服务顺序。在一实施例中,内排程策略用以处理一虚拟机器批次单元(或具有最高阶层等级的批次单元)中批次单元的服务顺序。在一实施例中,跨排程策略用以处理多个优先次序化的批次单元间的服务顺序。
图6绘示依据本发明的一实施例的内排程程序的示意图。在一实施例中,内排程程序是依循以下的规则:
1.虚拟机器批次单元中的要求是连续地被排程;
2.在虚拟机器批次单元中,应用程序批次单元中的要求是连续地被排程;
3.在应用程序批次单元中,程序批次单元中的要求是连续地被排程;以及
4.在程序批次单元中的要求是以I/O地址顺序被排程。
基于上述规则,要求Req1、Req2、Req4、Req6及Req7的服务顺序依序为Req1→Req4→Req7→Req2→Req6,如图6所示。
图7绘示依据本发明的一实施例的跨排程程序的示意图。在一实施例中,跨排程程序是依循以下的规则:
1.优先次序化各批次单元;以及
2.以特定方式对批次单元进行排程,例如轮替制(round-robin)、权重轮替制或基于服务质量(quality-of-service,QoS)的排程策略等等,以确保公平性以及服务质量。
在图7的例子中,排程器104是依据优先次序映射表TB2安排不同阶层等级的批次单元的服务顺序。如图7所示,首先,具有最高优先次序的虚拟机器批次单元VM-Batch2是被选择。由于虚拟机器批次单元VM-Batch2仅包括只含有程序批次单元P-Batch4的应用程序批次单元AP-Batch3,故程序批次单元P-Batch4中的要求Req3及Req5是被服务。接着,具有较低优先次序的虚拟机器批次单元VM-Batch1被选择。在虚拟机器批次单元VM-Batch1当中,具有较高优先次序的应用程序批次单元AP-Batch1被选择。应用程序批次单元AP-Batch1包括程序批次单元P-Batch1以及程序批次单元P-Batch2,当中前者具有较高的优先次序。因此,程序批次单元P-Batch1中的要求Req1及Req4被选择服务。接着,程序批次单元P-batch2中的要求Req7被选择服务。最后,仅包括程序批次单元P-batch 3的应用程序批次单元AP-batch2被选择,而程序批次单元P-Batch3中的要求Req2及Req6是接着被选择服务。
图8绘示依据本发明的一实施例的排程程序的流程图800。在图8的例子中,排程器104可依据应用层信息中的对应优先次序等级来优先次序化各虚拟机器层批次单元、各应用层批次单元以及各程序层批次单元。
此程序例如于I/O排程器中存有至少一批次单元时起始。在步骤802,具有最高优先次序的虚拟机器批次单元是被选择。在步骤804,排程器104于虚拟机器批次单元中选择具有最高优先次序的应用程序批次单元。在步骤806,在所选的应用程序批次单元中,排程器104选择具有最高优先次序的程序批次单元。在步骤808,排程器104发送所选程序批次单元中的要求,并以I/O地址顺序存取储存装置。在步骤810,被发送的要求是自程序批次单元中移除。
在步骤812,排程器104检查所选的程序批次单元是否是空的(empty)。若是,则在步骤814移除空的程序批次单元。若否,则接续步骤808。
再一次地,在步骤816,排程器104检查所选的应用程序批次单元是否是空的。若是,则在步骤818移除空的应用程序批次单元。若否,则程序回到步骤806。
接着,在步骤820,排程器104检查所选的虚拟机器批次单元是否是空的。若是,则在步骤822移除空的虚拟机器批次单元。若否,则程序回到步骤804。在步骤824,排程器104判断是否还有任何虚拟机器批次单元。若有,则程序重回到步骤802。
总而言之,本发明提供接口模块以监视应用程序的状态并收集应用层信息。收集到的应用层信息可透过所提出的接口模块,经由独立的数据路径而被传递至I/O排程器,使得I/O要求可依据应用层信息而被排程。
综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视随附的权利要求范围所界定的为准。
Claims (12)
1.一种数据处理系统,包括:
一储存装置;
一接口模块,由耦接至该储存装置的一处理器所实现,该接口模块经由一第一数据路径发送一非优先次序化要求,并经由一第二数据路径传递一应用层信息;以及
一排程器,耦接至该第一数据路径及该第二数据路径,该排程器分别依据从该第一数据路径及该第二数据路径所接收到的该非优先次序化要求以及该应用层信息对该储存装置进行存取;
其中,该第二数据路径绕过该第一数据路径耦接至该排程器。
2.根据权利要求1所述的数据处理系统,其中该接口模块监视一应用程序以收集该应用层信息,该应用层信息包括该应用程序的一优先次序等级以及该应用程序的一操作状态至少其中之一。
3.根据权利要求1所述的数据处理系统,其中该第二数据路径包括一分享存储器以储存从该接口模块所取得的该应用层信息,其中该分享存储器所储存的该应用层信息是被提供至该排程器以执行要求排程程序。
4.根据权利要求1所述的数据处理系统,其中该第二数据路径包括一虚拟档案以纪录从该接口模块所取得的该应用层信息,其中该虚拟档案所记录的该应用层信息是被提供至该排程器以执行要求排程程序。
5.根据权利要求1所述的数据处理系统,其中该第二数据路径包括一服务驱动器以发送从该接口模块所取得的该应用层信息至该排程器。
6.根据权利要求1所述的数据处理系统,其中该排程器执行要求批次程序,该要求批次程序包括:
依据该应用层信息辨识该非优先次序化要求所对应的虚拟机器以及所对应的应用程序;
群组化来自同一个虚拟机器的要求,以形成一虚拟机器层批次单元;
群组化来自同一个应用程序的要求,以形成一应用层批次单元;以及
群组化来自同一个程序的要求,以形成一程序层批次单元。
7.根据权利要求6所述的数据处理系统,其中该虚拟机器层批次单元中的这些要求被连续地被排程;该虚拟机器层批次单元中的这些要求被连续地被排程;该程序层批次单元中的这些要求是以一输入输出地址顺序进行排程;该排程器依据该应用层信息中的一优先次序等级对该虚拟机器层批次单元、该应用层批次单元以及该程序层批次单元排列优先次序。
8.根据权利要求1所述的数据处理系统,其中该第一数据路径包括一虚拟文件系统以及一文件系统,该第二数据路径绕过该第一数据路径的该虚拟文件系统以及该文件系统,并直接地耦接至该排程器,该数据处理系统更包括:
一虚拟机器,由该处理器所实现,其中该虚拟机器包括:
一虚拟储存器;以及
一访客排程器,依据接收自该接口模块的该非优先次序化要求以及该应用层信息,对该虚拟储存器进行存取。
9.一种数据处理系统,包括:
一处理器,透过一第一数据路径发送一非优先次序化要求,并透过一第二数据路径传递一应用程序的应用层信息;
一第一存储器,耦接至该处理器,该第一存储器储存由该处理器所发送的该应用层信息;以及
一第二存储器,耦接至该处理器,其中该处理器依据储存于该第一存储器中的该应用层信息,对该非优先次序化要求进行排程;
其中,该第二数据路径绕过该第一数据路径耦接至一排程器。
10.一种由处理器实现的数据处理方法,包括:
经由一第一数据路径发送一非优先次序化要求;
经由一第二数据路径传递一应用程序的应用层信息;以及
依据接收自该第一数据路径的该非优先次序化要求以及接收自该第二数据路径的该应用层信息,对一储存装置进行存取;
其中,该第二数据路径绕过该第一数据路径耦接至一排程器。
11.根据权利要求10所述的由处理器实现的数据处理方法,更包括:
以该非优先次序化要求形成一批次单元;以及
依据该应用层信息排程该批次单元的服务顺序;
其中该应用层信息包括该应用程序的一优先次序等级以及该应用程序的一操作状态至少其中之一。
12.根据权利要求10所述的由处理器实现的数据处理方法,更包括:
依据该应用层信息辨识该非优先次序化要求所对应的虚拟机器以及所对应的应用程序;
群组化来自同一个虚拟机器的要求,以形成一虚拟机器层批次单元;
群组化来自同一个应用程序的要求,以形成一应用层批次单元;以及
群组化来自同一个程序的要求,以形成一程序层批次单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462086167P | 2014-12-01 | 2014-12-01 | |
US62/086,167 | 2014-12-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106201664A CN106201664A (zh) | 2016-12-07 |
CN106201664B true CN106201664B (zh) | 2019-05-14 |
Family
ID=56079273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510245391.8A Active CN106201664B (zh) | 2014-12-01 | 2015-05-14 | 具应用程序信息感知的数据处理方法以及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9672067B2 (zh) |
CN (1) | CN106201664B (zh) |
TW (1) | TWI574158B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526529B (zh) * | 2016-06-21 | 2020-08-07 | 伊姆西Ip控股有限责任公司 | 用于虚拟机的方法和装置 |
US10656966B1 (en) * | 2018-01-02 | 2020-05-19 | Amazon Technologies, Inc. | Deep-inspection weighted round robin of multiple virtualized resources |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2388095A1 (en) * | 1999-10-22 | 2001-05-03 | Activesky, Inc. | An object oriented video system |
CN100489783C (zh) * | 2004-06-28 | 2009-05-20 | 李晓波 | 在单计算机上可在同一时刻执行多道程序的方法及系统 |
CN100557566C (zh) * | 2006-11-10 | 2009-11-04 | 威盛电子股份有限公司 | 指令存取及排程的方法及其装置 |
US8892780B2 (en) * | 2007-03-08 | 2014-11-18 | Oracle International Corporation | Management of shared storage I/O resources |
US8595361B2 (en) * | 2009-02-10 | 2013-11-26 | Novell, Inc. | Virtual machine software license management |
CN101819564B (zh) * | 2009-02-26 | 2013-04-17 | 国际商业机器公司 | 协助在虚拟机之间进行通信的方法和装置 |
US8839255B2 (en) * | 2009-07-23 | 2014-09-16 | Empire Technology Development Llc | Scheduling of threads by batch scheduling |
JP2012079272A (ja) * | 2010-10-06 | 2012-04-19 | Sony Corp | 録画再生装置、i/oスケジューリング方法、及びプログラム |
US8972983B2 (en) * | 2012-04-26 | 2015-03-03 | International Business Machines Corporation | Efficient execution of jobs in a shared pool of resources |
US20130290601A1 (en) * | 2012-04-26 | 2013-10-31 | Lsi Corporation | Linux i/o scheduler for solid-state drives |
US9703589B2 (en) * | 2013-08-26 | 2017-07-11 | Vmware, Inc. | Networking stack of virtualization software configured to support latency sensitive virtual machines |
US9772959B2 (en) * | 2014-05-30 | 2017-09-26 | Apple Inc. | I/O scheduling |
-
2015
- 2015-04-22 TW TW104112793A patent/TWI574158B/zh active
- 2015-04-27 US US14/696,657 patent/US9672067B2/en active Active
- 2015-05-14 CN CN201510245391.8A patent/CN106201664B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
TWI574158B (zh) | 2017-03-11 |
US20160154674A1 (en) | 2016-06-02 |
CN106201664A (zh) | 2016-12-07 |
US9672067B2 (en) | 2017-06-06 |
TW201621675A (zh) | 2016-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11768698B2 (en) | Mechanism to dynamically allocate physical storage device resources in virtualized environments | |
RU2645595C2 (ru) | Выгрузка потоков виртуальных машин в физические очереди | |
US9659081B1 (en) | Independent data processing environments within a big data cluster system | |
US9081612B2 (en) | Virtual machine control method and virtual machine | |
CN106354544A (zh) | 虚拟机创建方法、系统以及主机 | |
EP1628214B1 (en) | Systems and methods for implementing an operating system in a virtual machine environment | |
CN107222531B (zh) | 一种容器云资源调度方法 | |
US20160350159A1 (en) | Efficient critical thread scheduling for non-privileged thread requests | |
CN109213697A (zh) | 智能存储器数据存储或加载方法和装置 | |
US10649914B1 (en) | Scratchpad-based operating system for multi-core embedded systems | |
CN109522090B (zh) | 资源调度方法及装置 | |
US20200192692A1 (en) | Containerized workload scheduling | |
CN111176829B (zh) | 虚拟化处理系统中的物理功能和虚拟功能的灵活资源分配 | |
CN104461735A (zh) | 一种虚拟化场景下分配cpu资源的方法和装置 | |
WO2013139037A1 (zh) | 用于调度资源的方法及装置 | |
CN108829510A (zh) | 线程绑定处理方法和装置 | |
CN113296926B (zh) | 一种资源分配方法、计算设备及存储介质 | |
KR20190108038A (ko) | 가상 환경에서의 물리적 스토리지 장치 자원을 동적으로 할당하는 메커니즘 | |
CN106201664B (zh) | 具应用程序信息感知的数据处理方法以及系统 | |
CN106775975B (zh) | 进程调度方法及装置 | |
US10996860B2 (en) | Method to improve mixed workload performance on storage devices that use cached operations | |
CN104281587B (zh) | 一种建立连接的方法及装置 | |
CN117130723A (zh) | 分配信息的确定方法、装置、计算机设备和存储介质 | |
CN116578416A (zh) | 一种基于gpu虚拟化的信号级仿真加速方法 | |
US20170249173A1 (en) | Guest protection from application code execution in kernel mode |
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 |