my photo

Adam Morrison

Senior Lecturer (Assistant Professor)
Blavatnik School of Computer Science
Tel Aviv University

Office: Check Point 334
Email: mad@cs.tau.ac.il

Research  

I'm interested in the theory and practice of distributed computing, and in hopefully bridging between the two.

Recently I've been working on making software more efficient on chip multiprocessors.

Teaching  

Operating Systems (Fall 2020-21)
Workshop On Search Data Structures for High-Performance Databases (Spring 2021)
Advanced Topics in Multi-Core Architecture and Software Systems (Spring 2021)

Publications  

Cuckoo Trie: Exploiting Memory-Level Parallelism for Efficient DRAM Indexing.
Adar Zeitak and Adam Morrison.
Proceedings of the 28th ACM Symposium on Operating Systems Principles (SOSP 2021), October 2021.

Speculative Privacy Tracking (SPT): Leaking Information From Speculative Execution Without Compromising Privacy.
Rutvik Choudhary, Jiyong Yu, Christopher W. Fletcher, and Adam Morrison.
Proceedings of the 54th IEEE/ACM International Symposium on Microarchitecture (MICRO 2021), October 2021.

An Analysis of Speculative Type Confusion Vulnerabilities in the Wild.
Ofek Kirzner and Adam Morrison.
Proceedings of the 30th USENIX Security Symposium (USENIX Security 2021), August 2021.
Distinguished paper award.
2021 Internet Defense Prize (first place).
2021 Pwnie Nominee For Most Innovative Research.

Opening Pandora's Box: A Systematic Study of New Ways Microarchitecture Can Leak Private Data.
Jose Rodrigo Sanchez Vicarte, Pradyumna Shome, Nandeeka Nayak, Caroline Trippel, Adam Morrison, David Kohlbrenner, and Christopher W. Fletcher.
Proceedings of the 48th International Symposium on Computer Architecture (ISCA 2021), June 2021.

Characterizing, Exploiting, and Detecting DMA Code Injection Vulnerabilities in the Presence of an IOMMU.
Alex Markuze, Shay Vargaftik, Gil Kupfer, Boris Pismenny, Nadav Amit, Adam Morrison, and Dan Tsafrir.
Proceedings of the 16th European Conference on Computer Systems (EuroSys 2021), April 2021.

Autonomous NIC Offloads.
Boris Pismenny, Haggai Eran, Aviad Yehezkel, Liran Liss, Adam Morrison, and Dan Tsafrir.
Proceedings of the 26th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2021), April 2021.
Distinguished paper award.

Speculative Interference Attacks: Breaking Invisible Speculation Schemes.
Mohammad Behnia, Prateek Sahu, Riccardo Paccagnella, Jiyong Yu, Zirui Neil Zhao, Xiang Zou, Thomas Unterluggauer, Josep Torrellas, Carlos Rozas, Adam Morrison, Frank Mckeen, Fangfei Liu, Ron Gabor, Christopher W. Fletcher, Abhishek Basak, and Alaa Alameldeen.
Proceedings of the 26th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2021), April 2021.

Efficiently Reclaiming Memory in Concurrent Search Data Structures While Bounding Wasted Memory.
Daniel Solomon and Adam Morrison.
Proceedings of the 26th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP 2021), March 2021.

Recoverable, Abortable, and Adaptive Mutual Exclusion with Sublogarithmic RMR Complexity.
Daniel Katzan and Adam Morrison.
Proceedings of the 24th International Conference on Principles of Distributed Systems (OPODIS 2020), December 2020.

Proving Highly-Concurrent Traversals Correct.
Yotam M. Y. Feldman, Artem Khyzha, Constantin Enea, Adam Morrison, Aleksandar Nanevski, Noam Rinetzky, and Sharon Shoham.
Proceedings of the ACM Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA 2020), November 2020.

Speeding up SpMV for Power-Law Graph Analytics by Enhancing Locality & Vectorization.
Serif Yesil, Azin Heidarshenas, Adam Morrison, and Josep Torrellas.
Proceedings of the International Conference for High Performance Computing, Networking, Storage, and Analysis (SC 2020), November 2020.

