CAPre:基于代码分析的持久对象存储预取
CAPre: Code-Analysis based Prefetching for Persistent Object Stores
摘要:
数据预取旨在通过预测可能被后续请求访问的数据记录并在需要它们之前将它们检索到内存缓存中来改善对数据存储系统的访问时间。在持久性对象存储的情况下,先前的预取方法是基于通过分析存储的模式而做出的预测,这生成严格的预测,或者在执行应用时监视对存储的访问模式,这引入了存储器和/或计算开销。在本文中,我们提出了CAPre,一个新的预取系统的持久对象存储的静态代码分析的面向对象的应用程序的基础上。CAPre在编译时生成预测,不会给应用程序执行带来任何开销。此外,CAPre能够预测在不久的将来将被访问的大量对象,从而使对象存储能够在对象是分布式的情况下以比基于模式的预测算法更积极的方式执行并行预取。我们将CAPre集成到一个分布式的持久对象存储中,并进行了一系列的实验,结果表明,它可以减少应用程序的执行时间从9%到50%以上,这取决于应用程序的性质及其持久数据模型。
英文摘要:
Data prefetching aims to improve access times to data storage systems by predicting data records that are likely to be accessed by subsequent requests and retrieving them into a memory cache before they are needed. In the case of Persistent Object Stores, previous approaches to prefetching have been based on predictions made through analysis of the store's schema, which generates rigid predictions, or monitoring access patterns to the store while applications are executed, which introduces memory and/or computation overhead. In this paper, we present CAPre, a novel prefetching system for Persistent Object Stores based on static code analysis of object-oriented applications. CAPre generates the predictions at compile-time and does not introduce any overhead to the application execution. Moreover, CAPre is able to predict large amounts of objects that will be accessed in the near future, thus enabling the object store to perform parallel prefetching if the objects are distributed, in a much more aggressive way than in schema-based prediction algorithms. We integrate CAPre into a distributed Persistent Object Store and run a series of experiments that show that it can reduce the execution time of applications from 9% to over 50%, depending on the nature of the application and its persistent data model.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。