PackCache: An Online Cost-driven Data Caching Algorithm in the Cloud
在本文中,我们研究了云环境中的数据缓存问题,其中多个经常共同使用的数据项可以打包为一个单一的项目被转移,以服务于一系列的数据请求动态降低成本。为此,我们提出了一个在线算法相对于一个同质的成本模型,称为PackCache,可以利用FP树技术挖掘那些经常共同使用的数据项进行包装,从而传入的请求可以具有成本效益的在线服务,利用预期的缓存的概念。我们证明了该算法是2α竞争的,在所研究的缓存问题上达到了任何确定性在线算法的竞争比的下限,并且在时间和空间上都有效地服务于请求。最后,我们通过实验研究来评估算法的性能,以显示其实际的成本效益和可扩展性。
2022-08-05 cs.DC cs.DS cs.NI
Optimal Online Algorithms for File-Bundle Caching and Generalization to Distributed Caching
我们考虑一个泛化的标准缓存问题,称为文件束缓存,不同的查询(任务),每个包含$l\ge 1$文件,顺序到达。一个在线算法,不知道查询的顺序提前必须自适应地决定什么文件保持在高速缓存中,以招致最小数量的高速缓存未命中。这里,高速缓存未命中是指查询中的至少一个文件在高速缓存文件中缺失的情况。在$l=1$的特殊情况下,该问题简化为标准高速缓存问题。我们首先分析了经典的最近最少使用(LRU)算法在这种情况下的性能,并表明LRU是一个接近最佳的在线确定性算法的文件束缓存方面的竞争比。然后,我们将我们的结果扩展到一个广义的$(h,k)$分页问题,在这个文件束设置,其中的性能与缓存大小$k$的在线算法相比,一个较小的缓存大小$h<k$的最佳离线基准。在后一种情况下,我们提供了一个随机的$O(l \ln \frac{k}{k-h})$竞争算法,我们的广义$(h,k)$寻呼问题,它可以被看作是一个经典的标记算法的扩展。我们完成了这个结果,提供了一个匹配的竞争比的下限,表明这种修改后的标记算法的性能是在任何随机化的在线算法的两个因素。最后,我们看看分布式版本的文件束缓存问题,其中有$m\ge 1$相同的缓存系统。在这种情况下,我们表明,对于$m=l+1$缓存,有一个确定性的分布式缓存算法,这是$(l^2+l)$竞争和随机分布式缓存算法,这是$O(l\ln(2l+1))$竞争时,$l\ge 2$。
2020-11-06 cs.DS cs.SY eess.SY
Beyond Worst-case Analysis of Multicore Caching Strategies
每个具有多个核心共享缓存的处理器都需要实现缓存替换算法。以前的工作表明,竞争比的一大类在线算法,包括最近最少使用(LRU),随着输入的长度增长。此外,即使是像Furthest-In-Future这样的离线算法,单核缓存中的最佳算法,也无法在多核设置中竞争。这些负面的结果促使通过替代分析措施更深入地比较多核缓存算法。具体来说,对手适应在线算法的能力表明需要对在线算法进行直接比较。在本文中,我们介绍了循环分析,双射分析的推广介绍了Angelopoulos和Schweitzer [JACM'13]。循环分析抓住了双射分析的优势,同时提供了灵活性,使其更适用于各种在线问题的比较算法。特别是,我们采取的第一个步骤超出了最坏情况下的分析多核缓存算法的分析。我们使用循环分析来建立多核缓存算法之间的关系,包括LRU在引用局部性存在的情况下优于所有其他多核缓存算法的优势。
2020-11-03 cs.DC cs.DS
Re-enabling high-speed caching for LSM-trees
LSM树已被Google、Facebook和Amazon广泛用于云计算系统,以实现写密集型工作负载的高性能。然而,在LSM树中,随机键值查询可能会经历长的延迟和低吞吐量,由于压缩的干扰,在算法中的基本操作,缓存。LSM树依赖于频繁的压缩操作来将数据合并到排序结构中。压缩后,原始数据被重新组织并写入磁盘上的其他位置。结果,缓存的数据由于其引用地址被更改而无效,从而导致严重的性能下降。我们提出dLSM,以便在密集写入期间重新启用高速缓存。dLSM是一个LSM树,在磁盘上有一个压缩缓冲区,用作缓冲,以最大限度地减少压缩导致的缓存失效。压缩缓冲区维护频繁压缩数据的一系列快照,这些快照表示底层LSM树中相应数据的一致视图。压缩缓冲区中的数据以比压缩低得多的速率更新,几乎是静止的。在dLSM中,对象由对应块的磁盘地址引用,对于频繁压缩的数据,该磁盘地址位于压缩缓冲区中,对于不频繁压缩的数据,该磁盘地址位于底层LSM树中。因此,热对象可以有效地保存在缓存中,而不会出现有害的无效。在一个小的磁盘压缩缓冲区的帮助下,dLSM实现了高查询性能,通过启用有效的缓存,同时保留了LSM树的所有优点,用于写密集型数据处理。我们实现了基于LevelDB的dLSM。我们的评估表明,使用标准的DRAM缓存,dLSM可以实现5- 8倍的性能提高LSM与相同的缓存在HDD存储。
2016-06-07 cs.DB cs.DS
Spatial Locality and Granularity Change in Caching
高速缓存利用时间和空间局部性来允许小的存储器提供对存储在大的、慢的存储器中的数据的快速访问。地方性的时间方面已经得到了很好的研究和理解,但空间方面的研究和理解就少得多了。我们试图通过定义和研究粒度变化缓存问题来增加对空间局部性的理解。这个问题通过将数据项分组到块中来修改传统的缓存设置,使得缓存可以选择块的任何子集来加载,其成本与加载块中的任何单个项相同。我们表明,这样的空间局部性建模显着改变缓存问题。这首先证明了粒度变化缓存在离线设置中是NP完全的,即使所有项目都有单位大小,所有块都有单位负载成本。在在线设置中,我们展示了确定性策略的竞争比的下限,这比传统的缓存要差得多。此外,我们提出了一个确定性的替换策略,称为项目块分层分区,并表明它获得了接近该下限的竞争比。此外,我们的边界揭示了一个新的问题,在粒度变化缓存问题中,离线缓存大小的选择会影响不同的在线算法相对于彼此的竞争力。为了解决这个问题,我们扩展了一个先验(时间)局部性模型来考虑空间局部性,并提供了一个一般的下界,除了项目块分层分区的上限。
2022-05-28 cs.DS
Online metric algorithms with untrusted predictions
针对不可信预测下的在线决策问题,本文为任意度量任务系统和线上在线匹配提出鲁棒预测设置,并利用在线算法理论证明其鲁棒性,为缓存设计了性能呈指数级提升的算法,经真实数据集验证具实用性。
2023-04-06 cs.DS
Competitive Online Search Trees on Trees
我们考虑设计自适应的数据结构搜索元素的树结构空间。我们使用基于旋转的在线二叉搜索树模型的自然推广,其中底层的搜索空间是树的顶点集。这个模型是基于一个简单的结构分解图,以前已知的几个名称,包括消除树,顶点排名和管道。当底层树为路径时,该模型与经典的二叉搜索树模型完全等价,在该模型中,我们描述了一种在线的$O(\log \log n)$ -竞争搜索树数据结构,与已知的二叉搜索树的最佳竞争比相匹配。我们的方法的灵感来自探戈树,一个在线二叉搜索树算法,但关键需要几个新的概念,包括一个我们称之为Steiner封闭搜索树,这可能是独立的利益。此外,我们的技术是基于一个新的使用两个层次的分解,首先从搜索空间的一组Steiner封闭树,其次从这些树到路径。
2019-08-02 cs.DS
Online Edge Coloring via Tree Recurrences and Correlation Decay
我们给出了一个在线算法,以高概率计算一个$\left(\frac{e}{e-1} + o(1)\right)Δ$边着色图$G$上的最大程度$Δ= ω(\log n)$在线边缘到达对不经意的对手,使第一个进展的猜想的Bar-Noy,Motwani,Naor在这个一般的设置。我们的算法是基于减少到一个匹配问题的局部树型图,然后应用树递归为基础的方法来争论相关衰减。
2021-11-01 cs.DS
Competitively Pricing Parking in a Tree
出于需求响应停车定价系统,我们考虑张贴价格算法的在线度量匹配问题和在线度量搜索问题的树度量。我们的主要结果是一个多对数竞争性公布价格算法在线测量搜索。
2020-10-02 cs.DS
Tight Bounds for Online Weighted Tree Augmentation
加权树扩充问题(WTAP)是网络设计中的一个基本问题。在本文中,我们考虑这个问题的在线设置。我们给出了一个$n$ -顶点生成树$T$和一个附加的边集$L$(称为链路)的成本。然后,终端对一个接一个地到达,我们的任务是维护链路$F$的低成本子集,使得到目前为止到达的每个终端对在$T \cup F$中是$2$ -边缘连接的。这个在线问题首先由Gupta,Krishnaswamy和Ravi(SICOMP 2012)研究,他们将其用作在线可生存网络设计问题的子例程。他们给出了一个确定性的$O(\log^2 n)$ -竞争算法,并给出了随机算法竞争比的$Ω(\log n)$下界。当$T$是一条路径时的情况也很有趣:这正是在线区间集覆盖问题,这也是Meyerson研究的停车许可问题的一个特例(FOCS 2005)。本文的贡献是给紧的结果在线加权树和路径扩充问题。这项工作的主要结果是一个确定性的$O(\log n)$竞争算法在线WTAP,这是紧到常数的因素。
2019-04-26 cs.DS
A Fast Algorithm for Online k-servers Problem on Trees
我们认为在线算法的$k$ -服务器问题的树。该问题存在一个$k$ -竞争算法,它是最佳竞争比. M. Chrobak和L.同时,现有的实现具有处理查询的$O(n)$时间复杂度和预处理的$O(n)$时间复杂度,其中$n$是树中的节点数。该算法的另一种实现具有用于处理查询的$O(k^2+k\log n)$时间复杂度和用于预处理的$O(n\log n)$。我们提供了一个新的时间效率的算法实现。它具有用于预处理的$O(n)$时间复杂度和用于处理查询的$O\left(k(\log n)^2\right)$时间复杂度。
2022-04-29 cs.DS
Fully-Online Suffix Tree and Directed Acyclic Word Graph Construction for Multiple Texts
我们认为建设的后缀树和有向无环字图(DAWG)索引数据结构的集合$\mathcal{T}$的文本,其中一个新的符号可以被附加到任何文本在$\mathcal{T} = \{T_1, \ldots, T_K\}$,在任何时候。在动态索引多传感器数据中出现的这种完全在线的场景是长期解决的半在线文本索引问题的自然概括,其中文本$T_1, \ldots, T_{k}$在为每个$1 \leq k < K$处理下一个文本$T_{k+1}$之前被永久固定。我们提出了在$O(N \log σ)$时间和$O(N)$空间中为$\mathcal{T}$构建后缀树和DAWG的全在线算法,其中$N$是$\mathcal{T}$中字符串的总长度,而$σ$是它们的字母大小。后缀树叶子边和一些DAWG边的标准显式表示在我们的完全在线场景中必须放松,因为在最坏的情况下需要对这些边进行太多的更新。相反,我们提供了对更新后的后缀树叶子边缘标签和DAWG边缘的访问,这些边缘将通过辅助数据结构以每个添加的字符的$O(\log σ)$时间重定向。
2018-07-12 cs.DS
Online Steiner Tree with Deletions
在在线Steiner树问题中,输入是一组一个接一个出现的顶点,我们必须在当前顶点集上维护一棵Steiner树。树的成本是树中边的总长度,我们希望这个成本在所有时间点都接近最优Steiner树的成本。如果我们只允许添加边,则$Θ(\log n)$关于竞争性的紧界是已知的。最近,它表明,如果我们可以添加一个新的边缘,并在每个顶点到达时交换一个边缘,我们可以保持一个恒定的竞争树在线。但是,如果顶点集既有添加又有删除,那该怎么办呢?同样,我们希望获得一个低成本的Steiner树,边的变化尽可能少。Imase和Waxman的原始论文也考虑了这个模型,并给出了一个贪心算法,该算法在线维护一个常数竞争树,并对第一个$n$请求进行最多$O(n^{3/2})$边更改。本文给出了以下两个结果。我们的第一个结果是一个在线算法,它只在删除时维护Steiner树:我们从一组顶点开始,每次从这个集合中删除一个顶点:我们的Steiner树不再需要跨越这个顶点。我们给出了一个算法,每次请求时只改变一个常数的边缘,并保持一个恒定的竞争树在任何时候。我们的算法使用原始-对偶框架和全局充电参数来仔细地进行这些恒定数量的更改。然后,我们研究了自然贪心算法提出的Imase和Waxman,保持一个恒定的竞争Steiner树的全动态模型(其中每个请求添加或删除一个顶点)。我们的第二个结果表明,该算法在摊销的意义上,每个请求只进…
2013-12-27 cs.DS
Efficient Representation for Online Suffix Tree Construction
基于后缀链接的后缀树构造算法由于实现简单、能在线性时间内在线运行、后缀链接往往便于模式匹配而受到广泛欢迎。我们提出了一种方法,使用面向边缘的后缀链接,它减少了分支查找操作的数量(已知是一个瓶颈,在建设时间)与一些额外的技术,以降低建设成本。我们讨论了我们的方法的各种影响,并将其与以前的技术进行比较。实验评估表明,我们能够减少建设时间的一半左右,原来的算法,约三分之二,以前已知的分支减少建设。
2014-07-14 cs.DS
Maximum Matching on Trees in the Online Preemptive and the Incremental Dynamic Graph Models
本文研究了树和一些特殊图类上的最大基数匹配(MCM)和最大权匹配(MWM)问题,并给出了在线抢占和增量动态图模型。在{ \em Online Preemptive}模型中,图的边被逐个显示,并且算法需要始终保持有效的匹配。在看到边缘时,算法必须接受或拒绝该边缘。如果接受,则丢弃相邻的边,并且所有拒绝都是永久性的。在该模型中,确定性算法解决了问题的复杂性。Epstein等人给出了MWM的一个$5.356$ -竞争随机算法,并证明了MCM的$1.693$的一个下界.同样的下限也适用于MWM。在本文中,我们表明,一些结果可以改善的情况下,树和一些特殊类别的图。在在线抢占模型中,我们提出了一个$64/33$ -竞争(在期望)随机算法的MCM树。受上述MCM算法的启发,我们给出了本文的主要结果,在增量动态图模型中,“最坏情况”更新时间为$O(1)$的MCM随机算法,该模型是树上的$3/2$ -近似(期望),和一般图上的$1.8$ -近似(期望),最大度为$3$ .请注意,此算法仅适用于不经意的对手。因此,我们将该算法去随机化,并给出了一个$(3/2 + ε)$ -近似确定性算法的MCM上的树,与一个摊销的更新时间为$O(1/ε)$。我们还提出了一个次要的结果MWM在线抢占模型,一个$3$竞争(在预期中)随机算法生长的树木(其中的输入显示到任何阶段总是一棵树,即一个新的边缘从来没有连接两个断开…
2018-01-20 cs.DS
Competitive caching with machine learned advice
Microsoft Research(微软研究院);Cornell University(康奈尔大学);Google(谷歌);Google Research(谷歌研究院)
传统的在线算法将不确定性下的决策封装起来,并提供了对冲所有可能的未来事件的方法,同时保证了与离线最优解相比接近最优解。另一方面,机器学习算法的业务是外推数据中发现的模式来预测未来,并且通常对预期的泛化误差有很强的保证。在这项工作中,我们开发了一个框架,用于增强在线算法与机器学习的预言,以实现竞争力的比率,可证明提高无条件的最坏情况下的下限时,预言有低错误。我们的方法将Oracle视为一个完整的黑盒子,并且不依赖于其内部工作或其错误的确切分布。我们将此框架应用于传统的缓存问题--为大小为$k$的缓存创建驱逐策略。我们证明,天真地按照甲骨文的建议可能会导致非常差的性能,即使平均错误是相当低的。相反,我们展示了如何修改标记算法,以考虑到预言机的预测,并证明这种结合的方法实现了竞争比,即(i)随着预言机的错误减少而减少,以及(ii)总是由$O(\log k)$封顶,这可以在没有任何预言机输入的情况下实现。我们补充了我们的结果与我们的算法在现实世界的数据集上的经验评估,并表明它表现良好的经验,即使使用简单的现成的预测。
2020-08-21 cs.DS cs.LG