picture of Michael Spear Michael Spear [CV]

Associate Professor
Computer Science and Engineering, Lehigh University
(610) 758-3285
spear@cse.lehigh.edu

Research

I am interested in runtime and operating systems, languages, and processor and memory architecture, with an emphasis on simplifying the development of correct multithreaded applications.

Focus Area: Transactional Memory (TM): TM is a promising alternative to locks when writing explicitly parallel programs that share data. There are many open issues in TM, to include language integration, OS support, hardware acceleration, interaction with garbage collection, condition synchronization, and performance profiling. There are also many opportunities to extend and improve upon existing work. An excellent source of information is the Rochester High-Performance Synchronization website. The most recent code is available at the TransMem repository. Older code is available through the RSTM respository.

Focus Area: Concurrent Data Structures: I have also developed a number of interesting concurrent data structures, which allow for low-overhead communication in explicitly concurrent programs. Our work to date includes lists, priority queues, hash tables, and other data structures. We have also developed a novel technique for using hardware transactional memory to accelerate nonblocking data structures.

Focus Area: Speculative Parallelization: While STM is a very promising idea, it does little to help existing software to harness parallel resources. One option in this area is Thread-Level Speculation, which speculatively parallelizes code while preserving sequential semantics. This can be done entirely in software, though it takes clever algorithms and compiler support to achieve low enough overhead.

Other Topics: I am interested in many other areas, to include OS support for explicit and implicit parallelism, the design of parallel allocators and garbage collectors, hardware mechanisms to improve inter-process communication, the design and implementation of new parallel languages, and programming models for cloud-based systems.

Collaborating at Lehigh

If you are a graduate student at Lehigh and you are interested in any of these topics, please get in touch with me immediately so that we can discuss our mutual interests and see if we should start working together.

If you are an undergraduate student at Lehigh and you are interested in any of these topics, please get in touch with me as early as possible during the fall semester. I have a number of research projects that you may be able to get involved in, either as a senior project, as a summer internship, or just for fun. I would also be happy to give advice about pursuing a graduate degree in Computer Science.

If you are not currently at Lehigh, but you would like to perform research in one of these areas while you pursue a PhD in Computer Science, then you should also get in touch with me as early as possible during the fall semester, so that I can advise you about applications.

If you are not currently a student, but you think you might want to go back to school and earn a PhD in Computer Science, then you should get in touch with me even if you have no idea what "parallelism" means. I spent five years in the U.S. Air Force before starting my PhD, and my experiences and opinions may help you decide whether or not to leave the work force to go to grad school. If you are currently active duty military and you are thinking about pursuing a PhD, either through your branch of service or as a civilian, then you will probably find my experiences particularly helpful as you decide on the next phase of your career.

Graduate Students

  • Tingzhe Zhou — Current PhD Student
  • PanteA Zardoshti — Current PhD Student
  • Matthew Rodriguez — Current PhD Student
  • Pavithra Balaji — Current MS Student
  • Chao Wang — MS 2016 — First Employment: USC
  • Yujie Liu — PhD 2015 — First employment: Google
  • Wenjia Ruan — PhD 2015 — First employment: Qualcomm Research
  • Steve Louie — MS 2015 — First employment: Cisco
  • Adam Schaub — MS 2015 — First employment: Cisco
  • Trilok Vyas — MS 2012 — First employment: Fidelity National Information Systems
  • Qingping Wang — MS 2011 — First employment: jobvite.com
  • Francois Carouge — MS 2010 — First employment: Lutron

