发明名称 一种用于集群存储系统的全局缓存管理的方法
摘要 本发明公开了一种用于集群存储系统的全局缓存管理的方法。本发明在本地存储的层次之上增加全局缓存的抽象层,构成由系统中各存储节点相互协作、准确高效的全局缓存管理的方法;再通过定量测量各存储节点本地缓存中数据块的局部性强度、设定各自的评价数据块局部性强弱的基准、和定量测量各存储节点本地缓存的利用率,为节点的本地缓存管理和数据块迁移的决策提供准确可靠的依据。本发明能有效管理各存储节点的本地缓存,提高其本地缓存命中率,充分利用其他节点的本地缓存、在各节点的本地缓存之间进行准确高效的数据块迁移,消除由于数据块迁移而导致的不必要的磁盘访问,平衡各个存储节点的本地缓存的利用率,大大提高了系统的数据访问效率。
申请公布号 CN1996944A 申请公布日期 2007.07.11
申请号 CN200610124995.8 申请日期 2006.11.09
申请人 华中科技大学 发明人 谢长生;蔡斌;黄建忠;李怀阳
分类号 H04L12/56(2006.01);G06F12/00(2006.01);G06F12/08(2006.01);G06F15/163(2006.01) 主分类号 H04L12/56(2006.01)
代理机构 华中科技大学专利中心 代理人 曹葆青
主权项 1、一种用于集群存储系统的全局缓存管理的方法,其步骤包括:(1)初始化系统,在每个存储节点中设置一个本地时钟周期计数器LCT、一个本地数据块访问活动计数器LCA和一个本地定时器LTimer;为每个存储节点分配本地缓存空间;在系统启动时,各个存储节点协商一个共同的时钟周期计数器值ICT、一个共同的数据块访问活动计数器值ICA、以及一个共同的定时器到期间隔值ITimer;将各自的LCT、LCA和LTimer分别设置为ICT、ICA和ITimer的值;然后设置每个存储节点为IDLE状态,并且监控各自的数据块访问行为;(2)各个存储节点各自判断是否发生数据块的访问行为,如果发生了数据块的访问,则存储节点进入步骤(3),否则保持IDLE状态;(3)存储节点进行本地缓存管理,替换局部性强度最小的数据块;(4)根据数据块的访问频率各存储节点判断是否需要在本地缓存中进行数据块迁移,如果需要,则在本地缓存中选择待迁移的数据块,然后进入步骤(5),否则直接进入步骤(5);(5)进行时钟计数,将时钟周期计数器值LCT分配给访问的数据块,该LCT值称为该数据块的时钟周期编号DCN,然后将LCA的值加1,LTimer的值减1;(6)判断LTimer的值是否为0,如果LTimer的值为0,转步骤(7),否则转步骤(10);(7)将自身的LCT的值加1,附在时钟周期同步控制广播消息中,并将该广播消息发送给系统中所有的其他存储节点;然后接收当前时钟周期还没有结束的存储节点的响应消息;(8)判断自身的本地缓存中是否有待迁移的数据块;如果没有待迁移的数据块,则转步骤(2);如果有待迁移的数据块,则转步骤(9);(9)根据当前时钟周期还没有结束的存储节点的响应消息,在这些当前时钟周期还没有结束的存储节点中选择一个本地缓存利用率最低且低于自身本地缓存利用率的存储节点,然后将待迁移的数据块迁移到该存储节点的本地缓存中,完成后进入步骤(2);(10)当前时钟周期还没有结束的存储节点按照下述步骤接收时钟周期同步控制广播消息,并且响应该时钟周期同步控制消息,完成后进入步骤(2):(10.1)判断是否接收到主动存储节点发送的消息,主动存储节点是指发送时钟周期同步控制广播消息的存储节点;如果没有接收到,则转步骤(2);如果接收到了则转步骤(10.2);(10.2)判断时钟周期同步控制广播消息中的LCT的值是否大于自身的LCT的值;如果大于进入步骤(10.3),否则,直接转步骤(2);(10.3)响应时钟周期同步控制消息,将本地缓存中的所有数据块中的最小DCN的值MinDCN、LCA的值和自身的IP地址附在时钟周期同步控制的响应消息中,并发送时钟周期同步控制响应消息给主动存储节点;(10.4)重新设置自身的LTimer为ITimer,并且使用时钟周期同步控制广播消息中的LCT的值作为自身LCT的当前值,设置LCA的值为ICA;(11)重复上述步骤(2)-(10),直到系统停止。
地址 430074湖北省武汉市洪山区珞喻路1037号