Is Parallel Programming Hard, And, If So, What Can You Do About It?(Release v2023. 06.11 a)

PE McKenney - arxiv preprint arxiv:1701.00854, 2017 - arxiv.org
The purpose of this book is to help you program shared-memory parallel systems without
risking your sanity. Nevertheless, you should think of the information in this book as a …

Scalable concurrent hash tables via relativistic programming

J Triplett, PE McKenney, J Walpole - ACM SIGOPS Operating Systems …, 2010 - dl.acm.org
This paper presents a novel concurrent hash table implementation which supports wait-free,
near-linearly scalable lookup, even in the presence of concurrent modifications. In particular …

Harmonizing speculative and non-speculative execution in architectures for ordered parallelism

MC Jeffrey, VA Ying, S Subramanian… - 2018 51st Annual …, 2018 - ieeexplore.ieee.org
Multicore systems should support both speculative and non-speculative parallelism.
Speculative parallelism is easy to use and is crucial to scale many challenging applications …

xCalls: Safe I/O in memory transactions

H Volos, AJ Tack, N Goyal, MM Swift… - Proceedings of the 4th …, 2009 - dl.acm.org
Memory transactions, similar to database transactions, allow a programmer to focus on the
logic of their program and let the system ensure that transactions are atomic and isolated …

A new analysis of the value of unlabeled data in semi-supervised learning for image retrieval

Q Tian, J Yu, Q Xue, N Sebe - … and Expo (ICME)(IEEE Cat. No …, 2004 - ieeexplore.ieee.org
There has been an increasing interest in using unlabeled data in semi-supervised learning
for various classification problems. Previous work shows that unlabeled data can improve or …

Applying transactional memory to concurrency bugs

H Volos, AJ Tack, MM Swift, S Lu - ACM Sigplan Notices, 2012 - dl.acm.org
Multithreaded programs often suffer from synchronization bugs such as atomicity violations
and deadlocks. These bugs arise from complicated locking strategies and ad hoc …

Distributed computing and the multicore revolution

M Herlihy, V Luchangco - ACM SIGACT News, 2008 - dl.acm.org
Changes in technology can have far-reaching effects on theory. For example, while Turing's
work on computability predated the first electronic computers, complexity theory flowered …

Nepaltm: design and implementation of nested parallelism for transactional memory systems

H Volos, A Welc, AR Adl-Tabatabai… - Proceedings of the 14th …, 2009 - dl.acm.org
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel
programming: NePalTM: design and implementa Page 1 NePaLTM: Design and …

Towards transactional memory semantics for c++

T Shpeisman, AR Adl-Tabatabai, R Geva, Y Ni… - Proceedings of the …, 2009 - dl.acm.org
Transactional memory (TM) eliminates many problems associated with lock-based
synchronization. Over recent years, much progress has been made in software and …

Tolerating concurrency bugs using transactions as lifeguards

J Yu, S Narayanasamy - 2010 43rd Annual IEEE/ACM …, 2010 - ieeexplore.ieee.org
Parallel programming is hard, because it is impractical to test all possible thread
interleavings. One promising approach to improve a multi-threaded program's reliability is to …