Condition Variables for Thread Synchronization

Condition Variables for Thread Synchronization

Explains condition variables as a synchronization mechanism enabling threads to wait for specific events, detailing their usage with locks, their wait-signal mechanism, and how they avoid busy-waiting and race conditions.

Multicore NF Scalability, Application-Aware Steering, Lock Elimination

Multicore NF Scalability, Application-Aware Steering, Lock Elimination

AppSteer introduces a Linux/eBPF-based framework that enables network functions to steer requests at application-key granularity (e.g., user ID) instead of only by TCP/UDP flow. This design supports lock-free, per-core partitioned state for compute-intensive NFs (e.g., 5G core NFs), delivering 15-18% more throughput at 16 cores compared to conventional approaches

xv6 memory management including virtual address spaces, page tables, memory allocation, and demand paging mechanisms in the xv6 teaching operating system.

xv6 OS lab on process management including system call implementation, process tree operations, scheduler design, and priority-based scheduling in xv6 kernel.