Phoenix -- A Novel Technique for Performance-Aware Orchestration of Thread and Page Table Placement in NUMA Systems
Mohammad Siavashi, Alireza Sanaee, Mohsen Sharifi, Gianni Antichi

TL;DR
Phoenix is an integrated CPU scheduler and memory manager that optimizes thread and page table placement in NUMA systems, significantly improving performance by reducing CPU and page-walk cycles through coordinated placement and replication strategies.
Contribution
It introduces a novel integrated approach combining CPU scheduling and memory management with on-demand page table replication for NUMA systems.
Findings
Reduces CPU cycles by 2.09x
Decreases page-walk cycles by 1.58x
Improves application performance on NUMA hardware
Abstract
The emergence of symmetric multi-processing (SMP) systems with non-uniform memory access (NUMA) has prompted extensive research on process and data placement to mitigate the performance impact of NUMA on applications. However, existing solutions often overlook the coordination between the CPU scheduler and memory manager, leading to inefficient thread and page table placement. Moreover, replication techniques employed to improve locality suffer from redundant replicas, scalability barriers, and performance degradation due to memory bandwidth and inter-socket interference. In this paper, we present Phoenix, a novel integrated CPU scheduler and memory manager with on-demand page table replication mechanism. Phoenix integrates the CPU scheduler and memory management subsystems, allowing for coordinated thread and page table placement. By differentiating between data and page table pages,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Real-Time Systems Scheduling
