Abstract:
|
Heterogeneous architectures are currently widespread. With
the advent of easy-to-program general purpose GPUs, virtually every re-
cent desktop computer is a heterogeneous system. Combining the CPU
and the GPU brings great amounts of processing power. However, such
architectures are often used in a restricted way for domain-speci c appli-
cations like scienti c applications and games, and they tend to be used
by a single application at a time. We envision future heterogeneous com-
puting systems where all their heterogeneous resources are continuously
utilized by di erent applications with versioned critical parts to be able
to better adapt their behavior and improve execution time, power con-
sumption, response time and other constraints at runtime. Under such a
model, adaptive scheduling becomes a critical component.
In this paper, we propose a novel predictive user-level scheduler based on
past performance history for heterogeneous systems. We developed sev-
eral scheduling policies and present the study of their impact on system
performance. We demonstrate that such scheduler allows multiple appli-
cations to fully utilize all available processing resources in CPU/GPU-
like systems and consistently achieve speedups ranging from 30% to 40%
compared to just using the GPU in a single application mode. |