Pergunta

Meu projeto tem algum dinheiro para gastar antes do final do ano fiscal e estamos pensando em substituir um servidor Sun-Fire-V490 que temos há alguns anos.Uma opção que estamos analisando é a CoolThreads tecnologia.Tudo o que sei é o marketing da Sun, que pode não ser 100% imparcial.Alguém já brincou com um desses?

Suspeito que não terá valor para nós, já que não usamos muito threads ou máquinas virtuais e não podemos gastar muito tempo atualizando o código.Geramos muitos processos, mas duvido que CoolThreads ajude nisso.

(E sim, o dinheiro seria melhor gasto em bônus ou algo assim, mas isso não vai acontecer.)

Foi útil?

Solução

Divulgação:Eu trabalho para a Sun (mas como engenheiro de software cliente).

Você não precisa necessariamente de código multithread para usar essas máquinas.Ter vários processos utilizará vários threads de hardware em vários núcleos.

Os antigos processadores T1 (caixas T1000 e T2000) tinham apenas uma única FPU e não eram realmente adequados para tarefas com muito mais do que 1% de ponto flutuante.Os processadores T2 e T2+ mais recentes possuem uma FPU por núcleo.Provavelmente isso ainda não é ótimo para processamento massivo de ponto flutuante, mas é muito mais respeitável.

(Observação:A tecnologia Hyper-Threading é uma marca registrada da Intel.A Sun usa o termo Chip MultiThreading (CMT).)

Outras dicas

IIRC A tecnologia coolthreads está se referindo ao fato de que, em vez de apenas aumentar a velocidade do clock cada vez mais para melhorar o desempenho, eles agora estão olhando para processadores de múltiplos núcleos com hyperthreading, fornecendo efetivamente muitos processadores em um chip.No geral, a capacidade de processamento disponível é maior, mas sem os requisitos adicionais de energia elétrica e ar condicionado que você esperaria (portanto, legal).Sua utilidade definitivamente depende do que você planeja executar.Se você estiver executando o Apache com o núcleo de vários threads, ele vai adorar, pois pode executar os threads de resposta individuais nos núcleos individuais da CPU.Se você estiver simplesmente executando processos de thread único, obterá alguns aumentos de desempenho em uma única caixa de CPU, mas não tão bons (qualquer processo CGID antigo que não seja mod_perl/mod_python ainda estaria compartilhando um pouco a CPU).Se o seu aplicativo consistir em um único processo de thread executado no máximo na caixa, você obterá muito pouca melhoria em uma CPU de núcleo único rodando na mesma velocidade.

Peter

Editar:

Ah, e para uma referência.Comparamos um T2000 em nosso farm de servidores com nossos V240s atuais (podem ter sido os V480, não me lembro). O T2000 suportou a carga de 12 a 13 das caixas mais antigas em um teste ao vivo, sem nenhum ajuste de desempenho do sistema operacional.Como eu disse, o Apache adora :-)

Usamos Sun Fire T2000s em meu último sistema.As caixas em si excederam em muito os nossos requisitos de capacidade em termos de poder de processamento.Para nós a decisão foi baseada no menor consumo de energia e necessidade de espaço.Executamos com êxito o WebSphere 6, o Oracle 10g e o servidor SunONE Directory na mesma caixa.

Minhas informações podem estar um pouco desatualizadas (usei esses servidores pela última vez há 2 anos), mas pelo que me lembro, uma grande pegadinha foi que todos os núcleos em uma única CPU compartilhavam o mesmo Unidade FPU, portanto, se o seu código usasse muito ponto flutuante (estávamos fazendo GIS), o FPU seria um gargalo enorme e você não obteria muitos benefícios com o grande número de threads.

Para qualquer processo com alto paralelismo estas máquinas (por exemplo, a t1000/t2000) são ótimas pelo seu custo.Estou executando o Oracle neles há cerca de 18 meses e funciona muito bem.

Se sua tarefa for um processo único/threaded único, será melhor usar uma máquina Intel dual/quad core de alta velocidade.

Se o seu aplicativo tiver muitos threads/muitos processos, essas máquinas provavelmente serão ótimas para ele.

O melhor de tudo é que a Sun enviará um para você por 60 dias para avaliação, foi o que fizemos antes de nos comprometermos, acabamos ganhando 2 t2000 e adquirimos recentemente outros 4 t1000.

Ontem à noite, percebi que nossos processos principais não são multithread, mas a máquina em questão possui vários processos de sistema.Em particular, atua como um servidor NFS.Parece que a execução de centenas de processos também se beneficiará de todos esses núcleos.

Vou ver se conseguimos uma unidade de demonstração para testar primeiro.

A Sun tem vendido as máquinas Niagra para serem tudo para todos.Eles têm o seu lugar:serviços da web sendo a melhor implantação.Executamos o Oracle em alguns T2000 e funcionou bem para operações altamente paralelizadas.Mas as máquinas fracassam em operações de passo único, cujo desempenho é bastante ruim.Se você tiver trabalho de ponto flutuante para fazer, procure outro lugar.Mesmo os chips mais novos com uma FPU por núcleo são inadequados.Além disso, essas máquinas não aguentam um impacto de classe empresarial por muito tempo e tivemos problemas de confiabilidade.A tecnologia multi-core é mais exagerada do que substância.A pesquisa do Sandia National Lab sobre isso e descobriu que quatro a oito núcleos é o limite máximo de utilidade e que um chip de 16 núcleos tem o mesmo rendimento que um chip dual core.Portanto, um chip de 16 núcleos é um desperdício de muito dinheiro.Além disso, à medida que o número de núcleos aumenta, a velocidade do clock deve diminuir, por causa da parede térmica.A maioria dos fabricantes provavelmente optará por chips quad-core até que a tecnologia de memória melhore (você não pode manter 16 núcleos alimentados com memória e a maioria dos núcleos está paralisada).Finalmente, dado o caos na Sun, seria melhor procurar outro lugar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top