How we extended uftrace for conditional function interception and profiled DPDK packet processing pipelines with bounded runtime overhead.
Milad Zarei-Maleki
Systems Software & Kernel Observability Researcher
B.Sc. in Computer Engineering @ Iran University of Science and Technology (IUST)
Research Assistant @ Deep Observability Lab (Supervisor: Dr. Seyed Vahid Azhari)
- Academic Standing: First-Class Honors (Ranked top echelon across 141 graded credits; GPA: 18.69 / 20.00 — US: 3.96+ / 4.0)
- Open Source Impact: 3 upstream pull requests merged into official uftrace
- Konkour Standing: Ranked 1st in high school, ~500th nationwide among 145,000+ examinees (Top 0.35%)
- Teaching Leadership: Head TA for Computer Workshop (3 yrs), Software Engineering, and Programming Fundamentals
# Research Interests
# Featured Systems Projects
[view all projects ↗]xv6: In-Kernel Deadlock Detection Engine
C / x86 Assembly / QEMUEngineered an in-kernel dynamic deadlock detection subsystem for multi-threaded processes in xv6 using an active Resource Allocation Graph (RAG) mapped within dedicated kernel memory pages, custom syscalls, and DFS cycle detection with spinlock synchronization.
Microarchitectural Profiling: KVM vs. QEMU TCG
C / Linux perf / QEMU / KVMEvaluated memory and cache behaviors comparing hardware virtualization (KVM on Intel VT-x) against dynamic binary translation (QEMU TCG cross-architecture: x86_64 to aarch64). Pinned isolated vCPUs, evaluated cache hierarchies under memory-bound workloads, and isolated SoftMMU hotspots with FlameGraphs.
fluidrs: Real-Time Eulerian Fluid Dynamics Engine
Rust / Raylib / Dear ImGuiDesigned a real-time 2D Eulerian fluid simulation engine from scratch in Rust, solving incompressible Navier-Stokes equations with vectorized Jacobi relaxation algorithms for numerical pressure Poisson projection at sustained 60+ FPS.
# Kernel & Systems Toolkit
# Technical Writeups & Lab Notes
[all posts ↗]In-Kernel Dynamic Deadlock Detection Using Resource Allocation Graphs in xv6
Extending the xv6 teaching kernel with runtime cycle detection in an active Resource Allocation Graph to prevent circular waits.
Microarchitectural Profiling: Hardware-Assisted KVM vs QEMU TCG Binary Translation
Analyzing cache hierarchies, translation blocks, and SoftMMU overhead by comparing hardware virtualization against dynamic binary translation.