Vinculando núcleos separados a discos rígidos separados

0

Eu tenho um processador quad core e a opção de vincular meus 4 chips ram separadamente a cada núcleo separado. É possível fazer o mesmo com discos rígidos? Você pode vincular um núcleo, ram e disco rígido juntos se eu tivesse 4 unidades do mesmo tamanho? Poderia ser uma opção de invasão?

    
por Bilesh Ganguly 18.12.2009 / 06:17

2 respostas

3

Se você fosse um processador, tudo o mais pareceria lento. Mas se a RAM parecer DSL, então um disco rígido, isso é pior que dial-up !

Então, se você quiser algo fora do disco, você instrui o disco a armazená-lo na RAM para você e, em seguida, vai e faz outra coisa. Depois de alguns meses, o disco rígido informa que está pronto. Neste ponto, os dados que você queria estão na RAM e você pode fazer suas coisas com ele.

Isso basicamente significa que a velocidade de comunicação do disco da CPU não faz muita diferença. O importante é ainda velocidade da CPU-RAM.

    
por 18.12.2009 / 06:34
1

O que você está falando é efetivamente um servidor em estilo blade. Não mesmo. Se você está dividindo o armazenamento secundário tanto pelo núcleo quanto pela RAM, então o que você tem é um conjunto de computadores independentes de um único núcleo com um barramento compartilhado, o Infiniband, para falar um com o outro.

Não há como ser uma opção RAID, pois o objetivo do RAID é fazer com que um conjunto de unidades pareça um único volume. O RAID é como o encapsulamento.

Eu já vi esse tipo de arquitetura antes no trabalho. Alguém pegaria um monte de computadores de placa única VME ou CompactPCI, colocaria armazenamento nos sites de PMC (discos rígidos de 1,8 "normalmente; isso era antes de os SSDs se tornarem práticos) e colocaria todos em um chassi. nessas máquinas, desde que você tinha que particionar os acessos aos dados "seu" (núcleo local) e acessar os dados "seus" (outros núcleos). Acabei escrevendo uma biblioteca apenas para descobrir como obter o fluxo de dados do produtor A para conversar com os consumidores B, C e D, sem excesso de cópias (que estavam matando meu desempenho). Eu não quero voltar.

As empresas até desenvolveram seus próprios barramentos para conectar os computadores (a Mercury RaceWay foi a melhor que eu vi na época) para maximizar a E / S. (Para aqueles que não sabem, os ônibus crossbar significam que você só precisa arbitrar para o barramento se alguém está tentando acessar o mesmo destino que você; em geral, várias transações envolvendo endpoints não sobrepostos podem ocorrer simultaneamente, resultando em alguma largura de banda teoricamente insana. É como usar switches Ethernet em vez de hubs.)

É uma ótima idéia no papel, mas diverge o suficiente da prática padrão de que o hardware tem um mercado pequeno e fica realmente caro.

P.S. O melhor que você conseguirá fazer é colocar cada unidade em um controlador separado, que tenha capacidade de masterização de barramento (ou seja, DMA). Então você precisará colocar algum tipo de algoritmo de "afinidade" no sistema operacional, que mapeia processos para conjuntos de CPU / RAM com base em qual disco eles estão usando. Esse é o tipo de coisa que as pessoas fazem nos relatórios de mestrado. Divirta-se.

    
por 18.12.2009 / 06:51