David Taylor's Home Page




I am a Professor in the David R. Cheriton School of Computer Science and currently serve as Director of the School. The School is one of five academic units in the Faculty of Mathematics at the University of Waterloo


Research Activity

My research interests are in two areas: fault tolerance and distributed computing systems. At present, most of my research activity is in the latter area, concentrating on techniques and tools for monitoring/controlling/debugging distributed applications. A central thesis of the work is that for most purposes, the events taking place in a distributed or parallel application should be viewed as related by a partial order, with real time being a secondary feature. Our research group has developed a good understanding of techniques for displaying execution histories of distributed (or parallel) applications and for applying abstraction to large histories so that currently irrelevant detail can be suppressed and relevant features more easily seen. Many of our theoretical ideas have been implemented in a prototype tool known as POET (Partial-Order Event Tracer). Current work includes exploration of two key issues.

One issue is the need to search for patterns in event histories, either after execution has completed or on-line, as an event history is received. Since event histories are frequently large, e.g., millions of events, tools for finding unusual occurences are clearly important and on-line algorithms can be used in system-monitoring contexts to discover that a system is no longer behaving as desired.

A second issue is scaling our techniques to very large numbers of interacting processes (or threads or other concurrent entitities). Standard techniques for representing partial orders require space proportional to the product of the number of events and the number of concurrent processes. For thousands of processes and millions of events, novel techniques are required to achieve good efficiency without requiring absurd amounts of storage.

Finding time to produce a web version of my publication list does not seem to have achieved a high enough priority. My current best suggestion is to check DBLP, which is a good general solution for finding papers of people in computer science.

The research described above is taking place in the Shoshin research group. The group receives funding from a variety of sources. The research on debugging of distributed applications has been funded by the Natural Sciences and Engineering Research Council and by IBM.


Teaching

During my term as Director, I will not be teaching courses. In recent years, I have generally taught the Operating Systems course (CS 350) and the Distributed Systems course (CS 454), which is the undergraduate course closest to my research area.


Academic History

I obtained an Honours B.Sc. in mathematics from the University of Saskatchewan and M.Math. and Ph.D. degrees in computer science from the University of Waterloo. (By curious coincidence, another Ph.D. student who began his studies the term I did was David R. Cheriton.) Since completing my Ph.D., I have been a faculty member at the University of Waterloo. I took my first three sabbatical leaves at three different locations: the University of Newcastle upon Tyne (1983-84), the IBM Toronto Laboratory (1991-92), and the IBM T. J. Watson Research Center (1999-2000). After my second sabbatical, I continued visiting the IBM Toronto Laboratory one day a week for many years. For my fourth sabbatical, combined with four months of administrative leave (2008-2009), I simply spent more time than usual at the IBM Toronto Laboratory, as I tried to get my research activity back to its usual level.

Because of an inability to say ``no'' at strategic moments, I have served on numerous committees at various levels within the University, including both the University Senate and Board of Governors (and the Executive Committee of each). I have also, at various times, chaired the Advisory Committee on Appointments and the Curriculum Committee of the Department (now School) of Computer Science and the Mathematics Faculty Committee on Student Appeals. From July 1987 to June 1990 and again from July 1998 to June 1999, I served as Associate Chair, Undergraduate Studies, in the Computer Science Department. From January 2001 to December 2007, I served as Associate Dean (Undergraduate Studies) for the Faculty of Mathematics. As Associate Dean, I chaired several committees, including the Undergraduate Affairs Committee and the Standings and Promotions Committee of the Mathematics Faculty, and served on numerous other committees at the Faculty and University levels. As Director of the School, effective July 2010, I serve on numerous committees of the School and chair both the Executive Committee and the Tenure and Promotion Committee.

I have served on various program committees and have been both Program Chair and General Chair for the Symposium on Reliable Distributed Systems. I am currently a member of the editorial board of IEEE Transactions on Dependable and Secure Computing and previously served on the editorial board of IEEE Transactions on Knowledge and Data Engineering. I was Conference Coordinator for the International Conference on Dependable Systems and Networks in 2006 in Philadelphia and was persuaded to perform the same role for the 2010 conference in Chicago.


Address

My office address is

  David R. Cheriton School of Computer Science 
  University of Waterloo 
  200 University Avenue West
  Waterloo, Ontario, Canada N2L 3G1

Office: DC 2321

Phone: +1 (519) 888-4080
Fax: +1 (519) 885-1208

E-mail: (at top of page)
www: http://www.shoshin.uwaterloo.ca/~dtaylor


Thu Jul 1 10:19:00 EDT 2010