When it comes to synchronization of shared state and intermediacy, developer-controlled locking has always been a double-edged sword. Although effective, it’s been proven to be deadly when done wrong.

Deadlocks, livelocks, and a lack of composability are all way too common, and frankly — hard to avoid — especially when dealing with large, complex applications.

Enter Software Transactional Memory.

One alternative approach to this pain in the arse problem is moving the locking part inside the runtime, basically freeing the developer from locking decision concerns. It works such that each critical section access is done using an “atomic transaction”.

Before we proceed any further…

Originally posted on my personal blog: https://www.talhoffman.com/introduction-to-criu-and-live-migration

In this blog post I will try and explain what CRIU is and how it works, what Live Migration is, and how those two are related.

So what the heck is CRIU?

Checkpoint-Restore in Userspace (or CRIU) is a really (really) cool open-source project started by virtualization software company — Virtuozoo — also known for being the creator of OpenVZ.

What CRIU does is letting you freeze running Linux processes and checkpoint their state to the disk as a collection of files. …

Tal Hoffman

Senior Software Engineer (https://www.talhoffman.com)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store