支持分级存储设置中多个一次性表访问操作的方法和装置制造方法及图纸

技术编号:2837499 阅读:182 留言:0更新日期:2012-04-11 18:40
本发明专利技术的实施例提供了一种计算机系统,其包括第一存储器和第二存储器,其中所述第一存储器实质上快于所述第二存储器,并且其执行一种方法,所述方法包括以下步骤:接收来自扫描过程的对块的请求;利用请求队列串行化对块的请求;利用请求处理体过程R检查对块的请求,并且确定如果可能的话,是否可以从所述第一存储器实现所述请求;以及使用接口用于:获取尚未被调用过程处理的下一数据项,开始新的一次性表访问操作,以及结束一次性表访问操作。

【技术实现步骤摘要】

本专利技术涉及访问被称为表的数据项的集合。更具体地,本专利技术支持要求这种表中的每一项最多被访问一次的多个并行操作。假设存储器分级包括至少两层连接到快速存储器(例如,RAM)的慢速存储器(例如,磁盘)。
技术介绍
已经将不同的技术用于增加各种工作负荷的高速缓存区。最老的并且最基本的算法之一是LRU(最近最少使用,least recently used),其从最长时间未被访问过的高速缓存逐出页面。由于其小开销以及自由调节操作,LRU是当前很多数据库系统中选择的策略。此后已使用了LRU的很多变体。例子有LRU-K[E.J.O’Neil,P.E.O’Neil,and G.Weikum,“TheLRU-K Page Replacement Algorithm For Database Disk Buffering,”Proc.ACM SIGMOD Int.Conf.on Management of Data,pages 297-306,1993](其逐出这样的页面,即该页面的第K个最近的访问在过去是距离最久的),2Q[T.Johnson and D.Shasha,“2QA Low Overhead HighPerformance Buffer Management Replacement Algorithm,”Proc.Int.Conf.on Very Large Data Bases,pages 439-450,1994](其将LRU-K的对数开销降低到恒定开销),LFU[J.Robinson and M.Devarakonda,“DataCache Management Using Frequency-Based Replacement,”Proc.ACMSIGMETRICS Conf.,pages 134-142,1990](其逐出以最小频率被访问的页面),以及混合式的,例如LRFU[D.Lee,J.Choi,J.-H.Kim,S.H.Noh,S.L.Min,Y.Cho,and C.S.Kim,LRFUA Spectrum Of Policies ThatSubsumes The Least Recently Used And Least Frequently Used Policies,IEEE Trans.Computers,50(12)1352-1360,2001](结合LRU和LFU)和ARC[N.Megiddo and D.Modha,“Outperforming LRU With AnAdaptive Replacement Cache,”2004](其可以在不同的逐出策略之间自适应的切换)。[L.Belady,“A study of replacement algorithms for virtualstorage computers”IBM Systems Journal,5(2)78-101,1996]针对高速缓存替换问题给出了一种最优的脱机算法MIN,其逐出将来最久远地被访问的页面。所有的这些技术都(1)假设工作负荷是由对具体页面的请求组成的,并且(2)非常普遍(即适用于任何这样的工作负荷)。存在采用有关工作负荷的知识来改善高速缓存的系统。[例如,G.M.Sacco and M.Schkolnick,“A Mechanism For Managing The Buffer PoolIn A Relational Database System Using The Hot Set Model,”Proc.Int.Conf.on Very Large Data Bases,pages 257-262,1982]使用该知识导出查询执行期间页面的“热集(hot set)”。然后这可以用于以灵活的方式调度查询以防止不必要的页面交换。Chou和DeWitt[H.Chou and D.DeWitt,“An Evaluation Of Buffer Management Strategies For Relational DatabaseSystems,”Proc.Int.Conf.on Very Large Data Bases,pages 127-141,1985]通过使用多个页面缓冲器改善了这一技术,每个缓冲器基于访问类型(表扫描、索引访问等)具有其自己的逐出策略。这两种技术都可以降低高速缓存的遗漏量。然而,我们认为通过向高速缓存提供附加的自由度,即接下来要加载哪页或哪块,甚至可以进一步改善性能。诸如Red Brick[P.M.Fernandez,“Red brick warehousearead-mostly RDBMS for open SMP platforms,”Proc.ACM SIGMOD Int.Conf.on Management of Data,page 492,1994]和Teradata[T.Walter,“Explaining cache-NCR CTO Todd Walter answers your trickiestquestions on Teradata’s caching functionality”]的商业数据库厂商采用专有算法使数据库同步多个表扫描操作以便最大化缓冲区。该思想还被Harizopoulos等人进一步采用[S.Harizopoulos,V.Shkapenyuk,and A.Ailamaki.QPipe,“A simultaneously pipelined relational query engine,”Proc.ACM SIGMOD Int.Conf.on Management of Data,pages 383-394,2005]。他们提出有趣的想法用于一种新的数据库体系结构,该数据库体系结构试图最大化对从查询向下到页面访问级别的部分查询结果的重新利用。这通过在查询执行时间检测有效查询计划算子中的重叠来实现,并且然后通过将一个算子的结果管道输送到可能的所有独立的算子来对其进行使用。那篇文献中所讨论的算子中的两个是表和索引扫描算子。为此,作者提出使用一个扫描线程,其持续扫描所有的页面,而表扫描算子可以依附于该线程以及分离于该线程以便共享所扫描的页面。虽然该方法对于具有类似速度的扫描很有效,但是由于判定的估计开销上的变化,实际上扫描速度可以有很大余量的变化并且甚至单个扫描的速度通常决不是恒定的。因此,随着扫描可能开始逐渐漂移,获益也会越低。对不要求按照顺序读取整个表的这种较大灵活性存在需要。除了高速缓存或页面缓冲算法得到改善之外,已经研究了降低用于具有重叠数据访问的多个并行查询的磁盘访问代价的其它方法。这些方法包括多重查询优化[P.Roy,S.Seshadri,S.Sudarshan,and S.Bhobe,Efficient and extensible algorithms for multi query optimization,In Proc.ACM SIGMOD Int.Conf.on Management of Data,pages 249-260,2000](其要求事先已知所有的查询)以及查询结果高速缓存[J.S本文档来自技高网...

【技术保护点】
一种在包括第一存储器和第二存储器的计算机系统中的方法,其中所述第一存储器实质上快于所述第二存储器,所述方法包括:接收来自扫描过程的对块的请求;利用请求队列串行化对块的请求;利用请求处理体过程R检查对块的请求,并且确定 如果可能的话,是否可以从所述第一存储器实现所述请求;以及使用接口用于:获取尚未被调用过程处理的下一数据项,开始新的一次性表访问操作,以及结束一次性表访问操作。

【技术特征摘要】
US 2006-4-14 11/404,9661.一种在包括第一存储器和第二存储器的计算机系统中的方法,其中所述第一存储器实质上快于所述第二存储器,所述方法包括接收来自扫描过程的对块的请求;利用请求队列串行化对块的请求;利用请求处理体过程R检查对块的请求,并且确定如果可能的话,是否可以从所述第一存储器实现所述请求;以及使用接口用于获取尚未被调用过程处理的下一数据项,开始新的一次性表访问操作,以及结束一次性表访问操作。2.根据权利要求1的方法,其中所述检查请求的步骤包括接收来自所述请求队列的一组k个随后的请求,所述请求包括请求P1、P2、P3和P4;使用第一请求P1来确定是否返回以及要返回哪块;确定是否可以返回块b;以及将b返回给所述k个随后的请求的集合中所有的过程。3.根据权利要求2的方法,其中如果不能返回b,则所述方法进一步包括基于P3加载块b′;确定所述第一存储器中是否有足够的空间来加载b′;如果没有足够的空间,则基于P2舍弃块b″。4.根据权利要求3的方法,其中如果所述第一存储器中有足够的空间,则所述方法包括在所述第一存储器中加载块b′;将b′返回给所述随后的请求的集合中所有的过程。5.根据权利要求1的方法,其中所述随后的请求包括请求P1、P2、P3和P4,并且所述方法进一步包括步骤如果不能从所述第一存储器实现所述请求,则将所述请求添加到分离的交换过程S的交换队列。6.根据权利要求5的方法,其中R是来自R的请求队列的一组k个随后的请求,并且所述方法包括以下步骤...

【专利技术属性】
技术研发人员:CA朗TR马尔克姆斯B巴塔查尔吉
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1