Speculation Invariance (InvarSpec): Faster Safe Execution Through Program Analysis.
Zirui Neil Zhao, Houxiang Ji, Mengjia Yan, Jiyong Yu, Christopher W. Fletcher, Adam Morrison, Darko Marinov, and Josep Torrellas.
Proceedings of the 53rd International Symposium on Microarchitecture (MICRO 2020), October, 2020.

Snug: Architectural Support for Relaxed Concurrent Priority Queueing in Chip Multiprocessors.
Azin Heidarshenas, Tanmay Gangwani, Serif Yesil, Adam Morrison, and Josep Torrellas.
Proceedings of the International Conference on Supercomputing (ICS 2020), June 2020.

V-Combiner: Speeding-up Iterative Graph Processing on a Shared-Memory Platform with Vertex Merging.
Azin Heidarshenas, Serif Yesil, Dimitrios Skarlatos, Sasa Misailovic, Adam Morrison, and Josep Torrellas.
Proceedings of the International Conference on Supercomputing (ICS 2020), June 2020.

Speculative Data-Oblivious Execution: Mobilizing Safe Prediction For Safe and Efficient Speculative Execution.
Jiyong Yu, Namrata Mantri, Josep Torrellas, Adam Morrison, and Christopher W. Fletcher.
Proceedings of the 47th International Symposium on Computer Architecture (ISCA 2020), June 2020.
Intel Hardware Security Academic Award.

IOctopus: Outsmarting Nonuniform DMA.
Igor Smolyar, Alex Markuze, Boris Pismenny, Haggai Eran, Gerd Zellweger, Austin Bolen, Liran Liss, Adam Morrison, and Dan Tsafrir.
Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2020), March 2020.
Best paper award.

Scaling Concurrent Queues by Using HTM to Profit from Failed Atomic Operations.
Or Ostrovsky and Adam Morrison.
Proceedings of the 25th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP 2020), February 2020.

Understanding Priority-Based Scheduling of Graph Algorithms on a Shared-Memory Platform.
Serif Yesil, Azin Heidarshenas, Adam Morrison, and Josep Torrellas.
Proceedings of the International Conference for High Performance Computing, Networking, Storage, and Analysis (SC 2019), November 2019.

Speculative Taint Tracking (STT): A Comprehensive Protection for Speculatively Accessed Data.
Jiyong Yu, Mengjia Yan, Artem Khyzha, Adam Morrison, Josep Torrellas, and Christopher W. Fletcher.
Proceedings of the 52nd International Symposium on Microarchitecture (MICRO 2019), October 2019.
Best paper award.
IEEE Micro's 2019 Top Picks.

InvisiSpec: Making Speculative Execution Invisible in the Cache Hierarchy.
Mengjia Yan, Jiho Choi, Dimitrios Skarlatos, Adam Morrison, Christopher W. Fletcher, and Josep Torrellas.
Proceedings of the 51th International Symposium on Microarchitecture (MICRO 2018), October 2018.
IEEE Micro's 2018 Top Picks Honorable Mention.

Order out of Chaos: Proving Linearizability Using Local Views.
Yotam M. Y. Feldman, Constantin Enea, Adam Morrison, Noam Rinetzky, and Sharon Shoham.
Proceedings of the 32nd International Symposium on Distributed Computing (DISC 2018), October 2018.

Deterministic Abortable Mutual Exclusion with Sublogarithmic Adaptive RMR Complexity.
Adam Alon and Adam Morrison.
Proceedings of the 37th ACM Symposium on Principles of Distributed Computing (PODC 2018), July 2018.

Getting to the Root of Concurrent Binary Search Tree Performance.
Maya Arbel-Raviv, Trevor Brown, and Adam Morrison.
Proceedings of the 2018 USENIX Annual Technical Conference (ATC 2018), July 2018.

DAMN: Overhead-Free IOMMU Protection for Networking.
Alex Markuze, Igor Smolyar, Adam Morrison, and Dan Tsafrir.
Proceedings of the 23rd International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2018), March 2018.

Scaling Synchronization in Multicore Programs.
Adam Morrison.
Communications of the ACM, 59(11), November 2016.

Specification and Complexity of Collaborative Text Editing.
Hagit Attiya, Sebastian Burckhardt, Alexey Gotsman, Adam Morrison, Hongseok Yang, and Marek Zawirski.
Proceedings of the 35th ACM Symposium on Principles of Distributed Computing (PODC 2016), July 2016.
Full version in Theoretical Computer Science, Volume 855, February 2021.

