Ph.D. Dissertation Proposal Defense "Transactional Memory with an Application to NoSQL Databases" By Anthony Williamitis
ABSTRACT:
This dissertation focuses on the application of Transactional Memory (TM) to the emerging field of NoSQL Databases, particularly those running on shared-memory multicore microprocessor architectures. Today, the majority of NoSQL databases do not support database transactions. To address this shortcoming, we propose implementing transactions for a NoSQL database system using Transactional Memory. The motivating theory for this research is that Transactional Memory offers a promising avenue for effectively and efficiently adding transactions to these concurrent database systems.
The proposed NoSQL+ System is a high-performance implementation of a NoSQL database that supports transactions. NoSQL+ can leverage Hardware Transactional Memory (HTM) or Software Transactional Memory (STM) with no change to the Application Programming Interface (API) of the System. NoSQL+ can be used to replace an existing NoSQL database with minimal changes to application software.
NoSQL+ will be validated via an extensive series of experiments. A unique distributed stock exchange simulation has been developed for testing purposes and can generate a large number of concurrent events. This simulation is an example of an application that can benefit from a high-performance NoSQL database with transaction support. Performance data from legacy database designs and NoSQL+ are collected and compared.
HTM is implemented via a soft processor core in a Field Programmable Gate Array (FPGA) System on Chip (SoC). STM is implemented via the TM library of the Scala Programming Language. The FPGA processor SoC and NoSQL+ System have been designed to serve as a valuable platform for ongoing research in the field of Transactional Memory.