Welcome!

We perform research in the broadly defined area of computer engineering. We design new hardware architectures for emerging platforms, spanning datacenters to mobile devices. Moreover, we propose new hardware management strategies to ensure service quality for diverse users in complex systems. In design and management, we navigate fundamental relationships between performance, energy-efficiency, and fairness.



Computer Systems and Machine Learning

We adapt and invent methods in statistical machine learning to understand and optimize distributed systems. We focus on interpretable frameworks such as causal inference and natural-language processing [SIGMETRICS'18] [MICRO'12] . We also focus on dynamic frameworks that learn and make decisions across time [MICRO'19] [SIGMETRICS'18].

We also apply statistical inference to capture broad relationships within parameter spaces for hardware architectures. Inference defines a design space, simulates sparsely sampled designs, and derives predictive models to act as surrogates for more expensive simulation and measurement. We pioneered these strategies for processor design [ISCA'10] [HPCA'07] [ASPLOS'06]. And we seek to extend these strategies to accelerator design and high-level synthesis [DATE'20] [Micro'10].



Computer Systems and Algorithmic Economics

With the democratization of cloud computing, diverse users demand computation from complex datacenters. In this setting, we study mechanisms for hardware allocation and scheduling. Our interdisciplinary research spans computer architecture, economic mechanism design, and game theory [IEEE'20]. For example, we examine design markets in which autonomic agents bid for hardware on behalf of users [HPCA'18] [HPCA'13]. We also investigate fairness and algorithms that equitably divide hardware among strategic agents [HPCA'17] [ASPLOS'16] [ASPLOS'14]. Finally, we balance trade-offs between performance and fairness.



Computer Architecture and Energy Efficiency

Energy efficiency is imperative for scalable performance and environmental sustainability. We design efficient processors and memory systems [MICRO'12] [ISCA'12] [ISCA'10]. Hardware heterogeneity balances performance and efficiency [HPCA'14] while hardware specialization tailors resources to software needs [ISCA'10] [ASPLOS'08] [HPCA'07]. Moreover, the proliferation of computing requires holistic sustainability strategies [MLSys'22]. Our research links fundamental technology, business management, and public policy [StGallen'08] [StGallen'07].



Memory Architecture and Scalable Technology

We coordinate architecture and circuit design and identify new system capabilities enabled by emerging technologies [ISCA'10]. We study phase change memory (PCM), which relies on programmable resistance to provide qualitatively better scaling trajectories than today's DRAM [ISCA'09]. Our research spans the hardware-software interface, from links to file systems [HPCA'13] [SOSP'09].