Many modern datacenters deploy RDMA for its low-latency and high throughput. Another trend of datacenters is collocating batch jobs with a latency-sensitive service in a single physical node to utilize idle resources. To guarantee the SLO of a latency-sensitive service, performance isolation between batch jobs and the latency-sensitive service is necessary. However, unlike TCP/IP, a global traffic controller does not exists since RDMA bypasses the kernel. Furthermore, to isolate the performance of RDMA, we need to manage not only the bandwidth but also NIC cache usage because RDMA performance is significantly affected by NIC cache. We show that unmanaged usage of NIC cache can cause severe performance interference. We propose a resource manager that can globally control RDMA traffic and guarantee the SLO of the latency-sensitive service even when co-located with batch jobs that show large NIC cache usage.
낮은 지연시간과 높은 처리량으로 인해 최근에 많은 데이터 센터에서 RDMA를 도입하고 있다. 데이터센터의 또 다른 추세는 자원 효용성을 높이기 위해 일괄 작업과 지연시간에 민감한 서비스를 하나의 물리 노드에 같이 실행한다는 것이다. 이 때 지연시간에 민감한 서비스의 SLO를 보장해주기 위해서는 일괄 작업과 지연 시간에 민감한 서비스 간에 성능 격리(performance isolation)가 필요하다. RDMA의 커널을 우회하는 특징 때문에 RDMA는 TCP/IP와 달리 글로벌하게 자원 사용량을 조정 하는 qdisc와 같은 트래픽 컨트롤러가 없다. 그리고 네트워크 대역폭뿐만 아니라 NIC 캐시에 대한 사용량도 같이 조정해주어야 성능 격리를 보장해 줄 수 있다. 우리는 NIC 캐시 사용량이 관리되지 않으면 실제로 성능 간섭이 발생함을 보인다. 우리는 전역적으로 트래픽을 제어할 수 있고 NIC 캐시를 많이 사용하는 배치 작업과 함께 지연시간에 민감한 서비스를 같이 실행하면서도 지연시간에 민감한 서비스의 SLO를 보장할 수 있는 자원관리자(resource manager)를 제안한다.