Welcome to my home page at the University of Toronto. I am a member of the Computer Engineering Research Group in the Edward S. Rogers Sr. Department of Electrical and Computer Engineering. I am also a member of the Department of Computer Science.

I received my Ph.D. degree in Computer Science and Engineering from the University of Michigan at Ann Arbor in 1989. I joined the University of Toronto in 1991, where I now hold the rank of full professor. I am a senior member of the IEEE, a senior member of the ACM and a member of USENIX. I am also a licensed professional engineer in the province of Ontario.

My research interests are in the general area of parallel systems (e.g., multicores or GPUs) and their associated software. My overall research goal is to make these systems easy to use for application scientists and software developers. I do so through the design, implementation and evaluation of innovative compiler and run-time support. Where appropriate, I also do so through the introduction of novel architectural features to parallel systems. My research is systems-oriented and experimental in nature. It involves implementing large software components and the evaluation of research ideas in the context of real working systems and with real applications.

I teach courses in several areas of computer engineering. including programming, algorithms and data structures, computer architecture, compilers and operating systems. I received the first-year engineering teaching award, nine ECE departmental teaching awards, the Faculty of Applied Science and Engineering Teaching Award and the Faculty's Sustained Excellence in Teaching Award.

My professional service activities include serving as technical program chair and/or general chair of several leading conferences, including the International Conference on Parallel Processing (ICPP), IEEE's International Conference on Distributed Computing Systems (ICDCS) and USENIX's Virtual Machines Research and Technology Symposium (VM). Within the University, I held a number of major administrative positions, including Director of the Computer Engineering undergraduate program, Acting First-Year Chair and ECE's Associate Chair, Graduate Studies.

Please use the navigation bar at the top to learn more about my research and teaching and for detailed contact information.