130 likes | 274 Views
Improving Instruction Cache Performance in OLTP . Submitted By, Ravali Chalasani 2459929. Key Terms . OLTP Cache Performance.
E N D
Improving Instruction Cache Performance in OLTP Submitted By, Ravali Chalasani 2459929
Key Terms OLTP Cache Performance
Online Transaction Processing (or OLTP) is a class of programs that facilitate and manage transaction-oriented applications, typically for data entry and retrieval transaction processing. • Benefits: • Online Transaction Processing has two key benefits: simplicity and efficiency. • Disadvantages: • It is a great tool for any organization, but in using OLTP, there are a few things to be wary of: the security issues and economical costs.
Cache Performance : Average memory access time is a useful measure to evaluate the performance of a memory-hierarchy configuration. It tells us how much penalty the memory system imposes on each access (on average). An Example :- Compare the performance of a 64KB unified cache with a split cache with 32KB data and 16KB instruction . The miss penalty for either cache is 100 ns, and the CPU clock runs at 200 MHz.
Optimizing Instruction Cache Performance :- • High Instruction Cache rates are key to high performances. • To improve the hit rate of caches is to minimize cache interference by improving the layout of the basic block of codes. • Good instruction cache performance is very important in modern DBMS installations while running OLTP applications.
Methods used to improve Cache performance : • STEPS - to increase instruction locality in database servers. • autoSTEPS - is a code profiling tool that automates the application of STEPS for any database systems. • The effectiveness of out approach is Demonstrated on Shore - which is a research prototype database system.
Background and Related work : • To bridge the CPU/Memory performance today systems use hierarchy of caches. • Example : IBM’s Power5 • Problems: • The Instruction Cache Performance. • Database Workloads.
Introducing CACHE-Resident code “ STEPS” • All OLTP transactions regardless of the specific action execute common database mechanisms. • Basic implementation of STEPS:- • Begin, Commit, Index Fetch, Scan, Update, Insert, Delete. • Context-Switching:- • Switching execution from one thread/ process to another involves updating OS and DBMS software structures and CPU registers.
Applying STEPS to OLTP workloads :- • Full STEPS implementation • Scheduling execution teams. • Maximizing code overlap across transactions
Applicability to Commercial DBMS :- • STEPS has two attractive features: • It applies incrementally to the target specific code • The required code modifications are restricted to a specific small subset of code. • We use autoSTEPS as a tool to Generate CTX insertion points.
Contributions:- • A novel technique that enables thread scheduling at very fine granularity to reuse instructions in the cache across concurrent threads. • A tool to automatically find points in the code that the instruction cache fills up. • The implementation and evaluation of the presented techniques inside the research prototype database systems.
Conclusion :- • The whole article is about the implementation of STEPS which is a transaction coordinating mechanism that addresses the instruction-cache bottleneck in OLTP workloads. • STEPS is a mechanism that can be applied with few code changes to any database software.