Chuck Cranor   Research Projects

Technical Interests and Activities

Other Interests and Activities


PDL Visitor info + directions

[CHUCK'S PHOTO] Systems Scientist Faculty
Parallel Data Lab
Carnegie Mellon University
5000 Forbes Avenue
CIC Building, Room 2211
Pittsburgh, PA 15213
Email: (preferred)
Phone: +1 412 268 5426
Fax: +1 412 268 3010

I am a member of the faculty at Carnegie Mellon University in the position of Systems Scientist in the Parallel Data Lab (PDL). I joined the PDL in December, 2003. The general focus of my research is on building new systems that are both novel and have a potential positive impact on the world. My role in the PDL is to help architect, prototype, and deploy large scale storage systems that are based on PDL research. I also play a key role in defining the architecture of the PDL lab computing environment, including the new data center we have built in the CIC building. I am currently working with Garth Gibson on storage systems for both High Performance Computing (HPC) and Cloud-based platforms.

Prior to joining the PDL, I was at AT&T Labs-Research for five years. At AT&T I worked on research projects relating to network monitoring, network content distribution, packet telephony, and "system on a chip" embedded devices. I have a doctorate in Computer Science from Washington University in St. Louis. As part of my graduate research I wrote the UVM Virtual Memory system. UVM is in worldwide use as part of the kernel of the NetBSD and OpenBSD open-source operating systems projects.  

Research Projects
Software Defined Storage (Mochi)
The Software Defined Storage (SDS) project for exascale storage services is a joint project between Argonne National Lab (ANL), Los Alamos National Lab (LANL), the HDF Group, and CMU funded by the DoE. In the SDS project we are building specialized, transient data services for data-intensive high performance computing (HPC). These services offer flexible, on-demand pairing of applications with storage and networking hardware using semantics that are optimized for the problem domain.

Parallel Log Structure Filesystem (PLFS)
The Parallel Log Structured Filesystem Project is a joint project between PDL and Los Alamos Nation Labs (LANL) that is part of the Institute for Reliable High Performance Information Technology (IRHPIT) collaboration between CMU and LANL. PLFS is an open source filesystem that can be inserted between scientific applications and parallel storage system to greatly improve I/O performance.

Parallel Reconfigurable Observational Environment (PRObE) is an NSF-sponsored project aimed at providing a large-scale, low-level systems research facility. It is a collaborative effort by the New Mexico Consortium, Los Alamos National Laboratory, Carnegie Mellon University, the University of Utah, and the University of New Mexico.

Technical Interests and Activities
Computer Systems
I am interested in systems research in the areas of computer operating systems and networking. In particular, I am interested in the design of kernel-level operating system software that is used to program and control a computer's resources and the mechanisms that the kernel provides to user-level programs to access these resources. In order to fully understand kernel software at this level, I believe it is important to be familiar not only with kernel software structure, but also with the register-level interface provided by a CPU and its peripherals. Understanding both a wide range of hardware interfaces and kernel-level software structures enables one to design kernel-level interfaces that are well optimized, clean, portable, and safely provide applications with powerful access mechanisms.

Professional Activities
I am a member of ACM, IEEE, and USENIX. I was on the program committees for the FREENIX track of the USENIX general conference in 2002 and 2003. I was also on the PC of the 2000 edition of the Computers, Freedom, and Privacy conference (CPF2000). I've reviewed papers for USENIX, FREENIX, NOSSDAV, IEEE INFOCOM, ACM SIGCOMM, and Supercomputer '95 conferences. I also wrote and contributed a Web-based submission system for the Computers, Freedom, and Privacy conference, it is also used by the Telecommunications Policy Research Conference (TPRC).

Open Source Operating Systems
If you really want to understand how computers work, I believe that having access to low-level operating system sources is critical. To promote such access, I've been developing software for the open source BSD systems since 1994. I have contributed software to FreeBSD, NetBSD, and OpenBSD. To learn more about my work with BSD, see my BSD page. I also hosted and helped create the first Anonymous CVS server on the Internet (the original, which was also know as

Older Computers
I like to collect older computers that are capable of running modern versions of BSD Unix. Currently I have machines from the following architectures: i386, Sparc (sun4 and sun4m), m68k, MIPS, arm32, hppa, and VAX. I'm also generally interested in information about the various computer systems I've used over the years. My computing history page lists the major systems I've used and what I'm currently using now.

Preferred Computing Environment
Operating system: BSD, MacOS X
Programming language: C (low-level), perl (high-level)
shell: /bin/tcsh (note: for scripting I use perl)
Source code control: CVS --- but I'm waiting for something better to come along
Windowing environment: XOrg+fvwm, prefer light text on dark background
Editor: vi (for email and short term edits), emacs (for programming and writing papers)
mail/news: mutt / trn
Web: firefox, with all the mozilla ad-blocking filters installed and Flash disabled
Documents: latex via emacs (+auctex macros), xfig for figures, xmgrace for graphs (but xmgrace has a terrible UI)
Presentations: magicpoint, or (reluctantly) powerpoint

Other Interests and Activities
My wife, Lorrie Faith Cranor, also works at CMU and is a well known researcher in the area of Internet privacy and electronic voting. She is also an avid quilter. Visit her home page for details.

Shane Zachary Cranor is my son. He was born in May 2001. He likes computers, bikes, scooters, soccer, math, chess, and asking his parents lots of questions. There are lots of pictures of Shane on his home page.

Maya Quinn Cranor is my older daughter. She was born in September 2003. She likes books, shoes, dress up clothes, sidewalk chalk, flute, soccer, cats, and long hair. There are lots of pictures of Maya on her home page.

Nina Veronica Cranor is my younger daugher. She was born in April 2006. She likes dressing up, eating her veggies (go figure!), singing, playing her uke, and pretty much anything her big brother or big sister shows interest in. There are lots of pictures of Nina on her home page.

Construction + Building Things
I like construction and building things myself. I really enjoyed it when we had the basement to our house in NJ finished. We did all the painting ourselves! It took a while, but it was fun. If I had more free time, I'd like to put together my own woodshop.

One of my side projects while working at AT&T was to redesign our lab space. That was a lot of fun. We moved a wall, added windows between the machine room and the workstation room, and added a new eight-ton Liebert HVAC unit.

Iced Tea
I loved fresh brewed iced tea. Restaurants that do not have good tasting fresh brewed iced tea rate lowly as far as I'm concerned. Please note that Snapple or other bottled teas are not fresh brewed and are not valid substitutes for the real thing!

My favorite type of food is Mexican/Southwest food. I'm quite fond of Casa Gallardo Grill, in St. Louis, Missouri --- too bad they closed it down. I haven't found anything quite like it here in Pittsburgh. I also like bakery-cafes, my favorite being Panera. Panera is the national name for the St. Louis Bread Company (I used to eat there frequently while in grad school).

I usually listen to classic rock or alternative rock. I've got most of my music on-line so that I can listen to it on my computer. I especially like my rock and roll instrumental music collection, and I'm a big fan of Elvis Presley.

Enabling NVM For Data-Intensive Scientific Services. Workshop on Interactions of NVM/Flash with Operating Systems and Workloads (INFLOW '16), November 2016 (with R. Ross, J. Jenkins, S. Snyder, S. Seo, P. Carns, S. Atchley, and J. Soumange).

Structuring PLFS for extensibility. Proceedings of the 8th Parallel Data Storage Workshop (PDSW '13), November 2013 (with M. Polte and G. Gibson).

HPC Computation on Hadoop Storage with PLFS. Carnegie Mellon University Parallel Data Lab Technical Report CMU-PDL-12-115, November 2012 (with M. Polte and G. Gibson).

Early Experiences on the Journey Towards Self-* Storage. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, September 2006 (with M. Abd-El-Malek, W. Courtright, G. Ganger, J. Hendricks, A. Klosterman, M. Mesnier, M. Prasad, B. Salmon, R. Sambasivan, and S. Sinnamohideen).

Ursa Minor: Versatile Cluster-based Storage. Proceedings of the 4th USENIX Conference on File and Storage Technology (FAST '05), December 2005 (with M. Abd-El-Malek, W. Courtright, G. Ganger, J. Hendricks, A. Klosterman, M. Mesnier, M. Prasad, B. Salmon, R. Sambasivan, S. Sinnamohideen, J. Strunk, E. Thereska, M. Wachs, and J. Wylie).

Design and Implementation of a Distributed Content Management System, to appear in Proceedings of the 13th International Workshop on Network and Operating Systems Support for Digital Audio and Video, June 2003 (with R. Ethington, A. Sehgal, D. Shur, C. Sreenan and K. van der Merwe).

Gigascope: A Stream Database for Network Applications, SIGMOD (Industrial Track), June 2003 (with T. Johnson, O. Spatscheck, and V. Shkapenyuk).

A Precise and Efficient Evaluation of the Proximity Between Web Clients and Their Local DNS Servers, USENIX Annual Technical Conference, June 2002 (with Z. Mao, F. Douglis, M. Rabinovich, O. Spatscheck and J. Wang). (USENIX web site, pdf)

Gigascope: High Performance Network Monitoring with an SQL Interface, SIGMOD 2002, poster/demo and 1 page abstract, p. 623 (with Y. Gao, T. Johnson, V. Shkapenyuk, and O. Spatscheck). (ps.gz)

Characterizing Large DNS Traces Using Graphs, Proceedings of the ACM SIGCOMM Internet Measurement Workshop, November 2001 (with E. Gansner, B. Krishnamurthy, and O. Spatscheck). (pdf)

PRISM Architecture: Supporting Enhanced Streaming Services in a Content Distribution Network, IEEE Internet Computing, pp. 66-75, July/August 2001 (with M. Green, C. Kalmanek, D. Shur, S. Sibal, C. Sreenan, and K. van der Merwe). (official IEEE version [requires password], draft: pdf, ps.gz)

CDN Brokering, 6th International Workshop on Web Caching and Content Distribution, June 2001 also in Computer Communications 25 (2002) 393-402 (with A. Biliris, F. Douglis, M. Rabinovich, S. Sibal, O. Spatscheck and W. Sturm). (pdf, ps.gz)

NED: a Network-Enabled Digital Video Recorder, Proceedings of the 11th IEEE Workshop on Local and Metropolitan Area Networks (LANMAN), May 2001 (with C. Kalmanek, D. Shur, S. Sibal, C. Sreenan, and K. van der Merwe).

PRISM, an IP-Based Architecture for Broadband Access to TV and Other Streaming Media, Proceedings of IEEE International Workshop on Network and Operating System Support for Digital Audio and Video (NOSSDAV), June 2000 (with A. Basso, R. Gopalakrishnan, M. Green, C.R. Kalmanek, D. Shur, S. Sibal, C.J. Sreenan, J.E. van der Merwe). (pdf, ps.gz)

Architectural Considerations for CPU and Network Interface Integration, IEEE Micro, pp. 18-26, January 2000 (with R. Gopalakrishnan and P. Onufryk). Initially presented at the Hot Interconnects Symposium 7, August 1999. (IEEE Micro Web [password required], earlier HotI version: pdf, slides in PDF)

Hardware and Software Architecture of a Packet Telephony Appliance, Proceedings of IEEE International Workshop on Network and Operating System Support for Digital Audio and Video (NOSSDAV), pp. 207-216, June 1999 (with M. Chan, R. Gopalakrishnan, P.Z. Onufryk, L.W. Ruedisueli, C.J. Sreenan, and E.R. Wagner). (ps.gz, slides in PDF)

The UVM Virtual Memory System, USENIX Annual Technical Conference, pp. 117-130, June 1999 (with G. Parulkar). (USENIX web site)

Opening the Source Repository with Anonymous CVS, FREENIX Track of the USENIX Annual Technical Conference, pp. 129-138, June 1999 (with T. de Raadt). (USENIX web site)

Zero-Copy Data Movement Mechanisms for UVM, Washington University Department of Computer Science, Technical Report, December 1998. (ps.gz)

Design and Implementation of the UVM Virtual Memory System, D.Sc. dissertation, Department of Computer Science, Sever Institute of Technology, Washington University, St. Louis, Missouri, August 1998. (pdf, ps.gz)

Integrating ATM Networking into BSD, Washington University Department of Computer Science, Technical Report 98-??, December 1998. (pdf, ps.gz)

Gigabit CORBA --- High-Performance Distributed Object Computing, Gigabit Networking Workshop (GBN'96), 24 March 1996, San Francisco, in conjunction with INFOCOM '96 (with D. Schmidt and G. Parulkar).

Half-Sync/Half-Async: An Architectural Pattern for Efficient and Well-structured Concurrent I/O, in Pattern Languages of Program Design, (Coplien, Vlissides, and Kerth, eds.), Addison-Wesley, Reading, MA, 1996 (with D. Schmidt). (pdf, ps.gz)

Design of Universal Continuous Media I/O, in Proceedings of the 5th International Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV '95), pp 83-86, April 1995 (with G. Parulkar). (pdf, ps.gz)

Operating Freely, Crossroads, the International ACM Student Magazine, Vol. 1, Issue 3, February 1995. (html from

Universal Continuous Media I/O: Design and Implementation, Washington University Department of Computer Science, Technical Report 94-34, December 1994 (with G. Parulkar). (pdf, ps.gz)

The 3M Project: Multipoint Multimedia Applications on Multiprocessor Workstations and Servers, in Proceedings of IEEE Workshop on High Performance Communication Systems, Sept. 1993 (with M. Buddhikot, Z. Dittia, G. Parulkar, C. Papadopoulos).

An Implementation Model for Connection-Oriented Internet Protocols, in Journal of Internetworking: Research and Experience, Vol. 4., pp 133-157, Sept. 1993 (with G. Parulkar).

An Implementation Model for Connection-Oriented Internet Protocols, Proceedings of IEEE INFOCOM '93, Vol. 3, pp 1135-1143, April 1993 (with G. Parulkar). (pdf, ps.gz)

An Implementation Model for Connection-Oriented Internet Protocols, M.S. thesis, Department of Computer Science, Sever Institute of Technology, Washington University, St. Louis, Missouri, May 1992. (pdf, ps.gz)

Connection-oriented Internet Protocols, Invited talk, The Twenty-Fifth Internet Engineering Task Force (IETF) meeting, Washington DC, November, 1992.