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 - ).
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.
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.