Research: I am primarily interested in concurrent data structures with a focus on using non-blocking algorithms and other methods to achieve scalability. I’ve also worked on producing a model for Hybrid Transactional Memory which is motivated by real architectures but is rigorous enough to allow us to prove interesting lower bounds.


Dan Alistarh, Justin Kopinsky, Petr Kuznetsov, Srivatsan Ravi, Nir Shavit: Inherent Limitations of Hybrid Transactional Memory. To appear DISC 2015 [arxiv][bibtex]

Dan Alistarh, Justin Kopinsky, Jerry Li, Nir Shavit: The SprayList: a scalable relaxed priority queue. PPOPP 2015: 11-20 [acmdl][bibtex]

Dan Alistarh, Justin Kopinsky, Alexander Matveev, Nir Shavit: The LevelArray: A Fast, Practical Long-Lived Renaming Algorithm. ICDCS 2014: 348-357 [arxiv][bibtex]

Adam Hesterberg, Justin Kopinsky: The Parameterized Complexity of Ricochet Robots. MOVES 2015. (Available at a later date)

6.046 FA15 — Design and Analysis of Algorithms
6.856 SP15 — Randomized Algorithms
6.006 SP14 — Introduction to Algorithms

24.931 FA15 — Language and its Structure I: Phonology
6.804J FA15 — Computational Cognitive Science (Listener)
6.890   FA14 — Algorithmic Lower Bounds
24.900 FA14 — Introduction to Linguistics
6.820   FA13 — Foundations of Program Analysis
6.345   SP13 — Automatic Speech Recognition
6.875   SP13 — Cryptography and Cryptoanalysis
6.854   FA12 — Advanced Algorithms
6.841   FA12 — Advanced Complexity Theory