[DB Seminar] Spring 2018: Yangjun Sheng
Current architectures for main-memory online transaction processing (OLTP) database management systems (DBMS) typically use random scheduling to assign transactions to threads. This approach achieves uniform load across threads but it ignores the likelihood of conflicts between transactions. If the DBMS could estimate the potential for transaction conflict and then intelligently schedule transactions to avoid conflicts, then the system could improve its performance. Such estimation of transaction conflict, however, is non-trivial for several reasons. First, conflicts occur under complex conditions that are far removed in time from the scheduling decision. Second, transactions must be represented in a compact and efficient manner to allow for fast conflict detection. Third, given some evidence of potential conflict, the DBMS must schedule transactions in such a way that minimizes this conflict.
In this presentation, I will introduce machine learning methods that can reduce transaction conflicts and achieve balanced workload across threads. More specifically, I will introduce how to predict transactions aborts and how to use such information to help me schedule transactions in a way that minimize conflicts. I will present two main algorithms, logistic regression and KMeans clustering algorithm, that assist DBMS to schedule transactions.