| |
Tim Harris
|
 |
I am a researcher at Microsoft Research Cambridge (UK) where I work with the Cambridge Systems & Networking Group and the Programming Principles and Tools Group.
My main research interests are in the design and implementation of programming languages and managed
runtime environments to support multi-threaded and multi-processor software.
Internships
MSR Cambridge's internship programme now runs throughout the year.
More details are online here,
but if you're interested in working with me during an internship then
feel free to get in touch informally by e-mail.
Recent work
Semantics of atomic blocks. The slides I've presented about the
semantics of simple atomic blocks and the idea of providing strong
semantics for 'correctly synchronized' programs over an STM
implementation are here.
Atomic blocks for managed code. Our work at PLDI 2006 on Optimizing Memory Transactions described a new direct-update STM implementation, compiler optimizations for improving the performance of code using it, and integration between the STM and the rest of the runtime system. My older work on atomic blocks built over transactional memory in managed runtime
systems is the paper Language support for lightweight transactions at
OOPSLA 2003.
Transactional memory design and implementation. The best introduction to the work I've done with
Keir Fraser on the design and implementation of software transactional memories is the paper
Concurrent programming without locks in ACM TOCS.
Conference involvement
This year I am on the steering committee for TRANSACT,
and the programme committees for EuroSys 2007, PLDI 2007, OOPSLA 2007, ISMM 2007, VEE 2007, and PPoPP 2008. In the past I have
served on the programme committee for PODC CSJP Workshop 2004, VEE 2005, SCOOL 2005 (co-chair), The
2005 EuroSys Doctoral Workshop (chair), PPoPP 2006, PODC 2006, DISC 2006 and been a reviewer for
numerous conferences and journals such as POPL, PLDI, OOPSLA, SOSP, OSDI,
TOPLAS and TOCS.
Publications by Year
-
Martin Abadi, Andrew Birrell, Tim Harris, Michael Isard.
Semantics of Transactional Memory and Automatic Mutual Exclusion
POPL, Jan 2008
-
Tim Harris, Satnam Singh.
Feedback directed implicit parallelism
ICFP, Oct 2007
-
Tim Harris, Srdjan Stipic.
Abstract nested transactionsTRANSACT, August 2007
-
Cristian Perfumo, Nehir Sonmez, Osman S. Unsal, Adrian Cristal, Mateo Valero, Tim Harris.
Dissecting transactional execution in Haskell
TRANSACT, August 2007
-
Tim Harris, Adrian Cristal, Osman S Unsal, Eduard Ayguade, Fabrizio Gagliardi, Burton Smith, Mateo Valero.
Transactional memory: an overview
IEEE Micro Special Issue: Hot Tutorials, May/June 2007
-
Keir Fraser, Tim Harris.
Concurrent programming without locks
(draft) ACM TOCS, May 2007
-
Tim Harris, Eric Koskinen.
Optimizing across interfaces
under submission
-
Miguel Castro, Manuel Costa, Tim Harris.
Securing software by enforcing data-flow integrity
OSDI 2006 Nov 2006
-
Evangelos Kotsovinos, Iulia Ion, Tim Harris.
Resource Management for Global Public Computing: Many Policies Are Better Than (N)one
USENIX WORLDS 2006 Nov 2006
-
Tim Harris.
Leaky regions: linking reclamation hints to program structure
June 2006
Microsoft Research Technical Report MSR-TR-2006-84
-
Tim Harris, Mark Plesko, Avraham Shinnar, David Tarditi.
Optimizing Memory Transactions
June 2006
PLDI '06: ACM SIGPLAN 2006 Conference on Programming Language Design and Implementation
-
Tim Harris, Simon Peyton-Jones.
Transactional memory with data invariants
June 2006
TRANSACT '06
-
Anthony Discolo, Tim Harris, Simon Marlow, Simon Peyton-Jones, Satnam Singh.
Lock Free Data Structures using STMs in Haskell
April 2006
FLOPS '06: Proceedings of the Eighth International Symposium on Functional and Logic Programming
-
Paul Barham, Rebecca Isaacs, Richard Mortier, Tim Harris.
Learning communication patterns in Singularity
March 2006
First Workshop on Tackling Computer Systems Problems with Machine Learning Techniques (SysML)
-
Tim Harris, Keir Fraser.
Revocable locks for non-blocking programming
June 2005
New York, NY, USA
PPoPP '05: Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
72--82
-
Tim Harris, Simon Marlow, Simon Peyton-Jones, Maurice Herlihy.
Composable memory transactions
2005
New York, NY, USA
PPoPP '05: Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
48--60
-
David Spence, Jon Crowcroft, Steven Hand, Tim Harris.
Location Based Placement of Whole Distributed Systems
October 2005
Proceedings of the 2005 ACM conference on Emerging networking experiments and technologies
124--134
-
Chris Purcell, Tim Harris.
Non-Blocking Hashtables with Open Addressing
September 2005
DISC 2005: Proceedings of the 19th International Symposium on Distributed Computing
-
Tim Harris, Simon Marlow, Simon Peyton Jones.
Haskell on a Shared-Memory Multiprocessor
September 2005
Haskell '05: Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
49--61
-
Chris Purcell, Tim Harris.
Implementing Multi-word Atomic Snapshots on Current Hardware (short)
2004
PODC: 23th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing
-
Tim Harris.
Exceptions and side-effects in atomic blocks
July 2004
Workshop on COncurrency and Synchronization in Java Programs
46-53
-
Evangelos Kotsovinos, Tim Moreton, Ian Pratt, Russ Ross, Keir Fraser, Steven Hand, Tim Harris.
Global-scale service deployment in the XenoServer platform
December 2004
Proceedings of the First Workshop on Real, Large Distributed Systems
-
Tim Harris, Keir Fraser.
Language Support for Lightweight Transactions
October 2003
Object-Oriented Programming, Systems, Langauges & Applications (OOPSLA '03)
388-402
-
Jean Bacon, Tim Harris.
Operating Systems: Concurrent and Distributed Software Design
2003
3rd
-
Keir Fraser, Steven Hand, Tim Harris, Ian Leslie, Ian Pratt.
The Xenoserver computing infrastructure
January 2003
University of Cambridge, Computer Laboratory
UCAM-CL-TR-552
-
Steven Hand, Tim Harris, Evangelos Kotsovinos, Ian Pratt.
Controlling the XenoServer Open Platform
April 2003
-
Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield.
Xen and the Art of Virtualization
October 2003
Symposium on Operating Systems Principles (SOSP '03)
-
Tim Harris.
Design choices for language-based transactions
August 2003
University of Cambridge, Computer Laboratory
UCAM-CL-TR-572
-
David Spence, Tim Harris.
XenoSearch: distributed resource discovery in the XenoServer open platform
June 2003
216--225
-
Marcelo Pias, Jon Crowcroft, Steve Wilbur, Tim Harris, Saleem Bhatti.
Lighthouses for scalable distributed location
February 2003
2nd International Workshop on Peer-to-Peer Systems (IPTPS '03)
-
Boris Dragovic, Steven Hand, Tim Harris, Evangelos Kotsovinos, Andrew Twigg.
Managing trust and reputation in the XenoServer Open Platform
May 2003
Proceedings of the 1st International Conference on Trust Management
-
Barham, Paul R., Dragovic, Boris, Fraser, Keir A., Hand, Steven M., Harris, Timothy L., Ho, Alex C., Kotsovinos, Evangelos, Madhavapeddy, Anil V.S., Neugebauer, Rolf, Pratt, Ian A., Warfield, Andrew K..
Xen 2002
January 2003
University of Cambridge, Computer Laboratory
UCAM-CL-TR-553
-
Ian A Pratt, Timothy Moreton, Tim Harris.
Storage, mutability and naming in Pasta
April 2002
International Workshop on Peer-to-Peer Computing
-
Tim Harris.
Dependable Computing needs Pervasive Debugging
September 2002
Proceedings of the ACM SIGOPS European Workshop
-
Tim Harris, Keir Fraser, Ian Pratt.
A practical multi-word compare-and-swap operation
October 2002
Proceedings of the 16th International Symposium on Distributed Computing
265--279
-
Tim Harris.
Dynamic Adaptive Pre-Tenuring
January 2001
International Symposium on Memory Management (ISMM '00)
127--136
ACM SIGPLAN Notices
36(1)
-
Tim Harris.
A Pragmatic Implementation of Non-Blocking Linked Lists
October 2001
Proceedings of the 15th International Symposium on Distributed Computing
300-314
Lecture Notes in Computer Science
2180
-
Tim Harris.
Extensible Virtual Machines
October 2001
Computer Laboratory, University of Cambridge
-
Tim Harris.
Early storage reclamation in a tracing garbage collector
April 1999
ACM SIGPLAN Notices
4
46-53
34
-
Tim Harris.
An Extensible Virtual Machine Architecture
November 1999
Proceedings of the OOPSLA'99 Workshop on Simplicity, Performance and Portability in Virtual Machine Design
-
Tim Harris.
Controlling run-time compilation
December 1998
IEEE Workshop on Programming Languages for Real-Time Industrial Applications
75--84
Contact details
Microsoft Research Ltd
Roger Needham Building
J J Thomson Avenue
Cambridge, CB3 0FB
United Kingdom
Tel: +44 1223 479700
Fax: +44 1223 479999
|