Premium
Micro‐transactions for concurrent data structures
Author(s) -
Meawad Fadi,
Iyer Karthik,
Schoeberl Martin,
Vitek Jan
Publication year - 2013
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.2985
Subject(s) - computer science , transactional memory , java , concurrency control , concurrency , operating system , concurrent data structure , data structure , embedded system , database transaction , programming language
SUMMARY Transactional memory is a promising technique for enforcing disciplined access to shared data in a multiprocessor system. Transactional memory simplifies the implementation of a variety of concurrent data structures. In this paper, we study the benefits of a modest, real‐time aware, hardware implementation of transactional memory that we call micro‐transactions . In particular, we argue that hardware support for micro‐transactions allows us to efficiently implement certain data structures. Those data structures are difficult to realize with the atomic operations provided by stock hardware and provide real‐time guarantees for those operations. Our main implementation platform is the Java Optimized Processor system, a field‐programmable gate array (FPGA) implementation of the Java virtual machine, optimized for real‐time Java. We report on the performance of data structures implemented with locks, atomic instructions, and micro‐transactions. Our results suggest that transactional memory is an interesting alternative to traditional concurrency control mechanisms. Copyright © 2012 John Wiley & Sons, Ltd.