Many-core systems differ from traditional multi-processor systems in performance characteristics and sometimes behave in unfamiliar ways for us. This can lead us facing performance troubles from unknown causes, requiring long time to fix them. To address those situations it is important for us to accumulate technology and know-how on performance of multi-core systems through a plenty of case studies. This paper describes a case study on unusual phenomena of a many-core based system in executing DBT-1 transactions with MySQL; where system throughput was decreased with the increase of the number of cores, an appearance of a scalability bottleneck. The root-cause analysis based on several measurements of the system has succeeded to reveal that the problem was caused from an interaction between two bottlenecks at the different layers, hardware and software, which is hardly found in traditional systems. The bottleneck at the hardware layer has been alleviated by introducing a newly developed lock mechanism that the analysis results suggested. Although the problem may be particular to the system, we, however, believe that the method and process to identify the root cause are of wide use for various scalability bottlenecks.
[1]
Babak Falsafi,et al.
Shore-MT: a scalable storage manager for the multicore era
,
2009,
EDBT '09.
[2]
Maurice Herlihy,et al.
Wait-free synchronization
,
1991,
TOPL.
[3]
Andre B. Bondi,et al.
Characteristics of scalability and their impact on performance
,
2000,
WOSP '00.
[4]
Jim Gray,et al.
The convoy phenomenon
,
1979,
OPSR.
[5]
Larry Rudolph,et al.
Dynamic decentralized cache schemes for mimd parallel processors
,
1984,
ISCA '84.
[6]
Ippokratis Pandis,et al.
Critical sections: re-emerging scalability concerns for database storage engines
,
2008,
DaMoN '08.
[7]
Werner Vogels,et al.
Dynamo: amazon's highly available key-value store
,
2007,
SOSP.
[8]
Ryan Johnson,et al.
A new look at the roles of spinning and blocking
,
2009,
DaMoN '09.