Hardware-software co-design to mitigate DRAM refresh overheads: A case for refresh-aware process scheduling

Jagadish B. Kotra, Narges Shahidi, Zeshan A. Chishti, Mahmut T. Kandemir

Research output: Contribution to journalArticlepeer-review

6 Scopus citations

Abstract

DRAM cells need periodic refresh to maintain data integrity. With high capacity DRAMs, DRAM refresh poses a significant performance bottleneck as the number of rows to be refreshed (and hence the refresh cycle time, tRFC) with each refresh command increases. Modern day DRAMs perform refresh at a rank-level, while LPDDRs used in mobile environments support refresh at a per-bank level. Rank-level refresh degrades the performance significantly since none of the banks in a rank can serve the on-demand requests. Per-bank refresh alleviates some of the performance bottlenecks as the other banks in a rank are available for on-demand requests. Typical DRAM retention time is in the order several of milliseconds, viz, 64msec for environments operating in temperatures below 85 deg C and 32msec for environments operating above 85 deg C. With systems moving towards increased consolidation (ex: virtualized environments), DRAM refresh becomes a significant bottleneck as it reduces the available overall DRAM bandwidth per task. In this work, we propose a hardware-software co-design to mitigate DRAM refresh overheads by exposing the hardware address mapping and DRAM refresh schedule to the Operating System. We propose a novel DRAM refresh-aware process scheduling algorithm in OS which schedules applications on cores such that none of the on-demand requests from the application are stalled by refreshes. Extensive evaluation of our proposed co-design on multi-programmed SPEC CPU2006 workloads show significant performance improvement compared to the previously proposed hardware only approaches.

Original languageEnglish (US)
Pages (from-to)723-736
Number of pages14
JournalACM SIGPLAN Notices
Volume52
Issue number4
DOIs
StatePublished - Apr 4 2017

All Science Journal Classification (ASJC) codes

  • General Computer Science

Fingerprint

Dive into the research topics of 'Hardware-software co-design to mitigate DRAM refresh overheads: A case for refresh-aware process scheduling'. Together they form a unique fingerprint.

Cite this