Avatar

Kyle C. Hale

Assistant Professor of Computer Science

Illinois Institute of Technology

HExSA Lab

Biography

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 areas 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 Steve Keckler and Doug Burger.

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.

Interests

  • Operating Systems & Virtualization
  • Parallel & High-Performance Computing
  • Computer Architecture
  • System Security

Education

  • 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

News

Wang, Sun, Hale, and Jiang at UIowa win NSF PPoSS award!

A team of three IIT faculty ( Rujia Wang, Kyle Hale, and Xian-He Sun) and a collaborator at the University of Iowa, Peng Jiang won an award from NSF to investigate novel architectures for next-generation systems integrating near-data processing.

HExSA Lab wins collaborative NSF PPoSS award with Northwestern and CMU

Happy to annouce that we received an NSF planning award from the Principles and Practices of Scalable Systems (PPoSS) program solicitaiton! This is a collaborative grant with Simone Campanoni, Peter Dinda, and Nikos Hardavellas from Northwestern University, and Mike Rainey and Umut Acar from Carnegie Mellon University.

IIT team wins 2nd place in Pewter bracket at Cyberskyline NCL CTF!

A student team from Hale and Jin's System and Network Security course ( CSP 544) competed in the National Cyber League Capture the Flag competition. They placed 2nd in their bracket; congratulations all!

Kyle will serve on the PC for VHPC '20

Kyle is happy to serve on the technical program committee for the 15th Workshop on Virtualization in High-Performance Cloud Computing (VHPC ‘20). Those interested should submit a paper! The workshop is free to attend via Zoom due to the current COVID-19 situation.

Brian Accepts Internship Offer at VMware

Brian accepted an offer to intern at VMware Research with Josh Simons during the Summer of 2020. He'll be working on HPC virtualization. Congrats Brian!

HExSA Lab

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?

Principal Investigator

Avatar

Kyle C. Hale

Assistant Professor of Computer Science

Operating Systems & Virtualization, Parallel & High-Performance Computing, Computer Architecture, System Security

PhD Students

Avatar

Brian R. Tauro

2nd Year PhD Student

Avatar

Amal Rizvi

4th Year PhD Student

Avatar

Conghao Liu

3rd Year PhD Student

Avatar

MD Ali

1st Year PhD Student

Masters Students

Avatar

Nanda Velugoti

M.S. Research Assistant

Avatar

Florentin Bekier

M.S. Research Assistant

Avatar

Nithin Rao

M.S. Research Assistant

Undergraduates

Avatar

Trevor Pritchett

Undergraduate Researcher

Avatar

Joshua Bowden

Undergraduate Researcher

Avatar

Nick Wanninger

Undergraduate Researcher

Operating systems, Programming languages, Virtualization

Avatar

Andrew Neth

Undergraduate Researcher

Alumni

Avatar

Hussain Khajanchi

Undergraduate Student (REU)

Avatar

Iris Uwizeyimana

Undergraduate Researcher

Avatar

Ganesh Mahesh

M.S. Research Assistant

Avatar

Justin Goodman

Undergraduate researcher (REU)

Avatar

Goutham Kannan

M.S. Research Assistant

Avatar

Imran Ali Usmani

M.S. research assistant

Avatar

Sam Grayson

Undergraduate researcher (REU)

Avatar

Gyucheon Heo

M.S. Research Assistant

Avatar

Jagruti Depan

Undergraduate researcher (REU)

Avatar

Josue Nieves

Undergraduate researcher (REU)

Avatar

Justin Orr

Undergraduate researcher

Avatar

Lucas Myers

Undergraduate researcher

Avatar

Piyush Nath

M.S. research assistant

Avatar

Suraj Chafle

M.S. research assistant

Research

*

Next-Generation Near-Data Processing Architectures

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.

Address Space Dynamics

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.

Low-Latency, In-Kernel AI

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.

Wasp: Pushing Serverless Computing to the Limit

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.

Exploring Julia at the Large Scale

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.

Enabling Next-Generation AI Hearing Aids

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.

