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
Northwestern University
MS in Computer Science, 2013
Northwestern University
BS in Computer Science, 2010
The University of Texas at Austin
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.
In Physics, we can use the laws of motion, or the Lagrange equation, to describe the trajectory of an object in a system. An object is described by a state vector–a list of orthogonal dimensions.
Operating systems (OS) provide the interface for programs to access privileged hardware and decide which programs can access system resources, when they can access them and for how long. Within the OS kernel, these decisions are made during scheduling, workload placement and mapping, resource accounting and various kinds of application and VM introspection.
Current serverless and micro-service architectures rely on existing system software to preserve compatibility and minimize development effort. However, they also inherit the latencies and overheads that existing systems carry with them.
Practitioners of high-performance parallel computing have long sought better programming models and languages to ease the task of writing programs for large-scale systems. However, there is an undeniable tension that exists between extreme performance and developer friendliness.
Although the loss of audibility associated with age-related hearing loss is relatively easy to address via ap- propriate frequency-gain amplification used in today's hearing aids, difficulty hearing in noisy environments is not.
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 and Wilco. My favorite live venue in Chicago is The Empty Bottle.
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 and Cosmology, but unfortunately Chicago isn't the best place for stargazing.
I'm an avid reader of all genres, but especially historical fiction, hard sci-fi, and thought-provoking non-fiction.
I'm into traveling. 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.