Publications

  1. "Languages Must Expose Memory Heterogeneity" by Xiaochen Guo, Aviral Shrivastava, Michael Spear, and Gang Tan. International Symposium on Memory Systems (MEMSYS), Oct 2016.
  2. "Towards Migrating Computation to Distributed Memory Caches", by Adam Schaub and Michael Spear. Workshop on Distributed Cloud Computing, Jul 2016.
  3. "Practical Condition Synchronization for Transactional Memory" by Chao Wang and Michael Spear EuroSys 2016, Apr 2016.
  4. "The Mimir Approach to Transactional Output", by Tingzhe Zhou and Michael Spear. 11th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), Feb 2016.
  5. "TSXProf: Profiling Hardware Transactions", by Yujie Liu, Justin Gottschlich, Gilles Pokam, and Michael Spear. 24th International Conference on Parallel Architectures and Compilation Techniques, Oct 2015.
  6. "Hybrid Transactional Memory Revisited", by Wenjia Ruan and Michael Spear. 29th International Symposium on Distributed Computing, Oct 2015.
  7. "Transactional Acceleration of Concurrent Data Structures", by Yujie Liu, Tingzhe Zhou, and Michael Spear. ACM Symposium on Parallelism in Algorithms and Architectures, Jun 2015.
  8. "Between All and Nothing -- Versatile Aborts in Hardware Transactional Memory" by Stephan Diestelhorst, Martin Nowack, Michael Spear, and Christof Fetzer. 10th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), Jun 2015.
  9. "Transactional Tools for the Third Decade", by Matthew Kilgore, Stephan Louie, Chao Wang, Tingzhe Zhou, Wenjia Ruan, Yujie Liu, and Michael Spear. 10th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), Jun 2015.
  10. "An Opaque Hybrid Transactional Memory", by Wenjia Ruan and Michael Spear. 10th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), Jun 2015.
  11. "Transactional Read-Modify-Write Without Aborts", by Wenjia Ruan, Yujie Liu, and Michael Spear. ACM TACO, 2014.
  12. "A New API for Transactional Condition Synchronization", by Chao Wang, Yujie Liu, and Michael Spear. 6th Workshop on the Theory of Transactional Memory (WTTM), Jul 2014.
  13. "Dynamic-Sized Nonblocking Hash Tables", by Yujie Liu, Kunlong Zhang, and Michael Spear. ACM Symposium on Principles of Distributed Computing, Jul 2014.
  14. "Transaction-Friendly Condition Variables", by Chao Wang, Yujie Liu, and Michael Spear. 26th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), Jun 2014.
  15. "Partitioning OWL Knowledge Bases for Parallel Reasoning", by Sambhawa Priya, Yuanbo Guo, Michael Spear, and Jeff Heflin. 8th IEEE International Conference on Semantic Computing (ICSC 2014), Jun 2014.
  16. "Transactionalizing Legacy Code: An Experience Report Using GCC and Memcached", by Wenjia Ruan, Trilok Vyas, Yujie Liu, and Michael Spear. 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Mar 2014.
  17. "STAMP Need Not Be Considered Harmful", by Wenjia Ruan, Yujie Liu, and Michael Spear. 9th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), Mar 2014.
  18. "Transaction-Friendly Condition Variables", by Chao Wang, Yujie Liu, and Michael Spear. 9th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), Mar 2014.
  19. "Boosting Timestamp-based Transactional Memory by Exploiting Hardware Cycle Counters", by Wenjia Ruan, Yujie Liu, and Michael Spear. ACM TACO, 2013.
  20. "Practical Non-blocking Unordered Lists", by Kunlong Zhang, Yujiao Zhao, Yajun Yang, Yujie Liu and Michael Spear. DISC 2013, Jerusalem, Israel, Oct. 2013.
  21. "On the Relationship Between Delaying Operators and Language-Level Semantics", by Wenjia Ruan, Yujie Liu, and Michael Spear. 5th Workshop on the Theory of Transactional Memory, Jerusalem, Israel, Oct. 2013.
  22. "Brief Announcement: Between All and Nothing --- Versatile Aborts in Hardware Transactional Memory", by Stephan Diestelhorst, Martin Nowack, Michael Spear and Christof Fetzer. 25th ACM Symp. on Parallelism in Algorithms and Architectures (SPAA), Montreal, Canada, July 2013.
  23. "Mindicators: A Scalable Approach to Quiescence", by Yujie Liu, Victor Luchangco, and Michael Spear. 33rd International Conference on Distributed Computing Systems, Philadelphia, PA, July 2013.
  24. "Boosting Timestamp-based Transactional Memory by Exploiting Hardware Cycle Counters", by Wenjia Ruan, Yujie Liu and Michael Spear. 8th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), Houston, TX, March 2013.
  25. "Transactionalizing Legacy Code: An Experience Report Using GCC and Memcached", by Trilok Vyas, Yujie Liu and Michael Spear. 8th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), Houston, TX, March 2013. Selected as Best Application Paper
  26. "Read, Write, Play: An Educational Mobile Gaming Platform", by Jennifer Bayzick, Bradley Askins, Sharon Kalafut, and Michael Spear. 44th ACM Technical Symposium on Computer Science Education (SIGCSE 2013), Denver, CO, March 2013.
  27. "On the Platform Specificity of STM Instrumentation Mechanisms", by Wenjia Ruan, Yujie Liu, Chao Wang, and Michael Spear. 2013 International Symposium on Code Generation (CGO), Shenzhen, China, February 2013.
  28. "Mounds: Array-Based Concurrent Priority Queues", by Yujie Liu and Michael Spear. 41st International Conference on Parallel Processing (ICPP), Pittsburgh, PA, September 2012.
  29. "Delegation and Nesting in Best Effort Hardware Transactional Memory", by Yujie Liu, Stephan Diestelhorst, and Michael Spear. 24th ACM Symp. on Parallelism in Algorithms and Architectures (SPAA), Pittsburgh, PA, June 2012.
  30. "A Lock-Free, Array-Based Priority Queue (POSTER)", by Yujie Liu and Michael Spear. 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), New Orleans, LA, February 2012.
  31. "A Transactional Memory with Automatic Performance Tuning", by Qingping Wang, Sameer Kulkarni, John Cavazos, and Michael Spear. 7th International Conference on High-Performance and Embedded Architectures and Compilers (HiPEAC), Jan 2012.
  32. "Brief Announcement: A Nonblocking Set Optimized for Querying the Minimum Value", by Yujie Liu and Michael Spear. 30th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC), Jun 2011.
  33. "Toxic Transactions", by Yujie Liu and Michael Spear. 6th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), Jun 2011.
  34. "Towards Applying Machine Learning to Adaptive Transactional Memory", by Qingping Wang, Sameer Kulkarni, John Cavazos, and Michael Spear. 6th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), Jun 2011.
  35. "Hybrid NOrec: A Case Study in the Effectiveness of Best Effort Hardware Transactional Memory", by Luke Dalessandro, Francois Carouge, Sean White, Yossi Lev, Mark Moir, Michael Scott, and Michael Spear. ASPLOS 2011, Newport Beach, CA, Mar 2011.
  36. "On Reconciling Hardware Atomicity, Memory Models, and __tm_waiver", by Sean White and Michael Spear. 2nd Workshop on the Theory of Transactional Memory (WTTM), Cambridge, Mass, Sep. 2010.
  37. "A Scalable Lock-Free Universal Construction with Best Effort Transactional Hardware", by Francois Carouge and Michael Spear. DISC 2010, Cambridge, Mass, Sep. 2010.
  38. "Transactions as the Foundation of a Memory Consistency Model", by Luke Dalessandro, Michael Scott, and Michael Spear. DISC 2010, Cambridge, Mass, Sep. 2010.
  39. "Transactional Mutex Locks", by Luke Dalessandro, Dave Dice, Michael Scott, Nir Shavit, and Michael Spear. EuroPar 2010, Naples, Italy, Aug. 2010.
  40. "Lightweight, Robust Adaptivity for Software Transactional Memory", by Michael Spear. 22nd ACM Symp. on Parallelism in Algorithms and Architectures (SPAA), Santorini, Greece, June, 2010.
    Source Code
  41. "Hybrid TM Using NOrec STM (POSTER)", by Luke Dalessandro, Michael Spear, and Michael Scott. 15th International Conference on Architectural Support for Programming Languages and Operating Systems, Pittsburgh, PA, March 2010.
  42. "NOrec: Streamlining STM by Abolishing Ownership Records", by Luke Dalessandro, Michael Spear, and Michael Scott. 15th ACM Symp. on Principles and Practice of Parallel Programming (PPoPP), Bangalore, India, Jan. 2010.
  43. "Fastpath Speculative Parallelization", by Michael Spear, Kirk Kelsey, Tongxin Bai, Luke Dalessandro, Michael Scott, Chen Ding, and Peng. Wu. 22nd Intl. Workshop on Languages and Compilers for Parallel Computing (LCPC), Newark, DE, Oct. 2009.
  44. "Fast Software Transactions", by Michael Spear. PhD Thesis, University of Rochester, Jun 2009.
  45. "Reducing Memory Ordering Overheads in Software Transactional Memory", by Michael Spear, Maged Michael, Michael Scott, and Peng Wu. 2009 International Symp. on Code Generation and Optimization (CGO 2009), Mar. 2009.
  46. "Transactional Mutex Locks", by Michael Spear, Arrvindh Shriraman, Luke Dalessandro, and Michael Scott. 4th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), Feb. 2009.
  47. "Compiler and Runtime Techniques for Software Transactional Memory Optimization", by Peng Wu, Maged Michael, Christoph von Praun, Takuya Nakaike, Rajesh Bordawekar, Harold Cain, Calin Cascaval, Siddhartha Chatterjee, Stefanie Chiras, Rui Hou, Mark Mergen, Xiaowei Shen, Michael Spear, Huayong Wang, and Kun Wang. Concurrency and Computation: Practice and Experience 21(1): 7-23, 2009.
  48. "A Comprehensive Strategy for Contention Management in Software Transactional Memory", by Michael Spear, Luke Dalessandro, Virendra Marathe, and Michael Scott. 14th ACM Symp. on Principles and Practice of Parallel Programming (PPoPP 2009), Feb. 2009.
  49. "Ordering-Based Semantics for Software Transactional Memory", by Michael Spear, Luke Dalessandro, Virendra Marathe, and Michael Scott. 12th International Conference On Principles Of DIstributed Systems (OPODIS 2008), Dec. 2008.
  50. "Implementing and Exploiting Inevitability in Software Transactional Memory", by Michael Spear, Michael Silverman, Luke Dalessandro, Maged Michael, and Michael Scott. 37th International Conference on Parallel Processing (ICPP) , Sep. 2008.
  51. "Scalable Techniques for Transparent Privatization in Software Transactional Memory", by Virendra Marathe, Michael Spear, and Michael Scott. 37th International Conference on Parallel Processing (ICPP) , Sep. 2008.
  52. "Brief Announcement: Transactional Memory Retry Mechanisms", by Michael Spear, Andrew Sveikauskas, and Michael Scott. 27th ACM Symp. on Principles of Distributed Computing (PODC) , Aug. 2008. Extended version available as TR 935, Computer Science Department, University of Rochester, Jun. 2008.
  53. "RingSTM: Scalable Transactions with a Single Atomic Instruction", by Michael Spear, Maged Michael and Christoph von Praun. 20th ACM Symp. on Parallelism in Algorithms and Architectures (SPAA) , Jun. 2008.
  54. "Inevitability Mechanisms for Software Transactional Memory", by Michael Spear, Maged Michael, and Michael Scott. 3rd ACM SIGPLAN Workshop on Transactional Computing (TRANSACT) , Feb. 2008.
  55. "Transaction Safe Nonblocking Data Structures" (brief announcement), by Virendra Marathe, Michael Spear and Michael Scott. 21st Intl. Symp. on Distributed Computing (DISC) , Sept. 2007.
  56. "Delaunay Triangulation with Transactions and Barriers" , by Michael Scott, Michael Spear, Luke Dalessandro, and Virendra Marathe. Benchmarks track, IEEE Intl. Symp. on Workload Characterization (IISWC) , Sept. 2007.
  57. "Capabilities and Limitations of Library-Based Software Transactional Memory in C++" , by Luke Dalessandro, Virendra Marathe, Michael Spear, and Michael Scott. 2nd ACM SIGPLAN Workshop on Transactional Computing (TRANSACT) , Aug. 2007.
  58. "Privatization Techniques for Software Transactional Memory" (brief announcement), by Michael Spear, Virendra Marathe, Luke Dalessandro, and Michael Scott. 26th ACM Symp. on Principles of Distributed Computing (PODC) , Aug. 2007. Extended version available as TR 915 , Computer Science Department, University of Rochester, Feb. 2007.
  59. "Transactions and Privatization in Delaunay Triangulation" (brief announcement), by Michael Scott, Michael Spear, Luke Dalessandro, and Virendra Marathe. 26th ACM Symp. on Principles of Distributed Computing (PODC) , Aug. 2007.
  60. "An Integrated Hardware-Software Aproach to Flexible Transactional Memory" , by Arrvindh Shriraman, Michael Spear, Hemayet Hossain, Virendra Marathe, Sandhya Dwarkadas, and Michael Scott. 34th Intl. Symp. on Computer Architecture (ISCA) , Jun. 2007.
  61. "Nonblocking Transactions Without Indirection Using Alert-on-Update" , by Michael Spear, Arrvindh Shriraman, Luke Dalessandro, Sandhya Dwarkadas, and Michael Scott. 19th ACM Symp. on Parallelism in Algorithms and Architectures (SPAA) , Jun. 2007.
  62. "Alert-on-Update: A Communication Aid for Shared Memory Multiprocessors (poster paper)" , by Michael Spear, Arrvindh Shriraman, Hemayet Hossain, Sandhya Dwarkadas, and Michael Scott. Twelfth ACM Symp. on Principles and Practice of Parallel Programming (PPoPP) , Mar. 2007.
  63. "Conflict Detection and Validation Strategies for Software Transactional Memory" , by Michael Spear, Virendra Marathe, William Scherer III, and Michael Scott. 20th Intl. Symp. on Distributed Computing (DISC) , Sept. 2006.
  64. "Lowering the Overhead of Nonblocking Software Transactional Memory" , by Virendra Marathe, Michael Spear, Christopher Heriot, Athul Acharya, David Eisenstat, William Scherer III, and Michael Scott. Workshop on Languages, Compilers, and Hardware Support for Transactional Computing (TRANSACT) , June 2006. Earlier, extended version available as TR 893 , Computer Science Department, University of Rochester, Mar. 2006.
  65. "Hardware Acceleration of Software Transactional Memory" , by Arrvindh Shriraman, Virendra Marathe, Sandhya Dwarkadas, Michael Scott, David Eisenstat, Christopher Heriot, William Scherer III, and Michael Spear. Workshop on Languages, Compilers, and Hardware Support for Transactional Computing (TRANSACT) , June 2006.
  66. "Solving the Starting Problem: Device Drivers as Self-Describing Artifacts" , by Michael Spear, Tom Roeder, Orion Hodson, Galen Hunt, and Steven Levi. EuroSys2006 , April 2006.