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.

Publications:

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)

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

Courses:
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