Towards understanding and mitigating memory-access challenges in computing systems