Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
이 페이지의 내용
 

CoS 가상 출력 대기열(VOQ) 이해

스위치를 통해 트래픽을 전달하는 기존 방법은 수신 인터페이스의 입력 대기열에서 수신 트래픽을 버퍼링하고, 스위치 패브릭을 통해 송신 인터페이스의 출력 대기열로 트래픽을 전달한 다음, 트래픽을 다음 홉으로 전송하기 전에 출력 대기열에서 트래픽을 다시 버퍼링하는 것을 기반으로 합니다. 수신 포트에서 패킷을 대기열에 넣는 전통적인 방법은 서로 다른 송신 포트로 향하는 트래픽을 동일한 입력 대기열(버퍼)에 저장하는 것입니다.

혼잡 기간 동안 스위치는 송신 포트에서 패킷을 삭제할 수 있으므로 스위치는 스위치 패브릭을 통해 송신 포트로 트래픽을 전송하는 데 리소스를 소비할 수 있지만 트래픽을 전달하는 대신 삭제할 수 있습니다. 또한 입력 대기열은 다른 송신 포트로 향하는 트래픽을 저장하기 때문에 한 송신 포트의 혼잡은 다른 송신 포트의 트래픽에 영향을 미칠 수 있으며, 이를 HOLB(Head-of-Line Blocking)라고 합니다.

가상 출력 대기열(VOQ) 아키텍처는 다른 접근 방식을 취합니다.

  • 스위치는 입력 및 출력 대기열을 위한 별도의 물리적 버퍼 대신, 각 패킷 포워딩 엔진(PFE) 칩의 수신 파이프라인에 있는 물리적 버퍼를 사용하여 모든 송신 포트에 대한 트래픽을 저장합니다. 송신 포트의 모든 출력 대기열은 스위치의 모든 PFE 칩에 있는 모든 수신 파이프라인에 버퍼 저장 공간을 갖습니다. 출력 대기열에 대한 수신 파이프라인 저장 공간의 매핑은 1:1이므로 각 출력 대기열은 각 수신 파이프라인의 버퍼 공간을 수신합니다.

  • 여러 개의 서로 다른 출력 대기열(일대다 매핑)으로 향하는 트래픽을 포함하는 하나의 입력 대기열 대신, 각 출력 대기열에는 해당 출력 대기열 전용인 각 패킷 전달 칩의 입력 버퍼로 구성된 전용 VOQ가 있습니다(1:1 매핑). 이 아키텍처는 두 포트 간의 통신이 다른 포트에 영향을 미치지 않도록 합니다.

  • VOQ는 트래픽이 전달될 때까지 물리적 출력 대기열에 트래픽을 저장하는 대신, 송신 포트가 트래픽을 전달할 리소스를 가질 때까지 패브릭을 통해 수신 포트에서 송신 포트로 트래픽을 전송하지 않습니다.

VOQ는 하나의 송신 포트에서 하나의 출력 대기열로 향하는 트래픽을 수신하고 저장하는 입력 대기열(버퍼)의 집합입니다. 각 송신 포트의 각 출력 대기열에는 해당 출력 대기열로 트래픽을 전송하는 모든 입력 대기열로 구성된 자체 전용 VOQ가 있습니다.

VOQ 아키텍처

VOQ는 특정 출력 대기열에 대한 수신 버퍼링을 나타냅니다. 고유한 버퍼 ID는 PFE 칩의 각 출력 대기열을 식별합니다. 6개의 PFE 칩 각각은 특정 출력 대기열에 대해 동일한 고유 버퍼 ID를 사용합니다. 6개의 PFE 칩에서 특정 버퍼 ID를 사용하여 저장된 트래픽은 하나의 포트에서 하나의 특정 출력 대기열로 향하는 트래픽으로 구성되며, 해당 출력 대기열에 대한 VOQ입니다.

