Guia do usuário da placa de aceleração programável intel FPGA N3000
Introdução
Fundo
O Intel FPGA Programmable Acceleration Card N3000 em uma rede de acesso de rádio virtualizada (vRAN) requer suporte para IEEE1588v2 como um Precision Time Protocol (PTP) Telecom Slave Clocks (T-TSC) para agendar tarefas de software adequadamente. O Intel Ethernet Controller XL710 no Intel® FPGA PAC N3000 fornece o suporte IEEE1588v2. No entanto, o caminho de dados do FPGA apresenta jitter que afeta o desempenho do PTP. A adição de um circuito de clock transparente (T-TC) permite que o Intel FPGA PAC N3000 compense sua latência interna do FPGA e mitiga os efeitos do jitter, o que permite que o T-TSC se aproxime da hora do dia (ToD) do Grandmaster com eficiência.
Objetivo
Esses testes validam o uso do Intel FPGA PAC N3000 como o escravo IEEE1588v2 em Open Radio Access Network (O-RAN). Este documento descreve:
- Configuração de teste
- Processo de verificação
- Avaliação de desempenho do mecanismo de clock transparente no caminho FPGA do Intel FPGA PAC N3000
- Desempenho PTP do Intel FPGA PAC N3000 O desempenho do Intel FPGA PAC N3000 que suporta o relógio transparente é
comparado com o Intel FPGA PAC N3000 sem relógio transparente, bem como com outro cartão Ethernet XXV710 sob várias condições de tráfego e configurações PTP.
Características e limitações
Os recursos e as limitações de validação para o suporte Intel FPGA PAC N3000 IEEE1588v2 são os seguintes:
- Pilha de software usada: Linux PTP Project (PTP4l)
- Suporta o seguinte profissional de telecomunicaçõesfiles:
- 1588v2 (padrão)
- G.8265.1
- G.8275.1
- Suporta relógio escravo PTP de duas etapas.
Corporação Intel. Todos os direitos reservados. Intel, o logotipo Intel e outras marcas Intel são marcas comerciais da Intel Corporation ou de suas subsidiárias. A Intel garante o desempenho de seus produtos FPGA e semicondutores de acordo com as especificações atuais de acordo com a garantia padrão da Intel, mas se reserva o direito de fazer alterações em quaisquer produtos e serviços a qualquer momento sem aviso prévio. A Intel não assume nenhuma responsabilidade ou obrigação decorrente da aplicação ou uso de qualquer informação, produto ou serviço aqui descrito, exceto conforme expressamente acordado por escrito pela Intel. Os clientes da Intel são aconselhados a obter a versão mais recente das especificações do dispositivo antes de confiar em qualquer informação publicada e antes de fazer pedidos de produtos ou serviços. *Outros nomes e marcas podem ser reivindicados como propriedade de terceiros.
- Suporta modo multicast de ponta a ponta.
- Suporta frequência de troca de mensagens PTP de até 128 Hz.
- Esta é uma limitação do plano de validação e Grão-Mestre empregado. Configurações PTP superiores a 128 pacotes por segundo para mensagens PTP podem ser possíveis.
- Devido às limitações do switch Cisco* Nexus* 93180YC-FX usado na configuração de validação, os resultados de desempenho sob condições de tráfego iperf3 referem-se à taxa de troca de mensagens PTP de 8 Hz.
- Suporte de encapsulamento:
- Transporte sobre L2 (Ethernet bruta) e L3 (UDP/IPv4/IPv6)
Observação: Neste documento, todos os resultados usam um único link Ethernet de 25 Gbps.
- Transporte sobre L2 (Ethernet bruta) e L3 (UDP/IPv4/IPv6)
Ferramentas e Versões de Driver
Ferramentas | Versão |
BIOS | Placa para servidor Intel S2600WF 00.01.0013 |
OS | CentOS 7.6 |
Núcleo | kernel-rt-3.10.0-693.2.2.rt56.623.el7.src. |
Kit de desenvolvimento de plano de dados (DPDK) | 18.08 |
Compilador Intel C | 19.0.3 |
Driver Intel XL710 (driver i40e) | 2.8.432.9.21 |
PTP4l | 2.0 |
Ix Explorer | 8.51.1800.7 EA-Patch1 |
lperf3 | 3.0.11 |
tráfego | Kit de ferramentas Netsniff-ng 0.6.6 |
Teste de Tráfego IXIA
O primeiro conjunto de benchmarks de desempenho PTP para Intel FPGA PAC N3000 utiliza uma solução IXIA* para testes de conformidade de rede e PTP. A caixa do chassi IXIA XGS2 inclui uma placa IXIA 40 PORT NOVUS-R100GE8Q28 e IxExplorer que fornece uma interface gráfica para configurar um PTP Grandmaster virtual para o DUT (Intel FPGA PAC N3000) em uma única conexão Ethernet direta de 25 Gbps. O diagrama de blocos abaixo ilustra a topologia de teste direcionada para os benchmarks baseados em IXIA. Todos os resultados usam o tráfego gerado por IXIA para os testes de tráfego de entrada e utilizam a ferramenta trafgen no host Intel FPGA PAC N3000 para os testes de tráfego de saída, onde a direção de entrada ou saída é sempre da perspectiva do DUT (Intel FPGA PAC N3000 ) hospedeiro. Em ambos os casos, a taxa média de tráfego é de 24 Gbps. Esta configuração de teste fornece uma caracterização de linha de base do desempenho de PTP do Intel FPGA PAC N3000 com o mecanismo T-TC ativado, bem como comparando-o com a imagem de fábrica não TC Intel FPGA PAC N3000 sob o ITU-T G.8275.1 PTP profile.
Topologia para testes de tráfego Intel FPGA PAC N3000 sob IXIA Virtual Grandmaster
Resultado do teste de tráfego IXIA
A análise a seguir captura o desempenho de PTP do Intel FPGA PAC N3000 habilitado para TC sob condições de tráfego de entrada e saída. Nesta seção, o PTP profile G.8275.1 foi adotado para todos os testes de tráfego e coleta de dados.
Magnitude do Deslocamento Principal
A figura a seguir mostra a magnitude do deslocamento mestre observado pelo cliente escravo PTP4l do host Intel FPGA PAC N3000 como uma função do tempo decorrido sob tráfego de entrada, saída e bidirecional (taxa de transferência média de 24.4 Gbps).
Atraso médio do caminho (MPD)
A figura a seguir mostra o atraso médio do caminho, calculado pelo escravo PTP4 que usa o Intel FPGA PAC N3000 como uma placa de interface de rede, para o mesmo teste da figura acima. A duração total de cada um dos três testes de tráfego é de pelo menos 16 horas.
A tabela a seguir lista a análise estatística dos três testes de tráfego. Sob uma carga de tráfego próxima à capacidade do canal, o escravo PTP4l que usa o Intel FPGA PAC N3000 mantém seu deslocamento de fase para o grande mestre virtual do IXIA em 53 ns para todos os testes de tráfego. Além disso, o desvio padrão da magnitude do offset mestre está abaixo de 5 ns.
Detalhes estatísticos sobre o desempenho do PTP
G.8275.1 PTP Profile | Tráfego de entrada (24 Gbps) | Tráfego de saída (24 Gbps) | Tráfego bidirecional (24 Gbps) |
RMS | 6.35 ns | 8.4 ns | 9.2 ns |
StdDev (do deslocamento abs(max)) | 3.68 ns | 3.78 ns | 4.5 ns |
StdDev (de MPD) | 1.78 ns | 2.1 ns | 2.38 ns |
Deslocamento máximo | 36 ns | 33 ns | 53 ns |
As figuras a seguir representam a magnitude do deslocamento mestre e o atraso médio do caminho (MPD), em um teste de tráfego bidirecional de 16 Gbps de 24 horas para diferentes encapsulamentos PTP. Os gráficos à esquerda nestas figuras referem-se a benchmarks PTP sob encapsulamento IPv4/UDP, enquanto o encapsulamento de mensagens PTP dos gráficos à direita está em L2 (Ethernet bruta). O desempenho do escravo PTP4l é bastante semelhante, a magnitude do deslocamento do mestre no pior caso é de 53 ns e 45 ns para IPv4/UDP e encapsulamento L2, respectivamente. O desvio padrão do deslocamento de magnitude é 4.49 ns e 4.55 ns para IPv4/UDP e encapsulamento L2, respectivamente.
Magnitude do Deslocamento Principal
A figura a seguir mostra a magnitude do deslocamento mestre em tráfego bidirecional de 24 Gbps, encapsulamento IPv4 (esquerda) e L2 (direita), G8275.1 Profile.
Atraso médio do caminho (MPD)
A figura a seguir mostra o atraso médio do caminho do host PTP3000l do host Intel FPGA PAC N4 em tráfego bidirecional de 24 Gbps, encapsulamento IPv4 (esquerda) e L2 (direita), G8275.1 Profile.
Os valores absolutos do MPD não são uma indicação clara da consistência do PTP, pois dependem do comprimento dos cabos, latência do caminho de dados e assim por diante; no entanto, observar as baixas variações de MPD (2.381 ns e 2.377 ns para o caso IPv4 e L2, respectivamente) torna óbvio que o cálculo do PTP MPD é consistentemente preciso em ambos os encapsulamentos. Ele verifica a consistência do desempenho do PTP em ambos os modos de encapsulamento. A mudança de nível no MPD calculado no gráfico L2 (na figura acima, gráfico à direita) é devida ao efeito incremental do tráfego aplicado. Primeiramente, o canal está ocioso (MPD rms é 55.3 ns), então o tráfego de entrada é aplicado (segunda etapa incremental, MPD rms é 85.44 ns), seguido pelo tráfego de saída simultâneo, resultando em um MPD calculado de 108.98 ns. As figuras a seguir sobrepõem a magnitude do deslocamento mestre e o MPD calculado do teste de tráfego bidirecional aplicado tanto a um escravo PTP4l usando o Intel FPGA PAC N3000 com mecanismo T-TC, quanto a outro que usa o Intel FPGA PACN3000 sem TC funcionalidade. Os testes T-TC Intel FPGA PAC N3000 (laranja) começam no tempo zero, enquanto o teste PTP que utiliza o não TC Intel FPGA PAC N3000 (azul) começa em torno de T = 2300 segundos.
Magnitude do Deslocamento Principal
A figura a seguir mostra a magnitude do deslocamento mestre no tráfego de entrada (24 Gbps), com e sem suporte TTC, G.8275.1 Profile.
Na figura acima, o desempenho de PTP do Intel FPGA PAC N3000 habilitado para TC sob tráfego é semelhante ao do Intel FPGA PAC N3000 não TC nos primeiros 2300 segundos. A eficácia do mecanismo T-TC no Intel FPGA PAC N3000 é destacada no segmento de teste (após o segundo 2300) onde a carga de tráfego igual é aplicada às interfaces de ambas as placas. Da mesma forma na figura abaixo, os cálculos de MPD são observados antes e depois da aplicação do tráfego no canal. A eficácia do mecanismo T-TC é destacada na compensação do tempo de residência dos pacotes, que é a latência do pacote através do caminho do FPGA entre os MACs 25G e 40G.
Atraso médio do caminho (MPD)
A figura a seguir mostra o atraso médio do caminho do Intel FPGA PAC N3000 host PTP4l escravo sob tráfego de entrada (24 Gbps), com e sem suporte T-TC, G.8275.1 Profile.
Estas figuras mostram o servo-algoritmo do escravo PTP4l, devido à correção do tempo de residência do TC, vemos pequenas diferenças nos cálculos do atraso médio do caminho. Portanto, o impacto das flutuações de atraso na aproximação do offset mestre é reduzido. A tabela a seguir lista a análise estatística sobre o desempenho do PTP, que inclui o RMS e o desvio padrão do deslocamento mestre, o desvio padrão do atraso médio do caminho, bem como o deslocamento mestre de pior caso para o Intel FPGA PAC N3000 com e sem T- Suporte TC.
Detalhes estatísticos sobre o desempenho do PTP sob o tráfego de entrada
Tráfego de entrada (24 Gbps) G.8275.1 PTP Profile | Intel FPGA PAC N3000 com T-TC | Intel FPGA PAC N3000 sem T-TC |
RMS | 6.34 ns | 40.5 ns |
StdDev (do deslocamento abs(max)) | 3.65 ns | 15.5 ns |
StdDev (de MPD) | 1.79 ns | 18.1 ns |
Deslocamento máximo | 34 ns | 143 ns |
Uma comparação direta do Intel FPGA PAC N3000 compatível com TC com a versão não TC
Mostra que o desempenho do PTP é 4x a 6x menor em relação a qualquer uma das estatísticas
métricas (pior caso, RMS ou desvio padrão do deslocamento mestre). O pior caso
deslocamento mestre para a configuração G.8275.1 PTP de T-TC Intel FPGA PAC N3000 é 34
ns sob condições de tráfego de entrada no limite da largura de banda do canal (24.4 Gbps).
teste de tráfego lperf3
Esta seção descreve o teste de benchmarking de tráfego iperf3 para avaliar melhor o desempenho de PTP do Intel FPGA PAC N3000. A ferramenta iperf3 foi utilizada para emular condições de tráfego ativo. A topologia de rede dos benchmarks de tráfego iperf3, mostrada na figura abaixo, envolve a conexão de dois servidores, cada um usando uma placa DUT (Intel FPGA PAC N3000 e XXV710), ao switch Cisco Nexus 93180YC FX. O switch Cisco atua como um Boundary Clock (T-BC) entre os dois escravos DUT PTP e o Calnex Paragon-NEO Grandmaster.
Topologia de rede para teste de tráfego Intel FPGA PAC N3000 lperf3
A saída PTP4l em cada um dos hosts DUT fornece medições de dados do desempenho PTP para cada dispositivo escravo na configuração (Intel FPGA PAC N3000 e XXV710). Para o teste de tráfego iperf3, as seguintes condições e configurações se aplicam a todos os gráficos e análises de desempenho:
- Largura de banda agregada de tráfego de 17 Gbps (tanto TCP quanto UDP), de saída ou entrada ou bidirecional para Intel FPGA PAC N3000.
- Encapsulamento IPv4 de pacotes PTP, devido a limitação de configuração no switch Cisco Nexus 93180YC-FX.
- Taxa de troca de mensagens PTP limitada a 8 pacotes/segundo, devido a limitação de configuração no switch Cisco Nexus 93180YC-FX.
Resultado do Teste de Tráfego perf3
A análise a seguir captura o desempenho da placa Intel FPGA PAC N3000 e XXV710, ambas atuando simultaneamente como uma placa de interface de rede de escravos PTP (T-TSC) do Calnex Paragon NEO Grandmaster por meio do switch Cisco T-BC.
As figuras a seguir mostram a magnitude do deslocamento mestre e MPD ao longo do tempo para três testes de tráfego diferentes usando o Intel FPGA PAC N3000 com placa T-TC e XXV710. Em ambas as placas, o tráfego bidirecional tem o maior efeito no desempenho do PTP4l. A duração do teste de tráfego é de 10 horas. Nas figuras a seguir, a cauda do gráfico marca um ponto no tempo em que o tráfego para e a magnitude do deslocamento mestre PTP cai para seus níveis baixos, devido ao canal ocioso.
Magnitude do Master Offset para Intel FPGA PAC N3000
A figura a seguir mostra o atraso médio do caminho para Intel FPGA PAC N3000 com T TC, sob tráfego de entrada, saída e iperf3 bidirecional.
Mean Path Delay (MPD) para Intel FPGA PAC N3000
A figura a seguir mostra o atraso médio do caminho para Intel FPGA PAC N3000 com T TC, sob tráfego de entrada, saída e iperf3 bidirecional.
Magnitude do deslocamento mestre para XXV710
A figura a seguir mostra a magnitude do deslocamento mestre para XXV710, sob tráfego de entrada, saída e iperf3 bidirecional.
Atraso médio do caminho (MPD) para XXV710
A figura a seguir mostra o atraso médio do caminho para XXV710, sob tráfego de entrada, saída e iperf3 bidirecional.
Em relação ao desempenho do Intel FPGA PAC N3000 PTP, o deslocamento mestre de pior caso em qualquer condição de tráfego está dentro de 90 ns. Nas mesmas condições de tráfego bidirecional, o RMS do deslocamento mestre Intel FPGA PAC N3000 é 5.6x melhor que o da placa XXV710.
IntelFPGA PAC N3000 | Cartão XXV710 | |||||
Tráfego de entrada10G | Tráfego de Saída 18G | Tráfego Bidirecional18G | Tráfego de entrada18G | Tráfego de Saída 10G | Tráfego Bidirecional18G | |
RMS | 27.6 ns | 14.2 ns | 27.2 ns | 93.96 ns | 164.2 ns | 154.7 ns |
StdDev(de abs(max) offset) | 9.8 ns | 8.7 ns | 14.6 ns | 61.2 ns | 123.8 ns | 100 ns |
StdDev (de MPD) | 21.6 ns | 9.2 ns | 20.6 ns | 55.58 ns | 55.3 ns | 75.9 ns |
Deslocamento máximo | 84 ns | 62 ns | 90 ns | 474 ns | 1,106 ns | 958 ns |
Notavelmente, o deslocamento mestre do Intel FPGA PAC N3000 tem menor desvio padrão,
pelo menos 5x menos que o cartão XXV710, significa que a aproximação PTP do
O relógio Grandmaster é menos sensível à latência ou variações de ruído sob o tráfego no
IntelFPGA PAC N3000.
Quando comparado com o resultado do teste de tráfego IXIA na página 5, a magnitude do pior caso de
o deslocamento mestre com um Intel FPGA PAC N3000 habilitado para T-TC parece maior. Além do mais
as diferenças na topologia de rede e larguras de banda de canal, isso se deve ao Intel
FPGA PAC N3000 sendo capturado em um G.8275.1 PTP profile (taxa de sincronização de 16 Hz), enquanto
a taxa de mensagem de sincronização neste caso é limitada a 8 pacotes por segundo.
Comparação da Magnitude do Deslocamento Principal
A figura a seguir mostra a magnitude da comparação do deslocamento principal no tráfego iperf3 bidirecional.
Comparação do atraso médio do caminho (MPD)
A figura a seguir mostra a comparação do atraso médio do caminho no tráfego iperf3 bidirecional.
O desempenho PTP superior do Intel FPGA PAC N3000, quando comparado ao cartão XXV710, também é suportado pelo desvio evidentemente maior do atraso médio calculado (MPD) para XXV710 e Intel FPGA PAC N3000 em cada um dos testes de tráfego direcionado, para exampo tráfego iperf3 bidirecional. Ignore o valor médio em cada caso de MPD, que pode ser diferente devido a vários motivos, como diferentes cabos Ethernet e diferentes latências de núcleo. A disparidade observada e o aumento nos valores da placa XXV710 não estão presentes no Intel FPGA PAC N3000.
RMS de 8 Comparação de Compensação Principal Consecutiva
Conclusão
O caminho de dados FPGA entre QSFP28 (25G MAC) e Intel XL710 (40G MAC) adiciona uma latência de pacote variável que afeta a precisão de aproximação do PTP Slave. Adicionar o suporte Transparent Clock (T-TC) na lógica flexível FPGA do Intel FPGA PAC N3000 fornece compensação dessa latência de pacote anexando seu tempo de residência no campo de correção de mensagens PTP encapsuladas. Os resultados confirmam que o mecanismo T-TC melhora o desempenho de precisão do escravo PTP4l.
Além disso, o resultado do teste de tráfego IXIA na página 5 mostra que o suporte T-TC no caminho de dados FPGA melhora o desempenho PTP em pelo menos 4x, quando comparado ao Intel FPGA PAC N3000 sem suporte T-TC. O Intel FPGA PAC N3000 com T-TC apresenta um deslocamento mestre de pior caso de 53 ns sob cargas de tráfego de entrada, saída ou bidirecional no limite da capacidade do canal (25 Gbps). Portanto, com o suporte T-TC, o desempenho do Intel FPGA PAC N3000 PTP é mais preciso e menos propenso a variações de ruído.
No teste de tráfego lperf3 na página 10, o desempenho de PTP do Intel FPGA PAC N3000 com T-TC ativado é comparado com um cartão XXV710. Este teste capturou os dados PTP4l para ambos os clocks escravos sob tráfego de entrada ou saída que é trocado entre os dois hosts da placa Intel FPGA PAC N3000 e XXV710. O deslocamento mestre de pior caso observado no Intel FPGA PAC N3000 é pelo menos 5 vezes menor do que o cartão XXV710. Além disso, o desvio padrão dos deslocamentos capturados também prova que o suporte T-TC do Intel FPGA PAC N3000 permite uma aproximação mais suave do relógio do Grandmaster.
Para validar ainda mais o desempenho de PTP do Intel FPGA PAC N3000, as possíveis opções de teste incluem:
- Validação em diferentes PTP profiles e taxas de mensagens para mais de um link Ethernet.
- Avaliação do teste de tráfego lperf3 na página 10 com um switch mais avançado que permite taxas de mensagens PTP mais altas.
- Avaliação da funcionalidade T-SC e sua precisão de tempo PTP sob G.8273.2 Teste de Conformidade.
Histórico de revisão de documento para teste IEEE 1588 V2
Documento Versão | Mudanças |
2020.05.30 | Lançamento inicial. |
Documentos / Recursos
![]() |
Placa de aceleração programável intel FPGA N3000 [pdf] Guia do Usuário Placa de aceleração programável FPGA, N3000, placa de aceleração programável N3000, placa de aceleração programável FPGA N3000, FPGA, teste IEEE 1588 V2 |