I am an Assistant Professor in the Department of Computer Science at the Illinois Institute of Technology. I lead the laboratory for high-performance, experimental systems and architecture (HExSA) where we focus on various aspects of computer systems research. My research interests span several areas in systems including OS, computer architecture, embedded systems, system security, and virtualization. A current primary focus of our lab is the design of specialized system software stacks for parallel and emerging computing applications. You can see my publications below.
I received my PhD from Northwestern University in 2016 under the guidance of Peter Dinda. Before that I received my B.S. in computer science from UT Austin, where I worked with Boris Grot and Steve Keckler.
I am actively looking for new PhD students! Students interested in working with me should see this page.
If you're an undergrad considering research or going to grad school, you should take a look at this page.
PhD in Computer Science, 2016
MS in Computer Science, 2013
BS in Computer Science, 2010
The University of Texas at Austin
We are interested in the design of systems software for high-performance and parallel computing. As we see hardware scale up–both in terms of the number of interconnected machines and in terms of the number of computing elements on a single chip–We believe it is time to reconsider some of the design decisions that have sustained the popularity of the Linux/x86 software stack for general-purpose computing. Particularly, how should we organize/structure systems software stacks for future massive-scale machines?
Operating Systems & Virtualization, Parallel & High-Performance Computing, Computer Architecture, System Security
Operating systems, Programming languages and compilers, Virtualization
Cybersecurity, Operating Systems
In this work, we propose an integrated, full-stack System to enable Memory-Centric Computing (SMC2). We target a system that has near-memory data processors (NDP) as well as an extendable memory pool.
As computational infrastructure extends to the edge, it will increasingly offer the same fine-grained resource provisioning mechanisms used in large-scale cloud datacenters, and advances in low-latency, wireless networking technology will allow service providers to blur the distinction between local and remote resources for commodity computing.
We are exploring the limits of hardware virtualization by running individual functions in lightweight, virtualized execution environments called virtines. Programmers create virtines by annotating existing functions in C or Rust, and our runtime system (Wasp) manages virtual machines automatically.
Containerization has recently gained significant interest among cloud providers and users due to its ease of deployment and lightweight virtualization capabilities. The key feature of these approaches is the sharing of a single Linux OS instance among each active container environment.
Nautilus is a custom, lightweight operating system kernel designed for being fused with high-performance, parallel runtime systems. See more here.
We observe that the OS and database communities face a similar challenge: how do we optimize systems to exploit the characteristics of specialized hardware without sacrificing the flexibility of general-purpose designs?
I love music. I'm a tenor sax player but also dabble with the guitar and piano (Sonny Rollins is my favorite sax player, Oscar Peterson - piano, Kenny Burrel - guitar). Lately I've been listening to a lot of Sam Evian. My favorite live venues in Chicago are The Empty Bottle and Thalia Hall.
I'm excited by all of the sciences, and I always enjoy getting to talk to domain scientists about their work at places like SC. I especially am interested in Astronomy, but unfortunately Chicago isn't the best place for stargazing. When I can, I like to get out with my Celestron StarSense Newtonian.
I'm an avid reader of all genres, but especially historical fiction, hard sci-fi, and non-fiction.
I love to travel. My next target is either Istanbul or Scandinavia. I speak Japanese (I lived in Tokyo a while) and I'd like to learn a European language.
Some places I've lived: Corpus Christi, TX; Austin, TX; San Antonio, TX; Evanston, IL; Tokyo; Albuquerque, NM; Mountain View, CA.