각 포트에 8개의 출력 대기열이 있는 72개의 송신 포트가 있는 스위치는 각 PFE 칩에 576개의 VOQ를 가집니다 (72 x 8 = 576). 스위치에는 6개의 PFE 칩이 있기 때문에 스위치의 총 VOQ는 3,456개 (576 x 6 = 3,456)입니다.

VOQ는 해당 출력 대기열에 트래픽을 능동적으로 전송하는 모든 PFE 칩에 분산됩니다. 각 출력 대기열은 모든 PFE 칩에서 해당 출력 대기열에 할당된 총 버퍼의 합계입니다(고유 버퍼 ID). 따라서 출력 대기열은 물리적 입력 대기열로 구성되더라도 출력 대기열 자체는 물리적인 것이 아니라 가상입니다.

왕복 시간 버퍼링

혼잡 기간(장기 저장 없음) 동안에는 출력 대기열 버퍼링이 없지만, 트래픽이 수신에서 송신으로 스위치 패브릭을 통과하는 왕복 시간을 수용하기 위해 송신 라인 카드에 작은 물리적 출력 대기열 버퍼가 있습니다. 왕복 시간은 수신 포트가 송신 포트 리소스를 요청하고, 송신 포트에서 리소스에 대한 권한 부여를 받고, 스위치 패브릭을 통해 데이터를 전송하는 데 걸리는 시간으로 구성됩니다.

즉, 패킷이 스위치 수신 지점에서 손실되지 않고 스위치가 패브릭을 통해 송신 포트로 패킷을 전달하면 패킷은 손실되지 않고 다음 홉으로 전달됩니다. 모든 패킷 드롭은 수신 파이프라인에서 발생합니다.

스위치에는 지연 대역폭 버퍼(DBB)로 사용할 4GB의 외부 DRAM이 있습니다. DBB는 포트가 트래픽을 송신 포트로 전달할 수 있을 때까지 수신 포트에 대한 스토리지를 제공합니다.

송신 포트 대역폭 요청 및 부여

패킷이 수신 포트에 도착하면 수신 파이프라인은 대상 출력 대기열의 고유한 버퍼 ID와 함께 패킷을 수신 대기열에 저장합니다. 스위치는 패킷 조회를 수행한 후 버퍼링 결정을 내립니다. 패킷이 최대 트래픽 임계값을 초과한 클래스에 속하는 경우, 패킷이 버퍼링되지 않고 드롭될 수 있습니다. 스위치 패브릭을 통해 송신 포트로 패킷을 전송하려면 다음을 수행합니다.

  1. 수신 라인 카드 PFE 요청 스케줄러는 송신 라인 카드 PFE 권한 부여 스케줄러에 요청을 전송하여 데이터를 전송할 수 있음을 송신 PFE에 알립니다.

  2. 사용 가능한 송신 대역폭이 있을 경우, 송신 라인 카드 부여 스케줄러는 수신 라인 카드 PFE에 대역폭 부여를 전송하여 응답합니다.

  3. 수신 라인 카드 PFE는 송신 라인 카드 PFE로부터 권한 부여를 수신하고 데이터를 송신 라인 카드로 전송합니다.

수신 패킷은 출력 대기열이 더 많은 트래픽을 수락하고 전달할 준비가 될 때까지 수신 포트 입력 대기열의 VOQ에 남아 있습니다.

대부분의 조건에서 스위치 패브릭은 송신 CoS(class-of-service) 정책에 투명할 만큼 빠르므로 스위치 패브릭을 통해 수신 파이프라인에서 송신 포트로 트래픽을 전달하는 프로세스는 트래픽에 대해 구성된 CoS 정책에 영향을 주지 않습니다. 패브릭은 패브릭 장애가 발생하거나 포트 공정성 문제가 있는 경우에만 CoS 정책에 영향을 미칩니다.

