Exploiting Memory-Level Parallelism to Mitigate the Impact of Critical Loads on Performance and Energy Efficiency