scispace - formally typeset
Search or ask a question
Topic

Transactional memory

About: Transactional memory is a research topic. Over the lifetime, 2365 publications have been published within this topic receiving 60818 citations.


Papers
More filters
Patent
Hillel Avni1, Aharon Avitzur
19 Apr 2017
TL;DR: In this article, a system for utilizing a Hardware Transactional Memory (HTM) for an in-memory database is proposed, comprising a processor adapted to execute a plurality of database transactions held concurrently to a shared inmemory database.
Abstract: A system for utilizing a Hardware Transactional Memory (HTM) for an in-memory database, comprising a processor adapted to execute a plurality of database transactions held concurrently to a shared in-memory database by splitting each of the plurality of database transactions to a plurality of HTM transactions, each of the plurality of HTM transactions is executed atomically to access one of a plurality of rows of a database, and for each of the plurality of HTM transactions perform the following operations - access a certain one of the plurality of rows, for a read HTM transaction, fetch content of a previous version of the certain row in case of a detection of another write HTM transaction concurrently writing the certain row, and for a write HTM transaction abort the write HTM transaction at initiation in case of the detection, and validate and commit the each HTM transaction through an additional HTM transaction.
Journal ArticleDOI
15 Apr 2015
TL;DR: The method is very effective in reducing false conflicts and the associated unnecessary transaction stalls and aborts, and can be used to improve the performance of the multicore processor that implements the signature-based eager HTM.
Abstract: This paper proposes a method for reducing false conflicts in signature-based eager hardware transactional memory (HTM). The method tracks the information on all cache blocks that are accessed by a transaction. If the information provides evidence that there are no conflicts for a given transactional request from another core, the method prevents the occurrence of a false conflict by forcing the HTM to ignore the decision based on the signature. The method is very effective in reducing false conflicts and the associated unnecessary transaction stalls and aborts, and can be used to improve the performance of the multicore processor that implements the signature-based eager HTM. When running the STAMP benchmark on a 16-core processor that implements the LogTM-SE, the increased speed (decrease in execution time) achieved with the use of the method is 20.6% on average.
Journal ArticleDOI
TL;DR: This paper presents a survey of hashing techniques starting from traditional hashing methods with greater emphasis on the recent developments, and provides a brief explanation on hardware hashing and a brief introduction to transactional memory.
Abstract: Hashing is a well-known and widely used technique for providing O(1) access to large files on secondary storage and tables in memory. Hashing techniques were introduced in the early 60s. The term hash function historically is used to denote a function that compresses a string of arbitrary input to a string of fixed length. Hashing finds applications in other fields such as fuzzy matching, error checking, authentication, cryptography, and networking. Hashing techniques have found application to provide faster access in routing tables, with the increase in the size of the routing tables. More recently, hashing has found applications in transactional memory in hardware. Motivated by these newly emerged applications of hashing, in this paper we present a survey of hashing techniques starting from traditional hashing methods with greater emphasis on the recent developments. We provide a brief explanation on hardware hashing and a brief introduction to transactional memory.
DOI
01 Jan 2015
TL;DR: This thesis proposes the application of helper threads in transactional memory to achieve a parallelised transaction processing, which is able to compute the same critical section in respect to different serialisation orders with other transactions.
Abstract: Transactional memory aims to replace mutual exclusion in critical sections with transactions on shared data to improve the scalability of concurrent applications and eliminate traditional issues of parallel programming such as deadlocks/livelocks. One key aspect of transaction processing is the concurrency control, which is responsible to find an interleaving or overlapping schedule for running transactions accessing the same shared data and provide a result equal to some serial execution of the same transactions. In this regard, former research focused on single-threaded concurrency control schemes using a trial and error approach: The transaction repeats executing the critical section until no conflict with other transactions was detected. This thesis proposes the application of helper threads in transactional memory to achieve a parallelised transaction processing, which is able to compute the same critical section in respect to different serialisation orders with other transactions. While traditional concurrency control has to rollback and start another attempt in the same thread, this approach aims to compute the next attempt in a helper thread in parallel to the current attempt computed by a leading thread. Due to the nature of transactions and concurrent shared memory applications in general, the introduction of helper threads comes with several new aspects to be considered on the conceptional and the implementation level. The work presents concepts for helper thread aided concurrency controls independently executing the same transaction in parallel instead of sharing information of the leader thread, to lower the contention. For example, the detection of conflicts is delegated to a helper thread which executes the same transaction on the same state of shared data in parallel instead of validating the data read by the leader. In this manner parallelised transaction processing has been proposed which executes a transaction in parallel with different validation schemes: lazy and eager validation. Because the reaction time on conflicts and execution time differ, they drift apart and compute results for different serialisation orders. The work also presents several requirements and sub-systems needed to run parallelised transactions: The use of so-called transactional wrappers or pure functions to speedup access to thread private data in transactional sections cannot be granted, because the private data of the application thread is now concurrently accessed by the helper thread. Also, a concept has been developed to clone the state of the transaction start and transfer the state of the helper committed transaction back to the leader. The existing sandboxing approach of Dalessandro and Scott to suppress and prevent errors in transactions resulting from lazy validation has been improved and memory management inside transactions was adapted. While the developed approaches can compete in some cases and show good scalability especially in higher concurrency, the evaluation shows an unexpected large loss of performance, too. An investigation of hardware characteristics in respect to memory and cache read/write latency revealed several scalability issues with concurrent access to the same address. These issues have significant impact on highly concurrent applications, which seriously affects the use of transactions in general and parallelised transactions in particular.
Proceedings ArticleDOI
26 Aug 2002
TL;DR: A transactional workflow model is presented and formally defined, and an efficient method for well-formedness validation through a set of computation rules is proposed, based on two kinds of locking granularities.
Abstract: A transactional workflow is composed of traditional flat transactions, and its execution has relaxed transactional atomicity. Due to different termination characteristics of transactions, a transactional workflow may be not well-formed. Moreover, only one workflow is allowed to execute a non-compensatable transaction with the current scheduling protocol. We present a transactional workflow model and formally define the correctness criteria of transactional workflow structure (well-formedness) and execution (serializability). We then propose an efficient method for well-formedness validation through a set of computation rules. Finally a scheduling protocol based on two kinds of locking granularities is presented. The protocol is different from related research in the fine-grained locking on transaction instances and coarse-grained locking on transaction classes, multiple workflows are therefore allowed to execute non-compensatable transactions if they are not conflict in a predicated future execution.

Network Information
Related Topics (5)
Compiler
26.3K papers, 578.5K citations
87% related
Cache
59.1K papers, 976.6K citations
86% related
Parallel algorithm
23.6K papers, 452.6K citations
84% related
Model checking
16.9K papers, 451.6K citations
84% related
Programming paradigm
18.7K papers, 467.9K citations
83% related
Performance
Metrics
No. of papers in the topic in previous years
YearPapers
202316
202240
202129
202063
201970
201888