<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Under the Hood - Palash Vij</title><description>Linux networking, NFS, AI inference, distributed systems, and C++ explained through practical examples and primary sources.</description><link>https://palashvij.pages.dev/</link><item><title>A Bounded Blocking Queue in C++: Predicates, Backpressure, and Shutdown</title><link>https://palashvij.pages.dev/writing/bounded-blocking-queue/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/bounded-blocking-queue/</guid><description>Build a small C++ integer queue with explicit capacity, condition-variable predicates, graceful close, and defined producer/consumer behavior. Understand what the example leaves out.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Linux Conntrack and NAT: Following Original and Reply Tuples</title><link>https://palashvij.pages.dev/writing/conntrack-nat/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/conntrack-nat/</guid><description>Understand how Linux connection tracking records flows, how NAT chooses and reuses mappings, and how to diagnose state without confusing it with firewall policy.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Consistent Hashing: Virtual Nodes, Key Movement, and Failure</title><link>https://palashvij.pages.dev/writing/consistent-hashing/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/consistent-hashing/</guid><description>Learn how consistent hashing assigns keys, why virtual nodes improve distribution, and what happens on node failure. Explore placement in a deterministic hash-ring lab.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Continuous Batching: LLM Throughput, Queueing, and Tail Latency</title><link>https://palashvij.pages.dev/writing/continuous-batching/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/continuous-batching/</guid><description>Learn how iteration-level scheduling admits and retires LLM requests, why token budgets matter, and how to measure throughput without sacrificing first-token or streaming latency.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>C++ Atomics and Memory Ordering: Publish Data, Not Just a Flag</title><link>https://palashvij.pages.dev/writing/cpp-atomics-ordering/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/cpp-atomics-ordering/</guid><description>Understand atomicity, release/acquire publication, relaxed counters, and object lifetime. Use a complete one-shot example without mistaking atomics for a general lock-free design.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>epoll Explained: Readiness, Edge Triggers, and Backpressure</title><link>https://palashvij.pages.dev/writing/epoll-readiness/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/epoll-readiness/</guid><description>Understand Linux epoll readiness semantics, level- versus edge-triggered handling, EAGAIN, writable interest, and connection lifetime pitfalls in event-driven servers.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Debugging a Hung NFS Mount: Timeouts, Retries, and D-State Waits</title><link>https://palashvij.pages.dev/writing/hung-nfs-mount/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/hung-nfs-mount/</guid><description>Diagnose a stuck Linux NFS operation without unsafe remount advice. Separate process waits, RPC recovery, network reachability, server health, and mount semantics.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>KV Cache Memory Explained: Bytes per Token and GPU Budget</title><link>https://palashvij.pages.dev/writing/kv-cache-memory/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/kv-cache-memory/</guid><description>Calculate KV cache bytes per token from layers, KV heads, precision, and context. Account for concurrency and block allocation without confusing estimates with GPU measurements.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>A packet&apos;s journey through the Linux kernel</title><link>https://palashvij.pages.dev/writing/linux-packet-journey/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/linux-packet-journey/</guid><description>Trace a conventional receive path from NIC queues and DMA through NAPI, IP, TCP, and the application—with execution context and observation points at every stage.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>What actually happens when you run ls on an NFS mount?</title><link>https://palashvij.pages.dev/writing/ls-on-nfs/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/ls-on-nfs/</guid><description>Follow a directory listing from userspace to VFS, the NFS client, RPC, and the server—and learn why a slow listing is not automatically a slow READDIR.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Linux Memory Reclaim and the OOM Killer: Diagnose the Right Limit</title><link>https://palashvij.pages.dev/writing/memory-reclaim-oom/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/memory-reclaim-oom/</guid><description>Distinguish reclaim, cache eviction, swapping, cgroup limits, and OOM kills. Use memory and pressure observations without treating low free memory as a diagnosis.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Linux NFS Client Caching: Attributes, Data, and Close-to-Open Semantics</title><link>https://palashvij.pages.dev/writing/nfs-client-caching/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/nfs-client-caching/</guid><description>Separate NFS directory, attribute, and data caching. Understand close-to-open behavior, rsize/wsize, writeback, and what caching changes mean for correctness and performance.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>NFSv3 Under the Hood: RPC, XDR, File Handles, and Statelessness</title><link>https://palashvij.pages.dev/writing/nfsv3-rpc-xdr/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/nfsv3-rpc-xdr/</guid><description>Understand the NFSv3 mount and request path, XDR encoding, file handles, stable writes, and the limits of statelessness. Compare the right boundaries with NFSv4.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>NUMA-Aware Networking: Align NIC, CPU, and Memory—Then Measure</title><link>https://palashvij.pages.dev/writing/numa-networking/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/numa-networking/</guid><description>Distinguish NIC locality, IRQ affinity, process affinity, and memory placement. Design a controlled NUMA networking comparison without inventing universal latency penalties.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Diagnosing Linux Packet Drops and TCP Retransmissions</title><link>https://palashvij.pages.dev/writing/packet-drops-retransmissions/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/packet-drops-retransmissions/</guid><description>Locate packet loss across NIC, kernel, TCP, and application layers using counter deltas and scoped observations. Avoid confusing retransmissions with proof of NIC drops.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Linux Page Cache and Writeback: When Does a Write Reach Storage?</title><link>https://palashvij.pages.dev/writing/page-cache-writeback/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/page-cache-writeback/</guid><description>Follow buffered reads and writes through the Linux page cache, dirty-page accounting, writeback, and synchronization. Measure useful work without confusing RAM speed with durability.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>PagedAttention Explained: KV Blocks, Allocation, and Sharing</title><link>https://palashvij.pages.dev/writing/paged-attention/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/paged-attention/</guid><description>Understand how PagedAttention separates logical token order from physical KV storage, reduces allocation waste, and enables sharing without making attention cost disappear.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Prefill vs Decode: Why LLM Inference Has Different Bottlenecks</title><link>https://palashvij.pages.dev/writing/prefill-decode/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/prefill-decode/</guid><description>Separate prompt prefill from autoregressive decode, time to first token from inter-token latency, and compute-bound work from memory and communication limits.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>LLM Prefix Caching: What Can Be Reused and What Cannot</title><link>https://palashvij.pages.dev/writing/prefix-caching/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/prefix-caching/</guid><description>Understand token-prefix identity, reusable KV blocks, cache-key compatibility, and prefix-cache measurement. Learn why a cache hit mainly changes prefill, not future decode work.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Quorums and Stale Reads: What R + W &gt; N Really Guarantees</title><link>https://palashvij.pages.dev/writing/quorums-stale-reads/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/quorums-stale-reads/</guid><description>Understand replica-set intersection, asynchronous replication, failed writes, and the limits of quorum arithmetic. Explore stale reads in a deterministic single-writer lab.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Retry Storms and Backpressure: Keep Overload from Feeding Itself</title><link>https://palashvij.pages.dev/writing/retries-backpressure/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/retries-backpressure/</guid><description>Design retries with deadlines, jitter, idempotency, and budgets. Combine bounded queues and load shedding to prevent transient failures from becoming sustained overload.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>RSS vs RPS vs RFS vs XPS</title><link>https://palashvij.pages.dev/writing/rss-rps-rfs-xps/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/rss-rps-rfs-xps/</guid><description>Separate hardware queue selection, software CPU steering, application locality, and transmit queue selection before deciding what to tune.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Latency Percentiles: p50, p95, p99, and the Limits of Averages</title><link>https://palashvij.pages.dev/writing/tail-latency/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/tail-latency/</guid><description>Understand nearest-rank latency percentiles, sample-size limits, coordinated omission, and benchmark methodology. Analyze a concrete sample in the browser.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item><item><title>Linux TCP Buffer Tuning: rmem, wmem, Autotuning, and BDP</title><link>https://palashvij.pages.dev/writing/tcp-buffer-tuning/</link><guid isPermaLink="true">https://palashvij.pages.dev/writing/tcp-buffer-tuning/</guid><description>Diagnose TCP window limits using bandwidth-delay product and socket observations. Understand Linux buffer controls without applying universal sysctl values.</description><pubDate>Sun, 15 Nov 2026 00:00:00 GMT</pubDate></item></channel></rss>