CN103064730B - A kind of two-stage disk-scheduling method of facing cloud computing environment - Google Patents

A kind of two-stage disk-scheduling method of facing cloud computing environment Download PDF

Info

Publication number
CN103064730B
CN103064730B CN201210557355.1A CN201210557355A CN103064730B CN 103064730 B CN103064730 B CN 103064730B CN 201210557355 A CN201210557355 A CN 201210557355A CN 103064730 B CN103064730 B CN 103064730B
Authority
CN
China
Prior art keywords
rotor step
rotor
merging
request
scheduling
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
Application number
CN201210557355.1A
Other languages
Chinese (zh)
Other versions
CN103064730A (en
Inventor
冯丹
李宁
施展
江泓
柳青
焦田丰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201210557355.1A priority Critical patent/CN103064730B/en
Publication of CN103064730A publication Critical patent/CN103064730A/en
Application granted granted Critical
Publication of CN103064730B publication Critical patent/CN103064730B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种面向云计算环境的两级磁盘调度方法,属于计算机存储技术领域,降低现有两级磁盘调度方法中存在的两级磁盘调度不协调问题。本发明包括初始化步骤、监测步骤、预测步骤和决策步骤。监测步骤实时监测反映I/O请求合并状态的信息,并将这些信息提供给决策步骤判断上游调度是否处于“过度合并”和“合并不足”状态。监测步骤和决策步骤相互配合形成反馈控制,降低现有两级磁盘调度方法中存在的两级磁盘调度不协调问题,减少驱动域磁盘调度因为虚拟机中磁盘调度出现“过度合并”或者“合并不足”而带来的对I/O请求合并的不良影响,从而提升云计算系统的整体存储性能。

A two-level disk scheduling method oriented to a cloud computing environment belongs to the technical field of computer storage, and reduces the problem of uncoordinated two-level disk scheduling existing in the existing two-level disk scheduling method. The present invention includes an initialization step, a monitoring step, a prediction step and a decision step. The monitoring step monitors in real time the information reflecting the merging status of I/O requests, and provides the information to the decision-making step to determine whether the upstream scheduling is in the state of "over-merging" or "under-merging". The monitoring step and the decision-making step cooperate with each other to form a feedback control, which reduces the inconsistency of the two-level disk scheduling existing in the existing two-level disk scheduling method, and reduces the disk scheduling of the drive domain because of the "over-merging" or "under-merging" of the disk scheduling in the virtual machine. "And the adverse effects on I/O request merging are brought about, thereby improving the overall storage performance of the cloud computing system.

Description

一种面向云计算环境的两级磁盘调度方法A Two-Level Disk Scheduling Method for Cloud Computing Environment

技术领域technical field

本发明属于计算机存储技术领域,具体涉及一种面向云计算环境的两级磁盘调度方法。The invention belongs to the technical field of computer storage, and in particular relates to a two-level disk scheduling method for a cloud computing environment.

背景技术Background technique

云计算技术可以使多个客户操作系统(Guest OS)部署在不同的虚拟机(Virtual Machine)中,并同时运行在一台物理机上。这种资源分享模式可以提升硬件资源的复用水平,降低系统管理成本,以及提升设备访问的安全性。Cloud computing technology can enable multiple guest operating systems (Guest OS) to be deployed in different virtual machines (Virtual Machine) and run on a physical machine at the same time. This resource sharing mode can improve the reuse level of hardware resources, reduce system management costs, and improve the security of device access.

为使虚拟机对磁盘的访问不互相干扰,尤其是当有一台虚拟机在磁盘访问中出现异常时,其他虚拟机的正常访问不受影响,现有云计算系统采用驱动分离模型(Split Driver Model)或相似的技术实现可靠的磁盘访问。如图1所示,驱动分离模型将磁盘的驱动设置在专门的驱动域(Driver Domain)中,虚拟机并不直接访问磁盘设备,而是通过前端驱动(Front Driver)将I/O请求信息发送至一个I/O缓冲区(I/O Ring)并通过消息通道(EventChannel)通知驱动域,驱动域通过后端驱动(Back Driver)将I/O缓冲区的I/O请求取出并发送至磁盘的原生驱动进行处理。I/O请求执行完毕后,驱动域将I/O请求的数据发回I/O缓冲区,并再次通过消息通道通知虚拟机的前端驱动,虚拟机通过前端驱动取回I/O请求的数据。这种磁盘I/O请求和执行模式对虚拟机中的操作系统是透明的,即虚拟机中的应用程序会认为是直接访问磁盘。这种驱动分离模型或类似的技术客观上使磁盘I/O请求经历了两级磁盘调度的控制,即虚拟机操作系统的磁盘调度(上游调度)和驱动域中的磁盘调度(下游调度)。而两级磁盘调度的配合程度将严重影响磁盘访问的性能。In order to prevent virtual machines from interfering with each other when accessing disks, especially when a virtual machine has an abnormality in disk access, the normal access of other virtual machines will not be affected, the existing cloud computing system adopts the Split Driver Model (Split Driver Model). ) or similar techniques for reliable disk access. As shown in Figure 1, the driver separation model sets the disk driver in a dedicated driver domain (Driver Domain), and the virtual machine does not directly access the disk device, but sends I/O request information through the front driver (Front Driver) To an I/O buffer (I/O Ring) and notify the driver domain through the message channel (EventChannel), the driver domain takes out the I/O request of the I/O buffer through the back-end driver (Back Driver) and sends it to the disk native driver for processing. After the I/O request is executed, the driver domain sends the I/O requested data back to the I/O buffer, and notifies the front-end driver of the virtual machine through the message channel again, and the virtual machine retrieves the I/O requested data through the front-end driver . This disk I/O request and execution mode is transparent to the operating system in the virtual machine, that is, the application program in the virtual machine will think that it directly accesses the disk. This drive separation model or similar technology objectively makes the disk I/O requests undergo two-level disk scheduling control, that is, the disk scheduling of the virtual machine operating system (upstream scheduling) and the disk scheduling in the driver domain (downstream scheduling). The degree of coordination of the two-level disk scheduling will seriously affect the performance of disk access.

在磁盘调度中,I/O请求合并是其优化功能之一。由于磁盘中磁头的机械式运行模式,磁头的摆动会产生较大的时间开销,从而会影响磁盘访问性能,而I/O请求合并可以减少磁头摆动的频率,从而减少磁头寻道带来的额外时间开销。此外,由于I/O请求的减少,操作系统和磁盘设备命令交互的次数也会减少,这也使磁盘访问的协议开销(如ISCSI协议)大大降低。因此,I/O请求合并在磁盘访问中至关重要。I/O请求合并的必要条件是参与合并的I/O请求必须具有相邻的逻辑块地址(Logic Block Address,简称LBA)。如图2所示,当到达I/O请求(Ra)的起始LBA等于磁盘调度内I/O请求队列某I/O请求(Rb)的终止LBA时(起始LBA加该I/O请求大小),称为后合并(Back Merge);而当到达I/O请求(Ra)的终止LBA等于磁盘调度队列内某I/O请求(Rb)的起始LBA时,称为前合并(Front Merge)。此外,当参与合并的I/O请求到达磁盘调度时,另一个参与合并的I/O请求也必须在调度中,否则,I/O请求合并依然无法完成。In disk scheduling, I/O request coalescing is one of its optimization functions. Due to the mechanical operation mode of the magnetic head in the disk, the swing of the magnetic head will generate a large time overhead, which will affect the disk access performance, and I/O request merging can reduce the frequency of the magnetic head swing, thereby reducing the additional overhead caused by the head seek. time overhead. In addition, due to the reduction of I/O requests, the number of operating system and disk device command interactions will also be reduced, which also greatly reduces the protocol overhead of disk access (such as the ISCSI protocol). Therefore, I/O request coalescing is crucial in disk access. The necessary condition for I/O request merging is that the I/O requests participating in the merging must have adjacent Logical Block Addresses (Logic Block Address, LBA for short). As shown in Figure 2, when the initial LBA of the I/O request (Ra) is equal to the termination LBA of a certain I/O request (Rb) in the I/O request queue in the disk scheduling (the initial LBA plus the I/O request size), called Back Merge; and when the terminating LBA of an I/O request (Ra) is equal to the starting LBA of an I/O request (Rb) in the disk scheduling queue, it is called Front Merge (Front Merge). Merge). In addition, when the I/O request participating in the merging arrives at the disk scheduling, another I/O request participating in the merging must also be in the scheduling, otherwise, the I/O request merging still cannot be completed.

