Invited Talk


Kyle C. Hale

Northwestern University

Title: Accelerating Asynchronous Events for Hybrid Parallel Runtimes


Runtimes and applications that rely heavily on asynchronous event notifications suffer when such notifications must traverse several layers of processing in software. Many of these layers necessarily exist in order to support a general-purpose, portable kernel architecture, but they introduce considerable overheads for demanding, high-performance parallel runtimes and applications. Other overheads can arise from a mismatched event programming or system call interface. Whatever the case, the average latency and variance in latency of commonly used software mechanisms for event notifications is abysmal compared to the capabilities of the hardware, which can exhibit orders of magnitude lower latency.

We leverage the flexibility and freedom of the previously proposed Hybrid Runtime (HRT) model to explore the construction of low-latency, asynchronous software events uninhibited by interfaces and execution models commonly imposed by general-purpose OSes. We propose several mechanisms that employ kernel mode-only features to accelerate event notifications by up to 4,000 times and provide a detailed evaluation of our implementation using extensive microbenchmarks. We carry out our evaluation both on a modern x64 server and the Intel Xeon Phi. Finally, we propose a small addition to existing interrupt controllers (APICs) that could push the limit of asynchronous events closer to the latency of the hardware cache coherence network.


Kyle C. Hale is a PhD candidate in Computer Science at Northwestern University, advised by Professor Peter Dinda. His research interests lie at the intersection of operating systems, parallel computing, and computer architecture, with a focus on building experimental systems. His work ranges from Networks-on-Chip to specialized operating systems and parallel languages. He has held research internships in industry (VMware, Fujitsu) and at Sandia National Labs. He is a major contributor to several open-source codebases, including the Palacios Virtual Machine Monitor, the Nautilus Aerokernel, and Philix, a toolkit for booting and customizing OS kernels on the Xeon Phi. He received his BS in Computer Science from The University of Texas at Austin in 2010, an MS in Computer Science from Northwestern in 2013, and will receive his PhD in Spring of 2016. He will be joining Illinois Institute of Technology as an Assistant Professor in Fall of 2016.