Sugestões de hardware de rede para redes de baixa latência

4

Chegamos ao estágio de nosso projeto onde queremos levar o software para o próximo nível, geralmente tempos de resposta de 20µs ou menos. Software sábio é tão bom quanto possível (embora haja espaço para um pouco mais de melhoria), no entanto, agora estamos olhando para atacar o lado do hardware das coisas.

Eu queria saber se você poderia dar sugestões sobre como podemos realizar esse feito. Precisamos de algum tipo especial de cabeamento, pilhas de software, arquiteturas ou outras tecnologias?

    
por Seminar 08.06.2011 / 00:26

2 respostas

4

Ultra latências baixas? Você começa a brincar com os brinquedos divertidos. A plataforma usual para esse tipo de rede de baixa latência seria InfiniBand (alguns de nós, embora não eu, obtivemos para usar essas coisas). Usado em computação de alto desempenho e outras áreas de computação que exigem baixas latências, alta largura de banda e escalabilidade. Comumente encontrado em certas áreas de computação científica, também.

Parte de como o IB obtém as baixas latências é achatando a rede. Semelhante ao Fibre Channel, é uma rede comutada de camada 2 que realmente ajuda a reduzir a latência.

Você não encontrará o equipamento para fazer isso no seu MicroCenter local. Usar o IB para redes é totalmente factível, embora o TCP / IP seja talvez uma escolha medíocre de protocolo se você quiser as latências mais baixas possíveis.

Devido ao baixo volume do mercado, os adaptadores de rede IB são muito caros em comparação com a Ethernet de 1 GB, embora eles se comparem favoravelmente com os adaptadores de 10 GbE. Os comutadores IB são igualmente caros, embora pareçam estar próximos da paridade de preço com switches de 10 GbE de densidade de portas similar.

Se a IB deixa você desconfiado, 10 Gigabit Ethernet podem levar você até lá e é muito bem suportado por tudo e é familiar para os geeks da rede. Se você projetar sua Ethernet de modo que haja uma, talvez 2, opções nela e todas as portas estiverem na mesma sub-rede, você poderá obter latências baixas semelhantes. Dependendo exatamente de quanto tempo você está disposto a tolerar, essa pode ser uma arquitetura mais compreensível do que a IB.

    
por 08.06.2011 / 01:58
1

Você nem está dizendo qual tecnologia de rede está planejando usar.

Assumir Ethernet e dividir o comprimento mínimo de quadro de 520 bytes pelo requisito de RT de 20 µs coloca você em algum lugar no intervalo de 50 MB / s. Além disso, supondo que o seu software precise de pelo menos metade do tempo para processamento, você está a 100 MB / s e provavelmente está olhando para o 10GE naquele ponto para poder acomodar a latência de comutação e transmissão.

Então, novamente, você tem bastante espaço - então eu estou me perguntando por que você está incomodando com coisas como tipos de cabeamento que certamente não afetarão sua latência para a ordem de grandeza onde ela se tornaria perceptível.

Editar: Estou acostumado a acreditar que a solução depende do problema em particular. Embora as características de latência e transporte de 10GE possam ser boas para um aplicativo, elas podem representar um problema para outro. Com 10 GE, você não teria garantido RTTs, mas apenas a entrega do melhor esforço. Isso pode ser suficiente se sua rede for suficientemente projetada em excesso e não houver problema em seu aplicativo receber uma resposta dentro de 20 µs "na maior parte do tempo". Se o tempo de resposta for um limite rígido e uma transação for interrompida por causa disso, talvez você queira investigar outras tecnologias de rede (principalmente baseadas em células), por exemplo. ATM.

Quanto ao Infiniband, você provavelmente está analisando uma importante reescrita das operações de rede do seu aplicativo para o uso de RDMA , se você quer eficiência.

Outra coisa a considerar é a distância entre os componentes - 10 µs é apenas o tempo suficiente para a luz viajar 1,6 km e vice-versa - sem qualquer latência de componentes e sem considerar os tempos de bit. Então você teria que ter distâncias curtas e sequências de solicitação / resposta curtas para chegar lá.

Tudo resumido não é uma questão de componentes individuais, mas da tecnologia escolhida.

    
por 08.06.2011 / 00:43