Fred B. Schneider
PhD State Univ. of N.Y., Stony Brook, 1978

Techniques for understanding concurrent programs are becoming increasingly important as distributed computing systems become widespread in mission-critical applications. My research has focused on the development of these techniques.

I have been heavily involved in applying assertional reasoning to the design of concurrent, distributed, fault-tolerant, and real-time programs. I am completing a textbook on this subject. Along with David Gries, I continue investigations concerning our first-order equational logic E. This past year, we streamlined the inference rules and evaluated a number of techniques for handling undefined terms and partial functions.

Thomas Bressoud and I completed building and analyzing our hypervisor-based implementation of replication management for HP's PA-RISC architecture. Our protocols ensure that the sequence of instructions executed by two virtual machines running on different physical processors are identical. The protocols also coordinate I/O issued by these virtual machines. Use of a hypervisor to implement replica coordination is attractive - at least, in theory. When replica coordination is implemented in a hypervisor, it instantly becomes available to all hardware realizations of the given instruction-set architecture, including realizations that did not exist when the hypervisor was written. Second, when replica coordination is implemented in a hypervisor, a single implementation suffices for every operating system that executes on that instruction-set architecture. Finally, by implementing replica coordination in a hypervisor, the applications programmer is freed from this task.

Jointly with Dag Johansen (University of Tromsø, Norway) and Robbert van Renesse, I started the TACOMA project (Tromsø And COrnell Moving Agents) to investigate support and use of mobile processes in building mission-critical applications. By structuring a system in terms of agents, applications can be constructed in which communication-network bandwidth is conserved. Data may be accessed only by an agent executing at the same site as the data resides. An agent typically will filter or otherwise reduce the data it reads, carrying with it only the relevant information as it roams the network. Two TACOMA prototypes have been completed, and we are implementing a third system based on our experiences.

Finally, I developed with Scott Stoller a new algorithm for detecting whether a particular computation of an asynchronous distributed system could have passed through a global state satisfying some given state predicate. The new algorithm allows more efficient detection than is possible with previous algorithms.

University Activities

Professional Activities




Return to:
1994-1995 Annual Report Home Page
Departmental Home Page

If you have questions or comments please contact:

Last modified: 24 November 1995 by Denise Moore (