End-to-end performance of multi-core systems in cloud environments