Combinable memory-block transactions

10Citations
Citations of this article
4Readers
Mendeley users who have this article in their library.
Get full text

Abstract

This paper formalizes and studies combinable memory-block transactions (MBTs). The idea is to encode short programs that operate on a single cache/memory block and then to specify such a program with a memory request. The code is then executed at the cache or memory controller, atomically with respect to other accesses to that block by this or other processors. The combinable form allows combining within the memory system or network. In addition to allowing for the standard set of read-modify-write operations (e.g., test-and-set, compare-and-swap, fetch-and-add), MBTs can be used to define other useful operations-such as a fetch-and-add that does not decrement below zero. We show how MBTs can be used to design simple and efficient implementations of a variety of protocols and algorithms, including a priority write, a semaphore with a non-blocking P operation, a bounded queue, and a timestamp-based transactional memory system. In all cases the protocols gain some advantage by using MBTs that are different from the standard set of operations. To gain an understanding of the efficiency that can be gained by using combining, we define a notion of bounded contention and show that all our protocols have bounded contention under arbitrary loads. Copyright 2008 ACM.

Cite

CITATION STYLE

APA

Blelloch, G. E., Gibbons, P. B., & Vardhan, S. H. (2008). Combinable memory-block transactions. In Annual ACM Symposium on Parallelism in Algorithms and Architectures (pp. 23–34). https://doi.org/10.1145/1378533.1378537

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free