# Rui's Blog

## Rui Pan's Blog

- [Rui's Blog/Paper Reading Notes - Introduction](https://blog.ruipan.xyz/master.md)
- [Personal Blog - Index](https://blog.ruipan.xyz/blog/blog-index.md)
- [How to Create Picture-in-Picture Effect / Video Overlay for a Presentation Video](https://blog.ruipan.xyz/blog/blog-index/how-to-create-picture-in-picture-effect-video-overlay-for-a-presentation-video.md)
- [How to Do Your Part to Protect the Environment in Wisconsin](https://blog.ruipan.xyz/blog/blog-index/how-to-do-your-part-to-protect-the-environment-in-wisconsin.md)
- [How to Get a Driver's License in Wisconsin](https://blog.ruipan.xyz/blog/blog-index/how-to-get-a-drivers-license-in-wisconsin.md)
- [How to Travel from the U.S. to China onboard AA127 in June 2021](https://blog.ruipan.xyz/blog/blog-index/aa127-hui-guo-ji.md): Shoot me an email at rpan33@wisc.edu if you have any further questions/need a guide in English!
- [How to Transfer Credits Back to UW-Madison](https://blog.ruipan.xyz/blog/blog-index/how-to-transfer-credits-back-to-uw-madison.md)
- [Resources on Learning Academic Writing (for Computer Science)](https://blog.ruipan.xyz/blog/blog-index/resources-on-learning-academic-writing-for-computer-science.md)
- [Towards applying to CS Ph.D. programs](https://blog.ruipan.xyz/blog/towards-applying-to-cs-ph.d.-programs.md)
- [Machine Learning Systems - Index](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index.md)
- [MLSys Papers - Short Notes](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/mlsys-papers-short-notes.md)
- [\[2011 NSDI\] Dominant Resource Fairness: Fair Allocation of Multiple Resource Types](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/dominant-resource-fairness-fair-allocation-of-multiple-resource-types.md)
- [\[2014 OSDI\] Scaling Distributed Machine Learning with the Parameter Server](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/scaling-distributed-machine-learning-with-the-parameter-server.md)
- [\[2018 OSDI\] Gandiva: Introspective Cluster Scheduling for Deep Learning](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/gandiva-introspective-cluster-scheduling-for-deep-learning.md)
- [\[2018 SIGCOMM\] Chameleon: Scalable Adaptation of Video Analytics via Temporal and Cross-camera ...](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/2018-sigcomm-chameleon-scalable-adaptation-of-video-analytics-via-temporal-and-cross-camera-....md): ...Correlations
- [\[2018 NIPS\] Dynamic Space-Time Scheduling for GPU Inference](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/2018-nips-dynamic-space-time-scheduling-for-gpu-inference.md)
- [\[2019 ATC\] Analysis of Large-Scale Multi-Tenant GPU Clusters for DNN Training Workloads](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/analysis-of-large-scale-multi-tenant-gpu-clusters-for-dnn-training-workloads.md)
- [\[2019 NSDI\] Tiresias: A GPU Cluster Manager for Distributed Deep Learning](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/tiresias-a-gpu-cluster-manager-for-distributed-deep-learning.md)
- [\[2019 SOSP\] ByteScheduler: A Generic Communication Scheduler for Distributed DNN Training ...](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/2019-sosp-bytescheduler-a-generic-communication-scheduler-for-distributed-dnn-training-....md): ...Acceleration
- [\[2019 SOSP\] PipeDream: Generalized Pipeline Parallelism for DNN Training](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/pipedream-generalized-pipeline-parallelism-for-dnn-training.md)
- [\[2019 SOSP\] Parity Models: Erasure-Coded Resilience for Prediction Serving Systems](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/2019-sosp-parity-models-erasure-coded-resilience-for-prediction-serving-systems.md)
- [\[2019 NIPS\] GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/gpipe-efficient-training-of-giant-neural-networks-using-pipeline-parallelism.md)
- [\[2019 SC\] ZeRO: memory optimizations toward training trillion parameter models](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/2019-sc-zero-memory-optimizations-toward-training-trillion-parameter-models.md)
- [\[2020 OSDI\] Gavel: Heterogeneity-Aware Cluster Scheduling Policies for Deep Learning Workloads](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/gavel-heterogeneity-aware-cluster-scheduling-policies-for-deep-learning-workloads.md)
- [\[2020 OSDI\] AntMan: Dynamic Scaling on GPU Clusters for Deep Learning](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/2020-osdi-antman-dynamic-scaling-on-gpu-clusters-for-deep-learning.md)
- [\[2020 OSDI\] BytePS: A High Performance and Generic Framework for Distributed DNN Training](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/byteps-a-high-performance-and-generic-framework-for-distributed-dnn-training.md)
- [\[2020 SIGCOMM\] Reducto: On-Camera Filtering for Resource-Efficient Real-Time Video Analytics](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/2020-sigcomm-reducto-on-camera-filtering-for-resource-efficient-real-time-video-analytics.md)
- [\[2020 MLSys\] Salus: Fine-Grained GPU Sharing Primitives for Deep Learning Applications](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/2020-sigcomm-reducto-on-camera-filtering-for-resource-efficient-real-time-video-analytics/salus-fine-grained-gpu-sharing-primitives-for-deep-learning-applications.md)
- [\[2020 EuroSys\] AlloX: Compute Allocation in Hybrid Clusters](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/allox-compute-allocation-in-hybrid-clusters.md)
- [\[2020 VLDB\] PyTorch Distributed: Experiences on Accelerating Data Parallel Training](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/pytorch-distributed-experiences-on-accelerating-data-parallel-training.md)
- [\[2020 NetAI\] Is Network the Bottleneck of Distributed Training?](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/2020-netai-is-network-the-bottleneck-of-distributed-training.md)
- [\[2020 NSDI\] Themis: Fair and Efficient GPU Cluster Scheduling](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/themis-fair-and-efficient-gpu-cluster-scheduling.md)
- [\[2021 MLSys\] Accordion: Adaptive Gradient Communication via Critical Learning Regime Identification](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/accordion-adaptive-gradient-communication-via-critical-learning-regime-identification.md)
- [\[2021 VLDB\] Analyzing and Mitigating Data Stalls in DNN Training](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/analyzing-and-mitigating-data-stalls-in-dnn-training.md)
- [\[2021 FAST\] CheckFreq: Frequent, Fine-Grained DNN Checkpointing](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/checkfreq-frequent-fine-grained-dnn-checkpointing.md)
- [\[2021 EuroMLSys\] Interference-Aware Scheduling for Inference Serving](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/2021-euromlsys-interference-aware-scheduling-for-inference-serving.md)
- [\[2021 OSDI\] Pollux: Co-adaptive Cluster Scheduling for Goodput-Optimized Deep Learning](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/pollux-co-adaptive-cluster-scheduling-for-goodput-optimized-deep-learning.md)
- [\[2021 MLSys\] Wavelet: Efficient DNN Training with Tick-Tock Scheduling](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/wavelet-efficient-dnn-training-with-tick-tock-scheduling.md)
- [\[2021 NSDI\] SwitchML: Scaling Distributed Machine Learning with In-Network Aggregation](https://blog.ruipan.xyz/machine-learning-systems/machine-learning-systems-index/2021-nsdi-switchml-scaling-distributed-machine-learning-with-in-network-aggregation.md)
- [Big Data Systems - Index](https://blog.ruipan.xyz/machine-learning-systems/index.md)
- [Big Data Systems Papers - Short Notes](https://blog.ruipan.xyz/machine-learning-systems/index/big-data-systems-papers-short-notes.md)
- [\[2003 SOSP\] The Google File System](https://blog.ruipan.xyz/machine-learning-systems/index/the-google-file-system.md)
- [\[2004 OSDI\] MapReduce: Simplified Data Processing on Large Clusters](https://blog.ruipan.xyz/machine-learning-systems/index/mapreduce-simplified-data-processing-on-large-clusters.md)
- [\[2010 SIGMOD\] Pregel: A System for Large-Scale Graph Processing](https://blog.ruipan.xyz/machine-learning-systems/index/pregel-a-system-for-large-scale-graph-processing.md)
- [\[2011 NSDI\] Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center](https://blog.ruipan.xyz/machine-learning-systems/index/mesos-a-platform-for-fine-grained-resource-sharing-in-the-data-center.md)
- [\[2012 NSDI\] Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster ...](https://blog.ruipan.xyz/machine-learning-systems/index/resilient-distributed-datasets-a-fault-tolerant-abstraction-for-in-memory-cluster-computing.md): ...Computing
- [\[2012 OSDI\] PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs](https://blog.ruipan.xyz/machine-learning-systems/index/powergraph-distributed-graph-parallel-computation-on-natural-graphs.md)
- [\[2019 FAST\] DistCache: Provable Load Balancing for Large-Scale Storage Systems with Distributed...](https://blog.ruipan.xyz/machine-learning-systems/index/2019-fast-distcache-provable-load-balancing-for-large-scale-storage-systems-with-distributed....md): ...Caching
- [\[2021 HotOS\] From Cloud Computing to Sky Computing](https://blog.ruipan.xyz/machine-learning-systems/index/from-cloud-computing-to-sky-computing.md)
- [\[2021 EuroSys\] NextDoor: Accelerating graph sampling for graph machine learning using GPUs](https://blog.ruipan.xyz/machine-learning-systems/index/accelerating-graph-sampling-for-graph-machine-learning-using-gpus.md)
- [High Performance Computing Course Notes](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes.md): ECE/ME/EMA/CS 759: High Performance Computing for Engineering Applications, Spring 2021 by Prof. Dan Negrut
- [Lecture 1: Course Overview](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-1-course-overview.md)
- [Lecture 2: From Code to Instructions. The FDX Cycle. Instruction Level Parallelism.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-2-from-code-to-instructions.-the-fdx-cycle.-instruction-level-parallelism..md)
- [Lecture 3: Superscalar architectures. Measuring Computer Performance. Memory Aspects.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-3-superscalar-architectures.-measuring-computer-performance.-memory-aspects..md)
- [Lecture 4: The memory hierarchy. Caches.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-4-the-memory-hierarchy.-caches..md)
- [Lecture 5: Caches, wrap up. Virtual Memory.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-5-caches-wrap-up.-virtual-memory..md)
- [Lecture 6: The Walls to Sequential Computing. Moore’s Law.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-6-the-walls-to-sequential-computing.-moores-law..md)
- [Lecture 7: Parallel Computing. Flynn's Taxonomy. Amdahl's Law.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-8-parallel-computing.-flynns-taxonomy.-amdahls-law..md)
- [Lecture 8: GPU Computing Intro. The CUDA Programming Model. CUDA Execution Configuration.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-8-gpu-computing-intro.-the-cuda-programming-model.-cuda-execution-configuration.md)
- [Lecture 9: GPU Memory Spaces](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-9.md)
- [Lecture 10: GPU Scheduling Issues.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-10-gpu-scheduling-issues..md)
- [Lecture 11: Execution Divergence. Control Flow in CUDA. CUDA Shared Memory Issues.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-11-execution-divergence.-control-flow-in-cuda.-global-memory-access-patterns-and.md)
- [Lecture 12: Global Memory Access Patterns and Implications.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-12-cuda-shared-memory-issues..md)
- [Lecture 13: Atomic operations in CUDA. GPU ode optimization rules of thumb.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-12-cuda-shared-memory-issues.-atomic-operations-in-cuda..md)
- [Lecture 14: CUDA Case Studies. (1) 1D Stencil Operation. (2) Vector Reduction in CUDA.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-14-tiling-as-a-programing-pattern-in-cuda.-example-vector-reduction-in-cuda..md)
- [Lecture 15: CUDA Case Studies. (3) Parallel Prefix Scan on the GPU. Using Multiple Streams in CUDA.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-15-cuda-optimization-issues.-resource-utilization-issues.-parallel-prefix-scan-on-the-gpu..md)
- [Lecture 16: Streams, and overlapping data copy with execution.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-16-streams-and-overlapping-data-copy-with-execution..md)
- [Lecture 17: GPU Computing: Advanced Features.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-17-gpu-computing-advanced-features.-unified-memory-usage..md)
- [Lecture 18: GPU Computing with thrust and cub.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-18-gpu-computing-with-thrust-and-cub..md)
- [Lecture 19: Hardware aspects relevant in multi-core, shared memory parallel computing.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-19-hardware-aspects-relevant-in-multi-core-shared-memory-parallel-computing..md)
- [Lecture 20: Multi-core Parallel Computing with OpenMP. Parallel Regions.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-20-multi-core-parallel-computing-with-openmp.-parallel-regions..md)
- [Lecture 21: OpenMP Work Sharing.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-21-openmp-work-sharing..md)
- [Lecture 22: OpenMP Work Sharing](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-22-openmp-work-sharing.md)
- [Lecture 23: OpenMP NUMA Aspects. Caching and OpenMP.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-23-openmp-numa-aspects.-caching-and-openmp..md)
- [Lecture 24: Critical Thinking. Code Optimization Aspects.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-24-critical-thinking.-code-optimizatino-aspects..md)
- [Lecture 25: Computing with Supercomputers.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-25-computing-with-supercomputers..md)
- [Lecture 26: MPI Parallel Programming General Introduction. Point-to-Point Communication.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-26-mpi-parallel-programming-general-introduction.-point-to-point-communication..md)
- [Lecture 27: MPI Parallel Programming Point-to-Point communication: Blocking vs. Non-blocking sends.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-27-mpi-parallel-programming-point-to-point-communication-blocking-vs.-non-blocking-sends..md)
- [Lecture 28: MPI Parallel Programming: MPI Collectives. Overview of topics covered in the class.](https://blog.ruipan.xyz/earlier-readings-and-notes/cs759-hpc-course-notes/lecture-28-mpi-parallel-programming-mpi-collectives.-overview-of-topics-covered-in-the-class..md)
- [Cloud Computing Course Notes](https://blog.ruipan.xyz/earlier-readings-and-notes/cloud-computing-course-notes.md)
- [1.1 Introduction to Clouds, MapReduce](https://blog.ruipan.xyz/earlier-readings-and-notes/cloud-computing-course-notes/1.1-introduction-to-clouds-mapreduce.md)
- [1.2 Gossip, Membership, and Grids](https://blog.ruipan.xyz/earlier-readings-and-notes/cloud-computing-course-notes/1.2-gossip-membership-and-grids.md)
- [1.3 P2P Systems](https://blog.ruipan.xyz/earlier-readings-and-notes/cloud-computing-course-notes/1.3-p2p-systems.md)
- [1.4 Key-Value Stores, Time, and Ordering](https://blog.ruipan.xyz/earlier-readings-and-notes/cloud-computing-course-notes/1.4-key-value-stores-time-and-ordering.md)
- [1.5 Classical Distributed Algorithms](https://blog.ruipan.xyz/earlier-readings-and-notes/cloud-computing-course-notes/1.5-classical-distributed-algorithms.md)
- [4.1 Spark, Hortonworks, HDFS, CAP](https://blog.ruipan.xyz/earlier-readings-and-notes/cloud-computing-course-notes/4.1-spark-hortonworks-hdfs-cap.md)
- [4.2 Large Scale Data Storage](https://blog.ruipan.xyz/earlier-readings-and-notes/cloud-computing-course-notes/4.2-large-scale-data-storage.md)
- [Operating Systems Papers - Index](https://blog.ruipan.xyz/earlier-readings-and-notes/index.md)
- [CS 736 @ UW-Madison Fall 2020 Reading List](https://blog.ruipan.xyz/earlier-readings-and-notes/index/cs-736-uw-madison-fall-2020-reading-list.md): Imported from https://canvas.wisc.edu/courses/205576/pages/paper-list. The reading list was put together by Prof. Andrea Arpaci-Dusseau.
- [All File Systems Are Not Created Equal: On the Complexity of Crafting Crash-Consistent Applications](https://blog.ruipan.xyz/earlier-readings-and-notes/index/all-file-systems-are-not-created-equal-on-the-complexity-of-crafting-crash-consistent-applications.md)
- [ARC: A Self-Tuning, Low Overhead Replacement Cache](https://blog.ruipan.xyz/earlier-readings-and-notes/index/arc-a-self-tuning-low-overhead-replacement-cache.md)
- [A File is Not a File: Understanding the I/O Behavior of Apple Desktop Applications](https://blog.ruipan.xyz/earlier-readings-and-notes/index/a-file-is-not-a-file-understanding-the-i-o-behavior-of-apple-desktop-applications.md)
- [Biscuit: The benefits and costs of writing a POSIX kernel in a high-level language](https://blog.ruipan.xyz/earlier-readings-and-notes/index/biscuit-the-benefits-and-costs-of-writing-a-posix-kernel-in-a-high-level-language.md)
- [Data Domain: Avoiding the Disk Bottleneck in the Data Domain Deduplication File System](https://blog.ruipan.xyz/earlier-readings-and-notes/index/data-domain-avoiding-the-disk-bottleneck-in-the-data-domain-deduplication-file-system.md)
- [Disco: Running Commodity Operating Systems on Scalable Multiprocessors](https://blog.ruipan.xyz/earlier-readings-and-notes/index/disco-running-commodity-operating-systems-on-scalable-multiprocessors.md)
- [FFS: A Fast File System for UNIX](https://blog.ruipan.xyz/earlier-readings-and-notes/index/ffs-a-fast-file-system-for-unix.md)
- [From WiscKey to Bourbon: A Learned Index for Log-Structured Merge Trees](https://blog.ruipan.xyz/earlier-readings-and-notes/index/from-wisckey-to-bourbon-a-learned-index-for-log-structured-merge-trees.md)
- [LegoOS: A Disseminated, Distributed OS for Hardware Resource Disaggregation](https://blog.ruipan.xyz/earlier-readings-and-notes/index/legoos-a-disseminated-distributed-os-for-hardware-resource-disaggregation.md)
- [LFS: The Design and Implementation of a Log-Structured File System](https://blog.ruipan.xyz/earlier-readings-and-notes/index/lfs-the-design-and-implementation-of-a-log-structured-file-system.md)
- [Lottery Scheduling: Flexible Proportional-Share Resource Management](https://blog.ruipan.xyz/earlier-readings-and-notes/index/lottery-scheduling-flexible-proportional-share-resource-management.md)
- [Memory Resource Management in VMware ESX Server](https://blog.ruipan.xyz/earlier-readings-and-notes/index/memory-resource-management-in-vmware-esx-server.md)
- [Monotasks: Architecting for Performance Clarity in Data Analytics Frameworks](https://blog.ruipan.xyz/earlier-readings-and-notes/index/monotasks-architecting-for-performance-clarity-in-data-analytics-frameworks.md)
- [NFS: Sun's Network File System](https://blog.ruipan.xyz/earlier-readings-and-notes/index/nfs-suns-network-file-system.md): Russel Sandberg wrote the original NFS paper in 1986 (linked below). This article covers a chapter from Remzi & Andrea's book, OSTEP.
- [OptFS: Optimistic Crash Consistency](https://blog.ruipan.xyz/earlier-readings-and-notes/index/optfs-optimistic-crash-consistency.md)
- [RAID: A Case for Redundant Arrays of Inexpensive Disks](https://blog.ruipan.xyz/earlier-readings-and-notes/index/raid-a-case-for-redundant-arrays-of-inexpensive-disks.md)
- [RDP: Row-Diagonal Parity for Double Disk Failure Correction](https://blog.ruipan.xyz/earlier-readings-and-notes/index/rdp-row-diagonal-parity-for-double-disk-failure-correction.md)
- [Resource Containers: A New Facility for Resource Management in Server Systems](https://blog.ruipan.xyz/earlier-readings-and-notes/index/resource-containers-a-new-facility-for-resource-management-in-server-systems.md)
- [ReVirt: Enabling Intrusion Analysis through Virtual-Machine Logging and Replay](https://blog.ruipan.xyz/earlier-readings-and-notes/index/revirt-enabling-intrusion-analysis-through-virtual-machine-logging-and-replay.md)
- [Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism](https://blog.ruipan.xyz/earlier-readings-and-notes/index/scheduler-activations-effective-kernel-support-for-the-user-level-management-of-parallelism.md)
- [SnapMirror: File-System-Based Asynchronous Mirroring for Disaster Recovery](https://blog.ruipan.xyz/earlier-readings-and-notes/index/snapmirror-file-system-based-asynchronous-mirroring-for-disaster-recovery.md)
- [The Linux Scheduler: a Decade of Wasted Cores](https://blog.ruipan.xyz/earlier-readings-and-notes/index/the-linux-scheduler-a-decade-of-wasted-cores.md)
- [The Unwritten Contract of Solid State Drives](https://blog.ruipan.xyz/earlier-readings-and-notes/index/the-unwritten-contract-of-solid-state-drives.md)
- [Venti: A New Approach to Archival Storage](https://blog.ruipan.xyz/earlier-readings-and-notes/index/venti-a-new-approach-to-archival-storage.md)
- [Earlier Notes](https://blog.ruipan.xyz/earlier-readings-and-notes/earlier-notes.md)
- [How to read a paper](https://blog.ruipan.xyz/earlier-readings-and-notes/earlier-notes/how-to-read-a-paper.md)
- [Template for Paper Reading Notes](https://blog.ruipan.xyz/fixme/template.md)
