ScaleMP vs SAS Grid

1

No meu local de trabalho, temos um servidor SAS muito usado, mas sua carga de trabalho é tal que a obtenção de 1 minuto de tempo de CPU geralmente leva 10 minutos em tempo real. Isso não se deve apenas a um gargalo de E / S ou de rede - as médias de carga da CPU são sempre muito altas durante o horário comercial, e muitos analistas precisam esperar muito tempo para que as consultas sejam executadas.

Existem duas opções que gostaria de comparar:

  1. Configurar um ambiente de grade sas (link)
  2. Crie um cluster de servidores usando o ScaleMP e execute uma única instância do SAS nele (link)

A opção 1 é definitivamente viável, mas eu suspeito que o licenciamento seria extremamente caro. Por outro lado, a opção 2 parece envolver algum hardware de rede muito sofisticado. É a opção 2:

  • Com certeza?
  • Valor potencialmente melhor por dinheiro?

Acho que o SAS deve ser capaz de rodar em uma das variantes do Linux suportadas pelo ScaleMP - o servidor SAS existente usa o SunOS 5.10, que eu acho que não é suportado, então presumivelmente teríamos que mover nosso banco de dados para uma nova instalação do sas.

Outro fator a considerar é que temos uma base de código muito substancial, o que exigiria um pouco de retrabalho para aproveitar ao máximo uma grade SAS.

Ainda estou tentando descobrir mais sobre o hardware existente, mas espero que seja por volta de 2005, ou seja, aproximadamente na mesma época do SunOS 5.10.

Atualização: informações de hardware

Da saída de / usr / sbin / psrinfo -v, parece que o servidor existente tem 32 núcleos sparcv9, dos quais 8 rodam a 1.5GHz e os outros 24 rodam a 1.8GHz. Com base nas velocidades classificadas da tabela de processadores sparc da Wikipedia e a data de 2005 do SO, presumo que sejam Processadores UltraSPARC_IV , ou algo bastante similar.

A partir do prstat, as médias de carga durante a hora de almoço no escritório são de cerca de 32, ou seja, quase saturadas. Durante as horas de pico de trabalho, isso geralmente sobe para cerca de 45, mas sabe-se que chega a 110 nas manhãs de segunda-feira, quando os lotes de fim de semana se esgotam. Então, eu concluo que há um pouco de afunilamento da CPU, mas pode não ser tão ruim quanto eu pensava - a maior parte do atraso na obtenção do tempo de CPU do servidor pode ser menor do que esperar pela E / S do disco a fila de discussão.

De acordo com a saída de

# /usr/platform/'uname -m'/sbin/prtdiag -v

, parece que o servidor tem 256GB de RAM.

    
por user3490 21.10.2012 / 01:47

1 resposta

1

* Divulgação: estou com o ScaleMP *

rnxrx escreveu que, se você estiver usando o SunOS, o HW pode ser tudo, e ele está certo. 24 núcleos daqueles tempos antigos são provavelmente 10x - 50x mais lentos que um servidor de 32 dias moderno (com processadores Intel Sandybridge). No entanto, uma máquina de 24 núcleos naqueles dias era super cara e você não notou que estava usando um sistema "mainframe-grade", então seria de grande ajuda se você pudesse realmente fornecer as informações de HW. Se você pode postar os resultados do comando:     'cat / proc / cpuinfo' isso seria um ótimo começo.

Se o trabalho que você está fazendo requer muitos acessos de dados, o ScaleMP pode ser uma solução excelente, pois os dados podem tecnicamente ser colocados na RAM compartilhada do sistema (o software do ScaleMP basicamente transformará um cluster em um SMP de memória compartilhada). você) O SAS Analytics é certificado para uso no Redhat Linux: link , bem como SuSE Linux, (e essas distribuições do Linux, por sua vez, são certificadas como OS no topo do vSMP Foundation do ScaleMP)

Quanto ao "networking de fantasia", o Indeed - ScaleMP requer o uso do InfiniBand (que hoje é de 40Gbps ou 56Gbps, certamente "fantasia"). No entanto, o custo do InfiniBand não é muito maior do que o do 10GE, o qual você provavelmente precisará usar de qualquer forma (se estiver construindo um cluster para o SAS). O software do ScaleMP faz todo o gerenciamento da rede para você, e como as máquinas são transformadas em um SMP de memória compartilhada, você não precisa nem mesmo saber nada sobre o InfiniBand para operar o sistema.

Quanto a aproveitar muitos processadores: isso realmente depende do seu aplicativo. Alguns aplicativos podem ser bem dimensionados no SMP, alguns podem ser bem dimensionados em um cluster distribuído. Às vezes, como você observou, pode ser necessário algum trabalho para obter algo para dimensionar (especialmente em um ambiente distribuído / em cluster). À primeira vista, como você descreveu as tarefas tentando obter tempo em uma CPU, eu acho que você tem muitas tarefas usando os mesmos dados, o que seria ótimo para o ScaleMP.

Eu ficaria feliz em fornecer mais informações, pelo menos no lado do ScaleMP.

    
por 22.10.2012 / 01:13