<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Luanzheng "Lenny" Guo | UCSC OSPO</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/luanzheng-lenny-guo/</link><atom:link href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/luanzheng-lenny-guo/index.xml" rel="self" type="application/rss+xml"/><description>Luanzheng "Lenny" Guo</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><image><url>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/luanzheng-lenny-guo/avatar_hu3b26cb84cddba6ce485d3f67769a7aa3_62486_270x270_fill_q75_lanczos_center.jpg</url><title>Luanzheng "Lenny" Guo</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/luanzheng-lenny-guo/</link></image><item><title>Reproducible CXL Emulation</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre26/ucmerced/cxl_emu/</link><pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre26/ucmerced/cxl_emu/</guid><description>&lt;p>Compute Express Link (CXL) is an emerging memory interconnect standard that enables shared, coherent memory across CPUs, accelerators, and multiple hosts, unlocking new possibilities in hyperscale, HPC, and disaggregated systems. However, because access to real multi-host CXL hardware is limited, it is difficult for researchers and students to experiment with, evaluate, and reproduce results on advanced CXL topologies.
OCEAN (Open-source CXL Emulation At Hyperscale) [https://github.com/cxl-emu/OCEAN] is a full-stack CXL emulation platform built on QEMU that enables detailed emulation of CXL 3.0 memory systems, including multi-host shared memory pools, coherent fabric topologies, and latency modeling. This project will create reproducible experiment pipelines, automated deployment workflows, and user-friendly tutorials so that others can reliably run and extend CXL emulation experiments without requiring specialized hardware.&lt;/p>
&lt;h3 id="reproducible-cxl-emulation-for-multi-host-memory-systems">Reproducible CXL Emulation for Multi-Host Memory Systems&lt;/h3>
&lt;p>Streamline multi-host CXL emulation without specialized hardware.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> &lt;code>CXL emulation&lt;/code> &lt;code>Memory Systems&lt;/code> &lt;code>Reproducibility&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> C/C++, Virtualization (QEMU), Scripting, Performance Modeling&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Medium&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="mailto:mrafi@ucmerced.edu">Mujahid Al Rafi&lt;/a>, &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/luanzheng-lenny-guo/">Luanzheng &amp;quot;Lenny&amp;quot; Guo&lt;/a>.&lt;/li>
&lt;/ul>
&lt;p>Tasks:&lt;/p>
&lt;ul>
&lt;li>Create automated deployment scripts and configuration templates for OCEAN-based CXL emulation topologies (single-host and multi-host).&lt;/li>
&lt;li>Develop a standardized experiment harness for running memory performance benchmarks (e.g., OSU micro-benchmarks, STREAM-style tests) in emulated CXL environments.&lt;/li>
&lt;li>Build reproducible experiment pipelines that others can run to evaluate latency, bandwidth, and scaling properties of CXL memory systems.&lt;/li>
&lt;li>Produce tutorials, documentation, and reproducibility artifacts to guide new users through setup, execution, and analysis.&lt;/li>
&lt;li>Package and contribute all scripts, configurations, and documentation back to the OCEAN open-source repository.&lt;/li>
&lt;/ul>
&lt;h3 id="exploring-security-and-isolation-in-cxl-based-memory-systems">Exploring Security and Isolation in CXL-Based Memory Systems&lt;/h3>
&lt;p>Investigate security and isolation properties of CXL-based memory systems using software emulation.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> &lt;code>CXL Systems&lt;/code> &lt;code>Security&lt;/code> &lt;code>Memory Isolation&lt;/code> &lt;code>Side Channel&lt;/code> &lt;code>Emulation&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> C/C++, Virtualization (QEMU), Scripting, Computer Architecture, Security&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Medium&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="mailto:mrafi@ucmerced.edu">Mujahid Al Rafi&lt;/a>, &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/luanzheng-lenny-guo/">Luanzheng &amp;quot;Lenny&amp;quot; Guo&lt;/a>.&lt;/li>
&lt;/ul>
&lt;p>Tasks:&lt;/p>
&lt;ul>
&lt;li>Study the CXL memory model and fabric architecture to identify potential security and isolation risks in multi-host shared memory environments (e.g., contention, timing variation, and resource interference).&lt;/li>
&lt;li>Set up multi-host or multi-VM CXL emulation environments using OCEAN that mimic realistic multi-tenant deployments.&lt;/li>
&lt;li>Design and implement reproducible micro-benchmarks to measure timing, bandwidth contention, or observable interference through shared CXL memory pools.&lt;/li>
&lt;li>Analyze how fabric configuration choices (e.g., topology, latency injection, memory partitioning, or allocation policies) affect isolation and leakage behavior.&lt;/li>
&lt;li>Explore and prototype mitigation strategies—such as memory partitioning, throttling, or policy-driven allocation—and evaluate their effectiveness using the emulation platform.&lt;/li>
&lt;/ul></description></item><item><title>AI for Science: Automating Domain Specific Tasks with Large Language Models</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/ucr/domain-automation/</link><pubDate>Sun, 23 Feb 2025 21:30:56 -0800</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/ucr/domain-automation/</guid><description>&lt;p>Recent advancements in Large Language Models (LLMs) have transformed various fields by demonstrating remarkable capabilities in processing and generating human-like text. This project aims to explore the development of an open-source framework that leverages LLMs to enhance discovery across specialized domains.&lt;/p>
&lt;p>The proposed framework will enable LLMs to analyze and interpret complex datasets, automate routine tasks, and uncover novel insights. A key focus will be on equipping LLMs with domain-specific expertise, particularly in areas where specialized tools &amp;ndash; such as ANDES &amp;ndash; are not widely integrated with LLM-based solutions. By bridging this gap, the framework will empower researchers and professionals to harness LLMs as intelligent assistants capable of navigating and utilizing niche computational tools effectively.&lt;/p>
&lt;h3 id="ai-for-science-automating-domain-specific-tasks-with-large-language-models">AI for Science: Automating Domain Specific Tasks with Large Language Models&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: &lt;code>Large Language Models&lt;/code> &lt;code>AI for Science&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: Python, Experience with LLMs, Prompt Engineering, Fine-Tuning, LLM Frameworks&lt;/li>
&lt;li>&lt;strong>Difficulty&lt;/strong>: Medium-Difficult&lt;/li>
&lt;li>&lt;strong>Size&lt;/strong>: Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentor&lt;/strong>: [Daniel Wong]&lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/daniel-wong/">Daniel Wong&lt;/a>, [Luanzheng &amp;ldquo;Lenny&amp;rdquo; Guo]&lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/luanzheng-lenny-guo/">Luanzheng &amp;#34;Lenny&amp;#34; Guo&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="project-tasks-and-milestones">Project Tasks and Milestones&lt;/h3>
&lt;ul>
&lt;li>Designing an extensible framework that facilitates the integration of LLMs with specialized software and datasets.&lt;/li>
&lt;li>Developing methodologies for fine-tuning LLMs to act as domain experts.&lt;/li>
&lt;li>Implementing strategies for improving tool interoperability, allowing LLMs to interact seamlessly with less commonly used but critical analytical platforms.&lt;/li>
&lt;/ul></description></item><item><title>Enhancing Reproducibility in Distributed AI Training: Leveraging Checkpointing and Metadata Analytics</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/pnnl/reproducibility_w_checkpoint/</link><pubDate>Fri, 21 Feb 2025 09:00:00 -0700</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/pnnl/reproducibility_w_checkpoint/</guid><description>&lt;p>Reproducibility in distributed AI training is a crucial challenge due to several sources of uncertainty, including stragglers, data variability, and inherent randomness. Stragglers—slower processing nodes in a distributed system—can introduce timing discrepancies that affect the synchronization of model updates, leading to inconsistent states across training runs. Data variability, stemming from non-deterministic data shuffling and differing data partitions across nodes, can also lead to variations in model performance. Additionally, inherent randomness in algorithm initialization, such as random weight beginnings and stochastic processes like dropout, further compounds these challenges. Reproducibility in AI is pivotal for ensuring the credibility of AI-driven scientific findings, akin to how reproducibility underpins traditional scientific research.&lt;/p>
&lt;p>To enhance AI reproducibility, leveraging metadata analytics and visualization along with saved checkpoints offers a promising solution. Checkpointing in AI training is a pivotal technique that involves saving snapshots of a model and its parameters at regular intervals throughout the training process. This practice is essential for maintaining progress in the face of potential interruptions, such as hardware failures, and enables the resumption of training without having to restart from scratch. In the context of distributed AI training, checkpointing also provides a framework for analyzing and ensuring reproducibility, offering a means to systematically capture and review the training trajectory of models. Analyzing checkpoints can specifically help identify issues like stragglers, which are slower computing nodes in a distributed system that can impede synchronized progress. For example, by examining the time stamps and resource utilization data associated with each checkpoint, anomalies in processing time can be detected, revealing nodes that consistently lag behind others. This analysis enables teams to diagnose performance bottlenecks and optimize resource allocation across the distributed system, ensuring smoother and more consistent training runs. By combining checkpointing with metadata analytics, it becomes possible to pinpoint the exact training iterations where delays occur, thereby facilitating targeted investigations and solutions to improve overall system reproducibility and efficiency.&lt;/p>
&lt;h3 id="workplan">Workplan&lt;/h3>
&lt;p>The proposed work will include: 1) Setting up a checkpointing system within the distributed AI training framework to periodically save model states and metadata; 2) Designing a metadata analysis schema for populating model and system statistics from the saved checkpoints; 3) Conducting exploratory data analysis to identify patterns, anomalies, and sources of variability in the training process; 4) Creating visualization tools to represent metadata insights with collected statistics and patterns; 5) Using insights from metadata analytics and visualization to optimize resource distribution across the distributed system and mitigate straggler effects; and 6) Disseminating results and methodologies through academic papers, workshops, and open-source contributions.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> &lt;code>Reproducibility&lt;/code> &lt;code>AI&lt;/code> &lt;code>distributed AI&lt;/code> &lt;code>checkpoint&lt;/code> &lt;code>metadata analysis&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> C/C++, Python&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Medium&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/luanzheng-lenny-guo/">Luanzheng &amp;quot;Lenny&amp;quot; Guo&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Enhancing Reproducibility in RAG Frameworks for Scientific Workflows</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/pnnl/llm_rag_reproducibility/</link><pubDate>Thu, 20 Feb 2025 09:00:00 -0700</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/pnnl/llm_rag_reproducibility/</guid><description>&lt;p>Retrieval-Augmented Generation (RAG) frameworks, which merge the capabilities of retrieval systems and generative models, significantly enhance the relevance and accuracy of responses produced by large language models (LLMs). These frameworks retrieve relevant documents from a large corpus and use these documents to inform the generative process, thereby improving the contextuality and precision of the generated content. Ensuring reproducibility in data queries using similarity search within these RAG frameworks is critical for maintaining the reliability and consistency of scientific workflows. Reproducibility ensures that the same input query consistently yields the same output, which is vital for scientific tasks that rely on precise and repeatable results. Inconsistencies can arise from various sources, affecting the trustworthiness of scientific outcomes. Differences in retrieval algorithms can lead to variable sets of documents being retrieved for the same query. Variations in data indexing methods can cause inconsistencies in how documents are ranked and accessed. The stochastic nature of LLM operations introduces an element of randomness in the generative process. Updates in datasets can also alter the baseline against which queries are processed and interpreted, leading to different results over time.&lt;/p>
&lt;p>This proposal aims to address these reproducibility challenges in similarity searches within RAG frameworks. This work involves analyzing the root causes of non-determinism, benchmarking and validating the consistency of query results, implementing enhancements to minimize variability, and developing tools and best practices to ensure reproducibility. Reproducibility in data queries can be influenced by several factors, including updates in datasets, differences in retrieval algorithms, varying data indexing methods, and the stochastic nature of LLM operations. Each of these factors can cause variability in the documents retrieved and in the generated responses. Ensuring consistency in query results across different runs is crucial for maintaining the integrity of LLM-driven scientific research, allowing researchers to confidently build upon prior work and achieve reliable, trustworthy outcomes.&lt;/p>
&lt;h3 id="workplan">Workplan&lt;/h3>
&lt;p>The proposed work will include: (1) Identifying sources of non-determinism and variability, such as algorithmic differences and indexing methods, in RAG; (2) Utilizing standardized scientific datasets to benchmark the reproducibility of similarity search results across different RAG frameworks; (3) Establishing protocols for handling dataset updates to ensure that such changes do not impact the reproducibility of similarity search results; and (4) Implementing mechanisms to track and document updates to datasets, ensuring that changes are reflected consistently across all instances of the RAG framework. By addressing these areas, the proposed work aims to mitigate challenges related to reproducibility in similarity search queries within RAG frameworks, ultimately enhancing the reliability and trustworthiness of scientific research outcomes.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> &lt;code>Reproducibility&lt;/code> &lt;code>LLM&lt;/code> &lt;code>RAG&lt;/code> &lt;code>Scientific Workflows&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> C/C++, Python&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Medium&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/luanzheng-lenny-guo/">Luanzheng &amp;quot;Lenny&amp;quot; Guo&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Exploration of I/O Reproducibility with HDF5</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/pnnl/h5_reproducibility/</link><pubDate>Wed, 19 Feb 2025 09:00:00 -0700</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/pnnl/h5_reproducibility/</guid><description>&lt;p>Parallel I/O is a critical component in high-performance computing (HPC), allowing multiple processes to read and write data concurrently from a shared storage system. &lt;a href="https://github.com/HDFGroup/hdf5" target="_blank" rel="noopener">HDF5&lt;/a>—a widely adopted data model and library for managing complex scientific data—supports parallel I/O but introduces challenges in I/O reproducibility, where repeated executions do not always produce identical results. This lack of reproducibility can stem from non-deterministic execution orders, variations in collective buffering strategies, and race conditions in metadata and dataset chunking operations within HDF5’s parallel I/O hierarchy. Moreover, many HDF5 operations that leverage &lt;a href="%28https://www.hdfgroup.org/wp-content/uploads/2020/02/20200206_ECPTutorial-final.pdf%29">MPI I/O&lt;/a> require collective communication; that is, all processes within a communicator must participate in operations such as metadata creation, chunk allocation, and data aggregation. These collective calls ensure that the file structure and data layout remain consistent across processes, but they also introduce additional synchronization complexity that can impact reproducibility if not properly managed. In HPC scientific workflows, consistent I/O reproducibility is essential for accurate debugging, validation, and benchmarking, ensuring that scientific results are both verifiable and trustworthy. Tools such as &lt;a href="https://github.com/hpc-io/h5bench" target="_blank" rel="noopener">h5bench&lt;/a>—a suite of I/O kernels designed to exercise HDF5 I/O on parallel file systems—play an important role in identifying these reproducibility challenges, tuning performance, and ultimately supporting the overall robustness of large-scale scientific applications.&lt;/p>
&lt;h3 id="workplan">Workplan&lt;/h3>
&lt;p>The proposed work will include (1) analyzing and characterizing parallel I/O operations in &lt;a href="https://www.hdfgroup.org/wp-content/uploads/2020/02/20200206_ECPTutorial-final.pdf" target="_blank" rel="noopener">HDF5&lt;/a> with &lt;a href="https://github.com/hpc-io/h5bench" target="_blank" rel="noopener">h5bench&lt;/a> miniapps, (2) exploring and validating potential reproducibility challenges within the parallel I/O hierarchy (e.g., MPI I/O), and (3) implementing solutions to address parallel I/O reproducibility.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> &lt;code>Parallel I/O&lt;/code> &lt;code>MPI-I/O&lt;/code> &lt;code>Reproducibility&lt;/code> &lt;code>HPC&lt;/code> &lt;code>HDF5&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> C/C++, Python&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Medium&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/luanzheng-lenny-guo/">Luanzheng &amp;quot;Lenny&amp;quot; Guo&lt;/a> and [Wei Zhang]&lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/wei-zhang/">Wei Zhang&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Smart Batching for Large Language Models</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/ucr/smartbatch/</link><pubDate>Sun, 09 Feb 2025 10:15:56 -0700</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/ucr/smartbatch/</guid><description>&lt;p>Sequence tokenization is a crucial step during Large Language Model training, fine-tuning, and inference. User prompts and training data are tokenized and zero-padded before being fed to the model in batches. This process allows models to interpret human language by breaking down complex sentences into simple token units that are numerically represented in a token set. However, the process of sequence padding for maintaining batch dimensions can introduce unnecessary overhead if batching is not properly done.&lt;/p>
&lt;p>In this project, we introduce Smart Batching, where we dynamically batch sequences in a fine-tuning dataset by their respective lengths. With this method, we aim to minimize the amount of zero padding required during sequence batching, which can result in improved and efficient fine-tuning and inference speeds. We also analyze this method with other commonly used batching practices (Longest Sequence, Random Shuffling) on valuable metrics such as runtime and model accuracy.&lt;/p>
&lt;h3 id="project-title">Project Title&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: &lt;code>Large Language Models&lt;/code> &lt;code>Fine-Tuning&lt;/code> &lt;code>AI&lt;/code> &lt;code>Transformers&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: Python, Pytorch, Large Language Models&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>Mentor&lt;/strong>: [Daniel Wong]&lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/daniel-wong/">Daniel Wong&lt;/a>, [Luanzheng &amp;ldquo;Lenny&amp;rdquo; Guo]&lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/luanzheng-lenny-guo/">Luanzheng &amp;#34;Lenny&amp;#34; Guo&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="project-tasks-and-milestones">Project Tasks and Milestones&lt;/h3>
&lt;ul>
&lt;li>Implement an open source smart batching framework based on HuggingFace to allow for dynamically grouping sequences of similar token lengths into batches&lt;/li>
&lt;li>Analyze runtime, padding, and model accuracy with smart batching and other commonly used batching practices&lt;/li>
&lt;li>Apply smart batching with distributed fine-tuning and observe large language model outputs&lt;/li>
&lt;/ul></description></item></channel></rss>