João Lourenço
Changing the world, one student at a time…
Computer Science Department, NOVA School of Science and Technology, NOVA University Lisbon, Quinta da Torre, P-2829-516 CAPARICA, Portugal — joao.lourenco [AT] fct [DOT] unl [DOT] pt (email)
Computer Science Department, NOVA School of Science and Technology, NOVA University Lisbon, Quinta da Torre, P-2829-516 CAPARICA, Portugal — joao.lourenco [AT] fct [DOT] unl [DOT] pt (email)
Software Transactional Memory is a concurrency control technique gaining increasing popularity, as it provides high-level concurrency control constructs and eases the development of highly multi-threaded applications. But this easiness comes at the expense of restricting the operations that can be executed within a memory transaction, and operations such as terminal and file I/O are either not allowed or incur in serious performance penalties. Database I/O is another example of operations that usually are not allowed within a memory transaction. This paper proposes to combine memory and database transactions in a single unified model, benefiting from the ACID properties of the database transactions and from the speed of main memory data processing. The new unified model covers, without differentiating, both memory and database operations. Thus, the users are allowed to freely intertwine memory and database accesses within the same transaction, knowing that the memory and database contents will always remain consistent and that the transaction will atomically abort or commit the operations in both memory and database. This approach allows to increase the granularity of the in-memory atomic actions and hence, simplifies the reasoning about them.
n/a