CASPAR: Breaking Serialization in Lock-Free Multicore Synchronization.
Tanmay Gangwani, Adam Morrison, and Josep Torrellas.
Proceedings of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2016), April 2016.

True IOMMU Protection from DMA Attacks: When Copy Is Faster Than Zero Copy.
Alex Markuze, Adam Morrison, and Dan Tsafrir.
Proceedings of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2016), April 2016.

A Heap-Based Concurrent Queue with Mutable Keys for Simpler and Faster Parallel Algorithms.
Orr Tamir, Adam Morrison, and Noam Rinetzky.
Proceedings of the 19th International Conference on Principles of Distributed Systems (OPODIS 2015), December 2015.

Limitations of Highly-Available Eventually-Consistent Data Stores.
Hagit Attiya, Faith Ellen, and Adam Morrison.
Proceedings of the 34th ACM Symposium on Principles of Distributed Computing (PODC 2015), July 2015.
Full version in IEEE Transactions on Parallel and Distributed Systems, 28(1), January 2017.

Utilizing the IOMMU Scalably.
Omer Peleg, Adam Morrison, Benjamin Serebrin, and Dan Tsafrir.
Proceedings of the 2015 USENIX Annual Technical Conference (ATC 2015), July 2015.

Temporally Bounding TSO for Fence-Free Asymmetric Synchronization.
Adam Morrison and Yehuda Afek.
Proceedings of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2015), March 2015.

Predicate RCU: An RCU for Scalable Concurrent Updates.
Maya Arbel and Adam Morrison.
Proceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2015), February 2015.
Source code of PRCU implementations.

Software-Improved Hardware Lock Elision.
Yehuda Afek, Amir Levy, and Adam Morrison.
Proceedings of the 33rd ACM Symposium on Principles of Distributed Computing (PODC 2014), July 2014.
Source code of lock elision implementations.

Fence-Free Work Stealing on Bounded TSO Processors.
Adam Morrison and Yehuda Afek.
Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2014), March 2014.

Fast Concurrent Queues for x86 Processors.
Adam Morrison and Yehuda Afek.
Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2013), February 2013.
Source code of queue implementation (Last updated: December, 2013).

CBTree: A Practical Concurrent Self-Adjusting Search Tree.
Yehuda Afek, Haim Kaplan, Boris Korenfeld, Adam Morrison, and Robert E. Tarjan.
Proceedings of the 26th International Symposium on Distributed Computing (DISC 2012), October 2012.
Best student paper award.
Invited to special issue of Distributed Computing, 27(6), December 2014.

Fast and Scalable Rendezvousing.
Yehuda Afek, Michael Hakimi, and Adam Morrison.
Proceedings of the 25th International Symposium on Distributed Computing (DISC 2011), September 2011.
Best student paper award.
Invited to special issue of Distributed Computing, 26(4), August 2013.

From Bounded to Unbounded Concurrency Objects and Back.
Yehuda Afek, Adam Morrison, and Guy Wertheim.
Proceedings of the 30th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC 2011), June 2011.

Cache Index-Aware Memory Allocation.
Yehuda Afek, Dave Dice, and Adam Morrison.
Proceedings of the 10th International Symposium on Memory Management (ISMM 2011), June 2011.

Coping with Context Switches in Lock-Based Software Transactional Memory.
Yehuda Afek, Yoav Cohen, and Adam Morrison.
Proceedings of the 4th Annual International Systems and Storage Conference (SYSTOR 2011), May 2011.

View Transactions and the Relaxation of Consistency Checks in Software Transactional Memory.
Yehuda Afek, Adam Morrison, and Moran Tzafrir.
In the 2nd Workshop on the Theory of Transactional Memory (WTTM), September 2010.

Brief Announcement: View Transactions: Transactional Model with Relaxed Consistency Checks.
Yehuda Afek, Adam Morrison, and Moran Tzafrir.
Proceedings of the 29th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC 2010), July 2010.

Common2 Extended to Stacks and Unbounded Concurrency.
Yehuda Afek, Eli Gafni, and Adam Morrison.
Proceedings of the 25th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC 2006), July 2006.
Invited to special issue of Distributed Computing, 20(4), November 2007.