Coordinated Resource Management for Cloud-based Specialized Operating Systems

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 Aerokernel

Nautilus is a custom, lightweight operating system kernel designed for being fused with high-performance, parallel runtime systems. See more here.

Hybrid Runtimes for Compiled Dataflows

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?

Teaching

*

CSP 544: System and Network Security

Current Iteration: Spring ‘20

CS 695: Doctoral Seminar

Current Iteration: Spring ‘20 Past Iterations: Spring ‘17

CS 562: Virtual Machines

Past Iterations: Fall ‘19 Fall ‘18 Fall ‘17

CS 450: Operating Systems

Current Iteration: Fall ‘20 Past Iterations: Spring ‘19

CS 350: Computer Organization and Assembly Language Programming

Past Iterations: Spring ‘18 Fall ‘16

CS 595-03: OS and Runtime Design for Supercomputing

Past Iterations: Fall ‘16

Funding

Collaborative Research: PPoSS: Planning: Towards an Integrated, Full-stack System for Memory-centric Computing

NSF Award CCF-2029014; $185,473 (Collaborative total: $250K); January 2021 through December 2021. This project is a collaborative effort with Rujia Wang and Xian-He Sun at IIT and Peng Jiang at the University of Iowa.

Collaborative Research: PPoSS: Planning: Unifying Software and Hardware to Achieve Performant and Scalable Zero-cost Parallelism in the Heterogeneous Future

NSF Award CCF-2028958; $41,627 (Collaborative total: $1.2M); October 2020 through September 2021. This project is a collaborative effort with Peter Dinda, Simone Campanoni, and Nikos Hardavellas at Northwestern University, and Umut acar at Carnegie Mellon University.

CSR: Medium: Collaborative Research: Interweaving the Parallel Software/Hardware Stack

NSF Award CNS-1763612; $305,578 (Collaborative total: $1.2M); September 2018 through August 2021. This project is a collaborative effort with Peter Dinda, Simone Campanoni, and Nikos Hardavellas at Northwestern University. Also see here.

REU Site: Collaborative Research: BigDataX: From theory to practice in Big Data computing at eXtreme scales

NSF Award CCF-1757964; $333,106; February 2018 through January 2021. This project is in collaboration with Ioan Raicu at IIT as well as Kyle Chard and Aaron Elmore at the University of Chicago.

CSR: Small: Collaborative Research: Flexible Resource Management and Coordination Schemes for Lightweight, Rapidly Deployable OS/Rs

CNS Award CNS-1718252; $249,771 (Collaborative total: $499,735); August 2017 through July 2020. This project is a collaborative effort with Jack Lange at the University of Pittsburgh. Also see here. Current cloud systems leverage either heavy-weight virtualization (running applications inside full-fledged virtual machines (VMs) with their own operating systems) or containers (light-weight software environments that share a single underlying operating system).

CRI: II-NEW: MYSTIC: Programmable Systems Research Testbed to Explore a Stack-WIde Adaptive System fabriC

NSF Award CNS-1730689; $1,000,000; July 2017 through June 2020. This project is a collaborative effort with Ioan Raicu and Xian-He Sun at IIT. This project will build a testbed for experimenting with reconfigurable communication and Input/Output subsystems to conduct low-level systems research.

Other

Professional Affiliations

  • Member fo the ACM
  • Member of the EFF

Personal

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.

Hobby Projects/Misc.

  • A guide to booting a custom OS without a BMC using PXE
  • A Mandelbrot Set explorer written in Processing.js
  • A Conway's Game of Life simulator, also in Processing
  • Microbenchmark to quantify false sharing on multi-core machines (Linux)
  • Hawker custom custom container engine (private, email me for access), designed for my virtual machines class
  • Hawknest (private, email me for access) A 6502/NES system emulator written in C from scratch for my VM class
  • Hawkbeans (private, email me for access) A custom (and incomplete) JVM written in C for my VM class
  • A simple N-Body simulation of a galaxy in a 2D plane written in Processing JS. Uses Barnes Hutt (quad-tree based) algorithm
  • Epigrams on programming from Alan Perlis