An Evaluation of Intra-Transaction Parallelism in Actor-Relational Database Systems
Over the past decade, we have witnessed a dramatic evolution in main-memory capacity and multi-core parallelism of server hardware. To leverage this hardware potential, multi-core in-memory OLTP database systems have been extensively re-designed. The core objective of this re-design has been scaling up sequential execution of OLTP transactions, wherein alternative database architectures have been explored to eliminate system bottlenecks and overheads impeding inter-transaction parallelism to fully manifest. However, intra-transaction parallelism has been largely ignored by this previous work. We conjecture this situation to have developed because OLTP workloads are sometimes deemed to have far too little intra-transactional parallelism and, even when this kind of parallelism is available, program analyses to recognize it in arbitrary stored procedures are considered too brittle to be used as a general tool. Recently, however, a new concept of actor-relational database systems has been proposed, raising hopes that application developers can specify intra-transaction parallelism by modeling database applications as communicating actors. In this scenario, a natural question is whether an actor-relational database system with an asynchronous programming model can adequately expose the intra-transaction parallelism available in application logic to modern multi-core hardware. Towards that aim, we conduct in this paper an experimental evaluation of the factors that affect intra-transaction parallelism in the prototype actor-relational database system REACTDB, with an OLTP application designed with task-level parallelism in mind, and with the system running on a multi-core machine.
READ FULL TEXT