Compares software and hardware virtualization techniques for x86 architecture. Discusses VMM design, binary translation, hardware support limitations, MMU virtualization challenges, and performance considerations of virtualization.
Comprehensive practice problems covering OS fundamentals including CPU instructions, memory management, process management, threading, concurrency control, virtual memory, paging, and filesystem operations.
Introduces fundamental concepts of threads including thread creation, management, context switching, and thread design patterns. Explores differences between processes and threads, benefits of multithreading, and challenges in thread-based programming.
This study evaluates several state-of-the-art network stacks for running compute-intensive 5G control plane VNFs such as AMF and AUSF. Results show that popular userspace kernel bypass network stacks outperform Linux kernel stack on IO intensive VNFs but the gap narrows for CPU-intensive VNFs. The work emphasizes the importance of traffic partitioning at subscriber granularity for scalability. It also profiles the CPU usage breakdown revealing network stack overheads are relatively low compared to VNF computation.
Summary: This paper compares various state synchronization strategies in a distributed LTE Evolved Packet Core (EPC) implemented as virtualized network functions. It studies designs ranging from no synchronization, synchronization at session boundaries, to synchronization after every message, analyzing throughput and latency trade-offs. Synchronization after every message has prohibitive overhead, while session granularity offers a balance between fault tolerance and performance. The authors provide open-source implementations and experimental results guiding EPC design choices.