Date: Thu, 21 Nov 1996 21:21:57 GMT Server: Apache/1.1.1+ Content-type: text/html Content-length: 13004 Last-modified: Sun, 07 Jan 1996 23:05:27 GMT John B. Carter

John B. Carter

Assistant Professor
Computer Science Department
University of Utah


Professor Carter joined the Department of Computer Science in January 1993. His research interests include operating systems, parallel and distributed computing, and multiprocessor computer architecture. Of particular interest are scalable shared memory architecture designs, both hardware and software. Dr. Carter is co-leading two ARPA-sponsored research projects: the Avalanche scalable multiprocessor architecture design effort and the Fast and Flexible Mach-Based Systems effort (aka Mach 4). The development of an efficient and highly portable distributed shared memory system, Quarks, is part of this effort.

While a graduate student at Rice University, he designed, implemented, and evaluated Munin, a distributed shared memory system that allows shared memory parallel programs to be executed efficiently on distributed memory multiprocessors. He has also worked on high speed bulk data communication protocols.

For the Fall Quarter of 1995, I will be teaching the Introduction to Operating Systems course, CS506. Meeting times are Tuesday-Thursday from 1:10pm-2:35pm in EMCB 102.


Current Research Projects

o Avalanche Scalable Multiprocessor Design: The goal of this project to develop an integrated cache, memory, and communication architecture that significantly reduces the latency of both distributed shared memory and message passage multiprocessor communication. The core processor of Avalanche will be the forthcoming PA-RISC 8000 CPU. We are designing a new Context Sensitive Cache Controller Unit that will support a flexible suite of cache coherence protocols for DSM applications and provide context sensitive injection of incoming data into the appropriate level of the memory hierarchy in order to minimize message latency. Primary research collaborators: Al Davis, Ravindra Kuramkote, and Chen-Chi Kuo. Other research collaborators: Mark Swanson, Leigh Stoller, Benny Yih, and Ashley Saulsbury.
o Fast and Flexible Mach-Based Systems: The goal of this project is to develop an operating system that provides a much higher degree of flexibility than traditional operating systems, and to use that added flexibility to circumvent the performance/functionality tradeoffs that thwart traditional highly-decomposed, microkernel-based operating systems. Important components of this work are a module management service, lightweight and decomposed Mach kernel functionality, aggressive exploitation of interprocess sharing, and efficient distributed shared memory (see below). We will maintain backward compatibility where practical, and freely distribute an unencumbered version of the entire system. Primary research collaborators: Jay Lepreau, Mike Hibler, Jeff Law, and Bryan Ford.
o Quarks Distributed Shared Memory System: The goal of this project is to develop an efficient, portable, and freely available distributed shared memory system to support the shared memory programming style on distributed memory multiprocessors and networks of workstations. Ideally, Quarks will eventually do for distributed shared memory what PVM did for message passing -- make it relatively easy to use, pervasive (ported to a wide array of systems), and reasonably efficient. For more on our motivation, take a look at my HOTOS '95 position paper. An Alpha release of Quarks is currently available that runs on SunOS 4.1/SPARC machines, but ports are in progress to 68K BSD boxes, HP-UX/PA-RISC, IRIX 5.2/MIPS, and the Mach operating system. Primary research collaborators: Dilip Khandekar and Linus Kamb.

Here is a copy of the slides for my OSDI '94 tutorial on distributed shared memory minus some of the graphs, which I will incorporate soon.


Significant Past Research Projects

o Munin Distributed Shared Memory System: Munin was the first software distributed shared memory system to explore the potential performance benefits of using a relaxed consistency model. Among Munin's novel features were a software implementation of the release consistency model, the first multiple writer memory consistency protocol to address the problem of false sharing, support for multiple consistency protocols (including user-supplied protocols), and an update timeout mechanism to reduce the communication overhead of write update protocols. For shared memory programs with moderate to high degrees of sharing, Munin achieved far greater performance (speedup) than conventional distributed shared memory systems, usually within 10% of hand coded message passing performance. Many of the features and ideas first developed in Munin have appeared in subsequent DSM systems. Primary research collaborators: Willy Zwaenepoel and John Bennett. Here is a copy of my dissertation concerning Munin.
o Optimistic Bulk Data Transfer Protocol: The key insight exploited in this effort was that when the first packet in a `blast' of bulk data is received by a node, it is highly likely that no packet outside the `blast' will arrive before the last bulk data packet is received. As such, upon receipt of the first packet in a blast of bulk data, the network device layer should set things up to optimize this case. This optimization, which was independently observed by Van Jacobson and incorporated into TCP/IP, resulted in 9.2 Mbps bulk data transfer rates between two SUN-3/50's on a 10 Mbps Ethernet. At the time, the best TCP/IP implementations achieved under 5 Mbps bulk data transfer rates. Primary research collaborators: Willy Zwaenepoel.


