Computer Systems Research
Computer systems research at URCS spans a range of topics, including program analysis and compiler technology; parallel, distributed, and mobile computing; cluster-based server technology; low-power hardware and software; processor and memory architecture; concurrency and synchronization; programming environments; and programming language design.
The department's core faculty in systems consists of John Criswell, Chen Ding, Fatemeh Nargesian, Sreepathi Pai, Michael Scott, and Yuhao Zhu. In addition, Wendi Heinzelman, and Michael Huang of electrical and computer engineering have joint appointments in CS, while Sandhya Dwarkadas holds a visiting research professor appointment; all are active in department research.

John Criswell
Associate Professor of Computer Science
- criswell@cs.rochester.edu | (585) 275-1118
- 3405 Wegmans Hall
John Criswell's research interests focus on computer security and automatic compiler transformations that can be used to enforce security policies on commodity software. He joined the department in 2014 after completing his PhD at the University of Illinois at Urbana-Champaign.

Chen Ding
Professor of Computer Science
- chen.ding@rochester.edu | (585) 275-1373
- 3407 Wegmans Hall
Interests: Locality theory and optimization; Compilers and run-time systems to improve locality and parallelism; Memory management; Parallel programming; High-performance computing
Chen Ding is the recipient of a DOE Early Career Principal Investigator award and an NSF CAREER award. He joined URCS in July, 2000, after receiving his PhD at Rice University. His research is in program analysis and optimization, including computational and mathematical models of locality and parallelism and automatic and suggestion-based techniques for locality optimization, memory management and program parallelization. He is widely known for his work on reuse distance to formally characterize locality and optimize data movement in the memory hierarchy of modern computer systems.

Fatemeh Nargesian
Assistant Professor of Computer Science
- f.nargesian@rochester.edu | (585) 275-5638
- 3015 Wegmans Hall
Interests: Data management; Data science; Data discovery and integration
Fatemeh Nargesian's research focuses on efficiently identifying and combining data that accurately represents and models reality. Recently she has worked on optimizing the aquisition costs associated with building representational datasets that span multiple sources. She also works to futher enable climate data research through the development of efficient, scalable search algorithms that apply network analysis to real-time climate data.

Sreepathi Pai
Assistant Professor of Computer Science
- sree@cs.rochester.edu | (585) 276-2391
- 3409 Wegmans Hall
Interests: Compilers; Heterogeneous Architectures; GPU algorithms; Performance Modeling
Sreepathi Pai is an experimental computer systems researcher interested in the performance of computer programs. To that end, he works in computer architecture, compilers and the implementation of programming languages. He works on heterogeneous accelerator-based systems consisting of CPUs and GPUs. His most recent work has revolved around optimizing compilers for high-performance irregular/graph algorithms on GPUs. He is also developing performance models for graph algorithms on GPUs.

Michael Scott
Arthur Gould Yates Professor and Chair of Computer Science
- scott@cs.rochester.edu | (585) 275-7745
- 3401 Wegmans Hall
Interests: Systems software for parallel and distributed computing; Programming languages; Operating systems; Synchronization; Transactional memory; Persistent memory
Michael Scott is an ACM fellow, an IEEE fellow, an AAAS fellow, and the recipient of the University’s Goergen and Riker Teaching Awards, the Hajim School lifetime achievement award, and the 2006 Dijkstra Prize in Distributed Computing. He is widely known for his work on concurrent data structures and synchronization algorithms. He co-led the Cashmere and InterWeave distributed sharing projects. His textbook on programming language design and implementation (Programming Language Pragmatics, Morgan Kaufmann, fourth edition, 2016) is a leading reference in the field, with adoptions at over 200 schools. His text on Shared Memory Synchronization was published by Morgan & Claypool in 2013.

Yuhao Zhu
Assistant Professor of Computer Science
- yzhu@rochester.edu | (585) 275-1192
- 3501 Wegmans Hall
Interests: Computer architecture; Augmented/Virtual Reality; Autonomous Machines; Visualization; Cultural Heritage Conservation
Yuhao Zhu's research interests are computer architecture and software design to enable future mobile systems that are energy-efficient, intelligent, and offer desirable Quality-of-Experience. To that end, his recent work specifically focuses on domain-specific systems for visual computing (e.g., imaging, AR/VR, computer vision) and Web technologies.
Prior to join University of Rochester, he was a Visiting Researcher at ARM Research and a Research Fellow at Harvard University. He received his Ph.D. from UT Austin while being supported by the Google Ph.D. Fellowship.

