Improving Performance of Load-Store Sequences for Transaction Processing Workloads on Multiprocessors

  • Authors:
  • Jim Nilsson;Fredrik Dahlgren

  • Affiliations:
  • -;-

  • Venue:
  • ICPP '99 Proceedings of the 1999 International Conference on Parallel Processing
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

On-line transaction processing exhibits poor memory behavior in high-end multiprocessor servers because of complex sharing patterns and substantial interaction between the database server and the operating system. One contributing source is a large amount of load-store sequences in the program, resulting in many read misses as well as much global invalidation traffic.In this paper, we characterize the nature of these load-store sequences, and analyze contributing code- and data structures in the database handler, operating system, and system libraries. We explore two conceptually different approaches for detecting load-store sequences; data-centric and instruction-centric, and the goal is to load the cache block exclusively already at the load instruction so that the store instruction can perform locally. Our results were obtained using program-driven simulation of a TPC-B based workload on a four-node multiprocessor.The results show that there is a substantial amount of load-store sequences in the database handler, the operating system, and in system libraries, and about 40% of all global writes belong to such sequences. Even though the techniques were able to reduce the execution time for the application by up to 10%, the complex behavior of the database workload reduced the effectiveness of traditional optimization techniques for migratory sharing.