Lock Behavior Characterization of Commercial Workloads

J. Chang,Xidong Wang
2002-01-01
Abstract:Commercial workloads such as databases and web servers are the dominant applications running on shared-memory multiprocessors. These multithreaded programs use synchronization mechanisms (often locks) to ensure serialized access of shared data, leading to a potential performance bottleneck. Speculative Lock Elision (SLE) [2] technique has demonstrated that hardware optimization can remove many lock-induced serializations by speculative execution. As this technique is evaluated only against scientific workloads without the presence of operating system, it’ s an open question to what extent SLE can improve the performance of commercial workloads whose lock behavior can be different, and whether SLE can be easily implemented when context switches among multiple threads can be complicated and hard-to-recognize in hardware level. This report characterizes the lock behavior of three classes of commercial workloads, online transaction processing (OLTP), web server (Apache), and Java business middleware (SpecJBB). Traces generated by a full-system simulator (Simics) and a detailed memory system timing-model (Ruby) are used to determine the size and frequency of critical sections, the size and frequency of lock-free sections, and the amount of lock contentions. We observe that lock contentions in commercial workloads are not significant, suggesting little performance improvement can be achieved if not applying more sophisticated hardware optimizations. We also realize that identifying thread switching is not an easy issue but really necessary to implement speculation correctly. The significant amount of kernel locks and the different behavior they demonstrate also indicate that further investigations must not ignore kernel behavior. Lock Behavior Characterization of Commercial Workloads CS/ECE 757 Project Report May 14, 2002 2
What problem does this paper attempt to address?