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.

I'm interested in taking on new students.

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  

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 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.

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.

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.

Professional Activities  

Program committee, USENIX ATC 2021

Program committee, PPoPP 2021

Program committee, ICCD 2020

Program committee, DISC 2020

External review committee, PPoPP 2020

Program committee, OPODIS 2019

Program committee co-chair, SYSTOR 2019

Program committee, USENIX ATC 2019

External review committee, PPoPP 2019

Program committee, OPODIS 2018

Program committee, APSys 2018

Program committee, SYSTOR 2018

Program committee, PODC 2018

External review committee, PPoPP 2018

Treasurer, EuroSys (2017-)

Program committee, PPoPP 2017

Program committee, SYSTOR 2016

Program committee, DISC 2015

Program committee, SYSTOR 2015