패킷이 동일한 PFE 칩(로컬 스위칭)을 수신 및 송신할 때 패킷은 스위치 패브릭을 통과하지 않습니다. 그러나 스위치는 패브릭을 통과하는 패킷과 동일한 요청 및 부여 메커니즘을 사용하여 송신 대역폭을 수신하므로 트래픽이 동일한 출력 대기열을 놓고 경합할 때 로컬로 스위칭된 패킷과 스위치 패브릭을 통과한 후 PFE 칩에 도착하는 패킷이 공정하게 처리됩니다.

VOQ의 장점

VOQ 아키텍처는 다음과 같은 두 가지 주요 이점을 제공합니다.

라인 헤드 차단 제거

VOQ 아키텍처는 HOLB(Head-of-Line Blocking) 문제를 제거합니다. 비 VOQ 스위치에서 HOLB는 송신 포트의 혼잡이 혼잡하지 않은 다른 송신 포트에 영향을 미칠 때 발생합니다. HOLB는 혼잡한 포트와 혼잡하지 않은 포트가 수신 인터페이스에서 동일한 입력 대기열을 공유할 때 발생합니다.

HOLB 시나리오의 예로는 두 개의 서로 다른 송신 포트(EP-2 및 EP-3)로 향하는 하나의 수신 포트(IP-1)로 들어오는 트래픽 스트림이 있는 스위치가 있습니다.

  1. 혼잡은 송신 포트 EP-2에서 발생합니다. 그림 1과 같이 송신 포트 EP-3에는 혼잡이 없습니다.

    그림 1: EP-2 Network switch diagram showing ingress port IP-1 sending traffic to egress ports EP-2 and EP-3 through a switch fabric. Red X at EP-2 indicates congestion. 에서 혼잡 발생
  2. 송신 포트 EP-2는 그림 2와 같이 수신 포트 IP-1에 배압 신호를 보냅니다.

    그림 2: EP-2 배압 IP-1 Network switch showing congestion at egress port EP-2 with backpressure to ingress port IP-1 to manage traffic flow.
  3. 역압 신호는 수신 포트 IP-1이 트래픽 전송을 중지하고 전송을 재개하라는 신호를 수신할 때까지 트래픽을 버퍼링하도록 합니다( 그림 3과 같이). 혼잡하지 않은 송신 포트 EP-3으로 향하는 수신 포트 IP-1에 도착하는 트래픽은 포트 EP-3으로 전달되는 대신 혼잡한 포트 EP-2로 향하는 트래픽과 함께 버퍼링됩니다.

    그림 3: EP-2의 배압으로 인해 IP-1이 트래픽을 전송하는 대신 트래픽을 버퍼링하여 EP-3 Network switch showing backpressure: IP-1 traffic blocked due to congestion at EP-2, affecting flow to EP-3 within switch fabric. 에 영향을 미칩니다
  4. 그림 4와 같이 수신 포트 IP-1은 수신 포트 IP-1이 트래픽 전송을 재개할 수 있을 만큼 송신 포트 EP-2가 지워질 때만 혼잡하지 않은 송신 포트 EP-3으로 트래픽을 전송합니다.

    그림 4: EP-2의 혼잡이 해소되어 IP-1이 두 송신 포트로 트래픽 전송을 재개할 수 있습니다 Network switch with ingress port IP-1 and egress ports EP-2, EP-3; directs traffic from IP-1 to both EP-2 and EP-3, adjusts flow for congestion.

이러한 방식으로 혼잡한 송신 포트 EP-2는 혼잡하지 않은 송신 포트 EP-3에 부정적인 영향을 미칩니다. 두 송신 포트가 수신 포트 IP-1에서 동일한 입력 대기열을 공유하기 때문입니다.

VOQ 아키텍처는 그림 5와 같이 각 인터페이스의 각 출력 대기열에 대해 서로 다른 전용 가상 대기열을 생성하여 HOLB를 방지합니다.

그림 5: 각 송신 포트는 IP-1에 별도의 가상 출력 대기열을 갖습니다. Internal architecture of QFX10000 Series Switch showing how Virtual Output Queues manage traffic efficiently between ingress port IP-1 and egress ports EP-2 and EP-3.

