Norm Hutchinson

Associate Professor
Email: norm [at] cs [dot] ubc [dot] ca
Office: ICCS 319
Phone: 604-822-8188

Faculty Member, Distributed Systems Group

Curriculum Vitae

B.Sc., University of Calgary (1982); M.Sc., University of Washington (1985); Ph.D., University of Washington (1987); Visiting Assistant Professor, University of Arizona. (1987-1988); Assistant Professor, University of Arizona (1988-1990); Assistant Professor, University of British Columbia (1991 - 1998); Associate Professor, UBC (1998 - ).


Operating Systems
computer communication protocols
file systems
programming languages


My primary research interest is in the identification of abstractions that assist in the construction of concurrent and distributed programs. A distributed execution environment consisting of a (potentially large) number of independent computers communicating over a network offers the potential for supporting very large, very reliable applications. However, such an environment has hitherto been very complex to program. Some of the contributing factors include:

  • unreliable communication
  • no consistent notion of time
  • failure of a part of the system (one or more processors), while the rest of the system continues to execute.

Abstractions can be defined at a number of different levels to assist in the construction of such applications. Programming language abstractions include replicated objects, mobile objects, and exception mechanisms that allow the application to be aware of the changes in configuration of the underlying system. At the operating system level, similar mechanisms for replication, mobility, and configuration management can be defined. Communication protocols are the building blocks from which all these abstractions are implemented.

Selected Publications

Andrew P. Black, Norman C. Hutchinson, Eric Jul, and Henry M. Levy, "The development of the Emerald Programming Language", Proceedings of the Third ACM SIGPLAN History of Programming Languages Conference (HOPL-III), San Diego, CA, June 2007.

Brendan Cully, Geoffrey Lefebvre, Dutch T. Meyer, Michael J. Feeley, Norman C. Hutchinson, and Andrew Warfield, "Remus: High Availability via Asynchronous Virtual Machine Replication", Proceedings of the Fifth USENIX Symposium on Networked Systems Design and Implementation (NSDI '08), pp. 161-174, San Francisco, CA, April 2008.

Dutch T. Meyer, Gitika Aggarwal, Brendan Cully, Geoffrey Lefebvre, Michael J. Feeley, Norman C. Hutchinson, and Andrew Warfield, "Parallax: Virtual Disks for Virtual Machines", Proceedings of the Third EuroSys Conference (EuroSys '08), pp. 41-54, Glasgow, Scotland, April 2008.

Latest CS Courses

2017 Winter

CPSC 536F  –  Topics in Algorithms and Complexity

2016 Winter

CPSC 210  –  Software Construction
CPSC 210  –  Software Construction

2015 Winter

CPSC 210  –  Software Construction

a place of mind, The University of British Columbia


ICICS/CS Building 201-2366 Main Mall
Vancouver, B.C. V6T 1Z4 Canada
Tel: 604-822-3061 | Fax: 604-822-5485
Undergrad program:
Graduate program:

Emergency Procedures | Accessibility | Contact UBC | © Copyright The University of British Columbia