徐宝宇,廖 涛
(1.上海大学计算机工程与科学学院,上海200072;2.上海大学高性能计算中心,上海200072;3.安徽理工大学计算机科学与工程学院,安徽淮南232001)
由于信息数据进入高速增长的时代,在满足存储容量需求的同时,用户需要根据数据的特性选择相应的存储介质进行存储以提高存储系统的性价比。分层存储系统就是将数据存储在不同层次的介质中,并在它们之间进行自动或者手动的数据移动和读写等操作[1]。因此设计一个数据迁移策略来实现数据在各个存储层及时有效的迁移是个关键的问题。
在数据迁移中,迁移时间的确定尤为重要,它必须考虑到使用存储的应用需求以及存储系统本身的特性。例如在数据的容灾备份中,迁移时间可根据数据的安全需求来设计;对一些商业存储系统,迁移时间可根据业务流程来设计;而在高性能计算中,由于各个计算任务的规模和复杂度等各不相同,计算和存储过程不明确,迁移时间设计就比较复杂。同时,高性能计算追求较快的存储速度,因此提高高速存储层的利用率也非常重要。
目前国内外对分层存储中数据迁移技术进行了大量的研究[2-12],但对迁移时间研究相对较少。文献 [13]根据存储容量来设置数据迁移的时间。若将容量设置过高,可能会因为存储层内数据增至过快而导致迁移失败,设置偏低会降低存储的使用率。因此迁移时间的设计需要分析数据的增长趋势和存储系统传输速率对迁移的影响。
分层存储系统一般包括三部分。第一部分是磁盘池,它包括了多种存储介质的物理磁盘,并可通过这些介质的物理特性进行分层管理。例如由SSD硬盘、SATA硬盘构建的存储系统中,可分为SSD层和SATA层。第二部分是位于中间的存储控制部分,它具有管理数据分布和迁移、实现存储虚拟化等功能。最后部分是提供给不同应用使用的逻辑存储系统,它一般由Volume组成。整个分层存储基本架构如图1所示。
图1 分层存储系统的基本架构
分层存储控制层中的数据迁移实际上是在多层存储内基于策略的自动放置文件的过程。迁移一般过程是:根据策略规则,系统在指定的存储层创建和扩展一些文件;当迁移被触发且执行时,将文件价值满足迁移条件的文件重定位到相应的存储层,实现迁移。其中文件开始迁移的时间称为迁移时间。文件价值指的是文件在整个文件系统中的重要性和活跃度,它决定了数据迁移策略能否有效执行。迁移条件根据实际需求来设定,由迁移条件决定参与迁移的文件。
某一层存储的数据迁移时间与存储容量相关,但简单或凭经验去设置一个容量值来确定迁移时间是不合理的,它没有反映存储容量的变化趋势,也没有结合存储设备的特性和应用需求来使用存储,同时可能造成因容量增长过快而无法及时地迁出数据的情况,即迁移堵塞。本文从存储系统的传输速率、存储层使用量和使用量的变化趋势三方面来考虑迁移时间,下面给出它们的描述。
存储系统的传输速率。存储系统的传输速率包括读出/写入存储系统的速率和系统内部数据在各存储层迁移的速率。它们受限于文件系统、网络、raid设置、存储系统和存储介质等因素。实际的速率值取各相关因素对应速率中的最小值。
存储使用量。记录存储介质内存放数据的容量大小。它包括存储层的使用量和存储系统的使用量。
存储层使用量增长率。反映存储层的使用量在某个时间段的增长趋势。
如果存储层的使用量在某个时间段按固定的速率增长,称之为线性增长 (linear increase,LI),反之是非线性增长(nonlinear increase,NI)。在非线性增长的情况下,如果增长率高于固定的增长率,表明存储层使用量高速增长 (super linear increase,SLI),反之表明存储层使用量低速增长(low linear increase,LLI)。图2显示了LI、SLI和LLI在一段时间内存储层容量的变换。
由图2可知,在某段时间内,当存储层使用量以LI变化时有
式中:β(t)——存储层使用量的函数。
当存储层使用量以SLI变化时有
当存储层使用量以LLI变化时有
在数据存储过程中,如果存储层使用量增长过快,并且存储系统本身传输速率比较低,就需要对它进行数据迁移,以免迁移堵塞导致迁移失败。
迁移上限和迁移下限。它们是一个使用量的阀值,迁移上限大于或等于迁移下限。
由上述迁移条件,本文设计了迁移时间的判定过程,如下:
(1)定时监控某存储层使用量,当其超过迁移下限a时,进入 (2)。
(2)若使用量继续增加超过迁移上限b时 (b>a),执行 (4)。反之进入第 (3)步。
(3)若写入存储系统的速率超过存储系统内部数据迁出最大速率时,或在单位时间t内满足表达式 (2),则执行第 (4)步。反之转到第 (2)步。
(4)执行数据迁移。
(5)数据迁移完毕。
本文结合使用量变化趋势、传输速率和迁移上下限来设定迁移时间,能有效的缓解迁移堵塞。主要方法包括:降低式 (2)中固定速率,将符合迁移条件的文件数据提前迁移;降低迁移下限,扩大可执行迁移的时间范围。
迁移上限和下限的设置可改变存储层的利用率,将迁移上限和下限适当提高,就可提高相应存储层的利用率。
整个判定过程考虑了系统的硬件特性和应用的需求,并采用了数学公式进行定量分析,这为数据迁移的实现提供了很好的基础。
根据前文的描述,一个完整的数据迁移策略必须考虑分层存储设备的特性、应用的要求和数据的特征等方面,从迁移时间、文件的价值和迁移策略等来制定。
不同的应用决定文件价值的因素各不相同。这些因素有文件的访问时限、I/O热度,文件大小和文件安全性等等。本文主要分析迁移时间的作用,为避免其它因素对实验结果造成影响,仅考虑文件的访问时限,下面给出它的定义。
文件访问时限 (ACCAGE)。该参数记录了数据迁移的时间与应用程序上次访问该文件的时间之间的间隔。假设执行迁移的时间为T,文件a最近被访问的时间为ta,则ACCAGE=T-ta。若ACCAGE越大,表明在本次迁移之前,文件a越久没有被应用程序访问,因此文件a的价值就越低。
迁移过程中的迁移时间、文件价值和迁移条件等都需要准确的参数值。Symantec提供的FCL(file change log)工具可以记录文件系统中文件和目录的变化。尽管它不能记录实际数据的变化,但可通过文件的变化来记录数据大小、I/O读写、访问时间等信息。同时,我们可以通过加载FCL的头文件fcl.h和vxfsutil.h来使用FCL提供的API,编写相应的程序。本文采用FCL工具来获取文件的信息并计算相关参数作为数据迁移的文件价值。
数据迁移解决的是数值放置的问题。数据放置包括初始数据的放置和迁移后数据的放置。一般情况,初始数据是即将要使用的数据,可放在高速存储层上。如果高速存储层被完全使用,可自动将初始数据保存到下一层存储上以实现初始数据在整个分层存储的安全放置。
数据迁移需要根据实际需求确定迁移时间和迁移条件。当数据开始迁移时,系统将满足迁移条件的文件放置到指定存储层。迁移条件可根据应用需求来设定。例如可设置为一小时能未被访问的数据被迁移等。存储层的数据迁移过程如下:
(1)启动迁移监控器。
(2)记录文件信息,并按照文件价值大小排序。
(3)到达迁移时间,开始迁移满足迁移条件的数据。
(4)迁移完成后,重新记录文件信息。
(5)返回迁移监控器,等待下一次迁移启动。
图3是结合迁移时间的数据迁移流程。
图3 加入迁移时间的数据迁移流程
为测试迁移时间在迁移策略中所起的作用,本文将DX80和MSA1000存储整列提供的Volume整合为分层存储系统。
该存储系统通过4GB的光纤与上海大学自强3000高性能集群机相连。自强3000集群机主要运行与高性能计算相关的科学计算,计算任务涉及材料、力学、能源、生物、化学和计算机体系结构等领域,并运行了多种商业并行软件和自编并行程序。该集群机在2004年全球超级计算机TOP500排名列126位,计算速度领先于剑桥等英国大学所拥有计算机,超过日本多数大学,超过俄罗斯各大学计算机。2004年中国TOP 100名列第6位,国内高校名列第2 位[14]。
DX80和MSA1000两台存储整列通过千兆以太网相连,为高性能计算提供存储服务。其中DX80内部采用了8GB的交换总线,磁盘的持续读写速率为3020MB/S传输速率,MSA1000的平均传输速率也达到了320MB/S。由于传输大小文件的速率各不相同,千兆以太网的实测最高传输速率在40-80MB/S之间,而光纤的实测传输速率是千兆以太网的3-4倍左右。因此,本文构建的两层存储测试环境中传输速率主要受限于千兆以太网的传输速率。本文称DX80提供的存储为DX层,MSA1000提供的存储层为MSA层,容量分别为99GB和160GB。各个存储层的相关信息见表1。
表1 DX和MSA存储层的相关信息
我们将以存储层容量作为判定迁移时间的数据迁移策略和结合了本文迁移时间的数据迁移策略依次部署到该分层存储系统上,并将存储容量的80%作为容量阀值,该值决定前者的迁移时间。在本文的迁移时间设计中,迁移上下限分别设置为存储层容量的90%和80%。
由于DX80存储整列的传输速率相对较快,所以我们希望在高性能计算下提高DX80存储层的使用率。因此迁移策略设置如下:新数据被认为是即将要使用的数据,其文件价值最高,被首先被存放在高速的DX80存储层;其它文件价值按先后创建的顺序自小到大排列;若DX80到达迁移时间,文件价值小的数据将被迁移到MSA层。
图4显示了在两种迁移策略作用下,DX存储层使用量和存储系统存储使用量的变化,其中DX层-1是仅考虑存储容量的迁移策略,DX层-2是本文设计的迁移策略,上面的虚线表示迁移上限,下面的虚线表示迁移下限和容量阀值。由图可知,DX层-1的使用率整体低于DX层-2,并且随着系统存储量的加速增长,出现了迁移堵塞。
图4 两种迁移策略下的DX层和系统使用量变化
本文设计的迁移策略在数据长时间快速增长的极端情况下,也会出现迁移堵塞,但可以通过降低使用量变化公式中的固定速率来延迟迁移堵塞。图5的DX层-3和DX层-4中,固定速率分别为60MB/S和50MB/S,在相同的数据高速增长情况下,DX层-4能够将迁移堵塞延迟到DX层-3的4.9倍的时间发生。在实际应用中,存储层的存储空间远远大于本文的实验环境,因此该方法具有可行性。
图5 两种固定速率下DX层的使用量变化
在迁移时间的设计过程中,通过数学公式能容易判断存储层使用量的变化趋势。将变化趋势与系统的传输速率相结合,这能保证存储层使用量在可控的范围内波动,并在数据高速增长的情况下延缓了迁移堵塞,也就可以使用迁移上下限来提高存储层的使用率。本文为迁移时间的设定提供了理论方法,但在具体应用中仍然需要考虑文件价值、迁移策略等其它因素才能实现数据的合理迁移。
[1]Tiered storage and virtualization technology[EB/OL].[2011-04-26].http://baike.baidu.com/view/3679747.htm(in Chinese).[分层存储与虚拟化技术[EB/OL].[2011-04-26].http://baike.baidu.com/view/3679747.htm.
[2]Gong Zhang,Lawrence Chiu,Ling Liu.Adaptive data migration in multi-tiered storage based cloud environment[C]//3rd International Conference on Cloud Computing.Atlanta,GA,USA:Georgia Inst of Technol,2010:148-155.
[3]David Vengerov.A reinforcement learning framework for online data migration in hierarchical storage systems[J].The Journal of Supercomputing,2008,43(1):1-19.
[4]VermaA.An architecture for lifecycle management in very large file systems[C]//MProc of the 22nd IEEE/13th NASA Goddard Confon Mass storage System sand Technologies.India:IBM India Res.Lab,2005:160-168.
[5]Lv Shuai.Research on the data migratioon strategy of hierarchical mass storage system [J].Computer Engineering & Science,2009,31(A1):163-167.
[6]Vamplew P,Ollington R.Global versus local constructive function approximation for on-line reinforcement learning[C]//LNCS3809:Presented at the 18th Australian Joint Conference on Artificial Intelligence,Sydney,Australia.Published in Springer-Verlag,2005:113-121.
[7]Xing Lixian,Li Yanhong.Design and application of data migration system in hetertogeneous database[C]//China:International Forum Information Technology and Applications,2010:192-195.
[8]Zamzami I F,Fatani H A A,Zammarah N A H.Data migration challenges:The impact of data quality—case study of university Putra malaysia UPM [C]//Malaysia:International Conference on Research and Innovation in Information Systems,2011:1-5.
[9]Petrov D L,Tatarinov Y S.Data migration in the scalable storage cloud[C]//Russia:International Conference on Ultra Modern Telecommunications& Workshops,2009:1-4.
[10]Kokkinos P,Christodoulopoulos K,Kretsis A,et al.Data consolidation:A task scheduling and data migration technique for grid networks[C]//Patras:8th IEEE International Symposium Cluster Computing and the Grid,2008:722-727.
[11]Kari C,Yoo-Ah Kim,Russell A.Data migration in heterogeneous storage systems[C]//USA:31st International Conference on Distributed Computing Systems,2011:143-150.
[12]Gong Zhang,Chiu L,Dickey C,et al.Automated lookahead data migration in SSD-enabled multi-tiered storage systems[C]//USA:IEEE 26th Symposium Mass Storage Systems and Technologies,2010:1-6.
[13]Wang Min-Feng,Lin Wei-Tsun,Tang Cheng-Hsien,et al.Constructing storage capacity migration policies for information lifecycle management system [C]//Taiwan:12th IEEE international Conference on High Performance Computing and Communications,2010:503-508.
[14]ziqiang3000 high performance computing cluster in shanghai university[EB/OL].[2012-02-02].http://www.hpcc.shu.edu.cn/Default.aspx?tabid=14258(in Chinese).[上海大学自强3000高性能集群机[EB/OL].[2012-02-02].http://www.hpcc.shu.edu.cn/Default.aspx?tabid=14258.]