link

January 15, Tuesday
12:00 – 13:00

Operating System Support for High-Throughput Processors
Computer Science seminar
Lecturer : Mark Silberstein
Affiliation : postdoctoral fellow in the Operating Systems Architecture group, University of Texas at Austin
Location : 202/37
Host : Dr. Aryeh Kontorovich
The processor landscape has fractured into latency-optimized CPUs, throughput-oriented GPUs, and soon, custom accelerators. Future applications will need to cohesively use a variety of hardware to achieve their performance and power goals. However building efficient systems that use accelerators today is incredibly difficult.

In this talk I will argue that the root cause of this complexity lies in the lack of adequate operating system support for accelerators. While operating systems provide optimized resource management and Input/Output (I/O) services to CPU applications, they make no such services available to accelerator programs.

I propose GPUfs - an operating system layer which enables access to files directly from programs running on throughput-oriented accelerators, such as GPUs. GPUfs extends the constrained GPU-as-coprocessor programming model, turning GPUs into first-class computing devices with full file I/O support. It provides a POSIX-like API for GPU programs, exploits parallelism for efficiency, and optimizes for access locality by extending a CPU buffer cache into physical memories of all GPUs in a single machine.

Using real benchmarks I show that GPUfs simplifies the development of efficient applications by eliminating the GPU management complexity, and broadens the range of applications that can be accelerated by GPUs. For example, a simple self-contained GPU program which searches for a set of strings in the entire tree of Linux kernel source files completes in about third of the time of an 8-CPU-core run.

Joint work with Idit Keidar (Technion), Bryan Ford (Yale) and Emmett Witchel (UT Austin)