Lock Behavior Characterization of Commercial Workloads

نویسندگان

  • Jichuan Chang
  • Xidong Wang
چکیده

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

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Evaluating a $2M Commercial Server on a $2K PC and Related Challenges

Talk Abstract Many future multiprocessor servers will execute large commercial workloads, such as database management systems and web servers. Thus, simulations of new multiprocessor designs should run these workloads. However, simulating expensive servers running these large workloads on low-cost personal computers presents many challenges. Most of this talk discusses the Wisconsin Multifacet ...

متن کامل

The Memory Performance of DSS Commercial

Although cache-coherent shared-memory multiprocessors are often used to run commercial workloads, little work has been done to characterize how well these machines support such workloads. In particular, we do not have much insight into the demands of commercial workloads on the memory subsystem of these machines. In this paper, we analyze in detail the memory access patterns of several queries ...

متن کامل

Improving Software MP Efficiency for Shared Memory Systems

For commercial workloads (such as transaction processing, complex queries, etc.), a significant percentage of the processor cycles are spent executing Operating System code. Software MP efficiency for such workloads on a shared memory system decreases rapidly with the increase in the number of processors in the system due to so called Ularge system effects, ” such as, lock contention, increased...

متن کامل

Memory System Performance of a Database in a Shared-Memory Multiprocessor

Although cache-coherent shared-memory multiprocessors are sometimes used to run commercial workloads, little work has been done to characterize how well they support these work-loads. In particular, we do not have many insights on the demands of commercial workloads on the memory subsystem of such machines. These issues are important because of the large market for commercial applications. In t...

متن کامل

Fast Multi-Level Locks for Java A Preliminary Performance Evaluation

Atomic sections guarantee atomic and isolated execution of a block of code. Transactional Memory can be used to implement them but suffers from the inability to support system calls and has high overhead. Lock inference is a pessimistic alternative that infers the locks necessary to prevent thread interference. Our research looks at lock inference techniques for Java programs. An important aspe...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002