Introduction to xCalls
Memory transactions, similar to database transactions, allow a programmer to focus on the logic of their program and let the system ensures that transactions are atomic and isolated. Thus, programs using transactions do not suffer from deadlock. However, when a transaction performs I/O or accesses kernel resources, the atomicity and isolation guarantees from the TM system do not apply to the kernel.
The xCall interface is a new API that provides transactional semantics for system calls. With a combination of deferral and compensation, xCalls enable transactional memory programs to use common OS functionality within transactions.
- Getting Started explains how to download and build xCalls, includes a number of sample programs, and provides an overview of the source code structure.
- The xCalls research paper: Volos, H., Tack, A. J., Goyal, N., Swift, M. M., and Welc, A. 2009. xCalls: safe I/O in memory transactions. In Proceedings of the 4th ACM European Conference on Computer Systems (Nuremberg, Germany, April 01 - 03, 2009). EuroSys '09. ACM, New York, NY, 247-260. http://doi.acm.org/10.1145/1519065.1519093
- A short and comprehensive introduction to transactional memory: Adl-Tabatabai, A., Kozyrakis, C., and Saha, B. 2006. Unlocking Concurrency. Queue 4, 10 (Dec. 2006), 24-33. http://doi.acm.org/10.1145/1189276.1189288
Generated on Wed Dec 9 20:32:39 2009 for xCalls by
1.4.7