TY - GEN
T1 - MegA
T2 - 12th ACM International Systems and Storage Conference, SYSTOR 2019
AU - Michailidis, Theodore
AU - Delis, Alex
AU - Roussopoulos, Mema
N1 - Publisher Copyright:
© 2019 Association for Computing Machinery.
PY - 2019/5/22
Y1 - 2019/5/22
N2 - Modern computer systems now feature memory banks whose aggregate size ranges from tens to hundreds of GBs. In this context, contemporary workloads can and do often consume vast amounts of main memory. This upsurge in memory consumption routinely results in increased virtual-to-physical address translations, and consequently and more importantly, more translation misses. Both of these aspects collectively do hamper the performance of workload execution. A solution aimed at dramatically reducing the number of address translation misses has been to provide hardware support for pages with bigger sizes, termed huge pages. In this paper, we empirically demonstrate the benefits and drawbacks of using such huge pages. In particular, we show that it is essential for modern OS to refine their software mechanisms to more effectively manage huge pages. Based on our empirical observations, we propose and implement MEGA, a framework for huge page support for the Linux kernel. MEGA deploys basic tracking mechanisms and a novel memory compaction algorithm that jointly provide for the effective management of huge pages. We experimentally evaluate MEGA using an array of both synthetic and real workloads and demonstrate that our framework tackles known problems associated with huge pages including increased page fault latency, memory bloating as well as memory fragmentation, while at the same time it delivers all huge pages benefits.
AB - Modern computer systems now feature memory banks whose aggregate size ranges from tens to hundreds of GBs. In this context, contemporary workloads can and do often consume vast amounts of main memory. This upsurge in memory consumption routinely results in increased virtual-to-physical address translations, and consequently and more importantly, more translation misses. Both of these aspects collectively do hamper the performance of workload execution. A solution aimed at dramatically reducing the number of address translation misses has been to provide hardware support for pages with bigger sizes, termed huge pages. In this paper, we empirically demonstrate the benefits and drawbacks of using such huge pages. In particular, we show that it is essential for modern OS to refine their software mechanisms to more effectively manage huge pages. Based on our empirical observations, we propose and implement MEGA, a framework for huge page support for the Linux kernel. MEGA deploys basic tracking mechanisms and a novel memory compaction algorithm that jointly provide for the effective management of huge pages. We experimentally evaluate MEGA using an array of both synthetic and real workloads and demonstrate that our framework tackles known problems associated with huge pages including increased page fault latency, memory bloating as well as memory fragmentation, while at the same time it delivers all huge pages benefits.
KW - Address translation
KW - Huge pages
KW - Memory compaction
UR - http://www.scopus.com/inward/record.url?scp=85067122592&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85067122592&partnerID=8YFLogxK
U2 - 10.1145/3319647.3325839
DO - 10.1145/3319647.3325839
M3 - Conference contribution
AN - SCOPUS:85067122592
T3 - SYSTOR 2019 - Proceedings of the 12th ACM International Systems and Storage Conference
SP - 121
EP - 131
BT - SYSTOR 2019 - Proceedings of the 12th ACM International Systems and Storage Conference
PB - Association for Computing Machinery, Inc
Y2 - 3 June 2019 through 5 June 2019
ER -