서로 다른 송신 대기열이 동일한 입력 대기열을 공유하지 않기 때문에 그림 6과 같이 한 포트의 혼잡한 송신 대기열은 다른 포트의 송신 대기열에 영향을 줄 수 없습니다. (같은 이유로, 한 포트의 혼잡한 송신 대기열은 동일한 포트의 다른 송신 대기열에 영향을 미칠 수 없습니다. 각 출력 대기열에는 수신 인터페이스 입력 대기열로 구성된 전용 가상 출력 대기열이 있습니다.)

그림 6: EP-2의 혼잡은 혼잡하지 않은 포트 EP-3 Virtual Output Queues in a QFX10000 Series Switch showing congestion at egress port EP-2 stopping traffic while EP-3 receives traffic uninterrupted. 에 영향을 미치지 않음

수신 인터페이스에서 대기열 버퍼링을 수행하면 스위치는 송신 대기열이 해당 트래픽을 수신할 준비가 된 경우에만 패브릭을 통해 송신 대기열로 트래픽을 전송합니다. 송신 대기열이 트래픽을 수신할 준비가 되지 않은 경우, 트래픽은 수신 인터페이스에서 버퍼링된 상태로 유지됩니다.

패브릭 효율성 및 활용도 향상

기존의 출력 대기열 아키텍처에는 VOQ 아키텍처가 해결하는 몇 가지 고유한 비효율성이 있습니다.

  • 패킷 버퍼링 - 기존의 대기열 지정 아키텍처는 각 패킷을 장기 DRAM 스토리지에서 수신 인터페이스와 송신 인터페이스에서 한 번씩 두 번 버퍼링합니다. VOQ 아키텍처는 수신 인터페이스의 장기 DRAM 스토리지에서 각 패킷을 한 번만 버퍼링합니다. 스위치 패브릭은 송신 CoS 정책에 투명할 수 있을 만큼 빠르므로, 송신 인터페이스에서 패킷을 두 번 버퍼링하는 대신 스위치는 구성된 송신 CoS 정책(스케줄링)에 영향을 주지 않고 심층 송신 버퍼가 필요하지 않은 속도로 트래픽을 전달할 수 있습니다.

  • 리소스 소비 - 기존의 대기열 아키텍처는 스위치 패브릭을 통해 수신 인터페이스 입력 대기열(버퍼)에서 송신 인터페이스 출력 대기열(버퍼)으로 패킷을 보냅니다. 송신 인터페이스에서 스위치가 패브릭을 통해 패킷을 전송하고 송신 대기열에 저장하는 데 리소스를 소비했더라도 패킷이 누락될 수 있습니다. VOQ 아키텍처는 송신 인터페이스가 트래픽을 전송할 준비가 될 때까지 패브릭을 통해 송신 인터페이스로 패킷을 전송하지 않습니다. 이는 나중에 삭제된 패킷을 전송하고 저장하는 데 리소스가 낭비되지 않기 때문에 시스템 활용도를 높입니다.

VOQ 아키텍처와는 별개로 주니퍼 네트웍스 스위칭 아키텍처는 패킷을 셀로 변환하기 때문에 패브릭 활용도를 향상시킵니다. 셀은 예측 가능한 크기를 가지므로 스위치가 패브릭 링크 전체에 셀을 고르게 분사하고 패브릭 링크를 보다 완전하게 활용할 수 있습니다. 패킷의 크기는 매우 다양하며 패킷 크기는 예측할 수 없습니다. 패킷 기반 패브릭은 패킷 크기의 변동성과 예측 불가능성으로 인해 65-70% 이상의 활용도를 제공할 수 없습니다. 주니퍼 네트웍스의 셀 기반 패브릭은 셀 크기에 대한 예측 가능성 및 제어 덕분에 거의 95%의 패브릭 활용률을 제공할 수 있습니다.