Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems
Lakew, Svärd, Elmroth et al.
Disaggregated systems have a novel architecture motivated by the requirements of resource intensive applications such as social networking, search, and in-memory databases. The total amount of resources such as memory and CPU cores is very large in such systems. However, the distributed topology of disaggregated server systems result in non-uniform access latency and performance, with both NUMA aspects inside each box, as well as additional access latency for remote resources. In this work, we study the effects complex NUMA topologies on application performance and propose a method for improved, NUMA-aware, mapping for virtualized environments running on disaggregated systems. Our mapping algorithm is based on pinning of virtual cores and/or migration of memory across a disaggregated system and takes into account application performance, resource contention, and utilization. The proposed method is evaluated on a 288 cores and around 1TB memory system, composed of six disaggregated commodity servers, through a combination of benchmarks and real applications such as memory intensive graph databases. Our evaluation demonstrates significant improvement over the vanilla resource mapping methods. Overall, the mapping algorithm is able to improve performance by significant magnitude compared the default Linux scheduler used in system.
academic
Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems
if VMi is a new arrival then
if Free slot is suitable for VMi given ci, ai then
Map VMi directly
else
Reshuffle existing VMs to create suitable slot
Map VMi to new slot
阶段2:干扰最小化(运行时优化)
for each VMi do
if (expected_perf - measured_perf)/expected_perf ≥ Threshold then
Add VMi to affected list
for each affected VM do
Build potential neighbor list based on class compatibility
Compute new configuration with minimal reshuffle
Remap if beneficial