A shared memory-based lock manager for SQLite on multicore platform

푸카이 · Seoul National University Open Repository (Seoul National University) · 2016

In this paper, we describe a shared memory-based lock manager for SQLite.As we know, SQLite can only support one write transaction at a time [File Locking And Concurrency In SQLite], which drastically decreases the write performance.As we observed in our benchmark, the failure rate of SQLite is more than 99% of two concurrent write threads.Furthermore, most multi-core enabled smartphones promote multithreaded applications to utilize the many-core feature to write to such devices.To solve this shortcoming, we propose a general shared memory-based lock manager that can support multiple concurrent write threads and processes.We whereafter used this lock manager to implement a page level two phase lock inside SQLite.We used TPC-C to benchmark the performance of SQLite.Results showed that the changes applied in SQLite improved the performance of transactions per minute (TPM) by 47% on a server platform with low CPU frequency and 110% on a desktop platform with high CPU frequency for multiple write threads as compared to the original single thread.

Read the paper · More papers on PaperTik