Rapid Virtual Machine Cloning

Rapid Virtual Machine Cloning

Presents SnowFlock for sub-second VM cloning in cloud. Covers VM fork abstraction for stateful worker creation, lazy state replication using VM descriptors, memory-on-demand via copy-on-access, avoidance heuristics, and multicast distribution for parallel computing.

Locks and Mutual Exclusion

Locks and Mutual Exclusion

Covers locks for achieving mutual exclusion in concurrent programs. Discusses lock implementation using hardware primitives like test-and-set, compare-and-swap, fetch-and-add. Explains spin locks, ticket locks, and techniques to avoid spinning using yield and blocking.

Thread Synchronization with Semaphores

Thread Synchronization with Semaphores

Explains semaphores combining locks and condition variables for thread synchronization. Covers binary semaphores for mutual exclusion, semaphores for ordering events, producer-consumer bounded buffer problem, throttling threads, and implementing semaphores using locks and CVs.

Distributed Caching at Scale

Distributed Caching at Scale

Details Facebook’s memcached architecture handling billions of requests and trillions of items. Covers distributed key-value store design, latency reduction using UDP/TCP, incast congestion control, leases mechanism, memory pools, and regional replication.

Semaphores and Synchronization

Semaphores and Synchronization

Introduces semaphores as synchronization primitives invented by Dijkstra. Covers binary semaphores as locks, semaphores for ordering, producer-consumer problem, reader-writer problem, dining philosophers, and implementing semaphores using locks and condition variables.