이 페이지 내용
DLB(Selective Dynamic Load Balancing)
개요
AI-ML 워크로드에서 대부분의 애플리케이션 트래픽은 전송을 위해 RoCEv2(RDMA) over Converged Ethernet version 2를 사용합니다. 동적 로드 밸런싱(DLB)은 효율적인 로드 밸런싱을 달성하고 RoCEv2 네트워크의 혼잡을 방지하는 데 이상적입니다. 그러나 정적 로드 밸런싱(SLB)은 일부 트래픽 유형에 더 효과적일 수 있습니다. 선택적 DLB를 사용하면 더 이상 디바이스를 통과하는 모든 트래픽에 대해 DLB와 SLB 중에서 선택할 필요가 없습니다. 전역 수준에서 원하는 DLB 모드를 구성하고, 기본 로드 밸런싱 유형을 구성한 다음, 특정 종류의 트래픽에 대해 DLB를 선택적으로 활성화 또는 비활성화할 수 있습니다.
로드 밸런싱은 플로우당 또는 패킷당 두 가지 방법으로 활성화할 수 있습니다. 플로우별 로드 밸런싱은 한 번에 가장 많은 수의 패킷을 처리하기 때문에 가장 널리 사용되었습니다. 디바이스는 동일한 5-튜플 패킷 헤더를 가진 패킷을 단일 플로우로 분류합니다. 디바이스는 플로우의 모든 패킷에 동일한 로드 밸런싱 처리를 제공합니다. 플로우 기반 로드 밸런싱은 트래픽이 모든 링크를 동등하게 활용하기 때문에 일반 TCP 및 UDP 트래픽에 적합합니다. 그러나 패킷당 로드 밸런싱은 일부 패킷의 순서를 변경할 수 있으며, 이는 성능에 영향을 미칠 수 있습니다.
많은 AI 클러스터는 순서가 잘못된 패킷을 처리할 수 있는 스마트 네트워크 인터페이스 카드(SmartNIC)를 통해 애플리케이션을 네트워크에 연결합니다. 성능을 향상시키려면 네트워크에서 패킷당 DLB를 사용하도록 설정합니다. 그런 다음 순서가 잘못된 패킷을 처리할 수 있는 엔드포인트 서버에 대해서만 DLB를 사용하도록 설정합니다. 디바이스는 이러한 패킷의 BTH+ 헤더에 있는 RDMA 작업 코드(opcode)를 실시간으로 확인합니다. 방화벽 필터 일치 조건을 사용하여 해당 opcode에 따라 DLB를 선택적으로 활성화 또는 비활성화할 수 있습니다. 다른 플로우는 SLB라고도 하는 기본 해시 기반 로드 밸런싱을 계속 사용합니다.
선택적 DLB는 엘리펀트 플로우가 전체 데이터 플로우에 비해 너무 작은 링크를 발견하는 경우에도 유용합니다. 이 시나리오에서 선택적 DLB는 데이터센터 패브릭에서 링크의 사용 가능한 대역폭의 최적 사용을 계산할 수 있습니다. 엘리펀트 플로우에 대해 선택적 패킷당 DLB를 활성화하면 알고리즘이 패킷을 먼저 최고 품질의 링크로 전달합니다. 링크 품질이 변경되면 알고리즘이 후속 패킷을 다음으로 최고 품질의 링크로 보냅니다.
혜택
-
대규모 데이터 흐름의 네트워크 처리를 개선합니다.
-
동일한 트래픽 스트림에서 패킷당 및 플로우당 로드 밸런싱을 사용하여 성능을 향상시킬 수 있습니다.
-
방화벽 필터 일치 조건에 따라 로드 밸런싱을 사용자 지정합니다.
구성
구성 개요
기본적으로 DLB를 사용하지 않도록 설정하고 특정 흐름에서 DLB를 선택적으로 사용하도록 설정하거나, DLB를 전역적으로 사용하도록 설정하고 DLB를 선택적으로 사용하지 않도록 설정하는 두 가지 방법으로 DLB를 선택적으로 사용하도록 설정할 수 있습니다. 두 경우 모두 먼저 패킷별 모드에서 DLB를 구성해야 합니다. 패킷당은 DLB가 활성화된 모든 곳에서 사용되는 DLB 모드입니다. 동일한 디바이스에서 플로우당 및 패킷당 모드로 동시에 DLB를 구성할 수 없습니다.
이 기능은 플로우렛 모드와 호환됩니다. DLB가 플로우렛 모드에서 구성된 경우 선택적으로 이 기능을 활성화할 수 있습니다.
위상수학
그림 1에 표시된 토폴로지에서 DLB는 기본적으로 비활성화되어 있습니다. 패킷당 모드의 Flow2에서 DLB를 선택적으로 활성화했습니다. 표 1 에는 표시된 두 개의 플로우에 대한 로드 밸런싱 구성과 플로우에 적용된 로드 밸런싱 결과가 요약되어 있습니다.
흐름 |
DLB 사용 여부 |
결과 |
---|---|---|
플로우1 |
아니요 |
디바이스는 플로우당 모드인 기본 로드 밸런싱 구성을 사용합니다. 플로우는 단일 디바이스로 전달됩니다. |
플로우2 |
예 |
디바이스는 패킷당 모드인 DLB 구성을 사용합니다. 디바이스는 이 플로우를 패킷으로 분할합니다. DLB는 패킷 헤더의 RDMA opcode 및 해당 필터를 기반으로 하는 경로에 각 패킷을 할당합니다. |

DLB를 전역적으로 및 선택적으로 비활성화 DLB 활성화
DLB가 필요한 패킷이 거의 없는 경우 글로벌 수준에서 DLB를 비활성화하고 플로우별로 선택적으로 활성화할 수 있습니다.
DLB를 전역적으로 활성화하고 DLB를 선택적으로 비활성화합니다.
대부분의 패킷이 DLB의 이점을 누릴 수 있는 경우 모든 패킷에 대해 전역 수준에서 DLB를 활성화하고 패킷당 DLB를 선택적으로 비활성화합니다.
확인
다음 명령을 사용하여 DLB가 예상대로 사용하도록 설정되었는지 확인합니다.
show forwarding-options enhanced-hash-key
show pfe filter hw profile-info
예: 방화벽 필터 일치 조건으로 DLB를 선택적으로 활성화
선택적 DLB의 이점 중 하나는 모든 방화벽 필터 일치 조건에 따라 로드 밸런싱을 사용자 지정할 수 있다는 것입니다. 이 예는 RDMA 대기열 쌍과 일치하는 방화벽 필터를 기반으로 DLB를 사용으로 설정하는 방법을 보여줍니다. 이 예를 사용하여 패킷 순서 변경을 지원하는 네트워크 인터페이스 카드(NIC)에서 종료되는 플로우에 대해서만 패킷당 DLB를 활성화합니다.
애플리케이션 트래픽 전송에 RoCEv2를 사용하는 네트워크에서 RDMA 연결은 송신 큐에서 트래픽을 전송하고 수신 큐에서 트래픽을 수신합니다. 이러한 큐는 RDMA 연결을 형성합니다. 송신 큐와 수신 큐를 함께 큐 쌍이라고 합니다. 각 대기열 쌍에는 식별 가능한 접두사가 있습니다. 이 예에서는 대기열 쌍 접두사를 사용하여 DLB가 활성화되는 시기를 제어합니다.
이 예는 QFX5240-64QD 스위치에 구성됩니다.
플랫폼 지원
플랫폼 및 릴리스 지원에 대한 기능 탐색기 를 참조하십시오.