Justin Gottschlich

WELCOME

I am a Staff Research Scientist in the Programming Systems Lab at Intel Labs, Intel Corporation. I also hold an appointment as an Adjunct Professor at the University of Colorado-Boulder in the department of Electrical, Computer, and Energy Engineering. For over a decade, I have run my own software company, Nodeka, LLC., of which I am the founder and CEO.

My CV can be found here.

I perform research in the area of parallel computing with an emphasis on parallel programming and algorithms. I believe that for parallel computer systems to be practical they must be more efficient, easier to program, and easier to debug. A fundamental topic that I’m interested in is addressing how we can make it easier to write parallel programs.

At Intel, I spend my days researching transactional memory and multithreaded programming and debugging. I am interested in all aspects of parallel systems (e.g., hardware, software, designing, coding, testing, debugging), machine learning, and algorithms. I’m currently the vice-chair of SG5: Transactional Memory, a C++ Study Group intended to identify transactional language constructs for the Standard C++ Programming Language.

    Recent Highlights

  • TRANSACT 2015: General Chair and Steering Committee Member
  • PACT 2014 Paper: "Invyswell: A Hybrid Transactional Memory for Haswell's Restricted Transactional Memory"
  • TRANSACT 2014: Program Chair
  • PACT 2013 Paper: "Concurrent Predicates: A Debugging Technique for Every Parallel Programmer"
  • HotPar 2013 Papers: "Using Elimination and Delegation to Implement a Scalable NUMA-Friendly Stack" and "But How Do We Really Debug Transactional Memory Programs?"
  • ISCA 2013 Paper: "QuickRec: Prototyping an Intel Architecture Extension for Record and Replay of Multithreaded Programs"
  • TRANSACT 2013: Application Track Chair
  • TRANSACT 2013 Paper: "Generic Programming Needs Transactional Memory"

Students

Co-advisor: Irina Calciu, Ph.D. student at Brown University (Advisor: Maurice Herlihy)

SELECTED AND RECENT PUBLICATIONS

[2014]

Invyswell: A Hybrid Transactional Memory for Haswell's Restricted Transactional Memory (25% acceptance, 37/149)
Irina Calciu, Justin E. Gottschlich, Tatiana Shpeisman, Gilles Pokam, and Maurice Herlihy
[To Appear: The 23rd International Conference on Parallel Architectures and Compilation Techniques (PACT), August 2014]

Towards Transactional Memory for OpenMP
Michael Wong, Eduard Ayguadé, Justin Gottschlich, Victor Luchangco, Bronis R. de Supinski, and Barna Bilhari
[International Workshop on OpenMP (IWOMP), August 2014]

[2013]

Concurrent Predicates: A Debugging Technique for Every Parallel Programmer (17% acceptance, 36/208)
Justin E. Gottschlich, Gilles Pokam, Cristiano Pereira, and Youfeng Wu
[The 22nd International Conference on Parallel Architectures and Compilation Techniques (PACT), September 2013]

Using Elimination and Delegation to Implement a Scalable NUMA-Friendly Stack (46% acceptance, 14/30)
Irina Calciu, Justin E. Gottschlich, and Maurice Herlihy
[USENIX Hot Topics in Parallelism (HotPar), June 2013]

But How Do We Really Debug Transactional Memory Programs? (46% acceptance, 14/30)
Justin E. Gottschlich, Rob Knauerhase, and Gilles Pokam
[USENIX Hot Topics in Parallelism (HotPar), June 2013]

QuickRec: Prototyping an Intel Architecture Extension for Record and Replay of Multithreaded Programs (19% acceptance, 56/288)
Gilles Pokam, Klaus Danne, Cristiano Pereira, Rolf Kassa, Tim Kranich, Shiliang Hu, Justin E. Gottschlich, Nima Honarmand, Nathan Dautenhahn, Sam King, and Josep Torrellas
[The 40th ACM/IEEE International Symposium on Computer Architecture (ISCA), June 2013]

Generic Programming Needs Transactional Memory
Justin E. Gottschlich and Hans-J. Boehm
[The 8th ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), March 2013]

[2012]

Visualizing Transactional Memory (19% acceptance, 39/207) (BibTex)
Justin E. Gottschlich, Maurice Herlihy, Gilles Pokam, and Jeremy Siek
[The 21st International Conference on Parallel Architectures and Compilation Techniques (PACT), September 2012]

Concurrent Predicates: Finding and Fixing the Root Cause of Concurrency Violations (BibTex)
Justin E. Gottschlich, Gilles Pokam, and Cristiano Pereira
[USENIX Workshop on Hot Topics in Parallelism (HotPar), June 2012]

[2011]

CoreRacer: A Practical Memory Race Recorder for Multicore x86 TSO Processors (21% acceptance, 44/209) (BibTex)
Gilles Pokam, Cristiano Pereira, Shiliang Hu, Ali-Reza Adl-Tabatabai, Justin E. Gottschlich, Jungwoo Ha, and Youfeng Wu
[International Symposium on Microarchitecture (MICRO), December 2011]

Optimizing the Concurrent Execution of Locks and Transactions (37% acceptance, 19/52) (BibTex)
Justin E. Gottschlich and JaeWoong Chung
[International Workshop on Languages and Compilers for Parallel Computing (LCPC), September 2011 / Lecture Notes in Comptuer Science, 2013]

[2010]

An Efficient Software Transactional Memory Using Commit-Time Invalidation (41% acceptance, 29/70) (Winner Best Presentation Award) (BibTex)
Justin E. Gottschlich, Manish Vachharajani and Jeremy G. Siek
[IEEE/ACM International Symposium on Code Generation and Optimization (CGO), April 2010]

More Publications…