Making System Calls Transaction Safe
نویسندگان
چکیده
The advent of multi-core processors has renewed interest in the idea of incorporating transactions into the programming model used to write multi-threaded programs. However, using lock based multi-threaded programming is hard to get right and easy to deadlock. Transactional Memory (TM) simplifies multi-threaded programming, by replacing use of locks with transactions. But, there are many problems that TM system development is facing today. Firstly, there are limited TM workloads, since TM systems existing today are in a preliminary stage. Secondly, TM systems cannot handle system calls inside transactions as of today. In this project, we look at TM related issues on two important server workloads AOLserver and BIND. Our focus is primarily on network send()/recv() calls and their variants. We propose using a cross-layer mechanism which leverages both kernel and user level support to provide an easy and minimum performance overhead solution to handle network calls. From our current results we see upto 3X overhead when send()/recv() are used for sending/receiving large packets (e.g. 1400 bytes). But, we believe that can be brought down to a negligible level using simple optimizations. Finally, we also handle conditional sychronization in transactions which can potentially lead to a deadlock. We use a simple busy-wait approach explored later in the paper.
منابع مشابه
The Presentation of an Ideal Safe SMS based model in mobile Electronic commerce using Encryption hybrid algorithms AES and ECC
Mobile commerce is whatever electronic transfer or transaction via a mobile modem through a mobile net in which the true value or advance payment is done for goods, services or information. A mobile payment system should be beneficial for all related persons. For a payment system to be a Successful system, End-user, seller, exporter and operators should see a additional value in it. End-user ...
متن کاملTowards a Formal Semantics for System Calls in terms of Information Flow
We propose a new semantics for system calls, which focuses on the information flows they generate in a UNIX OS. We built a prototypal model of an OS and system calls using the concurrent transaction logic along with its interpreter. We have yet a few results and applications that show the usefulness of our semantics to model an OS from a kernel point of view. Once completed, we expect our seman...
متن کاملTransactional system calls on Linux
Have you ever had to manually back out an unsuccessful software install? Has a machine ever crashed on you while adding a user, leaving the group, password and shadow files inconsistent? Have you struggled to eliminated time-of-check-to-time-of-use (TOCTTOU) race conditions from an application? All of these problems have a single underlying cause: programmers cannot group multiple system calls ...
متن کاملAn Optimized Two-Safe Approach to Maintaining Remote Backup Systems
In a remote backup system, transaction processing takes place at the primary and the log records generated at the primary are propagated to the remote backup which uses them to reconstruct a recent state of the database at the primary. In the event of a primary failure, the backup system takes over transaction processing without causing users to observe a breach in service. Existing remote back...
متن کاملTransaction Safe Nonblocking Data Structures
This brief announcement focuses on interoperability of software transactions with ad hoc nonblocking algorithms. Specifically, we modify arbitrary nonblocking operations so that (1) they can be used both inside and outside transactions, (2) external uses serialize with transactions, and (3) internal uses succeed if and only if the surrounding transaction commits. Interoperability enables seemle...
متن کامل