Seminars

View all Seminars  |  Download ICal for this event

nuKSM: NUMA-aware Memory De-duplication for Multi-socket Servers

Series: M.Tech (Research) Thesis Defense

Speaker: Akash Panda

Date/Time: Aug 17 14:30:00

Location: Microsoft Teams - ONLINE

Faculty Advisor: Arkaprava Basu

Abstract:
Teams meeting link: shorturl.at/jsAR9

Memory management is one of the most critical pieces in an operating system's design. It has several responsibilities ranging from ensuring quick access to data by applications to enabling memory consolidation. For example, judicious placement of pages in multi-socket NUMA (non-uniform memory access) servers could determine the access latencies experienced by an application. Similarly, memory de-duplication can play a pivotal role in memory consolidation and over-commitment.
Different responsibilities of memory management can conflict with each other. This often happens when different subsystems of an OS are responsible for different memory management goals, and each works in its silo. In this work, we report one such conflict that appears between memory de-duplication and NUMA management. Linux's memory de-duplication subsystem, namely KSM, is NUMA unaware. We demonstrate that memory de-duplication can have unintended consequences to NUMA overheads experienced by applications running on multi-socket servers. Linux's memory de-duplication subsystem, namely KSM, is NUMA unaware. Consequently, while de-duplicating pages across NUMA nodes, it can place de-duplicated pages in a manner that can lead to significant performance variations, unfairness, and subvert process priority.
We introduce NUMA-aware KSM, a.k.a., nuKSM, that makes judicious decisions about the placement of de-duplicated pages to reduce the impact of NUMA and unfairness in execution. nuKSM also enables users to avoid priority subversion. Finally, independent of the NUMA effect, we observed that KSM fails to scale well to large memory systems due to its centralized design. We thus extended nuKSM to adopt a decentralized design to scale to larger memory.

Speaker Bio:
Akash Panda is an M.Tech (Research) student who worked in the area of operating system's memory management for this thesis under the supervision of Arkaprava Basu.Currently, he is working in the Server Performance Group in AMD, Bangalore.

Host Faculty: Arkaprava Basu