Selected Publications

o J.B. Carter, J.K. Bennett, and W. Zwaenepoel. "Techniques for Reducing Consistency-Related Communication in Distributed Shared Memory Systems," ACM Transactions on Computer Systems, pp. 205-243, Vol. 13, No. 3, August 1995.

o J.B. Carter, "Design of the Munin Distributed Shared Memory System," To appear in the special issue of the Journal of Parallel and Distributed Computing on distributed shared memory, 1995.

o A. Saulsbury, T. Wilkinson, J. Carter, A. Landin. "An Argument for Simple COMA," To appear in the Future Generation Computer Systems (FGCS) journal. Also in the Proceedings of the First Annual Symposium on High Performance Computer Architecture, pp. 276-285, January 1995.

o J.B. Carter, D. Khandekar, and L. Kamb, "Distributed Shared Memory: Where We Are and Where We Should Be Headed," In the Proceedings of the Fifth Workshop on Hot Topics in Operating Systems, pp. 119-122, May 1995.

o J.B. Carter, A. Davis, R. Kuramkote, C.-C. Kuo, L.B. Stoller, and M. Swanson, "Avalanche: A Communication and Memory Architecture for Scalable Parallel Computing," University of Utah technical report.

o J.B. Carter, R. Kuramkote, and C.-C. Kuo, "Reducing Consistency Traffic and Cache Misses in the Avalanche Multiprocessor," University of Utah technical report.

o A. Saulsbury, J.B. Carter, and A. Landin, "SiCO: A Simple COMA Implementation," Swedish Institute of Computer Science technical report.

o J.B. Carter, B.A. Ford, M. Hibler, R. Kuramkote, J. Law, J. Lepreau, D.B. Orr, L. Stoller, and M. Swanson. "FLEX: A Tool for Building Efficient and Flexible Systems," In the Proceedings of the Fourth Workshop on Workstation Operating Systems (WWOS), October 1993.

o J.B. Carter, A. Cox, S. Dwarkadas, E. Elnozahy, D. Johnson, P. Keleher, S. Rodrigues, W. Yu, and W. Zwaenepoel. "Network Multicomputing Using Recoverable Distributed Shared Memory," In the Proceedings of COMPCON '93, pp. 519-527, February 1993.

o J.B. Carter, A. Cox, D. Johnson, and W. Zwaenepoel. "Distributed Operating Systems Based on a Protected Global Virtual Address Space," In the Proceedings of the Third Workshop on Workstation Operating Systems (WWOS), May 1992.

o J.B. Carter, J.K. Bennett, and W. Zwaenepoel. "Implementation and Performance of Munin," In Proceedings of the Thirteenth Symposium on Operating Systems Principles (SOSP), pp. 152-164, October 1991.

o J.K. Bennett, J.B. Carter, and W. Zwaenepoel. "Adaptive Software Cache Management for Distributed Shared Memory Architectures," In Proceedings of the 17th International Symposium on Computer Architecture (ISCA), pp. 125-135, May 1990.

o J.B. Carter and W. Zwaenepoel. "Optimistic Implementation of Bulk Data Transfer Protocols," In Proceedings of the 1989 Sigmetrics Conference, pp. 61-69, May 1989.


Selected Research Awards

o "Investigating a Hybrid Function and Data Shipping Environment," National Science Foundation, 1993-1996, PI.

o "Fast and Flexible Mach-based Systems," ARPA, 1994-1997, co-PI (PI: J. Lepreau).

o "Communication and Memory Architectures for Scalable Parallel Computing," ARPA, 1994-1997, co-PI (PI: Al Davis).


Work Address
3190 Merrill Engineering Building
Department of Computer Science
University of Utah
Salt Lake City, Utah 34112
email: retrac@cs.utah.edu
phone: (801) 585-5474
fax: (801) 581-5843 or (801) 585-3743

Home Address
414 South Douglas Street (The figure depicts my upstairs rental unit - I'm a slumlord!)
Salt Lake City, Utah 34102
phone: (801) 583-8410

My finger file.
John Carter <retrac@cs.utah.edu>

webmaster@cs.utah.edu
Last modified Sat Jan 28 1994