Computer Engineering Seminar
Operating system support for high-throughput processors
Add to Google Calendar
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 we 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.
We 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 we 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 runs about 7 times faster on a GPU than on two 4-core CPUs.
Joint work with Idit Keidar (Technion), Bryan Ford (Yale) and Emmett Witchel(UT Austin)
Mark Silberstein is a postdoctoral fellow working with Emmett Witchel at the University of Texas at Austin, and he has a new faculty member at the Electrical Engineering Department, Technion – Israel Institute of Technology.
He holds a PhD in Computer Science from the Technion, Israel. His thesis focused on
parallel algorithms and resource management in high-performance non-dedicated distributed systems.
His research in GPU computing includes software-managed caching and memory-intensive applications, power efficient and hard real-time scheduling in
CPU-GPU hybrids, GPUs and OS privacy, operating system abstractions and I/O services for GPUs.
More information: https://sites.google.com/site/silbersteinmark