Download Scaling HTM-Supported Database Transactions to Many Cores

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Tandem Computers wikipedia , lookup

Blockchain wikipedia , lookup

Oracle Database wikipedia , lookup

Microsoft Access wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Global serializability wikipedia , lookup

Ingres (database) wikipedia , lookup

Relational model wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Functional Database Model wikipedia , lookup

Database wikipedia , lookup

Commitment ordering wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

ContactPoint wikipedia , lookup

Database model wikipedia , lookup

Clusterpoint wikipedia , lookup

Serializability wikipedia , lookup

Concurrency control wikipedia , lookup

Transcript
Scaling HTM-Supported Database Transactions to Many Cores
Abstract:
So far, transactional memory-although a promising technique-suffered from the
absence of an efficient hardware implementation. Intel's Haswell
microarchitecture introduced hardware transactional memory (HTM) in
mainstream CPUs. HTM allows for efficient concurrent, atomic operations, which
is also highly desirable in the context of databases. On the other hand, HTM has
several limitations that, in general, prevent a one-to-one mapping of
database transactions to HTM transactions. In this work, we devise several
building blocks that can be used to exploit HTM in main-memory databases. We
show that HTM allows for achieving nearly lock-free processing of
database transactions by carefully controlling the data layout and the access
patterns. The HTM component is used for detecting the (infrequent) conflicts,
which allows for an optimistic, and thus very low-overhead execution of
concurrent transactions. We evaluate our approach on a four-core desktop and a
28-core server system and find that HTM indeed provides a scalable, powerful,
and easy to use synchronization primitive.