<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Haocheng Xia | UCSC OSPO</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/haocheng-xia/</link><atom:link href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/haocheng-xia/index.xml" rel="self" type="application/rss+xml"/><description>Haocheng Xia</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><image><url>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/haocheng-xia/avatar_hu86c53b2cf16158a830864ff8a9fa12cb_57240_270x270_fill_q75_lanczos_center.jpeg</url><title>Haocheng Xia</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/haocheng-xia/</link></image><item><title>Midterm Report: Simulation, Comparison, and Conclusion of Cache Eviction</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/harvard/cachebench/2025-08-06-haochengxia/</link><pubDate>Wed, 06 Aug 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/harvard/cachebench/2025-08-06-haochengxia/</guid><description>&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>&lt;strong>CacheBench&lt;/strong> is a benchmarking suite designed for comprehensive cache performance evaluation, with a particular focus on analyzing the miss ratios of various cache eviction algorithms.&lt;/p>
&lt;p>At the core of CacheBench lie two key components: the high-performance cache simulator, &lt;a href="https://github.com/1a1a11a/libCacheSim" target="_blank" rel="noopener">libCacheSim&lt;/a>, and the extensive &lt;a href="https://github.com/cacheMon/cache_dataset" target="_blank" rel="noopener">open-source cache datasets&lt;/a>, which collectively contain over 8,000 traces from diverse applications. This ensures broad coverage across a range of realistic workloads.&lt;/p>
&lt;p>Our primary goal is to evaluate all major and widely-used cache eviction algorithms on thousands of traces, in order to gain insights into their behaviors and design trade-offs. Additionally, we aim to identify and distill representative workloads, making benchmarking more efficient and comprehensive for future cache research.&lt;/p>
&lt;h2 id="progress-and-pain-points">Progress and Pain Points&lt;/h2>
&lt;p>We began by benchmarking prevalent eviction algorithms, including FIFO, LRU, CLOCK, LFU, Random, Belady (BeladySize), CAR, ARC, LIRS, LHD, Hyperbolic, GDSF, W-TinyLFU, 2Q, SLRU, S3-FIFO, SIEVE, and LeCaR. As we developed the suite, we made progressive improvements to both the simulator and dataset infrastructure. Our progress can be summarized as follows:&lt;/p>
&lt;ul>
&lt;li>Collected miss ratio results for all listed algorithms across 8,000+ traces.&lt;/li>
&lt;li>Identified best- and worst-performing traces for each algorithm, and conducted feature analysis of these traces.&lt;/li>
&lt;li>Developed Python bindings: To increase accessibility, we provided a Python package that allows users to easily download traces and run simulation analyses using &lt;a href="https://github.com/1a1a11a/libCacheSim" target="_blank" rel="noopener">libCacheSim&lt;/a> and the &lt;a href="https://github.com/cacheMon/cache_dataset" target="_blank" rel="noopener">cache datasets&lt;/a>.&lt;/li>
&lt;/ul>
&lt;p>However, analysis remains challenging because there is no universally accepted metric or baseline for objectively comparing cache eviction algorithms&amp;rsquo; performance across all workloads.&lt;/p>
&lt;h2 id="next-steps">Next Steps&lt;/h2>
&lt;p>For the second half of the project, my focus will shift to:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Evaluating More Complex Eviction Algorithms&lt;/strong>: Having concentrated mainly on static eviction policies so far (which are generally more deterministic and understandable), I will now investigate learning-based eviction algorithms such as LRB and 3L-Cache. These models incorporate learning components and incur additional computational overhead, making simulations slower and more complex.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Detailed Trace Analysis&lt;/strong>: Since eviction algorithms can have highly variable performance on the same trace, I plan to analyze why certain algorithms excel on specific traces while others do not. Understanding these factors is crucial to characterizing both the algorithms and the workload traces.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Constructing Representative Workload Sets&lt;/strong>: Based on ongoing simulations and trace analyses, I aim to identify a minimal but representative subset of traces that can serve as a basic evaluation suite, simplifying testing and improving accessibility.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="reflection">Reflection&lt;/h2>
&lt;p>This project has truly been the highlight of my summer. By evaluating a wide range of cache eviction algorithms, I&amp;rsquo;ve significantly deepened my understanding of cache design and its underlying principles.&lt;/p>
&lt;p>I&amp;rsquo;m especially grateful to my mentors for their constant support, patience, and guidance throughout this journey. It’s been a privilege to learn from you!&lt;/p>
&lt;p>I&amp;rsquo;m excited to see the final results of CacheBench!&lt;/p></description></item><item><title>Building a Benchmarking Suite for Cache Performance Evaluation</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/harvard/cachebench/2025-06-21-haochengxia/</link><pubDate>Sat, 21 Jun 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/harvard/cachebench/2025-06-21-haochengxia/</guid><description>&lt;p>Hi! I&amp;rsquo;m Haocheng Xia, a Computer Science student at the &lt;strong>University of Illinois Urbana-Champaign&lt;/strong>, passionate about the intersection of &lt;strong>machine learning and storage systems&lt;/strong>. Specifically, I&amp;rsquo;m keen on &lt;strong>workload analysis&lt;/strong> and &lt;strong>KV cache management for large language models&lt;/strong>.&lt;/p>
&lt;p>This summer, I&amp;rsquo;m happy to be a part of &lt;strong>SoR 2025&lt;/strong> and &lt;strong>OSRE 2025&lt;/strong>. I&amp;rsquo;m contributing to the &lt;strong>CacheBench&lt;/strong> project. My initiative, &lt;strong>&amp;lsquo;Building a Benchmarking Suite for Cache Performance Evaluation,&amp;rsquo;&lt;/strong> will create a robust platform. This involves extensive simulation of existing eviction algorithms using &lt;a href="https://github.com/cacheMon/libCacheSim" target="_blank" rel="noopener">libCacheSim&lt;/a>, developing microbenchmarks, and building a user-friendly platform for researchers to effortlessly evaluate novel cache designs. The ultimate goal is to establish a competitive leaderboard.&lt;/p>
&lt;p>My contributions will include a comprehensive dataset detailing simulated &lt;strong>miss ratios&lt;/strong> and &lt;strong>throughput&lt;/strong> of current cache eviction algorithms, an extension to &lt;a href="https://github.com/cacheMon/libCacheSim" target="_blank" rel="noopener">libCacheSim&lt;/a> for executing microbenchmarks both locally and on our online platform, and the creation and ongoing maintenance of a public web leaderboard. I&amp;rsquo;m grateful to be mentored by &lt;strong>Juncheng Yang&lt;/strong> and &lt;strong>Yazhuo Zhang&lt;/strong>.&lt;/p>
&lt;p>I&amp;rsquo;m thrilled to be part of building tools that empower users and advance the vision of a more decentralized web. Looking forward to a productive summer!&lt;/p></description></item></channel></rss>