Marek Olszewski
Education
Massachusetts Institute of Technology (Sept 2007 - Present)
Cambridge, MA
PhD - Computer Science, expected in 2012.
University of Toronto (Sept 2005 - Sept 2007)
Toronto, ON
MASc - Computer Engineering, September 2007, for
dissertation titled: A Dynamic Instrumentation Approach to Software
Transactional Memory. Received a 4.0 GPA.
University of Toronto (Sept 2001 - May 2005)
Toronto, ON
BASc - Computer Engineering with honors, May 2005.
Honors standing for all semesters with final cumulative
GPA of 3.82/4.00 (3.94/4.00 for core courses only). Certificate
in Preventive Engineering and Social Development awarded by the
Center for Technology and Social Development.
Work Experience
Massachusetts Institute of Technology (Sept 2007 - Present)
Cambridge, MA
Research Assistant to Prof. Saman Amarasinghe in the
Commit Research Group.
Developing novel algorithms aimed at simplifying the task of
programming, debugging and testing parallel applications by
making them run deterministically.
Created Kendo, a novel deterministic locking library
that efficiently enforces deterministic execution of
lock-based parallel applications on today's commodity
chip-multiprocessors.
Teaching Assistant for
Performance Engineering of Software Systems(6.197). Developed new course material for the first offering of the class.
Microsoft Research (June 2010 - Sept 2010)
Redmond, WA
Research Intern with the Software Reliability Research
Group. Created a debugging tool that searches for race bugs
in javascript web applications. The tool captures all sources
of non-determinism in web applications allowing it to explore
an application's state space deterministically.
Sun Microsystems Laboratories (June 2009 - Sept 2009)
Burlington, MA
Graduate Student Research Intern with the Scalable
Synchronization Research Group. Created a version of the
SkySTM software transactional memory system that uses
Rock's hardware transactional memory (HTM) constructs to
accelerate the STM. Additionally wrote a source to
source compiler that optimizes Rock HTM transactions so
that they execute with fewer transaction aborts.
Sun Microsystems Laboratories (June 2008 - Sept 2008)
Burlington, MA
Graduate Student Research Intern with the Scalable
Synchronization Research Group. Created a number of
novel reader-writer lock algorithms that are first to
scale near-perfectly under read-only workloads without
introducing additional space and time overhead when there
is little contention. Contributed to SkySTM, a scalable
software transactional memory system that efficiently
supports implicit privatization.
Google (June 2007 - Aug 2007)
Kirkland, WA
Software Engineer Intern in the Google Video Ads
group. Focused on improving targeting of contextual video
advertisements for text and in-stream video
advertisements. Wrote large-scale distributed programs
to examine large amounts of data from various web-based
sources to extract information describing the targeted
videos.
University of Toronto (Sept 2005 - Sept 2007)
Toronto, ON
Research Assistant to Prof. J. Gregory Steffan in the
Department of Electrical and Computer Engineering.
Created Judo, a fast and lightweight dynamic binary
rewriting system for the x86 ISA.
Developed JIFL (JIT Instrumentation Framework for Linux),
a tool that allows kernel developers to rapidly debug, profile,
and monitor live kernel code through efficient
instrumentation performed by a kernel version of Judo.
Developed JudoSTM, a dynamic binary rewriting based software
transactional memory system. JudoSTM supports arbitrary
C and C++ code within transactions, as well as calls to
shared libraries and system calls.
Teaching Assistant for
Programming Fundamentals,
Computer Organization(engsci/enriched offering), and
Computer Systems Programming(Head TA, assisted in designing the course).
Microsoft (June - Sept 2005)
Redmond, WA
Intern Software Development Engineer in the Base Class
Library Team of the Microsoft .NET Framework. Independently designed
and implemented API specifications for new inter-process
communication classes. Led numerous group-wide meetings aimed at
discussing and obtaining feedback on the design. The work
resulted in a patent.
Microsoft (June - Sept 2004)
Redmond, WA
Intern Software Development Engineer in
the Common Language Runtime (Microsoft
.NET Framework) Port Team. Primarily focused on improving
64 bit performance. Contributed to several components of
the runtime, yielding performance increases of up to 45% on
certain managed benchmarks. Also ported a working-set
analysis tool to the AMD64 architecture.
University of Toronto (May - Aug 2003)
Toronto, ON
Undergraduate Research Assistant to Prof. Michael
Voss of the Runtime Optimization for High-Performance
Computing Group, funded by the McAllister Summer
Fellowship. Developed a framework for automatic
install-time construction of empirically optimized
parallel sorting algorithms.
Publications
Aikido: Accelerating Shared Data Dynamic Analyses
Marek Olszewski, Qin Zhao, David Koh, Jason Ansel and Saman Amarasinghe
To appear in the proceedings of ASPLOS`12: The International Conference on Architectural Support for Programming Languages and Operating Systems, London UK, March, 2012.
Marek Olszewski, Qin Zhao, David Koh, Jason Ansel and Saman Amarasinghe
To appear in the proceedings of ASPLOS`12: The International Conference on Architectural Support for Programming Languages and Operating Systems, London UK, March, 2012.
Scaling Deterministic Multithreading
Marek Olszewski, Jason Ansel, and Saman Amarasinghe.
In Proceeding of the 2nd Workshop on Determinism and Correctness in Parallel Programming, WODET '11, Newport Beach, CA 2011.
Marek Olszewski, Jason Ansel, and Saman Amarasinghe.
In Proceeding of the 2nd Workshop on Determinism and Correctness in Parallel Programming, WODET '11, Newport Beach, CA 2011.
Language and Compiler Support for Auto-Tuning Variable-Accuracy Algorithms
Jason Ansel, Yee Lok Won, Cy Chan, Marek Olszewski, Alan Edelman, and Saman Amarasinghe.
In the proceedings of CGO`11: The International Symposium on Code Generation and Optimization, Chamonix, France. April, 2010.
Jason Ansel, Yee Lok Won, Cy Chan, Marek Olszewski, Alan Edelman, and Saman Amarasinghe.
In the proceedings of CGO`11: The International Symposium on Code Generation and Optimization, Chamonix, France. April, 2010.
Simplifying Concurrent Algorithms by Exploiting Hardware
Transactional Memory
Dave Dice, Yossi Lev, Virendra J. Marathe, Mark Moir, Dan Nussbaum, and Marek Olszewski.
In the proceedings of SPAA`10: The 22nd ACM Symposium on Parallelism in Algorithms and Architectures, Santorini, Greece, June, 2010.
Dave Dice, Yossi Lev, Virendra J. Marathe, Mark Moir, Dan Nussbaum, and Marek Olszewski.
In the proceedings of SPAA`10: The 22nd ACM Symposium on Parallelism in Algorithms and Architectures, Santorini, Greece, June, 2010.
Early Experience with a Commercial Hardware Transactional Memory
Implementation
David Dice, Yossi Lev, Mark Moir, Daniel Nussbaum and Marek Olszewski
Sun Microsystems Technical Report, TR-2009-180, October, 2009.
David Dice, Yossi Lev, Mark Moir, Daniel Nussbaum and Marek Olszewski
Sun Microsystems Technical Report, TR-2009-180, October, 2009.
Scalable Reader-Writer Locks
Yossi Lev, Victor Luchangco and Marek Olszewski
In the proceedings of SPAA`09: The 21st ACM Symposium on Parallelism in Algorithms and Architectures, Calgary, Canada, August, 2009.
Yossi Lev, Victor Luchangco and Marek Olszewski
In the proceedings of SPAA`09: The 21st ACM Symposium on Parallelism in Algorithms and Architectures, Calgary, Canada, August, 2009.
PetaBricks: A Language and Compiler for Algorithmic Choice
Jason Ansel, Cy Chan, Yee Lok Wong, Marek Olszewski, Qin Zhao, Alan Edelman and Saman Amarasinghe
In the proceedings of PLDI`09: The ACM SIGPLAN '98 Conference on Programming Language Design and Implementation, Dublin, Ireland, June, 2009.
Jason Ansel, Cy Chan, Yee Lok Wong, Marek Olszewski, Qin Zhao, Alan Edelman and Saman Amarasinghe
In the proceedings of PLDI`09: The ACM SIGPLAN '98 Conference on Programming Language Design and Implementation, Dublin, Ireland, June, 2009.
Kendo: Efficient Deterministic Multithreading in Software
Marek Olszewski, Jason Ansel and Saman Amarasinghe
In the proceedings of ASPLOS`09: The International Conference on Architectural Support for Programming Languages and Operating Systems, Washington DC, March, 2009.
Marek Olszewski, Jason Ansel and Saman Amarasinghe
In the proceedings of ASPLOS`09: The International Conference on Architectural Support for Programming Languages and Operating Systems, Washington DC, March, 2009.
Anatomy of a Scalable Software Transactional Memory
Yossi Lev, Victor Luchangco, Virendra J. Marathe, Mark Moir, Dan Nussbaum and Marek Olszewski
In the proceedings of TRANSACT`09: The ACM SIGPLAN Workshop on Transactional Computing Raleigh NC, February 15, 2009.
Yossi Lev, Victor Luchangco, Virendra J. Marathe, Mark Moir, Dan Nussbaum and Marek Olszewski
In the proceedings of TRANSACT`09: The ACM SIGPLAN Workshop on Transactional Computing Raleigh NC, February 15, 2009.
A Dynamic Instrumentation Approach to Software
Transactional Memory
Marek Olszewski
M.A.Sc. Thesis, University of Toronto, Toronto ON, September, 2007.
Marek Olszewski
M.A.Sc. Thesis, University of Toronto, Toronto ON, September, 2007.
JudoSTM: A Dynamic Binary-Rewriting
Approach to Software Transactional Memory
Marek Olszewski, Jeremy Cutler and J. Gregory Steffan
In the proceedings of PACT`07: The International Conference on Parallel Architectures and Compilation Techniques, Brasov, Romania, September, 2007.
Marek Olszewski, Jeremy Cutler and J. Gregory Steffan
In the proceedings of PACT`07: The International Conference on Parallel Architectures and Compilation Techniques, Brasov, Romania, September, 2007.
JIT Instrumentation - A Novel Approach
To Dynamically Instrument Operating Systems
Marek Olszewski, Keir Mierle, Adam Czajkowski and Angela Demke Brown
In the proceedings of ACM SIGOPS EuroSys`07, Lisbon, Portugal, March 2007.
Marek Olszewski, Keir Mierle, Adam Czajkowski and Angela Demke Brown
In the proceedings of ACM SIGOPS EuroSys`07, Lisbon, Portugal, March 2007.
An Install-Time
System for the Automatic Generation of Optimized
Parallel Sorting Algorithms
Marek Olszewski and Michael Voss
In the proceedings of PDPTA`04: The International Conference on Parallel and Distributed Processing Techniques and Applications, Las Vegas NV, June 2004.
Marek Olszewski and Michael Voss
In the proceedings of PDPTA`04: The International Conference on Parallel and Distributed Processing Techniques and Applications, Las Vegas NV, June 2004.
Patents
System and method for performing dynamic mixed mode read
validation in a software transactional memory
Yosef Lev, Marek Olszewski, Mark S. Moir
US Patent 20110125973, May 2011.
Yosef Lev, Marek Olszewski, Mark S. Moir
US Patent 20110125973, May 2011.
Scalable Reader-Writer Lock
Victor M. Luchangco, Yosef Lev, Marek Olszewski
US Patent 20100241774, Sept 2010.
Victor M. Luchangco, Yosef Lev, Marek Olszewski
US Patent 20100241774, Sept 2010.
Conditioned Scalable Non-Zero Indicator
Yosef Lev, Marek Olszewski
US Patent 20100042997, Feb 2010.
Yosef Lev, Marek Olszewski
US Patent 20100042997, Feb 2010.
Unmanaged Memory Accessor
Ramasamy Krishnaswamy, Marek Olszewski, Anthony J. Moore, Brian Grunkemeyer, Kim Hamilton
US Patent 20070283117, June 2007.
Ramasamy Krishnaswamy, Marek Olszewski, Anthony J. Moore, Brian Grunkemeyer, Kim Hamilton
US Patent 20070283117, June 2007.
Presentations
Kendo: Efficient Deterministic Multithreading
Fellowship Talk. Facebook. Palo Alto CA, December 2011.
Fellowship Talk. Facebook. Palo Alto CA, December 2011.
Outfoxing the Mammoths
PLDI FIT Presentation. PLDI`10: The ACM SIGPLAN Conference on Programming Language Design and Implementation, Toronto, Canada, June, 2010. [Best Talk Award]
PLDI FIT Presentation. PLDI`10: The ACM SIGPLAN Conference on Programming Language Design and Implementation, Toronto, Canada, June, 2010. [Best Talk Award]
Scalable Reader-Writer Locks
Conference Presentation. SPAA`09: Symposium on Parallelism in Algorithms and Architectures, Calgary, Canada, August, 2009.
Conference Presentation. SPAA`09: Symposium on Parallelism in Algorithms and Architectures, Calgary, Canada, August, 2009.
Deterministic Multithreading
Invited Talk (Hosted by Mark Moir). Sun Microsystems Labs. Burlington MA, April 2009.
Invited Talk (Hosted by Mark Moir). Sun Microsystems Labs. Burlington MA, April 2009.
Kendo: Efficient Deterministic Multithreading in Software
Conference Presentation. ASPLOS`09: The International Conference on Architectural Support for Programming Languages and Operating Systems, Washington DC, March, 2009.
Conference Presentation. ASPLOS`09: The International Conference on Architectural Support for Programming Languages and Operating Systems, Washington DC, March, 2009.
JudoSTM: A Dynamic Binary-Rewriting
Approach to Software Transactional Memory
Invited Talk (Hosted by Mark Moir). Sun Microsystems Labs. Burlington MA, February 2008.
Invited Talk (Hosted by Mark Moir). Sun Microsystems Labs. Burlington MA, February 2008.
JIT Instrumentation - A Novel Approach
To Dynamically Instrument Operating Systems
Invited Talk (Hosted by Robert Cohn). Intel Massachusetts. Hudson MA, October 2007.
Invited Talk (Hosted by Robert Cohn). Intel Massachusetts. Hudson MA, October 2007.
JudoSTM: A Dynamic Binary-Rewriting
Approach to Software Transactional Memory
Conference Presentation. PACT`07: The International Conference on Parallel Architectures and Compilation Techniques, Brasov, Romania, September, 2007.
Conference Presentation. PACT`07: The International Conference on Parallel Architectures and Compilation Techniques, Brasov, Romania, September, 2007.
JIT Instrumentation - A Novel Approach
To Dynamically Instrument Operating Systems
Invited Talk (Hosted by Todd Mowry). Intel Research Pittsburgh. Pittsburgh PA, April 2007.
Invited Talk (Hosted by Todd Mowry). Intel Research Pittsburgh. Pittsburgh PA, April 2007.
Dynamic x86 Rewriting and Some Applications: Instrumentation, Dynamic
Multicore Prefetching, and Software Transactional Memory
Invited Talk. IBM Toronto. Markham ON, March 2007.
Invited Talk. IBM Toronto. Markham ON, March 2007.
JIT Instrumentation - A Novel Approach
To Dynamically Instrument Operating Systems
Conference Presentation. EuroSys`07, Lisbon, Portugal, March 2007.
Conference Presentation. EuroSys`07, Lisbon, Portugal, March 2007.
Dynamically Instrumenting Operating Systems with JIT
Recompilation
Work-in-Progress Presentation. OSDI`06: The seventh USENIX Symposium on Operating Systems Design and Implementation. Seattle WA, November 2006.
Work-in-Progress Presentation. OSDI`06: The seventh USENIX Symposium on Operating Systems Design and Implementation. Seattle WA, November 2006.
Academic Responsibilities
External Reviewer: USNIX ATC`11, PLDI`11, PLDI`10, ASPLOS`10, HotPar`09, CGO`09, PLDI`08
Academic Awards
Facebook Fellowship (2011)
Edward S. Rogers Graduate Scholarship (March 2007)
Graduate research scholarship.
University of Toronto Fellowship (Sept 2005)
Graduate research fellowship.
Whealey Joseph Scholarship (Sept 2004)
Merit-based scholarship.
University of Toronto Scholarship (June 2004)
Merit-based scholarship.
McAllister Summer Fellowship (May 2003)
Undergraduate summer research fellowship.
First Step to a Nobel Prize in Physics International
Physics Research Essay Competition (1999), Honorable Mention for
International Baccalaureate extended essay, The Effect of Moisture on the
Tensile Strength of Paper.
Skills
Languages: Bilingual in English and Polish;
conversational French. Computers: Extensive knowledge of
Windows and Linux operating systems. Fluent in C, C++, C#,
Java, Python, Javascript, Pascal, Scheme, Prolog, Perl, Basic, and assembly.
Interests and Background
Interests: Hiking and photography.
Sports: Rock climbing, volleyball, mountain biking,
and sailing.