[hypothesis 1]
The application-level throughput in tiered memory systems decreases in proportion to the reduction of movable memory capacity in the fast tier caused by pinned pages.
[Insight 1]
(1) Memory buffers allocated for the network stack are typically pinned and remain unmovable throughout the lifetime of the application [1-3].
(2) In heterogeneous systems, memory pinning can be used to enable DMA-based data transfers for host memory access, potentially increasing the demand for unmovable page allocations [4-6].
(3) Unmovable pages reduce the effective capacity of the fast memory tier, resulting in hot data being allocated to slower tiers and increased average memory access time (AMAT).
Insight 1-(1)에 대한 background 입니다.
Datacenter 환경에서는 네트워크 성능 향상과 시스템 자원 효율을 위해, data 송수신 traffic 처리를 hardware로 offloading하는 방식이 널리 사용됩니다 [1,2].
이 과정에서 네트워크 device는 host memory의 물리 주소에 direct access 하며, 이를 위한 kernel I/O buffer는 unmovable 영역으로 취급됩니다.
실제 production datacenter에서 전체 메모리의 약 5–10%는 unmovable 페이지로 구성되고, 가장 주된 source는 네트워크 operation에 관련된 할당입니다 [3].
Insight 1-(2)에 대한 background 입니다.
GPU thread가 host memory에 직접 접근하기 위해 활용될 수 있는 DMA 기반의 비동기 전송은 memory pinning을 전제로 합니다 [4].
이러한 direct access 기능은 (e.g., Zero-copy) 비동기식 전송과 smaller granularity 특성으로 인해, 잦은 host memory access가 요구되는 환경에서 효율적인 data 전송 수단으로 논의될 수 있습니다 [5].
그러나 direct access를 위한 memory pinning 및 I/O buffer 할당은 unmovable allocation을 유발하고 host memory 자원 활용을 제한하는 요인으로 작용할 가능성이 있습니다 [6].
[1] Firestone et al., “Azure Accelerated Networking: SmartNICs in the Public Cloud”, NSDI 2018
[2] Red Hat, “Red Hat Enterprise Linux Network Performance Tuning Guide”, March 2015.
[3] Zhao et al., “Contiguitas: The Pursuit of Physical Memory Contiguity in Datacenters”, ISCA 2023
[4] NVIDIA, “CUDA C++ Best Practices Guide”, Version 12.3, March 2024.
[5] Min et al., “EMOGI: Efficient Memory-access for Out-of-memory Graph-traversal in GPUs”, VLDB 2021
[6] Mansi et al., “Characterizing Physical Memory Fragmentation”, arXiv:2401.03523 2024
F/B 안성수
네트워크 언무버블 영향 작을수도 있을 것 같다