在两级磁盘调度的构架中,I/O请求合并由虚拟机中的磁盘调度和驱动域中的磁盘调度共同完成。如图3所示,部署在虚拟机中的应用程序发送的I/O请求首先要经过文件系统层(包括虚拟文件系统和实际使用的文件系统(例如Ext2或者Ext3等))的处理,从而成为大小一致的I/O请求,然后,这些I/O请求到达上游调度进行请求合并,并发往驱动域,在下游调度进一步完成I/O请求合并。这样,两级磁盘调度的配合程度将直接影响I/O请求合并的程度。在云计算的驱动分离模型中,由于操作系统对I/O请求合并的限制以及虚拟化的效率因素,虚拟机中调度完成的I/O请求合并程度需要受到限制。现有的虚拟化软件和操作系统普遍采用统一的参数设定,如果需要修改则必须重新编译操作系统。这对于虚拟I/O的性能优化是不利的。In the two-level disk scheduling architecture, I/O request merging is jointly completed by the disk scheduling in the virtual machine and the disk scheduling in the driver domain. As shown in Figure 3, the I/O request sent by the application deployed in the virtual machine must first be processed by the file system layer (including the virtual file system and the actual file system (such as Ext2 or Ext3, etc.) I/O requests of the same size, and then these I/O requests arrive at the upstream scheduling for request merging, and are sent to the driver domain, and the downstream scheduling further completes the I/O request merging. In this way, the cooperation degree of the two-level disk scheduling will directly affect the degree of I/O request merging. In the driver separation model of cloud computing, due to the limitation of the operating system on I/O request merging and the efficiency factor of virtualization, the degree of I/O request merging scheduled in the virtual machine needs to be limited. Existing virtualization software and operating systems generally adopt a unified parameter setting, and if modification is required, the operating system must be recompiled. This is not good for performance optimization of virtual I/O.

在云计算环境中I/O请求合并通常是由两级磁盘调度采用流水线模式协作完成的,因此流水线的下游调度(驱动域磁盘调度)是其上游调度(虚拟机中磁盘调度)的功能延伸。In the cloud computing environment, I/O request merging is usually completed by two-level disk scheduling in pipeline mode, so the downstream scheduling of the pipeline (disk scheduling in the driver domain) is an extension of its upstream scheduling (disk scheduling in the virtual machine).

现有的云计算系统普遍采用固定的系统配置来约束上游调度的I/O请求合并程度(即限定I/O请求合并的次数)。当I/O请求的大小或者合并次数超过系统限定时,原本可合并的两个I/O请求将收到合并中止信号,从而无法在该级调度完成合并操作。如果要修改I/O请求合并程度的系统配置就必须重新编译操作系统和云计算系统,这样就更无法适应虚拟机中部署程序I/O请求的变化,从而使上游调度的“过度合并”和“合并不足”问题影响磁盘I/O性能的提升。Existing cloud computing systems generally use a fixed system configuration to constrain the degree of I/O request merging for upstream scheduling (that is, limit the number of I/O request merging). When the size of the I/O request or the number of merges exceeds the system limit, the two I/O requests that could have been merged will receive a merge abort signal, so that the merge operation cannot be scheduled at this level. If you want to modify the system configuration of the degree of I/O request consolidation, you must recompile the operating system and cloud computing system, which makes it even more difficult to adapt to the changes in the I/O request of the deployment program in the virtual machine, so that the "over-consolidation" of upstream scheduling and The "under-merge" problem affects the improvement of disk I/O performance.

“过度合并”:"over-merging":

假设可合并的两个I/O请求按照其到达磁盘调度的前后顺序分别叫做前驱请求Ra和后继请求Rb,那么请求合并的前提条件是Rb到达磁盘调度时,Ra必须仍然在调度中,不然,请求合并就无法完成。虽然,由于调度策略和应用程序发送I/O请求特征的不同,请求停留在磁盘调度的时间是不同的,但是,从概率的角度,前驱请求Ra和后继请求Rb之间的时间差对请求合并的影响较大。假设请求停留磁盘调度的最大时限为250ms,那么,前驱请求Ra和后继请求Rb之间的时间差若超过250ms就将失去合并机会。在两级磁盘调度的环境中,如果上游调度进行过多的请求合并操作,则到达下游调度的I/O请求将可能合并更多的子请求,但是,由于相邻I/O请求之间存在一定的时延(假设10ms),因此如果后继请求Rb在到达下游调度之前合并了25个I/O请求,那么,当Rb发送至下游调度时,Rb将失去与前驱请求Ra的合并机会。而且,由于从虚拟机发送I/O请求到驱动域还需要考虑虚拟化的延时开销,这样,当上游调度发生这样的“过度合并”时,下游调度的I/O请求合并能力将急剧下降,从而影响磁盘I/O性能。Assuming that the two I/O requests that can be merged are called the predecessor request Ra and the successor request Rb according to the order in which they arrive at the disk scheduling, the prerequisite for request merging is that when Rb arrives at the disk scheduling, Ra must still be in the scheduling, otherwise, The request merge cannot be completed. Although, due to the difference in the scheduling policy and the characteristics of the I/O request sent by the application, the time that the request stays in the disk scheduling is different, but, from the perspective of probability, the time difference between the predecessor request Ra and the successor request Rb has a great impact on the request merging Greater impact. Assuming that the maximum time limit for a request to stay in disk scheduling is 250ms, then if the time difference between the predecessor request Ra and the successor request Rb exceeds 250ms, the merge opportunity will be lost. In the environment of two-level disk scheduling, if the upstream scheduling performs too many request merging operations, the I/O requests arriving at the downstream scheduling may combine more sub-requests. However, due to the existence of A certain delay (assuming 10ms), so if the subsequent request Rb merges 25 I/O requests before reaching the downstream scheduling, then when Rb is sent to the downstream scheduling, Rb will lose the opportunity to merge with the predecessor request Ra. Moreover, since the delay overhead of virtualization needs to be considered when sending I/O requests from the virtual machine to the driver domain, when such "over-merging" occurs in the upstream scheduling, the I/O request merging ability of the downstream scheduling will drop sharply , thereby affecting disk I/O performance.

“合并不足”:"Insufficient Merge":

此外,如果应用程序I/O请求的合并量太大,也会影响I/O请求合并的性能。如I/O请求R1、R2、…、R50依此到达磁盘(I/O请求驻留最大时限是250ms),相邻两个I/O请求之间相差10ms,并且这50个I/O请求均能合并,那么前25个I/O请求可以合并为I/O请求Ra,但是,等R26到达磁盘调度时,I/O请求Ra已发送到磁盘设备。这就意味着R26以后的I/O请求无法和Ra继续合并。在两级磁盘调度过程中,如果上游磁盘调度完成的I/O请求合并过少,那么,大量的可合并的I/O请求将被发送到下游磁盘调度进行进一步合并优化。而如上所述,下游调度的I/O请求合并能力是有限的,再加上I/O请求在从虚拟机发送到驱动域的延时开销是不可忽略的,那么,I/O请求的合并优化将由于上游调度的“合并不足”而受到严重影响。In addition, if the amount of merging of application I/O requests is too large, the performance of I/O request merging will also be affected. For example, I/O requests R1, R2, ..., R50 arrive at the disk accordingly (the maximum time limit for I/O requests to reside is 250ms), the difference between two adjacent I/O requests is 10ms, and the 50 I/O requests All can be merged, then the first 25 I/O requests can be merged into I/O request Ra, but when R26 arrives at disk scheduling, I/O request Ra has been sent to the disk device. This means that I/O requests after R26 cannot continue to be merged with Ra. In the two-level disk scheduling process, if the upstream disk scheduling completes too few I/O requests to merge, then a large number of mergeable I/O requests will be sent to the downstream disk scheduling for further merge optimization. As mentioned above, the I/O request merging ability of downstream scheduling is limited, and the delay overhead of I/O requests sent from the virtual machine to the drive domain is not negligible. Then, the merging of I/O requests Optimization will suffer severely due to "under-merge" of upstream scheduling.

为了清楚地理解本发明,以下对有关术语加以解释:In order to clearly understand the present invention, relevant terms are explained below:

驱动域(Driver Domain):实际部署驱动程序并受虚拟化系统监控的操作系统。Driver Domain: The operating system that actually deploys the driver and is monitored by the virtualization system.

前端驱动(Front Driver):部署在虚拟机中的虚拟化驱动程序,负责与驱动域通信传送来自虚拟机侧的I/O请求,以及传回来自驱动域的I/O请求执行结果。Front Driver: The virtualization driver deployed in the virtual machine is responsible for communicating with the driver domain to transmit the I/O request from the virtual machine side, and returning the execution result of the I/O request from the driver domain.

后端驱动(Back Driver):部署在驱动域中的虚拟化驱动程序,负责与虚拟机通信传送来自外部设备的I/O请求执行结果,以及传回来自虚拟机侧的I/O请求。Back-end driver (Back Driver): The virtualization driver deployed in the drive domain, responsible for communicating with the virtual machine to transmit the execution result of the I/O request from the external device, and returning the I/O request from the virtual machine side.

原生驱动(Native Driver):部署在驱动域中的设备固有驱动程序。Native Driver: Device intrinsic driver deployed in the driver domain.

发明内容Contents of the invention

本发明提供一种面向云计算环境的两级磁盘调度方法,降低现有两级磁盘调度方法中存在的两级磁盘调度不协调问题,以减少驱动域磁盘调度因为虚拟机中磁盘调度出现“过度合并”或者“合并不足”而带来的对I/O请求合并的不良影响,从而提升云计算系统的整体存储性能。The present invention provides a two-level disk scheduling method for a cloud computing environment, which reduces the uncoordinated problem of two-level disk scheduling existing in the existing two-level disk scheduling method, and reduces disk scheduling in the drive domain due to "excessive disk scheduling" in virtual machines. Merge" or "insufficient merge" has an adverse effect on the merge of I/O requests, thereby improving the overall storage performance of the cloud computing system.

本发明所提供的一种面向云计算环境的两级磁盘调度方法,包括初始化步骤、监测步骤、预测步骤和决策步骤:A two-stage disk scheduling method oriented to a cloud computing environment provided by the present invention includes an initialization step, a monitoring step, a prediction step and a decision-making step:

(1)初始化步骤包括下述子步骤:(1) The initialization step includes the following sub-steps:

(1.1)设置参数值:(1.1) Set parameter values:

设置采集间隔T,T为0.5秒~10秒;Set the collection interval T, T is 0.5 seconds to 10 seconds;

设置合并率最大限定值Pmax和合并率平均限定值Pave,Pmax为0.4~0.6,Pave为0~0.2;Set the combination rate maximum limit value P max and the combination rate average limit value P ave , P max is 0.4~0.6, and P ave is 0~0.2;

设置合并中止率标准值σstd,σstd为0.05~0.1;Set the standard value of the merger termination rate σ std , σ std is 0.05~0.1;

设置上游调度到达I/O请求的大小b为8块~20块,每块512字节;Set the size b of the upstream scheduling arrival I/O request to 8 to 20 blocks, each block is 512 bytes;

设置第一级合并限制值α的变化步长u1=4~11;Set the change step size u 1 =4~11 of the first level combination limit value α;

设置α的取值范围为[a1,a1+(n1-1)×u1],其中,α的取值范围下限a1为8~22,α增长的最大步数n1符号表示对C求整数上限;Set the value range of α to [a 1 , a 1 +(n 1 -1)×u 1 ], where the lower limit a 1 of the value range of α is 8 to 22, and the maximum number of steps n 1 for α growth is symbol Indicates to find an integer upper limit for C;

设置α的调整范围上限αmax和调整范围下限αmin;αmax为88~110,αmin为23~44;Set the upper limit of the adjustment range α max and the lower limit of the adjustment range α min of α; α max is 88~110, and α min is 23~44;

设置潜在I/O请求的大小δ的变化步长u2=4~11;Set the change step u 2 of the size δ of the potential I/O request = 4 to 11;

设置δ的取值范围为[a2,a2+(n2-1)×u2],其中,δ的取值范围的下限a2为8~22,δ变化的最大步数n2 Set the value range of δ to [a 2 , a 2 +(n 2 -1)×u 2 ], where the lower limit a 2 of the value range of δ is 8 to 22, and the maximum number of steps n 2 for δ change is

(1.2)创建二维预测表二维索引表 和一维索引表二维预测表的第一维为第二维为α对应的观测请求大小φ,表项为Mi,j,i=1~n1,j=1~512;二维索引表的第一维为 第二维为其值为α对应φ的序号,表项为Qi,k,i=1~n1,k=1~n2;一维索引表的第一维为表项为Li,i=1~n1;符号表示对C求整数下限;(1.2) Create a two-dimensional forecast table Two-dimensional index table and a one-dimensional index table 2D forecast table The first dimension of is The second dimension is the observation request size φ corresponding to α, and the entry is M i,j , i=1~n 1 , j=1~512; two-dimensional index table The first dimension of is The second dimension is Its value is the sequence number of φ corresponding to α, and the entry is Q i,k , i=1~n 1 , k=1~n 2 ; one-dimensional index table The first dimension of is The entry is L i , i=1~n 1 ; the symbol Indicates to find the integer lower limit for C;

将上述各表的表项全部清零;Clear all the entries in the above tables;

(1.3)置i=0,j=0;(1.3) set i=0, j=0;

(1.4)判断是否a2+(n2-1)×u2<512,是则转子步骤(1.5),否则转子步骤(1.15);(1.4) Judging whether a 2 +(n 2 -1)×u 2 <512, if yes, the rotor step (1.5), otherwise the rotor step (1.15);

(1.5)判断是否i<n1,是则转子步骤(1.6),否则转子步骤(1.15);(1.5) Judging whether i<n 1 , if yes, the rotor step (1.6), otherwise the rotor step (1.15);

(1.6)判断是否k<n2,是则转子步骤(1.7),否则转子步骤(1.14);(1.6) Judging whether k<n 2 , if yes, the rotor step (1.7), otherwise the rotor step (1.14);

(1.7)置α=a1+i×u1(1.7) Set α=a 1 +i×u 1 ;

(1.8)置δ=a2+k×u2,计算潜在合并率p:p=1-b/δ;(1.8) Set δ=a 2 +k×u 2 to calculate the potential merger rate p: p=1-b/δ;

(1.9)计算观测合并率m:m=1-(1-p)/(1-pα);(1.9) Calculate the observation combination rate m: m=1-(1-p)/(1-p α );

(1.10)计算观测请求大小φ:判断是否φ<512,是则转子步骤(1.11),否则转子步骤(1.15);(1.10) Calculate the observation request size φ: Judging whether φ<512, if so, the rotor step (1.11), otherwise the rotor step (1.15);

(1.11)置j=φ,置Mi,j=δ,置Qi,k=φ,置Li=Li+1;(1.11) set j=φ, set M i,j =δ, set Q i,k =φ, set L i =L i +1;

(1.12)置k=k+1,转子步骤(1.6);(1.12) put k=k+1, rotor step (1.6);

(1.13)置i=i+1,转子步骤(1.5);(1.13) put i=i+1, rotor step (1.5);

(1.14)初始化步骤结束,启动步骤(2)和步骤(4);(1.14) the initialization step ends, start step (2) and step (4);

(1.15)异常退出;(1.15) Abnormal exit;

(2)监测步骤,包括下述子步骤:(2) Monitoring step, including the following sub-steps:

(2.1)设置当前时刻t=0;(2.1) Setting the current moment t=0;

(2.2)统计上游调度发出I/O请求的数量A;统计上游调度发出I/O请求大小的最大值B1与累加值B2;统计上游调度的合并中止信号数量B3(2.2) Count the quantity A of upstream scheduling sending I/O requests; Statistical upstream scheduling sends the maximum value B 1 and cumulative value B 2 of the size of I/O requests; Statistical upstream scheduling merges the number of abort signals B 3 ;

(2.3)获取时间增量Δ,置t=t+Δ,判断是否t≥T,是则转子步骤(2.4),否则转子步骤(2.2);(2.3) Acquire time increment Δ, put t=t+Δ, judge whether t≥T, then rotor step (2.4), otherwise rotor step (2.2);

(2.4)计算每秒上游调度发出I/O请求的数量S=A/T;计算上游调度发出I/O请求大小的平均值B4=B2/A;计算上游调度发出I/O请求中合并中止信号的频率B5=B3/T;(2.4) Calculate the number of I/O requests sent by upstream scheduling per second S=A/T; calculate the average value B 4 =B 2 /A of the size of I/O requests sent by upstream scheduling; calculate the I/O requests sent by upstream scheduling The frequency B 5 of the combined suspension signal = B 3 /T;

(2.5)置观测请求大小的最大值φ1=B1,置观测请求大小的平均值φ2=B4,转预测步骤(3);(2.5) Set the maximum value of the observation request size φ 1 =B 1 , set the average value of the observation request size φ 2 =B 4 , and turn to the prediction step (3);

(2.6)判断是否返回异常标记,是则转子步骤(2.8),否则转子步骤(2.7);(2.6) judge whether to return abnormal mark, then rotor step (2.8), otherwise rotor step (2.7);

(2.7)置上游调度发出I/O请求合并中止信号的频率ρ=B5;进行子步骤(2.8);(2.7) Put the frequency ρ=B 5 that upstream scheduling sends out the I/O request combination abort signal; Carry out sub-step (2.8);

(2.8)置A=0,B1=0,B2=0,B3=0,转子步骤(2.1);(2.8) Set A=0, B 1 =0, B 2 =0, B 3 =0, rotor step (2.1);

(3)预测步骤,包括下述子步骤:(3) Prediction step, including following sub-steps:

(3.1)判断是否成功获取φ1和φ2,是则转子步骤(3.2),否则转子步骤(3.15);(3.1) Judging whether φ 1 and φ 2 are obtained successfully, if yes, the rotor step (3.2), otherwise the rotor step (3.15);

(3.2)判断是否α<a1,是则转子步骤(3.3),否则转子步骤(3.4);(3.2) Judging whether α<a 1 , if yes, the rotor step (3.3), otherwise the rotor step (3.4);

(3.3)置α=a1(3.3) Set α=a 1 ;

(3.4)判断是否α>a1+(n1-1)×u1,是则转子步骤(3.5),否则转子步骤(3.6);(3.4) Judging whether α>a 1 +(n 1 -1)×u 1 , if yes, the rotor step (3.5), otherwise the rotor step (3.6);

(3.5)置α=a1+(n1-1)×u1(3.5) Set α=a 1 +(n 1 -1)×u 1 ;

(3.6)置计数器q=0, (3.6) put counter q=0,

(3.7)置k=q,判断是否φ1>Qi,k且q<Li,是则转子步骤(3.8),否则转子步骤(3.9);(3.7) Set k=q, judge whether φ 1 >Q i,k and q<L i , if yes, then rotor step (3.8), otherwise rotor step (3.9);

(3.8)置q=q+1,转子步骤(3.7);(3.8) put q=q+1, rotor step (3.7);

(3.9)判断是否q≥Li,是则转子步骤(3.15),否则转子步骤(3.10);(3.9) Judging whether q≥L i , if yes, the rotor step (3.15), otherwise the rotor step (3.10);

(3.10)置j=Qi,q,置潜在请求大小的最大量预测值δmax=Mi,j,置q=0;(3.10) Set j=Q i,q , set the maximum predicted value of potential request size δ max =M i,j , set q=0;

(3.11)置k=q,判断是否φ2>Qi,k且q<Li,是则转子步骤(3.12),否则转子步骤(3.13);(3.11) Set k=q, judge whether φ 2 >Q i,k and q<L i , if yes, rotor step (3.12), otherwise rotor step (3.13);

(3.12)设置q=q+1,转子步骤(3.11);(3.12) set q=q+1, rotor step (3.11);

(3.13)判断是否q≥Li,是则转子步骤(3.15),否则转子步骤(3.14);(3.13) Judging whether q≥L i , if yes, the rotor step (3.15), otherwise the rotor step (3.14);

(3.14)置潜在请求大小的平均量预测值δave=Mi,j;预测成功,返回子步骤(2.6);(3.14) Set the average predicted value of the potential request size δ ave = M i,j ; if the prediction is successful, return to substep (2.6);

(3.15)置异常标记,返回子步骤(2.6);(3.15) put abnormal mark, return to substep (2.6);

(4)决策步骤,包括下述子步骤:(4) Decision-making step, including the following sub-steps:

(4.1)判断δmax和δave是否变化,是则转子步骤(4.3),否则转子步骤(4.2);(4.1) Judging whether δ max and δ ave change, if yes, then the rotor step (4.3), otherwise the rotor step (4.2);

(4.2)等待2~10ms,转子步骤(4.1);(4.2) Wait for 2 ~ 10ms, the rotor step (4.1);

(4.3)判断ρ和S是否变化,是则转子步骤(4.5),否则转子步骤(4.4);(4.3) Judging whether ρ and S change, if so, the rotor step (4.5), otherwise the rotor step (4.4);

(4.4)等待2~10ms,转子步骤(4.3);(4.4) Wait for 2 ~ 10ms, the rotor step (4.3);

(4.5)计算合并中止率σ=ρ/S;(4.5) Calculate the merger termination rate σ=ρ/S;

(4.6)判断是否Pmax>(δmax-α)/δmax且Pave>(δave-α)/δave,是则转子步骤(4.7),否则转子步骤(4.10);(4.6) Judging whether P max >(δ max -α)/δ max and P ave >(δ ave -α)/δ ave , if yes, the rotor step (4.7), otherwise the rotor step (4.10);

(4.7)判断是否σ≤σstd,是则上游调度处于“过度合并”状态,转子步骤(4.8),否则转子步骤(4.10);(4.7) Determine whether σ≤σ std , if yes, the upstream scheduling is in the state of "over-merging", rotor step (4.8), otherwise rotor step (4.10);

(4.8)判断是否α<αmin+u1,是则转子步骤(4.1),否则进行子步骤(4.9);(4.8) Determine whether α<α min +u 1 , if yes, go to the rotor step (4.1), otherwise go to the sub-step (4.9);

(4.9)置α=α–u1,转子步骤(4.1);(4.9) Set α=α–u 1 , rotor step (4.1);

(4.10)判断是否Pmax<(δmax-α)/δmax且σ>σstd,是则上游调度处于“合并不足”状态,转子步骤(4.12),否则转子步骤(4.11);(4.10) Determine whether P max <(δ max -α)/δ max and σ>σ std , if yes, the upstream scheduling is in the state of "insufficient merger", rotor step (4.12), otherwise rotor step (4.11);

(4.11)判断是否Pave<(δave-α)/δave且σ>σstd,是则上游调度处于“合并不足”状态,转子步骤(4.12),否则转子步骤(4.1);(4.11) Judging whether P ave <(δ ave -α)/δ ave and σ>σ std , if yes, the upstream scheduling is in the state of "insufficient merger", rotor step (4.12), otherwise rotor step (4.1);

(4.12)判断是否α>αmax-u1,是则转子步骤(4.1),否则转子步骤(4.13);(4.12) Judging whether α>α max -u 1 , if yes, the rotor step (4.1), otherwise the rotor step (4.13);

(4.13)置α=α+u1,转子步骤(4.1)。(4.13) Set α=α+u 1 , the rotor step (4.1).

初始化步骤,完成必要参数的设定以及二维预测表M、二维索引表Q和一维索引表L的初始化。In the initialization step, the setting of necessary parameters and the initialization of the two-dimensional prediction table M, the two-dimensional index table Q and the one-dimensional index table L are completed.

监测步骤,完成I/O请求合并相关信息的实时监测。The monitoring step is to complete the real-time monitoring of I/O request merging related information.

预测步骤根据监测步骤的统计信息预测反映I/O请求合并任务量的信息,并将预测结果传送给监测步骤。为衡量磁盘调度执行I/O请求合并的程度,本发明引入观测合并率m,观测合并率m为I/O请求合并次数和到达I/O请求数量的比值。由于一次I/O请求合并操作就可以在数量上减少一个到达I/O请求,因此,观测合并率的值域范围为[0,1)。如式(1)中合并后的I/O请求大小为θ:The prediction step predicts the information reflecting the I/O request merging task amount according to the statistical information of the monitoring step, and transmits the prediction result to the monitoring step. In order to measure the extent to which disk scheduling performs I/O request merging, the present invention introduces an observed merging rate m, which is the ratio of the number of I/O request merging times to the number of arriving I/O requests. Since one I/O request merging operation can reduce the number of arriving I/O requests by one, the value range of the observed merging rate is [0, 1). For example, the combined I/O request size in formula (1) is θ:

θ=b/(1-m)       (1)θ=b/(1-m) (1)

式中,b表示上游调度到达I/O请求的大小;In the formula, b represents the size of the upstream scheduled I/O request;

潜在合并率p为到达磁盘调度的I/O请求所具有的合并概率(到达I/O请求可进行后合并和前合并的比例),由式(2)求得:The potential merging rate p is the merging probability of I/O requests arriving at disk scheduling (the ratio of post-merging and pre-merging for arriving I/O requests), which can be obtained from formula (2):

p=1-b/δ           (2)p=1-b/δ (2)

式中,δ为潜在I/O请求的大小,它是合并后I/O请求的平均大小的最大理论值;In the formula, δ is the size of the potential I/O request, which is the maximum theoretical value of the average size of the merged I/O request;

根据潜在合并率的定义可以得到可以合并的I/O请求数量E:According to the definition of the potential merger rate, the number E of I/O requests that can be merged can be obtained:

E=p×N          (3)E=p×N (3)

其中N为到达I/O请求数,这样,潜在合并率p可以表明I/O请求的合并任务量。Among them, N is the number of arriving I/O requests, so the potential merge rate p can indicate the amount of merged tasks for I/O requests.

由于存在操作系统对I/O请求合并的限制以及磁盘调度对I/O请求合并的影响,所以观测合并率小于等于潜在合并率。在已获取到达I/O请求数量的情况下,根据观测合并率m可预测出潜在合并率p,则也可得到合并任务量。Due to the limitation of the operating system on I/O request merging and the impact of disk scheduling on I/O request merging, the observed merging rate is less than or equal to the potential merging rate. In the case that the number of arriving I/O requests has been obtained, the potential merging rate p can be predicted according to the observed merging rate m, and the amount of merging tasks can also be obtained.

为有效预测潜在合并率从而测量I/O请求合并任务量,根据I/O请求合并的规律,受限的I/O请求合并后的请求大小θ:In order to effectively predict the potential merging rate and measure the amount of I/O request merging tasks, according to the law of I/O request merging, the request size θ after the limited I/O request merging:

θ=b·(1+p+p2+…+pα-1)           (4)θ=b·(1+p+p 2 +...+p α-1 ) (4)

其中,α表示第一级合并限制值;Among them, α represents the first-level combined limit value;

由式(1)和(4)可得相应的观测合并率m:From formulas (1) and (4), the corresponding observation combination rate m can be obtained:

m=1-(1-p)/(1-pα)         (5)m=1-(1-p)/(1-p α ) (5)

由于应用程序的I/O操作要经过文件系统处理成固定大小(由操作系统的物理页大小决定)的I/O请求,然后再发送到磁盘调度。因此,在虚拟机中的磁盘调度(上游调度)中到达I/O请求的初始大小是一致的(即b不变),这样可以根据式(1)将观测合并率转换为观测请求大小φ;同时将潜在合并率转换为潜在请求大小δ。在两级磁盘调度优化方法的实现中,不同的第一级合并限制值α下的φ和δ的关系以二维预测表M的方式体现。图9所示为α从22变化至88时潜在请求大小和观测请求大小的对应关系曲线。Because the I/O operation of the application is processed by the file system into an I/O request of a fixed size (determined by the physical page size of the operating system), and then sent to the disk for scheduling. Therefore, the initial size of the arriving I/O request in the disk scheduling (upstream scheduling) of the virtual machine is consistent (that is, b remains unchanged), so that the observed merge rate can be converted into the observed request size φ according to formula (1); Also convert the potential merge rate to the potential request size δ. In the implementation of the two-level disk scheduling optimization method, the relationship between φ and δ under different first-level combined limit values α is reflected in the form of a two-dimensional prediction table M. Figure 9 shows the corresponding relationship curve between potential request size and observed request size when α varies from 22 to 88.

预测过程是查表的过程,第一维的索引是第一级合并限制值α,第二维索引是φ,查出的结果是δ。预测步骤所得到的各项参数被监测步骤引用(即δmax和δave)。The prediction process is a table look-up process. The index of the first dimension is the first-level combined limit value α, the index of the second dimension is φ, and the result of the detection is δ. The various parameters obtained in the prediction step are referenced by the monitoring step (ie δ max and δ ave ).

决策步骤根据监测步骤获取的参数判断上游磁盘调度是否处于“过度合并”状态或者“合并不足”状态,是则对上游调度的I/O请求合并限制参量进行动态调整。The decision-making step judges whether the upstream disk scheduling is in the "over-merging" state or "under-merging" state according to the parameters obtained in the monitoring step, and if so, dynamically adjusts the I/O request merging limit parameters of the upstream scheduling.

决策步骤从监测步骤获取的参数包括潜在请求大小的最大量预测值δmax、潜在请求大小的平均量预测值δave、合并中止率σ、合并中止信号频率ρ和I/O请求数量S。合并中止信号频率ρ和S的比值作为第一级合并限制值α的效果反馈,称为合并中止率σ。此外,决策步骤还需要以下参数参与决策,包括合并率最大限定值Pmax、合并率平均限定值Pave、决策步骤设定了合并中止率标准值σstd和第一级合并限制值α。The parameters obtained by the decision-making step from the monitoring step include the maximum predicted value of potential request size δ max , the average predicted value of potential request size δ ave , the merge abort rate σ, the frequency of merge abort signals ρ and the number S of I/O requests. The ratio of merging abort signal frequency ρ to S is used as the effect feedback of the first-stage merging limit value α, which is called the merging abort rate σ. In addition, the decision-making step also requires the following parameters to participate in the decision-making, including the maximum limit value of the merger rate P max , the average limit value of the merger rate P ave , and the decision-making step sets the standard value of the merger termination rate σ std and the first-level merger limit value α.

当满足公式(6)描述的条件时,决策步骤认为上游调度处于“过度合并”状态:When the conditions described by formula (6) are met, the decision step considers the upstream scheduling to be in the state of "over-merging":

(Pmax>(δmax-α)/δmax且Pave>(δave-α)/δave)且σ≤σstd   (6)(P max >(δ max -α)/δ max and P ave >(δ ave -α)/δ ave ) and σ≤σ std (6)

当满足公式(7)描述的条件时,决策步骤认为上游调度处于“合并不足”状态:When the conditions described by formula (7) are met, the decision step considers the upstream scheduler to be in the "under-merge" state:

(Pmax<(δmax-α)/δmax或Pave<(δave-α)/δave)且σ>σstd     (7)(P max <(δ max -α)/δ max or P ave <(δ ave -α)/δ ave ) and σ>σ std (7)

当决策步骤判断上游调度处于“过度合并”状态时,只要第一级合并限制值α大于αmin一个步长,α会减少一个步长u1;若上游调度处于“合并不足”状态,只要第一级合并限制值α小于αmax一个步长,则α会增加一个步长u1When the decision-making step judges that the upstream scheduling is in the "over-merging" state, as long as the first-level merging limit value α is greater than α min by one step size, α will be reduced by one step size u 1 ; if the upstream scheduling is in the "under-merging" state, as long as the first-level If the first-level combined limit value α is less than α max by one step, then α will be increased by one step u 1 .

“过度合并”和“合并不足”是指上游调度无法与下游调度协调完成请求合并任务的状态。当上游调度处于“过度合并”状态时,I/O请求在上游调度的时延增加,从而增加了相邻I/O请求到达下游调度的时间间隔,这将降低I/O请求在下游调度合并的概率;此外,当上游调度处于“合并不足”状态时,I/O请求在上游调度的合并不足,从而造成更多的I/O请求到达下游调度,而下游调度在有限时间内完成的I/O请求合并量是有限的,因此,更多可以合并的I/O请求会丧失合并的机会。识别和避免“过度合并”和“合并不足”状态对于云计算环境下两级磁盘调度的请求合并是重要的优化。"Over-merging" and "under-merging" refer to the state that the upstream scheduler cannot coordinate with the downstream scheduler to complete the requested merge task. When the upstream scheduling is in the "over-merging" state, the delay of the I/O request in the upstream scheduling increases, thereby increasing the time interval between adjacent I/O requests arriving at the downstream scheduling, which will reduce the I/O request merging in the downstream scheduling In addition, when the upstream scheduling is in the "insufficient coalescing" state, the I/O requests are insufficiently merged in the upstream scheduling, thus causing more I/O requests to reach the downstream scheduling, and the I/O requests completed by the downstream scheduling within a limited time The amount of I/O request coalescing is limited, so more I/O requests that can be coalesced lose the opportunity to coalesce. Identifying and avoiding "over-coalescing" and "under-coalescing" states is an important optimization for request merging with two-level disk scheduling in cloud computing environments.

本发明采用监测步骤实时监测反映请求合并状态的信息,并将这些信息提供给决策步骤进行判断,上游调度是否处于“过度合并”和“合并不足”状态。当判断上游调度处于“过度合并”时,决策步骤就减少第一级合并限制值α,从而减小I/O请求在上游调度的合并量,进而减小相邻I/O请求到达下游调度的时间间隔;当判断上游调度处于“合并不足”时,决策步骤就增加第一级合并限制值α,增加上游调度的I/O请求合并量,进而减少可合并I/O请求在下游调度丧失合并机会的概率。监测步骤和决策步骤相互配合形成反馈控制,降低现有两级磁盘调度方法中存在的两级磁盘调度不协调问题,以减少驱动域磁盘调度因为虚拟机中磁盘调度出现“过度合并”或者“合并不足”而带来的对请求合并的不良影响,从而提升云计算系统的整体存储性能。The present invention adopts the monitoring step to monitor in real time the information reflecting the request merging state, and provides the information to the decision-making step to judge whether the upstream scheduling is in the state of "excessive merging" or "insufficient merging". When it is judged that the upstream scheduling is "over-merging", the decision-making step reduces the first-level merging limit value α, thereby reducing the amount of merging of I/O requests in upstream scheduling, thereby reducing the time for adjacent I/O requests to reach downstream scheduling Time interval; when it is judged that the upstream scheduling is "insufficient in merging", the decision-making step increases the first-level merging limit value α to increase the amount of I/O request merging in the upstream scheduling, thereby reducing the number of merging I/O requests that are lost in the downstream scheduling. probability of opportunity. The monitoring step and the decision-making step cooperate with each other to form a feedback control, which reduces the uncoordinated problem of the two-level disk scheduling existing in the existing two-level disk scheduling method, and reduces the drive domain disk scheduling because of the "over-merging" or "merging" of the disk scheduling in the virtual machine. Insufficient" brings adverse effects on request merging, thereby improving the overall storage performance of the cloud computing system.

附图说明Description of drawings

图1为驱动分离模型示意图;Fig. 1 is the schematic diagram of drive separation model;

图2为请求合并说明图;Figure 2 is a diagram illustrating the request for merging;

图3为两级磁盘调度的请求合并说明图;Fig. 3 is a request merging explanatory diagram of two-level disk scheduling;

图4为本发明流程示意图;Fig. 4 is a schematic flow chart of the present invention;

图5为初始化步骤流程图。Figure 5 is a flowchart of the initialization steps.

图6为监测步骤流程图。Figure 6 is a flow chart of the monitoring steps.

图7为预测步骤流程图。Fig. 7 is a flow chart of the prediction steps.

图8为决策步骤流程图。Figure 8 is a flowchart of the decision-making steps.

图9为第一级合并限制值α下的观测请求大小和潜在请求大小关系图。Fig. 9 is a graph showing the relationship between the observed request size and the potential request size under the first-level combined limit value α.

具体实施方式Detailed ways

以下结合附图和实施例对进一步说明。Further description will be given below in conjunction with drawings and embodiments.

如图4所示,本发明的实施例,包括初始化步骤、监测步骤、预测步骤和决策步骤。As shown in Fig. 4, the embodiment of the present invention includes an initialization step, a monitoring step, a prediction step and a decision-making step.

初始化步骤、监测步骤、预测步骤和决策步骤分别如图5、图6、图7、图8所示。The initialization steps, monitoring steps, prediction steps, and decision steps are shown in Figure 5, Figure 6, Figure 7, and Figure 8, respectively.

本实施例中,初始化步骤的子步骤(1.1)和子步骤(1.2)分别为:In this embodiment, the substep (1.1) and substep (1.2) of the initialization step are respectively:

(1.1)设置参数值:(1.1) Set parameter values:

设置采集间隔T,T为1秒;Set the collection interval T, T is 1 second;

设置合并率最大限定值Pmax和合并率平均限定值Pave,Pmax为0.5,Pave为0.1;Set the maximum limit value of the merger rate P max and the average limit value of the merger rate P ave , P max is 0.5, and Pave is 0.1;

设置合并中止率标准值σstd,σstd为0.05;Set the standard value of the merger suspension rate σ std , σ std is 0.05;

设置上游调度到达I/O请求的大小b为8块,每块512字节;Set the size b of the upstream scheduled I/O request to 8 blocks, each block is 512 bytes;

设置第一级合并限制值α的变化步长u1=11;Set the change step size u 1 =11 of the first level combined limit value α;

设置α的取值范围为[11,132],其中,α的取值范围下限a1为11,α增长的最大步数n1为12;Set the value range of α to [11, 132], where the lower limit a 1 of the value range of α is 11, and the maximum number of steps n 1 for α growth is 12;

设置α的调整范围上限αmax和调整范围下限αmin;αmax为110,αmin为23;Set the upper limit of the adjustment range α max and the lower limit of the adjustment range α min of α; α max is 110, and α min is 23;

设置潜在I/O请求的大小δ的变化步长u2=11;Set the change step size u 2 =11 of the size δ of the potential I/O request;

设置δ的取值范围为[11,506],其中,δ的取值范围的下限a2为11,δ变化的最大步数n2为46;Set the value range of δ to [11,506], wherein the lower limit a2 of the value range of δ is 11, and the maximum number of steps n2 of δ change is 46;

(1.2)创建二维预测表二维索引表 和一维索引表二维预测表的第一维为第二维为α对应的观测请求大小φ,表项为Mi,j,i=1~12,j=1~512;二维索引表的第一维为(α-a1)/u1,第二维为α对应φ的序号,表项为Qi,k,i=1~12,k=1~46;一维索引表的第一维为表项为Li,i=1~12;(1.2) Create a two-dimensional forecast table Two-dimensional index table and a one-dimensional index table 2D forecast table The first dimension of is The second dimension is the observation request size φ corresponding to α, the entry is M i,j , i=1~12, j=1~512; two-dimensional index table The first dimension is (α-a 1 )/u 1 , the second dimension is the serial number of α corresponding to φ, and the entry is Q i,k , i=1~12, k=1~46; one-dimensional index table The first dimension of is The entry is L i , i=1~12;

将上述各表的表项全部清零。Clear all entries in the above tables to zero.

Claims (1)

1. a two-stage disk-scheduling method for facing cloud computing environment, comprises initialization step, monitoring step, prediction steps and steps in decision-making:
(1) initialization step comprises following sub-step:
(1.1) parameters value:
Arrange acquisition interval T, T is 0.5 second ~ 10 seconds;
Merger ratio maximum limit definite value P is set maxlimit value P average with merger ratio ave, P maxbe 0.4 ~ 0.6, P avebe 0 ~ 0.2;
Arrange and merge termination rate standard value σ std, σ stdbe 0.05 ~ 0.1;
The size b arranging upstream scheduling arrival I/O request is 8 pieces ~ 20 pieces, every block 512 byte;
The change step u that the first order merges limits value α is set 1=4 ~ 11;
The span of α is set for [a 1, a 1+ (n 1-1) × u 1], wherein, the span lower limit a of α 1be the maximum step number n that 8 ~ 22, α increases 1for symbol represent and the integer upper limit is asked to C;
The setting range upper limit α of α is set maxwith setting range lower limit α min; α maxbe 88 ~ 110, α minbe 23 ~ 44;
The change step u of the size δ that potential I/O asks is set 2=4 ~ 11;
The span of δ is set for [a 2, a 2+ (n 2-1) × u 2], wherein, the lower limit a of the span of δ 2be the maximum step number n of 8 ~ 22, δ change 2for
(1.2) two-dimensional prediction table is created 2-d index table with one dimension concordance list two-dimensional prediction table first dimension be second dimension is the observation request size φ that α is corresponding, and list item is M i, j, i=1 ~ n 1, j=1 ~ 512; 2-d index table first dimension be second dimension is its value is the sequence number of the corresponding φ of α, and list item is Q i, k, i=1 ~ n 1, k=1 ~ n 2; One dimension concordance list first dimension be list item is L i, i=1 ~ n 1; Symbol represent and integer lower limit is asked to C;
The list item of above-mentioned each table is all reset;
(1.3) i=0 is put, j=0;
(1.4) a is judged whether 2+ (n 2-1) × u 2<512 is then rotor step (1.5), otherwise rotor step (1.15);
(1.5) i<n is judged whether 1, be then rotor step (1.6), otherwise rotor step (1.15);
(1.6) k<n is judged whether 2, be then rotor step (1.7), otherwise rotor step (1.14);
(1.7) α=a is put 1+ i × u 1;
(1.8) δ=a is put 2+ k × u 2, calculate potential merger ratio p:p=1-b/ δ;
(1.9) calculating observation merger ratio m:m=1-(1-p)/(1-p α);
(1.10) calculating observation request size φ: judging whether φ <512, is then rotor step (1.11), otherwise rotor step (1.15);
(1.11) put j=φ, put M i, j=δ, puts Q i, k=φ, puts L j=L i+ 1;
(1.12) k=k+1 is put, rotor step (1.6);
(1.13) i=i+1 is put, rotor step (1.5);
(1.14) initialization step terminates, setting up procedure (2) and step (4);
(1.15) extremely exit;
(2) monitoring step, comprises following sub-step:
(2.1) current time t=0 is set;
(2.2) the quantity A that upstream scheduling sends I/O request is added up; The scheduling of statistics upstream sends the maximal value B that I/O asks size 1with accumulated value B 2; The merging abort signal quantity B of statistics upstream scheduling 3;
(2.3) acquisition time increment Delta, puts t=t+ Δ, judges whether t >=T, is then rotor step (2.4), otherwise rotor step (2.2);
(2.4) the quantity S=A/T that upstream per second scheduling sends I/O request is calculated; Calculate upstream scheduling and send the mean value B that I/O asks size 4=B 2/ A; Calculate upstream scheduling and send the frequency B merging abort signal in I/O request 5=B 3/ T;
(2.5) the maximal value φ of observation request size is put 1=B 1, put the mean value φ of observation request size 2=B 4, turn prediction steps (3);
(2.6) judging whether to return abnormal marking, is then rotor step (2.8), otherwise rotor step (2.7);
(2.7) frequency ρ=B that trip scheduling sends I/O request merging abort signal is set up 5; Carry out sub-step (2.8);
(2.8) A=0 is put, B 1=0, B 2=0, B 3=0, rotor step (2.1);
(3) prediction steps, comprises following sub-step:
(3.1) judge whether successfully to obtain φ 1and φ 2, be then rotor step (3.2), otherwise rotor step (3.15);
(3.2) α <a is judged whether 1, be then rotor step (3.3), otherwise rotor step (3.4);
(3.3) α=a is put 1;
(3.4) α >a is judged whether 1+ (n 1-1) × u 1, be then rotor step (3.5), otherwise rotor step (3.6);
(3.5) α=a is put 1+ (n 1-1) × u 1;
(3.6) counter q=0 is put,
(3.7) put k=q, judge whether φ 1>Q i, kand q<L i, be then rotor step (3.8), otherwise rotor step (3.9);
(3.8) q=q+1 is put, rotor step (3.7);
(3.9) q>=L is judged whether i, be then rotor step (3.15), otherwise rotor step (3.10);
(3.10) j=Q is put i, q, put the maximum predicted value δ of potential request size max=M i, j, put q=0;
(3.11) put k=q, judge whether φ 2>Q i, kand q<L i, be then rotor step (3.12), otherwise rotor step (3.13);
(3.12) q=q+1 is set, rotor step (3.11);
(3.13) q>=L is judged whether i, be then rotor step (3.15), otherwise rotor step (3.14);
(3.14) the average magnitude predicted value δ of potential request size is put ave=M i, j; Predict successfully, return sub-step (2.6);
(3.15) put abnormal marking, return sub-step (2.6);
(4) steps in decision-making, comprises following sub-step:
(4.1) δ is judged maxand δ avewhether change, be then rotor step (4.3), otherwise rotor step (4.2);
(4.2) 2 ~ 10ms is waited for, rotor step (4.1);
(4.3) judging whether ρ and S changes, is then rotor step (4.5), otherwise rotor step (4.4);
(4.4) 2 ~ 10ms is waited for, rotor step (4.3);
(4.5) merging termination rate σ=ρ/S is calculated;
(4.6) P is judged whether max> (δ max-α)/δ maxand P ave> (δ ave-α)/δ ave, be then rotor step (4.7), otherwise rotor step (4.10);
(4.7) σ≤σ is judged whether std, be, upstream scheduling is in " excessively merging " state, rotor step (4.8), otherwise rotor step (4.10);
(4.8) α < α is judged whether min+ u 1, be then rotor step (4.1), otherwise carry out sub-step (4.9);
(4.9) α=α – u is put 1, rotor step (4.1);
(4.10) P is judged whether max< (δ max-α)/δ maxand σ > σ std, be, upstream scheduling is in " merging not enough " state, rotor step (4.12), otherwise rotor step (4.11);
(4.11) P is judged whether ave< (δ ave-α)/δ aveand σ > σ std, be, upstream scheduling is in " merging not enough " state, rotor step (4.12), otherwise rotor step (4.1);
(4.12) α > α is judged whether max-u 1, be then rotor step (4.1), otherwise rotor step (4.13);
(4.13) α=α+u is put 1, rotor step (4.1).
CN201210557355.1A 2012-12-20 2012-12-20 A kind of two-stage disk-scheduling method of facing cloud computing environment Active CN103064730B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210557355.1A CN103064730B (en) 2012-12-20 2012-12-20 A kind of two-stage disk-scheduling method of facing cloud computing environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210557355.1A CN103064730B (en) 2012-12-20 2012-12-20 A kind of two-stage disk-scheduling method of facing cloud computing environment

Publications (2)

Publication Number Publication Date
CN103064730A CN103064730A (en) 2013-04-24
CN103064730B true CN103064730B (en) 2015-07-29

Family

ID=48107363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210557355.1A Active CN103064730B (en) 2012-12-20 2012-12-20 A kind of two-stage disk-scheduling method of facing cloud computing environment

Country Status (1)

Country Link
CN (1) CN103064730B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346212A (en) * 2014-10-20 2015-02-11 浪潮电子信息产业股份有限公司 Optimization method for I/O performance of virtual machine
CN106095591A (en) * 2016-07-24 2016-11-09 成都育芽科技有限公司 A kind of virtual machine two-stage optimizing management and running platform based on cloud computing
CN106293000B (en) * 2016-08-02 2019-03-26 广东优世联合控股集团股份有限公司 A kind of virtual machine storage subsystem power-economizing method towards cloud environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488174A (en) * 2009-01-15 2009-07-22 北京交通大学 Implementing method for dynamically transparent virtual credible platform module
CN101493786A (en) * 2008-01-22 2009-07-29 联想(北京)有限公司 Computer and equipment accessing method
CN101770389A (en) * 2008-12-29 2010-07-07 北京联想软件有限公司 Computer and method for managing hardware device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493786A (en) * 2008-01-22 2009-07-29 联想(北京)有限公司 Computer and equipment accessing method
CN101770389A (en) * 2008-12-29 2010-07-07 北京联想软件有限公司 Computer and method for managing hardware device
CN101488174A (en) * 2009-01-15 2009-07-22 北京交通大学 Implementing method for dynamically transparent virtual credible platform module

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jieqiong Li;Dan Feng.Implementation and Evaluation of a Dynamic Schedule Policy for Multi-user Request in Network-Attached Disk Array.《The 9th International Conference for Young Computer Scientists》.2008,166- 171. *
计算机存储系统的研究现状和发展趋势;江泓;《光学与光电技术》;20120229;第10卷(第1期);8-12 *

Also Published As

Publication number Publication date
CN103064730A (en) 2013-04-24

Similar Documents

Publication Publication Date Title
CN102073545B (en) Process scheduling method and device for preventing user interface stuck screen in operating system
CN103049332B (en) Virtual CPU scheduling method
CN103744716B (en) A kind of dynamically interruption Well-Balanced Mapping method based on current VCPU dispatch state
CN102999716B (en) virtual machine monitoring system and method
CN102081679B (en) Computer performance data acquisition method and device
US20080320269A1 (en) Method and apparatus for ranking of target server partitions for virtual server mobility operations
US20080320123A1 (en) Process and methodology for generic analysis of metrics related to resource utilization and performance
US20120290718A1 (en) Methods and Computer Program Products for Collecting Storage Resource Performance Data Using File System Hooks
US20070294695A1 (en) Method, system, and apparatus for scheduling computer micro-jobs to execute at non-disruptive times
US20080320122A1 (en) Method and apparatus for management of virtualized process collections
CN103870341A (en) Method and system of adjusting resources of virtual machine
EP2819015B1 (en) Method, terminal, and server for synchronizing terminal mirror
CN102567080A (en) Virtual machine position selection system facing load balance in cloud computation environment
EP2772854B1 (en) Regulation method and regulation device for i/o channels in virtualization platform
CN105335211A (en) System and method for dispatching FPGA (Field Programmable Gate Array) accelerator based on Xen virtualized cluster
CN103064730B (en) A kind of two-stage disk-scheduling method of facing cloud computing environment
CN101859256B (en) I/O virtualization method for simplifying mode switch in hardware virtual machine
US11243603B2 (en) Power management of an event-based processing system
EP4274160B1 (en) Machine learning based malware detection
CN103955422B (en) Method for analyzing I/O (Input/Output) performance interference of coexisting application in virtualized environment and system thereof
CN116303132A (en) Data caching method, device, equipment and storage medium
CN104899098B (en) A kind of vCPU dispatching method based on shared I/O virtualized environment
CN105991585A (en) Method and system for realizing wireless communication
CN110580192B (en) A service feature-based optimization method for container I/O isolation in co-located scenarios
CN112241304A (en) Scheduling method and device for super-converged resources in Loongson cluster and Loongson cluster

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant