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 Illinois Tech. My research lies at the intersection of operating systems, high-performance computing, and computer architecture. More specifically, I am interested in bridging software/hardware layers for enabling both functionality and performance, as well as questioning assumptions made by the software stacks we use today. Some projects I've worked on include the Nautilus Aerokernel, the Philix Xeon Phi OS toolkit, hypervisor-based code injection, VMM-guarded, privileged kernel modules, virtualized hardware transactional memory, and the ConCORD distributed memory tracking system. Find out more in the research section.

I am actively looking for new PhD students! Students interested in working with me should see 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

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!

Iris and Hussain are going to grad school!

Iris and Hussain are going to graduate school! Iris will be working with Natalie Enright Jerger's architecture group at the University of Toronto. Hussain will be working in the Compilers group at Northwestern University with Simone Campanoni.

Kyle presents HExSA Lab research at the NSF CSR/NeTS PI meeting

Kyle presented ongoing work in the HExSA Lab at the 2019 NSF CSR/NeTS PI meeting.

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

1st Year PhD Student

Avatar

Amal Rizvi

4th Year PhD Student

Avatar

Conghao Liu

2nd Year PhD Student

Masters Students

Avatar

Nanda Velugoti

M.S. research assistant

Undergraduates

Avatar

Iris Uwizeyimana

Undergraduate Researcher

Avatar

Joshua Bowden

Undergraduate researcher

Avatar

Nick Wanninger

Undergraduate Student

Interest 1, Interest 2

Avatar

Andrew Neth

Undergraduate Student

Alumni

Avatar

Hussain Khajanchi

Undergraduate Student (REU)

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

*

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

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

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