Co-Scheduling HPC Workloads on Cache-Partitioned CMP Platforms