11.3 Exploiting Heterogeneity for Big Data Computing