Wendi Heinzelman
Dean, Hajim School of Engineering and Applied Sciences
- wendi.heinzelman@rochester.edu | (585) 273-3958
- 309 Lattimore Hall
Interests: Wireless sensor networks; Mobile ad hoc networks; Multimedia communication; Heterogeneous networking; Cloud computing
Wendi Heinzelman is the recipient of an NSF CAREER award, an ONR Young Investigator award, and the University’s Curtis Teaching Award. She came to Rochester in January 2001, after receiving her PhD from MIT. Her research involves algorithms and protocols for wireless sensor networks and wireless video delivery. She leads the Wireless Communications and Networking group.

Michael Huang
Professor of Electrical and Computer Engineering and of Computer Science
- michael.huang@rochester.edu | (585) 275-2111
- 414 Computer Studies Building
Interests: High-performance and energy-efficient computer microarchitecture; non-von Neumann computing; Ising machines
Michael Huang joined the faculty in September 2002, after receiving his PhD from the University of Illinois at Urbana-Champaign. His interests lie in computer architecture, processor microarchitecture, energy-efficient system and processor architecture, and processing-in-memory.

Sandhya Dwarkadas
Visiting Research Professor of Computer Science
sandhya@cs.rochester.edu | (585) 275-5647
3403 Wegmans Hall
Interests: Parallel and distributed computing; Computer architecture and networks; Interaction and interface between the compiler, runtime system, and underlying architecture; Software distributed shared memory; Integrated compiler and runtime support for parallelism; Simulation methodology; Uniprocessor and multiprocessor architectures; Parallel applications development; Performance evaluation
Sandhya Dwarkadas is the recipient of an NSF Postdoctoral Fellowship and an NSF CAREER award, and has done work in the areas of software distributed shared memory, parallel architecture, and performance evaluation. She co-led the Cashmere and InterWeave distributed sharing projects, and leads the ARCH (Architecture, Run-time, and Compiler integration for High-performance computing) project.
Parallel systems has been a central part of the department's research focus since its founding in 1974. Early work on the Rochester Intelligent Gateway (RIG) project was the direct predecessor to the Accent and Mach projects at CMU, led by UR alum Rick Rashid (now senior vice president for research at Microsoft). These in turn led to such commercially important operating systems as Compaq Tru64 and Apple MacOS X.
In the mid to late 1980s, the department's 128-node Butterfly Parallel Processor was the largest parallel computer anywhere in academia. It supported a wide variety of projects, including the Instant Replay debugging system, the Bridge parallel file system, the Elmwood and Psyche parallel operating systems, and the development of contention-free synchronization. Our work from this era is very heavily cited, and has influenced the research of many other groups.
Today our research spans a wide range of topics, including:
- Program analysis and compiler technology
- Parallel, distributed, and mobile computing
- Cluster and cloud computing
- Low-power hardware and software
- Processor and memory architecture
- Operating systems and security
- Concurrency and synchronization
One of the strengths of the group is the way in which each faculty member's research interests tie into the others', allowing us to leverage infrastructure developed by the group as a whole. We therefore interact closely with the parallel user community, including researchers in astrophysics, data science, chemistry, biology, laser energetics, and, within our own department, computer vision, robotics, and machine learning. The multi-PI Computer Systems and Engineering Group spans the CS and ECE departments.
Professor Dwarkadas's work on the TreadMarks and FASTLINK projects, in collaboration with colleagues at Rice University and at the National Institutes of Health, was instrumental in discovering the gene believed responsible for Parkinson's disease. The work of former professor Kai Shen (now at Google) on cluster management was the technology behind Ask.com. Several algorithms from Professor Scott's group appear in the Java standard library.
The systems group enjoys outstanding computational resources. Current research infrastructure includes a large Linux cluster, a 72-thread (36-core) Intel Haswell machine, an 80-thread (40-core) Intel Skylake machine, an 160-thread (20-core) IBM Power8 server, and a variety of smaller x86 machines. The group also also enjoys access to a variety of machines at the University's Center for Integrated Research Computing, the Laboratory for Laser Energetics, the IBM Canada Centres for Advanced Studies, and other sites.