ILP-Based Approaches to Partitioning Recurrent Workloads Upon Heterogeneous Multiprocessors