Access the full text.
Sign up today, get DeepDyve free for 14 days.
C. Scheurich, M. Dubois (1987)
Correct memory operation of cache-based multiprocessors
J. Cichon, Wojciech Macyna (2011)
Approximate Counters for Flash Memory2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications, 1
Philippe Flajolet, G. Martin (1983)
Probabilistic counting24th Annual Symposium on Foundations of Computer Science (sfcs 1983)
N. Mahapatra, Balakrishna Venkatrao (1999)
The processor-memory bottleneck: problems and solutionsXRDS, 5
P. Flajolet (1985)
Approximate counting: A detailed analysisBIT Numerical Mathematics, 25
[ (2018)
HyperLogLog in Presto: A significantly faster way to handle cardinality estimationRetrieved from https://engineering.fb.com/data-infrastructure/hyperloglog/.
W. Golab, L. Higham, Philipp Woelfel (2011)
Linearizable implementations do not suffice for randomized distributed computationArXiv, abs/1103.4690
L. Lamport (1990)
Concurrent reading and writing of clocksACM Trans. Comput. Syst., 8
Hagar Meir, Dmitry Basin, Edward Bortnikov, Anastasia Braginsky, Yonatan Gottesman, I. Keidar, Eran Meir, Gali Sheffi, Yoav Zuriel (2020)
Oak: a scalable off-heap allocated key-value mapProceedings of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Graham Cormode, S. Muthukrishnan (2004)
An improved data stream summary: the count-min sketch and its applications
M. Herlihy, Jeannette Wing (1990)
Linearizability: a correctness condition for concurrent objectsACM Trans. Program. Lang. Syst., 12
[ (2002)
Comparing data streams using hamming normsProceedingsof the 28th International Conference on Very Large Databases (VLDB). Elsevier.
[ (2012)
Synopses for massive data: Samples, histograms, wavelets, sketchesFound. Trends Datab., 4
(2012)
Synopses for massive data: Samples, histograms, wavelets, sketches. Foundations and Trends in Databases
[ (1983)
Probabilistic countingProceedings of the 24th Annual Symposium on Foundations of Computer Science (SFCS’83). IEEE
T. Henzinger, C. Kirsch, H. Payer, A. Sezgin, A. Sokolova (2013)
Quantitative relaxation of concurrent data structures
A. Israeli, A. Shirazi (1994)
The Time Complexity of Updating Snapshot Memories
Hillview
Sri Palakollu (2020)
Interprocess CommunicationPractical System Programming with C
Stefan Heule, Marc Nunkesser, Alexander Hall (2013)
HyperLogLog in practice: algorithmic engineering of a state of the art cardinality estimation algorithm
G. Neiger (1994)
Set-linearizability
Arik Rinberg, I. Keidar (2020)
Brief Announcement: Intermediate Value Linearizability: A Quantitative Correctness CriterionProceedings of the 39th Symposium on Principles of Distributed Computing
[ (1986)
On interprocess communicationDistrib. Comput., 1
R. Rönngren, R. Ayani (1997)
A comparative study of parallel and sequential priority queue algorithmsACM Trans. Model. Comput. Simul., 7
Armando Castañeda, S. Rajsbaum, M. Raynal (2018)
Unifying Concurrent Objects and Distributed TasksJournal of the ACM (JACM), 65
Apache DataSketches (Incubating)
P. Agarwal, Graham Cormode, Zengfeng Huang, J. Phillips, Zhewei Wei, K. Yi (2013)
Mergeable summariesACM Trans. Database Syst., 38
Y. Afek, Guy Korland, E. Yanovsky (2010)
Quasi-Linearizability: Relaxed Consistency for Improved Concurrency
P. Agarwal, Graham Cormode, Zengfeng Huang, J. Phillips, Zhewei Wei, K. Yi (2012)
Mergeable summaries
H. Attiya, Faith Ellen, P. Fatourou (2006)
The complexity of updating multi-writer snapshot objects
Ahmed Metwally, D. Agrawal, A. Abbadi (2005)
Efficient Computation of Frequent and Top-k Elements in Data Streams
V. Aksenov, Dan Alistarh, Janne Korhonen (2020)
Scalable Belief Propagation via Relaxed Scheduling, 33
[ (2016)
Hillview: A Big Data SpreadsheetRetrieved from https://research.vmware.com/projects/hillview.
[ (2018)
Unifying concurrent objects and distributed tasks: Interval-linearizabilityJ. ACM, 65
Arik Rinberg, A. Spiegelman, Edward Bortnikov, Eshcar Hillel, I. Keidar, Hadar Serviansky (2019)
Fast concurrent data sketchesProceedings of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Dan Alistarh, Trevor Brown, Justin Kopinsky, J. Li, Giorgi Nadiradze (2018)
Distributionally Linearizable Data StructuresProceedings of the 30th on Symposium on Parallelism in Algorithms and Architectures
J. Hoepman, J. Tromp (1993)
Binary Snapshots
(2020)
druid
Graham Cormode, S. Muthukrishnan, K. Yi (2008)
Algorithms for distributed functional monitoringACM Trans. Algorithms, 7
P. Boas, R. Kaas, E. Zijlstra (1976)
Design and implementation of an efficient priority queueMathematical systems theory, 10
Phillip Gibbons, S. Tirthapura (2001)
Estimating simple functions on the union of data streams
(1989)
x86 Instruction Set Reference
Zaoxing Liu, Antonis Manousis, G. Vorsanger, V. Sekar, V. Braverman (2016)
One Sketch to Rule Them All: Rethinking Network Flow Monitoring with UnivMonProceedings of the 2016 ACM SIGCOMM Conference
R. Morris (1978)
Counting large numbers of events in small registersCommun. ACM, 21
Sean Ovens, Philipp Woelfel (2019)
Strongly Linearizable Implementations of Snapshots and Other TypesProceedings of the 2019 ACM Symposium on Principles of Distributed Computing
[ (2015)
Apache DataSketchesRetrieved from https://datasketches.apache.org/.
C. Stylianopoulos, Ivan Walulya, M. Almgren, O. Landsiedel, M. Papatriantafilou (2020)
Delegation sketch: a parallel design with support for fast and accurate concurrent operationsProceedings of the Fifteenth European Conference on Computer Systems
Graham Cormode, Mayur Datar, P. Indyk, S. Muthukrishnan (2002)
Comparing Data Streams Using Hamming Norms (How to Zero In)
Joseph Gonzalez, Yucheng Low, Haijie Gu, Danny Bickson, Carlos Guestrin (2012)
PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs
Maya Arbel-Raviv, Trevor Brown (2018)
Harnessing epoch-based reclamation for efficient range queriesProceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
[ (2018)
Harnessing epoch-based reclamation for efficient range queriesACM SIGPLAN Not., 53
Big data processing systems often employ batched updates and data sketches to estimate certain properties of large data. For example, a CountMin sketch approximates the frequencies at which elements occur in a data stream, and a batched counter counts events in batches. This article focuses on correctness criteria for concurrent implementations of such objects. Specifically, we consider quantitative objects, whose return values are from an ordered domain, with a particular emphasis on (ε,δ)-bounded objects that estimate a numerical quantity with an error of at most ε with probability at least 1 - δ.The de facto correctness criterion for concurrent objects is linearizability. Intuitively, under linearizability, when a read overlaps an update, it must return the object’s value either before the update or after it. Consider, for example, a single batched increment operation that counts three new events, bumping a batched counter’s value from 7 to 10. In a linearizable implementation of the counter, a read overlapping this update must return either 7 or 10. We observe, however, that in typical use cases, any intermediate value between 7 and 10 would also be acceptable. To capture this additional degree of freedom, we propose Intermediate Value Linearizability (IVL), a new correctness criterion that relaxes linearizability to allow returning intermediate values, for instance, 8 in the example above. Roughly speaking, IVL allows reads to return any value that is bounded between two return values that are legal under linearizability.A key feature of IVL is that we can prove that concurrent IVL implementations of (ε,δ)-bounded objects are themselves (ε,δ)-bounded. To illustrate the power of this result, we give a straightforward and efficient concurrent implementation of an (ε,δ)-bounded CountMin sketch, which is IVL (albeit not linearizable).We present four examples for IVL objects, each showcasing a different way of using IVL. The first is a simple wait-free IVL batched counter, with O(1) step complexity for update. The next considers an (ε,δ)-bounded CountMin sketch and further shows how to relax IVL using the notion of r-relaxation. Our third example is a non-atomic iterator over a data structure. In this example, we augment the data structure with an auxiliary history variable state that includes “tombstones” for items deleted from the data structure. Here, IVL semantics are required at the augmented level. Finally, using a priority queue, we show that some objects require IVL to be paired with other correctness criteria; indeed, a natural correctness notion for a concurrent priority queue is IVL coupled with sequential consistency.Last, we show that IVL allows for inherently cheaper implementations than linearizable ones. In particular, we show a lower bound of Ω (n) on the step complexity of the update operation of any wait-free linearizable batched counter from single-writer multi-reader registers, which is more expensive than our O(1) IVL implementation.
Journal of the ACM (JACM) – Association for Computing Machinery
Published: Apr 18, 2023
Keywords: Concurrency
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.