<p>Due to the increasing demand for extreme-scale time-series data workloads in data centers, it is required to build a high-performance semantic caching that leverages the semantics and results of historical queries to answer new queries. Existing caching solutions either ignore query semantics, offering suboptimal performance, or focus only on specific scenarios with limited functionality. In this paper, we summarize time-series query patterns and propose the definition of semantic time-series caching for the first time. Accordingly, we present STsCache, a semantic time-series caching system on hybrid memory–flash storage. We propose a series of optimizations, such as slab-based semantic data management, semantic index, semantic value-driven batch eviction, deduplication insertion, and lazy compaction. We evaluated STsCache via benchmarks and production environments. STsCache can increase throughput of popular time-series databases (InfluxDB, TimescaleDB) by 4.8-10.8<InlineEquation ID="IEq1"> <EquationSource Format="TEX">\(\times \)</EquationSource> <EquationSource Format="MATHML"><math> <mo>×</mo> </math></EquationSource> </InlineEquation> and reduce latency by 79.9%-93.5%. Compared with the latest time-series caching (TSCache, BSCache), STsCache can increase throughput by 1.5-4.5<InlineEquation ID="IEq2"> <EquationSource Format="TEX">\(\times \)</EquationSource> <EquationSource Format="MATHML"><math> <mo>×</mo> </math></EquationSource> </InlineEquation>, reduce latency by 59.4%-81.9%, and increase hit ratios by 22.5%-82.4%. For larger-scale applications, we further present a distributed STsCache scheme, namely DiSTsCache. Concretely, we construct a semantic workload graph from historical queries, elegantly recasting the workload-assignment problem as a graph-partitioning problem, and propose both a heuristic initial graph partitioning algorithm and a continuous graph partitioning strategy. Extensive experiments show that DiSTsCache outperforms other advanced distributed caching schemes in load balancing and performance.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Towards caching time-series semantically on hybrid storage

  • Tao Kong,
  • Hui Li,
  • Liping Li,
  • Yuxuan Zhao,
  • Xiyue Gao,
  • Jiangtao Cui

摘要

Due to the increasing demand for extreme-scale time-series data workloads in data centers, it is required to build a high-performance semantic caching that leverages the semantics and results of historical queries to answer new queries. Existing caching solutions either ignore query semantics, offering suboptimal performance, or focus only on specific scenarios with limited functionality. In this paper, we summarize time-series query patterns and propose the definition of semantic time-series caching for the first time. Accordingly, we present STsCache, a semantic time-series caching system on hybrid memory–flash storage. We propose a series of optimizations, such as slab-based semantic data management, semantic index, semantic value-driven batch eviction, deduplication insertion, and lazy compaction. We evaluated STsCache via benchmarks and production environments. STsCache can increase throughput of popular time-series databases (InfluxDB, TimescaleDB) by 4.8-10.8 \(\times \) × and reduce latency by 79.9%-93.5%. Compared with the latest time-series caching (TSCache, BSCache), STsCache can increase throughput by 1.5-4.5 \(\times \) × , reduce latency by 59.4%-81.9%, and increase hit ratios by 22.5%-82.4%. For larger-scale applications, we further present a distributed STsCache scheme, namely DiSTsCache. Concretely, we construct a semantic workload graph from historical queries, elegantly recasting the workload-assignment problem as a graph-partitioning problem, and propose both a heuristic initial graph partitioning algorithm and a continuous graph partitioning strategy. Extensive experiments show that DiSTsCache outperforms other advanced distributed caching schemes in load balancing and performance.