Lecture: System-Level Transactions with picotm
The Days of Plenty Are Yet to Come
How to implement reliable system software with transactions. Theory and practice.
Error handling and concurrency are usually the most complicated to implement and test.
In this presentation we’ll examine the I/O code of two example programs implemented in C. We’ll first look at basic problems and afterwards how transactions can help to solve these. On the practical side, we’ll talk about the software picotm, a system-level transaction manager for Posix systems. Reimplementing the example programs on top of picotm will
make them thread-safe and less error prone. Picotm can handle arbitrary resources. In the presentation’s final part, we’ll look at the functionality that is currently provided, such as transactional memory, C string and memory functions, memory allocation, file-descriptor I/O, and others.