eSplash: Efficient speculation in large scale heterogeneous computing systems