CN1280760C - 在数据存储装置的异构组中分配对象的方法和设备 - Google Patents
在数据存储装置的异构组中分配对象的方法和设备 Download PDFInfo
- Publication number
- CN1280760C CN1280760C CNB028249895A CN02824989A CN1280760C CN 1280760 C CN1280760 C CN 1280760C CN B028249895 A CNB028249895 A CN B028249895A CN 02824989 A CN02824989 A CN 02824989A CN 1280760 C CN1280760 C CN 1280760C
- Authority
- CN
- China
- Prior art keywords
- piece
- elasticity coefficient
- memory storage
- coefficient
- sheet
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- 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
- G06F2003/0697—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Developing Agents For Electrophotography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
本发明涉及一种在一个数据存储装置的异构组中分配对象的方法,该方法包含将每个对象分解成多个块,按照一个分配准则在不同的存储装置中分配所述块,该分配准则是:在所述存储装置的每一个中分配均包括一个或多个块的对象的片。按照本发明,用于管理对象片的分配的参数是一个称作弹性系数CF(i)的系数,代表各对象(i)的片的权重之间的差;定期地测量和计算代表每个对象引用率的可变性的值;按照一个向每个对象指派一个与其引用率的可变性成反比例的弹性系数的原则,在时刻(t)根据测量和计算的所述值,为每个对象计算一个要被指派给所述对象的期望弹性系数CFv(i);在时刻(t)为每个对象(i)测量和计算所述对象的真实弹性系数CFr(i),其代表所述对象各片的权重之间的差;在存储对象片的各块的装置之间引起一次移动,以便为每个对象(i)获得一个与所述对象的期望弹性系数CFv(i)对应的真实弹性系数CFr(i)。
Description
本发明涉及一种用于在数据存储装置的异构组中分配对象的方法和装置。
在数据存储装置领域中的当前趋势是在被称作异构存储系统的、日益复杂的存储系统中存储信息。之所以被称作异构存储系统,是因为它们包括存储容量(存储装置中能存储的信息量)不同、或者带宽(能从存储装置器读取或向存储装置写信息的速率)不同的存储装置。
按照惯例,在不同存储装置中存储信息的第一步,目前包含将每个对象划分成多个块,并按照某个分配准则在不同存储装置中分配所述块,包括在存储装置的每一个中分配对象片,其中每个对象片由一个或多个块组成。
为了清楚起见,在整个文本(说明书和权利要求书)中使用以下术语:
—存储装置:用于记录或获取数据的装置;
—客户机:访问在存储装置中存储的数据的装置;
—数据组的引用率(popularity):与在此数据组被访问时存储装置与客户机之间每单位时间转移的数据量成正比例的值;
—引用率的可变性(variability):表征数据组的引用率随时间变化的值;
—块:在存储装置中被连续存储的数据组;
—对象:具有可比较的、引用率的可变性的块组;
—对象片(piece of object):所有属于同一个对象并被放置在同一个存储装置中的块组;
—存储装置的负荷:每单位时间在这个存储装置与客户机之间转移的数据组;
—片的权重:表示存储此片的存储装置中因为此片导致的工作负荷(workload)的值。该值可用多种方法估量,例如,以按存储装置的平均带宽划分的片尺寸来估量,以存储装置处理对这个片中的数据的读或写请求所用的平均时间来估量,等等。
迄今为止所有开发都是用了基于两个主要原则的分配方法。
第一个方法可称为平衡分配安置法,其根据的原则是,在每个存储装置中分配大小与所述存储装置的带宽成正比的对象片。这个方法因此倾向于充分使用存储装置的带宽。
然而,这个方法的缺点是,有些存储装置比其它存储装置更快变满,因此,一旦一个存储装置是满的,则如果不使安置不平衡,就不再可能在其它存储装置中增加片。因此,在大多数情况下,这个方法并不能使一个异构组的存储容量被充分利用。尽管这种存储容量的损失难以估计,但是由于它是配置的一个函数,所以已经表明存储容量损失一般大于存储容量的25%,能多达约存储容量的80%。
第二个方法可称为非平衡分配安置法,其根据的原则是,以充分利用存储装置组的存储容量的方式分配对象块,同时试图平衡这些存储装置上的工作负荷。然而,这个方法的主要缺点是,这种工作负荷的平衡不稳定,因为对象的引用率的变化往往干扰这种平衡。
因此,对这个方法所做的大部分工作在于提出重新平衡工作负荷的解决方案。然而,这种重新平衡消耗带宽,并且实际上导致存储装置能同时处理的访问数的减少。
总之,这第二个方法看起来使存储容量能被充分利用,但是却导致对带宽利用的显著减少(量级在50%,依所开发的重新平衡方法而改变)。
迄今为止,对用于在数据存储装置的异构组中安置对象的方法所作的所有工作都旨在改善前述的安置方法的一个或另一个,即平衡分配安置法或非平衡分配安置法。
然而,由于与这些安置方法每一个的设计相关联的特定缺点,这种工作全部已经导致了存储容量得不到充分利用的解决方案,或者是在低水平下利用带宽的解决方案。
本发明建议减少这种缺点,其主要目的是提供一种在异构存储装置中分配对象的方法,致使既对存储容量的利用、又对所述存储装置的带宽利用的最优化。
为此,本发明提出一种在数据存储装置的异构组中分配对象的方法,该方法用一个称作弹性系数CF(i)的系数,作为管理对象片的分配的参数,弹性系数代表对象(i)的各片的权重之间的差,在添加任何新的对象时,通过规定弹性系数的一个给定值,在所述存储装置中分配对象块,与此同时,对于被安置在存储装置组中的各对象:
—定期地测量和计算代表每个对象的引用率的可变性的值;
—在时刻t根据测量和计算的前述值为每个对象计算一个期望的弹性系数CFv(i),该系数按照一个原则而被指派给所述对象,该原则是:向每个对象指派一个与其引用率的可变性成反比例的弹性系数;
—在时刻t为每个对象(i)测量和计算所述对象的真实弹性系数CFr(i),其代表所述对象各片的权重之间的差;
—在存储各对象片的块的装置之间引起一次移动,以便为每个对象(i)获得一个与这个对象的期望弹性系数CFv(i)相对应的真实弹性系数CFr(i)。
因此,本发明的基本原理是,用一个最好与引用率的可变性成反比、被称作弹性系数的系数作为管理这些移动的参数,定期地连续修改起初在不同存储装置中分配的对象片的权重。
按照这个原理,弹性系数一般在两个极值CF min(最小值)与CFmax(最大值)之间变化,确定不同的安置方式:
—如果CF(i)=CF min,对象(i)的所有片的权重相等,所使用的安置是平衡分配安置;
—如果CF(i)=CF max,则对象(i)仅包括被安置在一个存储装置中的一个片,因此安置是纯粹的非平衡分配安置;
—在这两个极值之间,不同的CF(i)值允许调整各片的权重,以便通过使CF(i)靠近CF min而获得负荷的更好平衡,或者以便通过使CF(i)靠近CF max而获得对存储容量的更好利用。
本发明因此在于一种混合安置方法,其主要结果是优先按照非平衡分配安置法(CF(i)靠近CF max)安置具有稳定的(stable)引用率的对象,优先地按照平衡分配安置法(CF(i)靠近CF min)安置具有不稳定引用率的对象。
实践中,对存储装置组进行的模拟已经显示,按照本发明的方法产生了大于80%的存储装置使用率和大于85%的带宽使用率。
在一个有益的实施例中,按下式为每个对象(i)计算真实弹性系数CFr(i):
CFr(i)=Pdev(i)/Pmean(i)
其中Pmean(i)是对象(i)的各片权重的平均数,Pdev(i)是关于对象(i)的各片权重的平均数的标准偏差。
在另一个有益的实施例中:
—在一个预备步骤中,将引用率的可变性的各预定值指派给不同块,将各所述块按引用率的可变性的降序分类,并通过被相邻分类的块的关联来创建这些对象;
—在管理存储装置组的过程中,定期地按引用率的可变性的降序重新分类各块,这些块作为关于所述块的引用率和可变性的测量信息的函数。
—由于按照本发明的方法特别在于为每个对象(i)计算理想弹性系数(期望弹性系数),并因此在于对对象进行工作,这个有益实施例导致创建包括具有非常相似的、引用率的可变性的块的对象,该实施例使得对所述对象的每一个的工作能被有效进行。
此外,并且有益地,通过一种称为“决策梯形”的决策方法为每个对象(i)确定期望弹性系数CFv(i),“决策梯形”包括一个具有第一底和第二底的梯形,第一底由一个有刻度的轴组成,其向量是所述对象的引用率的可变性,第二底由一个有刻度的轴组成,其向量是所述对象的期望弹性系数,所述向量与前一个向量方向相反,所述决策方法包括如下步骤:
规定每个变量一即引用率的可变性和期望弹性系数—的上限和下限值,以便创建一个其两个边分别是由线段[var上限-CF下限]和[var下限-CF上限]组成的梯形,
—如果可变性大于或等于var上限,则把这个可变性投影到到弹性系数的值CF下限上;
—类似地,如果可变性小于或等于var下限,则把这个可变性投影到到值CF上限上;
—如果可变性位于区间[var下限-var上限],则线性地把这个可变性投影到区间[CF下限-CF上限]上。
这个决策梯形构成一个使对象的期望弹性系数能根据该对象的引用率的可变性被立即确定的决策工具。
此外,这个决策梯形提供一种行为的灵活性,这是因为事实上能按照引用率的可变性和期望弹性系数的上限和下限值的选择修改全局(global)行为。
在另一个有益实施例中,为了为每个对象(i)获得一个对应于期望弹性系数CFv(i)的真实弹性系数CFr(i):
—为每个对象(i)计算一个等于绝对值|CFv(i)-CFr(i)|的、被称作CF距离的参数;
—为CFv(i)<CFr(i)的对象(i),并且首先为CF距离最大的对象,将属于最高权重的片的这些对象的块移向含有最低权重片的存储装置;
—为CFv(i)>CFr(i)的对象(i),并且首先为CF距离最大的对象,将这些对象的决从最满存储装置移向最不满(least full)存储装置;
这种旨在给予每个对象一个与期望弹性系数相等的真实弹性系数的实现方式,对真实弹性系数正在减少的对象导致带宽上的增加并且对真实弹性系数正在增加的对象导致在存储容量上增加。
此外,这种实现模式能够根据CFv(i)大于还是小于CFr(i)而被划分为两个相互独立的重新配置过程,该实现模式能够使用小的存储装置的带宽的百分数来获得期望结果
而且,前述这两种重新配置过程有不同的工作空间,因此不会互相干扰。
在另一个旨在减少由于管理对象块的分配的不完善而引起的工作负荷不均衡的有益实施例中:
—选择最多负荷的存储装置-称作热SD和最少负荷的存储装置-称作冷SD;
—在最少负荷的存储装置中查找一个很少被访问的块-称作冷块并在最多负荷的存储装置中查找一个频繁被访问的块-称作热块,致使这两个块能被交换,以重新平衡负荷;
—按以下方式对热SD中的热块排序:
—将对象按平均引用率的降序分类,
—在这个分类后,选择形成一个区域的n个最流行的对象,其中所述区域被称作高引用率区域,
—将n个对象分解为块,这些块被单独地处理,以便将对它们排序并将它们分在四个类(class)中:
-类1:对于其从热SD向冷SD的移动减少它们所属的对象的真实弹性系数的块;
-类2:向最满的存储装置以外的存储装置移动的块;
-类3:向最满的存储装置移动的块;
-类4:其移动增加CF距离的块,
—同样地,为了对冷SD中的冷块排序,在分类后选择n个最不流行的对象,这些对象构成一个被称作低引用率区域的区域,并且这n个最不流行的对象被划分成块,这些块被单独地处理,以便对它们排序并将它们分配在前述的四个类中:
—然后,从热块和冷块组这两个已排序的块组开始:
—寻找热SD中要被转移的块,该块包括位于所述热SD中、其分类号最低且先前被排序的块,
—寻找冷SD中要被转移的块,该块包括位于所述冷SD中、其分类号最低且先前被排序的块,
—将所选择的、热SD中的块与所选择的、冷SD中的块交换。
这个“重新平衡”就是如此被设计来执行较少负荷的存储装置中很少被访问的块与高负荷的存储装置中频繁被访问的块的交换操作。
这个重新平衡过程于是使得在工作负荷上的不平衡能够被重新配置,同时避免对重新配置过程的干扰问题或者至少将干扰问题最小化。
本发明包括一种用于应用按照本发明的方法的装置。本发明因此涉及一种按照分配准则在数据存储装置的异构组中分配被分解成多个块的对象的装置,该分配准则在于:在所述存储装置中分配均包括一个多个块的对象的片,所述分配装置包含:
一个称作分析模块的模块,用于定期地测量和计算代表每个对象的引用率的可变性的值;
一个称作决策模块的模块,用于在时刻t根据由分析模块测量和计算的参数来为每个对象(i)计算一个称作真实弹性系数的、代表这个对象(i)的各片的权重之间差的系数CFr(i)和一个称作期望弹性系数的、要被指派给对象(i)的系数CFv(i),该系数是按照向每个对象指派一个与其引用率的可变性成反比的弹性系数的原则计算的。
一个称作重新配置模块的模块,用于在存储装置之间引起一次对象片的各个块的移动,以便为每个对象(i)获得一个对应于该对象的期望弹性系数CFv(i)的真实弹性系数CFr(i)。
此外,并且有益地,这个分配装置还包含一个称作重新均衡模块的模块,用于执行如下操作,这些操作对较少负荷的存储装置中很少被访问的块与高负荷的存储装置中频繁被访问的块进行交换。
本发明的其它特点、目的和优点,将通过以下结合代表本发明最佳实施例的各附图的详细说明而阐明,这种说明是示例性的而不是限制性的。
图1是按照本发明的装置的概要图;
图2表示一种确定每个对象(i)的期望弹性系数CFv(i)的方式的示意图;
图3表示按照本发明方法管理的一个存储装置的异构组所利用的存储容量和所利用的带宽的示意图。
图1中所示的按照本发明的装置,用于管理对象在异构存储系统1中的安置,该系统常规地包含一个用于管理该系统的控制器2,其通过一个互连而与多个存储装置3、4相连。
此装置首先包含一个分析器5,可用于根据对异构系统1所作的测量来计算负荷平衡的质量、对象的引用率的可变性、系统存储容量的占用、以及服务质量的维持。它将这些估计发送到对象弹性控制器9的决策部分6。
决策器6以能对存储容量的过载或不良占用情况进行纠正的方式来监控在由分析器5提供的估计上的变化。例如,它被设计用来在发现负荷质量降低、因此将要导致不良服务质量时,决定例如减少在存储系统1中存储的所有对象的弹性。这些决定被发送到一个对象弹性声明7中。
弹性声明7为在存储系统1中存储的每个对象将其期望弹性系数CFv(i)和真实弹性系数CFr(i)存储在一起。按照决策器6的决定(导致期望弹性系数的修改)并且按照以下说明的重新配置单元8的动作(导致真实弹性系数的修改)来更新弹性声明7。
此装置也包含上面提及的重新配置单元8,该单元被用来(通过发出输入/输出请求)移动数据,使得对象的真实弹性系数靠近由决策器6设定的期望值。
然而应当注意,弹性控制器9的决定不可能是完善的,理由如下:
—分析器5不能进行完全精确且即时的测量。
—引用率是不断变化的:弹性控制器9在任何时刻t所作的工作都是为了解决在时刻t-1所测量的情况问题。这个工作实际上将影响系统1在时刻t+1的性能。如果引用率在时刻t-1与t+1之间已经变化,则灵活安置将没有最佳效果,因此有些负荷将失去平衡。
—没有引用率保持恒定的对象。因此,一旦一个安置不再是对所有对象来说是平衡地分配的,则发生不平衡。
这就是灵活安置需要一个动态重新平衡器11的支持的原因。但是,与在非平衡分配安置的情形中所发生的情况比起来,重新平衡器要做的工作甚少:它只需要弥补由于弹性控制器9的不完善所引起的不平衡。
灵活安置的质量因此受制于这四个机制的性能:决策器6、重新配置单元8、重新平衡器11和分析器5。
为了达到这个安置质量,必须将这些机制设计为使得:
—它们向每个对象指派正确的弹性系数:这是因为,如果使用与所要求的弹性系数相反的弹性系数,结果可能比非平衡分配安置的结果更糟糕;
—它们把弹性控制器的反应时间限制到最小:分析器5以这样的方式检测变化,其中,系统1反应(周期d1),然后决策器6指派期望弹性系数(周期d2),然后重新配置单元8移动数据,以提供期望弹性系数与真实弹性系数之间的一个匹配(周期d3)。d2非常短,d1适度地短(有些分析要求系统1监控特定的时间才能使分析是合适的),如果需要许多的重新配置移动,则d3可以长。随着d1+d2+d3的长度的增加,负荷变得更不平衡。
为了满足这些目的,下面详细说明混合安置机制的每一个的操作。
首先,决策器6用以下准则处理由分析器5测量和/或计算的参数:
—存储容量的利用:自由的存储容量应当是适当分布的,换言之,它的排列应当把能被添加到系统1的数据量最大化(给定每个新存储对象的初始弹性系数);
—引用率的可变性:对象的可变性越高,不平衡负荷的风险越大;
—满足服务质量的约束条件:如果某对象相关联的服务质量约束条件不被满足(例如,如果不以足够的数据速率为显示屏服务,从而导致显示屏闪烁),则必须通过减少这个对象的弹性系数,使得它被平衡地分配并因此从更大的带宽得到好处,使服务质量得到稳定。如果一个对象组的服务质量是混乱的,则可以通过全局减少所有对象的弹性系数而使服务质量得到稳定。
—负荷平衡的质量:如果全局的平衡不良,则必须减少数据的全局弹性系数。
决策器6因此被设计为用来为每个对象(i)计算将是期望弹性系数CFv(i)的理想弹性系数。
首先,当决策器6对对象工作时,并且为了最优化决策机制,每个对象最好由具有相同量级引用率的可变性的块组成。
为此,在一个预备步骤中,将以随机方式或者作为从以前调查中获得的测量的一个函数而确定的引用率的可变性的值,指派给各块,然后将所述块按引用率的可变性的降序分类。
然后通过被相邻分类的块的关联创建各对象。例如,第一个对象可以由头n个分类的块组成,第二个对象可以由接着的n个分类的块组成,如此等等。
当这个对象创建已经完成时,系统被启动,按照由分析器5获得的关于各块的引用率和可变性的信息,定期地按引用率的可变性的降序重新分类各块。
类似地,特别是在一个稳定化步骤中,决策器6对内容不断变化的各对象工作,所述对象包括含有属于不同文件的不同数据的块,但是具有非常相似的、引用率的可变性,使决策器6能有效地对每一个对象工作。
决策方法使得能够为每个对象确定期望弹性系数,作为分析器5所监测的引用率的可变性的一个函数,该决策方法接着以图2中所示的“决策梯形”的使用为基础。
这个梯形的其中一个底由一个有刻度的轴组成,其向量是引用率的可变性;第二个底由一个有刻度的轴组成,其向量是期望弹性系数,所述向量与前一个向量方向相反。
这个决策方法的第一个步骤在于,规定每个变量—即引用率的可变性和期望弹性系数—的上限和下限值,以便创建图2中所示的其两个边分别是由线段[var上限-CF下限]和[var下限-CF上限]组成的梯形。定义了这个决策梯形后,该决策方法由下列步骤组成:
—如果可变性大于或等于var上限,则把这个可变性投影到弹性系数的值CF下限上,换言之,将一个其可变性大于或等于var上限的对象的期望弹性系数设定在值CF下限;
—类似地,如果可变性小于或等于var下限,则把这个可变性投影到值CF上限上;
—如果可变性位于区间[var下限-var上限],则线性地把这个可变性投影到区间[CF下限-CF上限]上。
这个决策梯形因此构成一个使对象的期望弹性系数能根据该对象的引用率的可变性被立即确定的决策工具。
此外,还能按照引用率的可变性和期望弹性系数的上限和下限值的选择修改决策器6的行为。
因此,例如:
—CF下限和CF上限值的增加(在图2中向右移动),导致由决策器6生成的期望弹性系数的全局增加,因此导致对存储容量的更好利用,同时在带宽方面有不利;
—相反,CF下限和CF上限的减少导致存储系统的带宽的利用的最优化,同时在存储容量方面有不利;对var上限和var下限值也能做出类似的结论;
—CF下限的减少和CF上限的增加(这两个限度之间间距的增加)将导致对象处理中的更大差异:稳定的对象将更易被“弹性化”(通过它们真实弹性系数的增加),而易变的对象将更易被“固定化”(通过它们真实弹性系数的减少)。因此,弹性控制器9的能力得到增加。相反地,通过将弹性系数区间的两个限度向一起更靠近,也会减少弹性控制器9的这个能力。
决策梯形因此使弹性系数能被指派给要每个被逐个确定的对象,同时也使对所有对象的全局策略能按照介入存储系统1的操作中的事件而被修改。
因此,例如,如果存储系统1的存储装置3或4出故障,则一部分带宽就丧失,因此就不再能维持服务质量。在这种情况下,可以修改决策梯形,以便以存储容量方面的不利为代价,增加带宽,以便在替换出故障存储装置的同时,暂时重新建立可接受的服务质量。
第二,重新配置单元8适于这样进行操作,使得每个对象(i)的真实弹性系数CFr(i)等于由决策器6确定的期望弹性系数CFv(i),以便为真实弹性系数减少的对象增加带宽,并为真实弹性系数增加的对象增加存储容量。为此,首先,这个重新配置单元8的操作方法使用一个等于绝对值|CFv(i)-CFr(i)|的、被称作“CF距离”的参数。
这个操作方法可以被划分成两个过程:
—一个被称作BW重新配置的重新配置过程,被设计为用来增加带宽,并适用于其期望CF小于真实CF、因此需要被固定化的对象;为此,这个过程包括对于要被固定化的对象而言,将一个属于最高权重的片的块向含有最低权重的片的存储装置移动;这个过程也被设计为首先处理CF距离最大的对象;
—一个被称作SC重新配置的重新配置过程,被设计为用来增加存储容量,并适用于其期望CF大于真实CF、因此需要被弹性化的对象;为此,这个过程包含选择具有最大CF距离的对象,将这些对象从最满存储装置向最不满存储装置移动。
两个不同过程的这种选择,使得有可能在使用存储系统的小百分率带宽的同时,很好地利用决策器6的决策能力。还应当注意的是,BW重新配置过程作用于需要被固定化的对象,而SC重新配置过程则作用于需要被弹性化的对象。因此,这两个过程有不同的工作空间,因此不能互相干扰。
最后,如上文所提及的那样,重新平衡器11的目的是减少因弹性控制器1的不完善而产生的工作负荷不平衡。
为此,重新平衡方法被设计为用来提供包含交换位于较少负荷的存储装置(冷SD)中很少被访问的块(冷块)与位于高负荷的存储装置(热SD)中频繁被访问的块(热块)的操作。
这个与重新配置完全分开的重新平衡方法,要被设计来避免或者至少最小化任何对重新配置过程—特别是BW重新配置过程—的干扰问题,因此以一种特殊方式操作。
这个重新平衡方法需要一种按照由分析器5传送的信息而变化的特殊分类方法,这在下文作解释。
首先,选择最高负荷的存储装置(热SD)和最少负荷的存储装置(冷SD)。
为了把一个热块从热SD向冷SD移动,将对象按平均引用率的降序分类,在这个分类后,选择n个最流行的对象,其中n是预定的,例如等于25,这构成一个引用率的“高区域”。
这些被选择的对象然后被分解成块,这些块通过被排序并被分配在以下四个类中而被单独地处理:
-类1:对于其从热SD向冷SD的移动减少它们所属的对象的真实弹性系数、因此导致这些对象的固定化的块。因此,这个类1是指不产生与BW重新配置有冲突风险的块。
-类2:向最满存储装置以外的存储装置移动的块(换言之,当冷SD不同于最满的存储装置时);因此,这个类2是指不引起与SC重新配置有冲突风险的块。
-类3:向最满存储装置移动的块(与类2相反的类),因此,该类能引起与SC重新配置有冲突的风险。
-类4:其移动增加CF距离的块(与类1相反的类),该类可能引起与BW重新配置有冲突的风险。
同样地,为了处理一个冷块从冷SD向热SD的移动,对构成一个“低引用率”区域的n个最不流行对象的块进行相同的分类,将它们分在与相同的四个类中。
在这个分类后,平衡方法的步骤如下:
1)寻找热SD中要被转移的块,该块属于一个被分类在高引用率区域的对象。为此,选择热SD中的分类号且有最低分类号(采用优先级的分类1)、并且其对象具有最小CF距离的块。应当注意的是,对最小CF距离的这种选择对于位于类3中的块而言导致-特别是导致减少与SC重新配置之间有冲突的风险,以及对于位于类4中的块而言导致与BW重新配置之间有冲突的风险,因为这些重新配置导致实际上仅仅移动具有大的CF距离的对象的数据。
2)寻找冷SD中要被转移的块,这个块属于一个被分类在低引用率区域的对象(该寻找过程与上面的步骤1的寻找过程类似)。
3)将在步骤1)中选择的热SD中的块与在步骤2)中所选择的冷SD中的块交换。
导致“灵活的安置”的弹性控制器9的设计与这个重新平衡过程的组合,导致对存储系统的存储容量的利用和带宽的利用的同时最优化,如以下结合图3所述的使用例子中所示的那样。
所使用的存储系统1包含两个具有18.6GB的存储容量和34.2MB/S的带宽的硬盘、以及两个具有43GB的存储容量和28.8MB/S的带宽的硬盘。
在表示结果的图3中,按时间计的操作时间在横坐标上表示,而带宽的和存储容量的利用率则在纵坐标上表示。
在操作的开始,以随机方式填充存储系统1。如图3中的曲线所示,在初始的稳定化阶段,弹性控制器9趋向于释放存储容量,与此同时,尽可能地稳定带宽。随后,由分析器5提供的信息变得逐渐地越来越精确并且越来越代表各对象的特征,使决策器6能计算越来越合适的期望弹性系数。
对于每个对象来说,这些期望弹性系数也逐渐接近真实弹性系数的值,作为重新配置单元7的动作的结果。
在这个稳定化阶段的结尾,弹性控制器9提供一段巡航状态(cruising regime),在此期间实现77%的存储容量使用率和89%的带宽使用率。
相比之下,“平衡分配”安置在相同的条件下提供100%的带宽使用率、但是仅仅提供35%的带宽使用率。
因此,与已知的各安置方法相比,按照本发明的“弹性交织”(flexible interfacing)的带宽和存储容量的使用率二者都高,但并不导致“牺牲”这两个使用率的一个来提高另一个。
Claims (8)
1.一种在数据存储装置的异构组中分配对象的方法,该方法包含将每个对象分解成多个块,按照一个分配准则在不同的存储装置中分配所述块,该分配准则是:在每个所述存储装置中分配包括一个或多个块中的每一个块的对象片,所述方法的特征在于,它用一个称作弹性系数CF(i)的系数,作为管理对象片的分配的参数,弹性系数代表各对象(i)的片的权重之间的差,在添加任何新对象时,通过规定一个给定的弹性系数值,来在所述存储装置中分配对象块,与此同时,对于被安置在存储装置中的各对象:
—定期地测量和计算代表每个对象的引用率的可变性的值;
—在时刻t根据测量和计算的前述值为每个对象计算一个期望弹性系数CFv(i),该系数按照一个原则而被指派给所述对象,该原则在于:向每个对象指派一个与其引用率的可变性成反比例的弹性系数;
—在时刻t为每个对象(i)测量和计算所述对象的真实弹性系数CFr(i),其代表所述对象的片的权重之间的差;和
—在存储对象片的块的装置之间引起一次移动,以便为每个对象(i)获得一个与这个对象的期望弹性系数CFv(i)相对应的真实弹性系数CFr(i)。
2.如权利要求1所要求的分配方法,其中,为每个对象(i)所计算的真实弹性系数CFr(i),使得:
CFr(i)=Pdev(i)/Pmean(i)
其中:Pmean(i)是对象(i)的片的权重的平均数,并且Pdev(i)是关于对象(i)的片的权重的平均数的标准偏差。
3.如权利要求1或2中任一个所要求的分配方法,其中:
—在一个预备步骤中,将引用率的可变性的各预定值指派给不同块,将所述块按引用率的可变性的降序来分类,并通过各被相邻地分类的块的关联创建对象;
—在管理存储装置组的过程中,定期地将各块按引用率的可变性的降序重新分类,所述块作为关于所述块的引用率和可变性的测量信息的函数。
4.如权利要求1或2中任一个所要求的分配方法,其中,通过一种称为“决策梯形”的决策方法为每个对象(i)确定期望弹性系数CFv(i),“决策梯形”包括一个具有第一底和第二底的梯形,第一底由一个有刻度的轴组成,其向量是所述对象的引用率的可变性,第二底由一个有刻度的轴组成,其向量是所述对象的期望弹性系数,所述向量与前一个向量方向相反,所述决策方法包括如下步骤:
规定每个变量—即引用率的可变性和期望弹性系数—的上限和下限值,以便产生一个其两个边分别是由线段[var上限-CF下限]和[var下限-CF上限]组成的梯形,
—如果可变性大于或等于var上限,则把这个可变性投影到弹性系数的CF下限值上;
—类似地,如果可变性小于或等于var下限,则把这个可变性投影到到CF上限值上;
—如果可变性位于区间[var下限-var上限],则线性地把这个可变性投影到区间[CF下限-CF上限]上。
5.如权利要求1或2中任一个所要求的分配方法,其中,为了为每个对象(i)获得一个对应于期望弹性系数CFv(i)的真实弹性系数CFr(i):
—为每个对象(i)计算一个等于绝对值|CFv(i)-CFr(i)|的、被称作CF距离的参数;
—为CFv(i)<CFr(i)的对象(i),并且首先为CF距离最大的对象,将属于最高权重的片的这些对象的块移向含有最低权重的片的存储装置;
—为CFv(i)>CFr(i)的对象(i),并且首先为CF距离最大的对象,将这些对象的块从最满的存储装置移向最不满的存储装置。
6.如权利要求1或2中任一个所要求的分配方法,其中:
—选择最多负荷的存储装置-称作热SD和选择最少负荷的存储装置-称作冷SD;
—在最少负荷的存储装置中查找一个很少被访问的块-称作冷块,并在最多负荷的存储装置中查找一个频繁被访问的块-称作热块,致使这两个块能被交换,以重新平衡负荷;
—按以下方式对热SD中的热块排序:
—将对象按平均引用率的降序分类,
—在这个分类后,选择形成一个区域的n个最流行的对象,所述区域被称作高引用率区域,
—将n个对象分解为块,这些块被单独地处理,以便对它们排序并将它们分配在四个类中:
-类1:对于其从热SD向冷SD的移动减少它们所属的对象的真实弹性系数的块;
-类2:向最满的存储装置以外的存储装置移动的块;
-类3:向最满的存储装置移动的块;
-类4:其移动增加CF距离的块,
—同样地,为了对冷SD中的冷块排序,在分类后选择n个最不流行的对象,这些对象构成一个被称作低引用率区域的区域,并且这n个最不流行的对象被划分成块,这些块被单独地处理,以便对它们排序并将它们分配在前述的四个类中:
—然后,从热块和冷块组这两个已排序的块组开始:
—寻找热SD中要被转移的块,该块包括位于所述热SD中、其分类号最低且先前已被排序的块,
—寻找冷SD中要被转移的块,该块包括位于所述冷SD中、其分类号最低且先前已被排序的块,
—将所选择的、热SD中的块与所选择的、冷SD中的块交换。
7.一种用于在存储装置(3,4)的异构组(1)中按照一个分配准则分配被分解成多个块的对象(i)的装置,该分配准则是:在所述存储装置中分配均包括一个或多个块的对象的片,所述分配装置的特征在于它包含:
一个称作分析模块(5)的模块,用于定期地测量和计算代表每个对象的引用率的可变性的值;
一个称作决策模块(6)的模块,用于在时刻t根据由分析模块(5)测量和计算的参数来为每个对象(i)计算一个称作真实弹性系数的、代表这个对象(i)的各片的权重之间差的系数CFr(i)和一个称作期望弹性系数的、要被指派给对象(i)的系数CFv(i),该系数是按照向每个对象指派一个与其引用率的可变性成反比的弹性系数的原则计算的;
一个称作重新配置模块(8)的模块,用于在存储装置之间引起一次对象片的各个块的移动,以便为每个对象(i)获得一个对应于该对象的期望弹性系数CFv(i)的真实弹性系数CFr(i)。
8.如权利要求7中所要求的分配装置,其中,它包含一个称作重新平衡模块(11)的模块,用于执行如下操作,这些操作包含对较少负荷的存储装置中很少被访问的块与高负荷的存储装置中频繁被访问的块进行交换。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0116204A FR2833726B1 (fr) | 2001-12-14 | 2001-12-14 | Procede de dispositif de repartition d'objets dans un groupe heterogene de dispositifs de stockage de donnees |
FR01/16204 | 2001-12-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1605078A CN1605078A (zh) | 2005-04-06 |
CN1280760C true CN1280760C (zh) | 2006-10-18 |
Family
ID=8870505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028249895A Expired - Fee Related CN1280760C (zh) | 2001-12-14 | 2002-12-13 | 在数据存储装置的异构组中分配对象的方法和设备 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7197618B2 (zh) |
EP (1) | EP1454269B1 (zh) |
JP (1) | JP4405806B2 (zh) |
CN (1) | CN1280760C (zh) |
AT (1) | ATE306693T1 (zh) |
CA (1) | CA2466933A1 (zh) |
DE (1) | DE60206656T2 (zh) |
FR (1) | FR2833726B1 (zh) |
WO (1) | WO2003054735A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104471548A (zh) * | 2012-04-20 | 2015-03-25 | 尹摩特斯公司 | 采用数据管理机制的存储系统及其操作的方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4418286B2 (ja) * | 2003-07-14 | 2010-02-17 | 富士通株式会社 | 分散型ストレージシステム |
JP4559295B2 (ja) * | 2005-05-17 | 2010-10-06 | 株式会社エヌ・ティ・ティ・ドコモ | データ通信システム及びデータ通信方法 |
US8380960B2 (en) * | 2008-11-04 | 2013-02-19 | Microsoft Corporation | Data allocation and replication across distributed storage system |
KR101603202B1 (ko) | 2009-09-21 | 2016-03-14 | 삼성전자주식회사 | 이기종 멀티프로세서 시스템 온 칩에서의 rpc 데이터 배치 방법 및 장치 |
US9575974B2 (en) | 2013-10-23 | 2017-02-21 | Netapp, Inc. | Distributed file system gateway |
US9507800B2 (en) | 2013-10-23 | 2016-11-29 | Netapp, Inc. | Data management in distributed file systems |
US9274722B2 (en) | 2013-12-06 | 2016-03-01 | Concurrent Ventures, LLP | System, method and article of manufacture for monitoring, controlling and improving storage media system performance |
US10048895B2 (en) | 2013-12-06 | 2018-08-14 | Concurrent Ventures, LLC | System and method for dynamically load balancing storage media devices based on a mid-range performance level |
US10235096B2 (en) * | 2013-12-06 | 2019-03-19 | Concurrent Ventures, LLC | System and method for dynamically load balancing storage media devices based on an average or discounted average sustained performance level |
US9436404B2 (en) * | 2013-12-06 | 2016-09-06 | Concurrent Ventures, LLC | System and method for dynamically load balancing across storage media devices having fast access rates |
JP6291937B2 (ja) * | 2014-03-19 | 2018-03-14 | 日本電気株式会社 | ブロックストレージ、ストレージシステム、コンピュータシステム、ブロックストレージ制御方法、ストレージシステム制御方法およびプログラム |
US11042330B2 (en) * | 2017-03-01 | 2021-06-22 | Samsung Electronics Co., Ltd. | Methods and systems for distributed data storage |
US10671557B2 (en) | 2018-09-25 | 2020-06-02 | International Business Machines Corporation | Dynamic component communication using general purpose links between respectively pooled together of like typed devices in disaggregated datacenters |
US10915493B2 (en) | 2018-09-25 | 2021-02-09 | International Business Machines Corporation | Component building blocks and optimized compositions thereof in disaggregated datacenters |
US10802988B2 (en) * | 2018-09-25 | 2020-10-13 | International Business Machines Corporation | Dynamic memory-based communication in disaggregated datacenters |
US10637733B2 (en) | 2018-09-25 | 2020-04-28 | International Business Machines Corporation | Dynamic grouping and repurposing of general purpose links in disaggregated datacenters |
US11650849B2 (en) | 2018-09-25 | 2023-05-16 | International Business Machines Corporation | Efficient component communication through accelerator switching in disaggregated datacenters |
US11163713B2 (en) | 2018-09-25 | 2021-11-02 | International Business Machines Corporation | Efficient component communication through protocol switching in disaggregated datacenters |
US11182322B2 (en) | 2018-09-25 | 2021-11-23 | International Business Machines Corporation | Efficient component communication through resource rewiring in disaggregated datacenters |
US11012423B2 (en) | 2018-09-25 | 2021-05-18 | International Business Machines Corporation | Maximizing resource utilization through efficient component communication in disaggregated datacenters |
US10831698B2 (en) | 2018-09-25 | 2020-11-10 | International Business Machines Corporation | Maximizing high link bandwidth utilization through efficient component communication in disaggregated datacenters |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01173236A (ja) * | 1987-12-28 | 1989-07-07 | Nec Corp | ファイル格納媒体選択方式 |
JPH04165541A (ja) * | 1990-10-30 | 1992-06-11 | Hitachi Ltd | ファイル再配置方法 |
JPH04299747A (ja) * | 1991-03-28 | 1992-10-22 | Omron Corp | 情報処理装置に於けるデータ管理システム |
US5333315A (en) | 1991-06-27 | 1994-07-26 | Digital Equipment Corporation | System of device independent file directories using a tag between the directories and file descriptors that migrate with the files |
US6330621B1 (en) | 1999-01-15 | 2001-12-11 | Storage Technology Corporation | Intelligent data storage manager |
-
2001
- 2001-12-13 US US10/498,372 patent/US7197618B2/en not_active Expired - Fee Related
- 2001-12-14 FR FR0116204A patent/FR2833726B1/fr not_active Expired - Fee Related
-
2002
- 2002-12-13 JP JP2003555381A patent/JP4405806B2/ja not_active Expired - Fee Related
- 2002-12-13 AT AT02796912T patent/ATE306693T1/de not_active IP Right Cessation
- 2002-12-13 WO PCT/FR2002/004351 patent/WO2003054735A1/fr active IP Right Grant
- 2002-12-13 CA CA002466933A patent/CA2466933A1/fr not_active Abandoned
- 2002-12-13 DE DE60206656T patent/DE60206656T2/de not_active Expired - Fee Related
- 2002-12-13 CN CNB028249895A patent/CN1280760C/zh not_active Expired - Fee Related
- 2002-12-13 EP EP02796912A patent/EP1454269B1/fr not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104471548A (zh) * | 2012-04-20 | 2015-03-25 | 尹摩特斯公司 | 采用数据管理机制的存储系统及其操作的方法 |
Also Published As
Publication number | Publication date |
---|---|
DE60206656T2 (de) | 2006-07-06 |
JP4405806B2 (ja) | 2010-01-27 |
JP2005534084A (ja) | 2005-11-10 |
FR2833726B1 (fr) | 2004-03-05 |
WO2003054735A1 (fr) | 2003-07-03 |
EP1454269B1 (fr) | 2005-10-12 |
EP1454269A1 (fr) | 2004-09-08 |
US7197618B2 (en) | 2007-03-27 |
ATE306693T1 (de) | 2005-10-15 |
US20050033749A1 (en) | 2005-02-10 |
CN1605078A (zh) | 2005-04-06 |
DE60206656D1 (de) | 2005-11-17 |
CA2466933A1 (fr) | 2003-07-03 |
FR2833726A1 (fr) | 2003-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1280760C (zh) | 在数据存储装置的异构组中分配对象的方法和设备 | |
CN1300693C (zh) | 用于调节系统资源的使用的装置及其方法 | |
CN1220946C (zh) | 管理计算环境的分区组的方法和系统 | |
CN1391671A (zh) | 计算环境中的工作负载管理 | |
CN1115277C (zh) | 车辆组装线控制系统和方法 | |
CN1600005A (zh) | 通信网中对用户进行调度的系统和方法 | |
CN1610347A (zh) | 在基于群集的系统内管理性能及资源利用率的方法和设备 | |
CN1070681C (zh) | 确定基站位置的方法及应用该方法的装置 | |
CN1147648A (zh) | 数据存储装置及存储方法 | |
CN1706165A (zh) | 用于网络场通信控制的方法和装置 | |
CN1922560A (zh) | 生产线平衡控制方法、生产线平衡控制装置及元件安装机 | |
CN1787424A (zh) | 适于带宽变化的链路分层共享和管理域的带宽重分配方法 | |
CN1698051A (zh) | 程序、数据处理方法和数据处理装置 | |
CN101031886A (zh) | 网络系统、管理计算机、集群管理方法以及计算机程序 | |
CN101042649A (zh) | 一种配置信息处理方法及装置以及平台系统 | |
CN1815915A (zh) | 多入多出通信设备及其信道扫描方法 | |
CN1801813A (zh) | 一种动态内容播放方法与装置 | |
CN1975676A (zh) | 多节点计算机系统和用于监视其性能的方法 | |
CN1846223A (zh) | 元件装配顺序的优化方法和元件装配顺序的优化设备 | |
CN1755661A (zh) | 信息处理装置以及方法和程序 | |
CN1826012A (zh) | 数字蜂窝通信系统中用户改组的方法和设备 | |
CN1741672A (zh) | 一种小区资源分配方法 | |
CN110084507B (zh) | 云计算环境下分级感知的科学工作流调度优化方法 | |
CN1474568A (zh) | 多通道数据直接内存访问系统和方法 | |
CN1929671A (zh) | 无线信道分配方法 |
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 | ||
C56 | Change in the name or address of the patentee |
Owner name: SINODES CO.,LTD. Free format text: FORMER NAME OR ADDRESS: STORAGENCY |
|
CP01 | Change in the name or title of a patent holder |
Address after: French Kolo Mi Jerzy Patentee after: SIRONA, Inc. Address before: French Kolo Mi Jerzy Patentee before: Storagency |
|
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20061018 Termination date: 20100113 |