Research & Academic Experience
My research centers on systems software, low-overhead dynamic runtime tracing, high-performance networking (DPDK & eBPF), and distributed computing systems. I focus on observability mechanisms that can extract fine-grained execution metrics from live production datapaths without disturbing line-rate performance.
Deep Observability Lab
Dynamic Function Interception & Conditional Tracing
Tracing high-throughput systems often incurs intolerable execution penalties. In this lab, we develop low-overhead conditional tracing extensions for uftrace in C/C++, building runtime function interception primitives capable of evaluating execution predicates, call graph depth, and memory states on the fly.
DPDK Pipeline Instrumentation
Instrumented the DPDK (dpdk-testpmd) packet processing pipeline using compiler profiling hooks (-pg / -mfentry) and DWARF-aware runtime struct resolution. This architecture isolates critical L3/L4 protocol routines (such as swap_ipv4 and rte_ipv4_hdr_len) under saturated packet loads while maintaining strictly bounded tracing overhead.
Automated Headless Benchmarking
Constructed automated headless benchmarking test harnesses managing 2MB/1GB hugepages via hugetlbfs, virtual TAP interfaces, and isolated Linux network namespaces (netns) to simulate reproducible network workloads.
Upstream Contributions to Official uftrace
- Sub-64-bit Signed Argument Normalization: Resolved an issue in
uftrace_eval_cond()where sub-64-bit signed integers in 64-bit registers were improperly sign-extended during conditional filtering. - Negative Integer Filtering Test Suite: Designed and authored automated test cases (
t306_arg_cond3) to validate relational operators (<,<=,>,>=) against negative integer arguments. - Shared Memory Cleanup: Diagnosed and fixed Android and POSIX shared memory leaks occurring during multi-process tracing sessions.
Distributed and Scalable Computation Systems Research Lab
JORP: Joint Radio & Computational Resource Allocation
Investigated edge and fog computing architectures, offloading policies, and resource allocation models in distributed environments. Designed and implemented JORP, a modular, vectorized Python simulation framework modeling joint radio and computational resource allocation to minimize global average task delay under multi-cell wireless interference constraints.
Benchmarked multi-user latency profiles against theoretical models, verifying algorithmic convergence properties and quantifying Pareto-optimal trade-offs across heterogeneous edge server nodes.
B.Sc. Final Thesis Project
Design and Evaluation of Low-Overhead Dynamic Runtime Tracing and Function Interception in High-Performance Packet Processing Systems
Thesis Supervisor: Dr. Seyed Vahid Azhari
Focuses on dynamic instrumentation techniques for kernel and userspace packet processing stacks, combining hardware performance counters, compiler hooks, and lightweight filter evaluation to diagnose microarchitectural stalls and throughput bottlenecks in real-time.