Runtime Approaches to Improve the Efficiency of Hybrid and Irregular Applications