To escape a number of physical limitations (e.g., bandwidth and thermal issues), hardware technology is strongly trending toward heterogeneous system designs, where a large share of the application work can be off-loaded to accelerators, such as graphics or network processors.