An Unexpected Scalability Bottleneck in a DBMS: A Hidden Pitfall in Implementing Mutual Exclusion

Takashi Horikawa


Scalability, Database Management System, Bottleneck


Multi-core processors brings about the situation in which CPU resource is no longer the limiting factor of performance, and instead, critical sections enforced by means of locks have emerged as significant bottlenecks. Since lock related behaviors in real environments have not been really investigated, accumulating technology and know-how about them is beneficial for improving multi-core based system architecture. In this context, this paper focuses attention on a lock-related bottleneck found in an open source DBMS (Database Management System). The bottleneck was indiscernible and unexpected in that it was not simply caused by the corresponding critical section but the mechanism of arbitration between lock-contending processes. Once the bottleneck was clarified, it has been alleviated with a newly developed process control mechanism which has been invented by taking the necessary requirement into account. The improvement was that transaction response time was decreased by 30% and throughput was increased by 7.7%. This might be a specific case of the DBMS, but it suggests a possible way of performance improvement by modifying the process control mechanism that meets the application requirements. Consequently, it should be worth adding this case to the accumulation of technology and know-how about lock-related bottlenecks.

Important Links:

Go Back