Arquitetura hierárquica PCI-Express - onde está o nó mais fraco

3

Eu estou querendo saber sobre o fato de que a arquitetura PCI é hierárquica. Portanto, mesmo se eu tiver dois slots PCIx4, é possível que eu não seja capaz de utilizá-lo completamente, porque os slots se conectarão em um nó, o que pode ter largura de banda insuficiente para lidar com 2x PCIex4.

O pano de fundo da minha pergunta é: estou tentando utilizar oito interfaces PCIe de 1GBit. Eu tenho dois cartões com 2 portas e um cartão com 4 portas. Eu sou capaz de obter o máximo de 4 interfaces NIC. Depois de ativar a quinta porta, o desempenho cai ligeiramente em cada cinco interfaces. O mesmo depois de ativar as interfaces 6, 7 e 8ht.

A questão principal é: Como obter a estrutura PCIe em uma máquina, "desenhar", ver seus nós e conexões e deduzir o nó mais fraco nessa árvore?

    
por ctinnist 26.06.2009 / 11:33

3 respostas

4

Cada pista PCIe (v1) deve lidar confortavelmente com links 2 x 1Gbe.

Neste ponto, o DDR2 pode lidar confortavelmente com a taxa de dados de 10Gb.

Em geral, o layout PCIe de uma máquina é ditado pelo chipset e, se você puder encontrar um diagrama da Intel ou de quem quer que seja, você deve saber onde estão os gargalos.

Por exemplo: Intel P45 / ICH10 http://www.intel.com/Assets/Image/diagram/p45_Block- Diagram.gif

    
por 26.06.2009 / 12:39
1

Se você estiver executando um sistema operacional semelhante ao Unix, as mensagens de análise de um tempo de inicialização, muitas vezes, enumerarão tudo no barramento PCI e fornecerão uma indicação de como ele é organizado. Os sistemas Linux possuem um comando lspci que fará o mesmo.

Se você precisar de mais largura de banda no seu ônibus, talvez seja melhor procurar um servidor Supermicro com UIO slots. O uso de um AOC-UG-14 permite que você mantenha pelo menos um gigabit de 4 portas Placa Ethernet desligada do barramento PCI. Os hosts 2U podem ter dois slots UIO, além de eu acreditar em três slots PCI adicionais, o que pode permitir que você construa uma máquina com portas de 12 GigE funcionando com desempenho total.

    
por 26.06.2009 / 14:16
0

Não é apenas a arquitetura PCI envolvida aqui, mas o seu FSB, largura de banda de memória e largura de banda interna em todos os chipsets. Tome nota do comentário da Wazoox - mesmo as plataformas Xeon bastante recentes tiveram um desempenho ruim nas altas taxas de linha.

A partir da leitura de seus outros comentários, eu entendo que você está fazendo a geração de pacotes no software e empurrando isso para fora através de suas habilidades. Se você não é sensato sobre como você está gerando os dados, você pode estar saturando sua largura de banda de memória. DDR2 irá lidar com 10Gb, bit se você estiver fazendo várias cópias na memória enquanto gera os pacotes, você está realmente fazendo muito mais tráfego interno.

Além disso, se todos os 8 núcleos estiverem indexados, você não está acompanhando nenhum deles. Quer seja o carregamento interrompido ou caminhos de código pobres no processo de geração de pacotes, algo está atrapalhando. Sugiro resolver este problema primeiro. Faça o perfil do seu código e descubra se há algo óbvio que tome a maior parte do seu tempo.

Se isso não ajudar, e dependendo dos seus requisitos de uso, você pode considerar alguns cartões de processamento / captura / transmissão de rede reais, como Endace Os cartões DAG (sugiro o DAG 7.5 G2 / G4 para o PCI-e) . Eles não são interrompidos, portanto, não há carga de processamento adicional devido a interrupções. Eles não são placas de rede como tal, então você terá que construir todo o pacote e carga e lidar com a camada 2 também, mas isso não é tão caro.

Disclaimer: Eu trabalho para Endace.

    
por 28.06.2009 / 02:00