ho·​ri·​zon| hə-ˈrī-zᵊn

a:   the line where the earth seems to meet the sky.
b:   the research group where software meets hardware, abstractions meet implementations, and principles meet practices.

Horizon is a research group in the Department of Computer Science at University of Rochester. We are excited to identify real-world problems that are both technically deep and have broad societal impact, and devise solutions that navigate across the computing layers, from the processor architecture, runtime system, to programming frameworks. We leverage domain-specific knowledge, and often back up our solutions with theoretical underpinnings. We occasionally venture beyond Computing to other science and engineering disciplines such as Optics.

Our research is resolved around the "PACT" theme:

Processing: Architecture-algorithm co-design to improve the performance and energy-efficiency of emerging applications.
Application: Programming model and development frameworks to empower developers and to integrate them into the optimization loop.
Communication: Whole system integration via efficient on-chip, off-chip, and wide-area communication.
Tooling: Analytical modeling, simulation, and visualization infrastructure for workload characterizations and real-world measurements.

The world's demand for increasingly capable visual applications running on diverse mobile platforms such as AR/VR headsets and autonomous machines shows no sign of slowing down. We investigate visual computing algorithms and underlying hardware architectures to enable systems that generate/capture visual data for immersive experience and interpret/analyze visual data for personalized services.

The remarkable evolution of Web technologies over the past decade means that over two-thirds of the mobile Internet traffic are contributed by Web applications. Web applications operate atop a virtual machine layer to provide portability at the expense of dramatic runtime overhead. We architect future mobile Web systems that compute faster, last longer, and consume less cellular data.

We expect deep learning (DL) to be a fundamental building block in future computing systems. One major roadblock toward that future, however, is that DL algorithms constantly operate in resource-constrained environment. We help shape the DL-enabled future by designing efficient deep learning algorithms that formally guarantee latency/energy specifications.

Just as datacenter systems suffer from the long-tail latency issue, DL systems suffer from tail accuracy, in which a few requests exhibit poor accuracy due to uncertainties and the stochastic nature of deep learning. We investigate enabling mechanisms that allow DL–driven systems to be explainable and robust against uncertainty and to guarantee that they perform as intended without causing harmful behavior.

While cloud computing 1.0 aimed to connect millions of users, cloud computing 2.0 connects billions of devices. At the same time, we are witnessing a unique confluence of managed languages (e.g., JavaScript) and the event-driven programming model in today’s cloud applications, exposing unique challenges to hardware and systems design. We rethink microarchitecture and runtime systems to connect the next billion devices.