<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Juncheng Yang | UCSC OSPO</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/juncheng-yang/</link><atom:link href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/juncheng-yang/index.xml" rel="self" type="application/rss+xml"/><description>Juncheng Yang</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><image><url>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/juncheng-yang/avatar_hu978fdfd495fb44bd1602345583d801b9_860957_270x270_fill_q75_lanczos_center.jpg</url><title>Juncheng Yang</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/juncheng-yang/</link></image><item><title>CacheBench: Building a Benchmarking Suite for Cache Performance Evaluation</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/harvard/cachebench/</link><pubDate>Fri, 28 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/harvard/cachebench/</guid><description>&lt;h3 id="overview">Overview&lt;/h3>
&lt;p>In this project, we aim to develop a comprehensive benchmarking suite, CacheBench, for evaluating the performance of cache systems in modern computing environments. Caches play a crucial role in enhancing system performance by reducing latency and improving data access speeds. However, evaluating cache performance is a complex task that requires a diverse set of workloads and metrics to capture the cache&amp;rsquo;s behavior accurately. The current focus is on the eviction algorithms and if time permits, we will extend to other components of cache design.&lt;/p>
&lt;p>This project will have three main components:&lt;/p>
&lt;ol>
&lt;li>Implementing and benchmarking existing cache eviction algorithms in &lt;a href="https://libcachesim.com/" target="_blank" rel="noopener">libCacheSim&lt;/a> using large-scale simulation. This part will mainly focus on reproducing existing works.&lt;/li>
&lt;li>Developing a set of microbenchmarks and a platform for researchers to evaluate new designs with little effort in the future. This part will focus on building the open-source infrastructure for future research.&lt;/li>
&lt;li>Developing a leaderboard for the community to submit new algorithms and workloads. This part will focus on building the community and fostering adoption and collaboration.&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> storage systems, benchmarking, performance evaluation&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> C programming, web programming (e.g., node.js, React), database management&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Moderate&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large (350 hours).&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/juncheng-yang/">Juncheng Yang&lt;/a>, Yazhuo Zhang (&lt;a href="mailto:yazhuo@inf.ethz.ch">yazhuo@inf.ethz.ch&lt;/a>)&lt;/li>
&lt;/ul></description></item><item><title>IO logger: IO tracing in the modern computing era</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/harvard/iologger/</link><pubDate>Fri, 28 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/harvard/iologger/</guid><description>&lt;h3 id="overview">Overview&lt;/h3>
&lt;p>Storage systems are critical components of modern computing infrastructures, and understanding their performance characteristics is essential for optimizing system efficiency. There were many works from twenty to thirty years ago, but the landscape has changed significantly with the advent of&lt;/p>
&lt;ul>
&lt;li>cloud computing, virtualization, and storage disaggregation on the &lt;strong>server side&lt;/strong>&lt;/li>
&lt;li>ubiquitous fast wireless networking for &lt;strong>end users&lt;/strong> that make remote storage feasible&lt;/li>
&lt;li>AI and ML workloads that generate and move massive data both in the cloud and on the edge.&lt;/li>
&lt;/ul>
&lt;p>In this project, we aim to develop an IO logger, a tool for tracing, logging and analyzing IO operations in various computing environments. The IO logger will capture detailed information about read and write operations, latency, throughput, and other metrics to help researchers and practitioners understand the behavior of storage systems under different workloads and configurations. By providing a comprehensive view of IO performance, the IO logger will enable users to identify bottlenecks, optimize resource utilization, and improve system efficiency.&lt;/p>
&lt;p>This project will have two phases:&lt;/p>
&lt;ol>
&lt;li>IO logger for *NIX systems: Develop a tool leveraging eBPF and other tools for tracing IO operations on Linux and other Unix-like systems. The tool will capture detailed information about disk reads and writes, network transfers, and other IO activities, providing insights into system performance. The tool will be open-sourced, and we will work with industry partners and testbeds to integrate it into existing monitoring and analysis tools. Moreover, we will collect and open source the IO traces to benefit the community.&lt;/li>
&lt;li>IO logger for personal computing environment: Develop a tool for end-users to trace IO operations on their personal devices, such as laptops, desktops, and mobile phones. We will design and implement tools for three different platforms, Window, MacOS and Andriod. We will use the tools to collect IO traces from volunteers and real-world applications. providing insights into storage usage, network activity, and application performance. The tool will be user-friendly, lightweight, and privacy-preserving, ensuring that users can monitor their IO activities without compromising their data security.&lt;/li>
&lt;/ol>
&lt;p>Notable difference and challenges compared to the existing works are:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>more IO requests with rich features&lt;/strong>: open-source traces from previous works were collected all after page cache, which are often write-heavy, lose most IO requests, and do not provide enough features, e.g., process name. To address this, we will build a tool that can also records requests served by page cache, which requires the tool to be efficient and cannot impose significant overhead to the ruuning systems.&lt;/li>
&lt;li>&lt;strong>focus on new applications and workloads&lt;/strong>: the existing works were mostly outdated from the 1990s, during which the Internet has not been widely used, and applications are mostly processing local data and does not communicate with outside world. While there have been a few works looked into mobile storage a decade ago. The landscape has changed significantly since then, especially with the advent of AI and ML workloads that generate and move massive data both in the cloud and on the edge. This project will look into the difference and challenges brought by these new applications and workloads.&lt;/li>
&lt;/ul>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> tracing tool, operating system, eBPF, performance evaluation&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> C programming, system programming, eBPF, Linux kernel, mobile application development&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Hard&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large (350 hours).&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/juncheng-yang/">Juncheng Yang&lt;/a>&lt;/li>
&lt;/ul>
&lt;h4 id="related-works">Related works&lt;/h4>
&lt;ul>
&lt;li>[COSMOS] (&lt;a href="https://dl.acm.org/doi/abs/10.1145/3460095" target="_blank" rel="noopener">https://dl.acm.org/doi/abs/10.1145/3460095&lt;/a>)&lt;/li>
&lt;li>&lt;a href="https://dl.acm.org/doi/abs/10.1145/2987443.2987465" target="_blank" rel="noopener">mobile storage usage&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://dl.acm.org/doi/abs/10.1145/2043106.2043112" target="_blank" rel="noopener">mobile storage performance measurement&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://ieeexplore.ieee.org/abstract/document/7897092" target="_blank" rel="noopener">mobile application IO performance&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://dl.acm.org/doi/abs/10.1145/1140103.1140280" target="_blank" rel="noopener">stardust&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://dl.acm.org/doi/abs/10.1145/3149376" target="_blank" rel="noopener">GPFS&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>