O que eu poderia fazer com 1 TB de memória RAM?

Melhor resposta

A primeira coisa a saber é que computadores com tanta memória RAM são mais lentos do que você pensa. Gerenciar tantos bancos de memória RAM exige tecnologia que torna o acesso à memória RAM mais lento (NUMA, ECC, endereçamento do outro lado do stick requer uma ação de parada …). Pense neles como um grande caminhão enquanto seu laptop é um carro (talvez um F1). Se você precisar fazer compras, o carro será sua escolha.

A segunda coisa é que esses computadores são muito caros. Não apenas por causa dos bastões de RAM, mas tudo tem que ser escalonado. Placa-mãe de servidor, muitos processadores XEON, bastões de memória ram enormes… todo esse hardware chamado “profissional” veio com a “taxa de servidor” o dobro do preço para cada 10\% de aumento de desempenho. Você pode obter muito mais potência de computador comprando vários hardwares comuns de tamanho razoável.

Além disso, na maioria das vezes, um computador precisa ser equilibrado. Se você tem tanta memória RAM, você precisa de muitos núcleos para trabalhar com ele e de um array SSD muito rápido para carregar e salvar dados. Alguns usos não são balanceados e requerem mais de um recurso.

Para um usuário doméstico normal, não há uso de tanta memória RAM.

Então, para que servem essas feras? Eles são úteis quando você precisa trabalhar com muitos dados de uma vez. Mesmo que sua RAM seja mais lenta do que a RAM de um computador normal, ela ainda é muito mais rápida que o SSD mais rápido.

Portanto, os usos comuns incluem:

  • big in memory relational database
  • grande armazenamento de valores-chave (sem sql)
  • banco de dados de grandes gráficos
  • alguns trabalhos científicos: estudo de DNA, simulação
  • enorme configuração de PLM servidores na indústria automotiva e aeroespacial
  • executando VM (este é um uso estúpido, mas um dos mais comumente vistos)

Mesmo no mundo profissional, boas equipes de TI tendem a espalhar as tarefas em mais computadores usando algoritmos como redução de mapa, fazendas de renderização para renderização 3D … Se possível, é muito mais eficiente, mais flexível e mais fácil de lidar com falhas. Você pode desligar os computadores ou adicionar mais alguns para escalar com a carga.

Além disso, a maioria desses computadores são comprados pelo sistema de administração por um destes motivos estúpidos:

  • Eles não querem assumir nenhuma responsabilidade, então compram o maior computador disponível e se o software falhar, eles podem dizer que a culpa não é deles porque fizeram o máximo.
  • Eles são geeks e querem mais brinquedos do que seus amigos. Se o seu trabalho lhe paga o carro que você quiser, você compraria um Prius ou Bugatti?
  • O processo de compra é muito lento na empresa e envolve muitas ações que custam ainda mais em recursos humanos do que o hardware em si. Quando eles conseguiram o servidor, ele se tornou um hardware de comorbidade (um pouco exagerado).
  • Se seu chefe sabe que a TI funciona com US $ 500 dos doze computadores de prateleira que eles vêem você como um encanador, é mais difícil justifique seu salário do que se você administrasse milhões em infraestrutura e parecesse um gerente de usina nuclear.

Sim, tudo isso é estúpido, mas muito comum. É meu trabalho diário re-arquitetar infraestruturas e otimizar custos.

Uma pequena história para terminar: após 3 anos de serviço, um problema apareceu em um serviço de mensagens (Kafka). Algumas mensagens foram armazenadas várias vezes e isso fez o próximo software da cadeia falhar (ele deveria ter feito isso). Após investigação, descobri na documentação que era o comportamento normal do sistema de mensagens sob carga. Ele garante que as mensagens cheguem pelo menos uma vez, mas pode haver mensagens duplas. Eu disse “o sistema está sobrecarregado”, a equipe de TI riu de mim “não estamos nem atingindo 10\% em nossos 3 nós x 48 núcleos, cluster de RAM de 1 TB, você é estúpido” … Continuei na minha posição e pedi acesso no serviço para encontrar o problema. Conhecendo minhas ações anteriores e temendo que eu expusesse um erro, eles revisaram tudo. Parece que no arquivo de configuração de 10 linhas do Kafka estava escrito “number\_of\_thread = 4”. Sim, eles executaram um serviço em um cluster de $ 150.000 e usam apenas 4 núcleos em cada nó, é por isso que nunca chega a mais de 10\% do uso da CPU. Nenhuma das 20 pessoas envolvidas viu isso. Funcionou assim por 3 anos, mesmo um laptop de $ 1000 teria feito o trabalho. Eles fazem o mesmo tipo de coisas em todos os aplicativos que vi nesta empresa. No entanto, eles têm mais de 150 mil funcionários e estão operando 3 enormes data centers. Muitas empresas estão fazendo o mesmo, posso contar muitas histórias como esta …

Resposta

Se seu computador tivesse 1 TB de RAM, o que você faria com isso?

Obrigado pelo A2A. Honestamente … venda.

Sério, o dinheiro que eu ganharia com 1 TB de RAM vale mais do que a perda de ter tanta memória volátil.

Aqui está o problema. Se algo der errado com o seu computador, não há nenhuma maneira de você despejar 1 TB de RAM no armazenamento permanente durante o tempo que leva para o sistema entrar em colapso.

RAM é uma espécie de tecnologia “Cachinhos Dourados”.Qualquer coisa tão grande que exija tanta RAM nunca seria capaz de ser salva a tempo. Até mesmo tecnologias de memória persistente (PM) incrivelmente rápidas, como Z-NAND ou 3DXPoint, simplesmente não conseguem acompanhar a grande quantidade de dados necessária.

[Editar – quase um ano depois]

Ok, então esta resposta recebeu alguns comentários e parece que precisa haver alguns esclarecimentos adicionais. Vou juntar algumas das minhas respostas aos comentários para tornar isso mais fluido.

Os computadores são projetados para salvar dados, não perdê-los. A RAM é volátil e, portanto, coloca esses dados em grande risco.

Alguns dados são dados “auxiliares”. Digamos, por exemplo, processos executados em seu sistema que têm vida útil muito curta (como os processos que atualizam os metadados em seu sistema de arquivos). Eles vivem na RAM porque sua utilidade é extremamente curta. Eles também não requerem um lote de RAM.

Outro exemplo de dados “auxiliares” são os tipos de dados usados ​​para renderizar áudio e vídeo de alta qualidade, fazer trabalhos fotográficos, carregar mapas e texturas em videogames etc. Esses dados usam muita RAM (não tanto quanto 1 TB, mas ainda é mais do que um documento médio do Microsoft Word), mas perder esses dados não é tão arriscado.

(Você já jogou um videogame e vê o aviso para não desligar a máquina quando você está vendo o símbolo “salvar jogo”? Sim, é quando sua máquina está gravando seus dados da RAM para o disco. Gravar dados da RAM para o disco também é uma das partes mais arriscadas da movimentação de dados. É como os arquivos salvos são corrompidos com mais frequência .)

Ter 1 TB de RAM – para o custo envolvido enquanto escrevi esta resposta – é útil apenas para algumas poucas cargas de trabalho selecionadas. De modo geral, essas cargas de trabalho são tarefas de processamento de números sérias que, de outra forma, exigiriam grandes quantidades de E / S.

Cargas de trabalho computacionais na memória fazem requer grandes quantidades de RAM. 1 TB não é suficiente, na verdade. Eles mantêm bancos de dados inteiros na RAM para fazer cálculos incrivelmente rápidos. No entanto, esse tipo de dado não é um dado “auxiliar”, nem um dado que pode ser facilmente reconstruído ou recarregado (como você faria com a simples renderização de seu projeto de vídeo).

A maioria das pessoas – inclusive eu – não executa bancos de dados na memória ou precisa manter conjuntos de dados inteiros na memória para processamento.

Então, se você tiver um aplicativo que salva dados com frequência (transferência de E / S para o disco), então você não precisa de um grande tamanho de RAM. Digamos, o Microsoft Word neste exemplo salvará seus dados de volta no disco regularmente para que a margem de erro seja pequena (se a RAM falhar entre os salvamentos, a quantidade de dados / trabalho que é feito desde a última transferência de I / O é perdido e isso é reduzido ao mínimo). Isso não mudará com a quantidade de RAM que você tiver.

A maioria dos aplicativos e cargas de trabalho não dizem ao sistema operacional: “Dê-me toda a RAM que você tiver.” Portanto, o que você tem é um grande número de aplicativos criando cargas de trabalho com 1 TB de RAM. Claro, é rápido e seria bom poder fazer isso, mas vale a pena esse custo? Para mim? Não.

A maioria dos dados com os quais o consumidor médio trabalha não requer uma grande quantidade de capacidade para ser mantida na memória volátil.

Agora, com 1 TB de RAM, algumas pessoas têm Discos RAM sugeridos. Infelizmente, esse é precisamente o caso de uso ao qual estou me referindo que 1 TB de RAM é o menos adequado em termos práticos.

Caso você não esteja familiarizado com o que é um disco RAM, é um caso de uso especial onde o sistema operacional trata uma quantidade específica de memória como um disco rígido muito, muito rápido disco. O problema é que tudo que está armazenado naquele disco RAM é – você adivinhou – volátil. Usar um disco RAM como área de trabalho principal para o computador costuma ser muito tentador para muitas pessoas, e elas ficam chocadas ao descobrir que uma lote de dados que consideravam seguros e seguro nunca foi.

Qualquer pessoa que usa discos RAM para armazenamento de dados de missão crítica está em busca de problemas. Sempre que você faz qualquer trabalho em um disco RAM e “salva” o arquivo, ele não é salvo permanentemente . Você ainda precisa gravar todos esses dados de volta em um dispositivo principal de armazenamento permanente. Supondo 1 TB de dados, é muito mais do que as pessoas imaginam.

(Observação: os discos RAM podem ser automatizados para salvar em um dispositivo de armazenamento permanente, assim como seu documento do Microsoft Word faz, mas 1 TB ainda leva muito tempo , muito tempo para mover para o disco em uma emergência.)

VMs são úteis para menção especial aqui, e sou grato a Thomas Zoltan por trazê-lo à tona. As máquinas virtuais funcionam muito bem com muita RAM, e o sistema operacional host precisa ser capaz de fornecê-la – especialmente se você estiver planejando hospedar várias VMs na mesma máquina.

(NB: originalmente entendi mal o ponto inicial de Thomas, era que as VMs iriam usar a RAM, não seriam armazenadas em um disco RAM . Ele estava discutindo os dois casos de uso e eu confundi os dois. Acho que agora entendo o que ele estava tentando dizer.)

Claro, eu uso essas VMs em meu laboratório de teste todos A Hora. Minhas máquinas de teste têm 128 GB de RAM para ser capaz de lidar com o rápido aumento e diminuição da rotação de VMs, e TBH eles definitivamente poderiam usar um pouco mais de espaço para respirar, especialmente porque o software VMware não é tão enxuto e simples como costumava ser be.

A maioria das pessoas, embora (eu inclusive), não use os ambientes VSAN ou vSphere em suas casas. Eu o tenho em minha casa laboratório , mas não há nada nessas máquinas que possa ser considerado remotamente de missão crítica.

E, finalmente, eu acho que é aí que reside o equívoco em alguns dos comentários a esta resposta. De alguma forma, as pessoas começaram a pensar que eu estava dizendo que não havia um caso de uso para tanta memória em tudo . Acho isso intrigante, porque o que eu disse foi:

[O] dinheiro que eu receberia de 1 TB de RAM vale mais do que a perda de ter tanta memória volátil.

E isso é verdade. Tendo 1 TB de RAM verdadeira e acessível ( nenhum dos meus computadores pode usar tanta RAM! Como em, eles não têm a capacidade de use ) é uma proposta muito cara, e o dinheiro que eu receberia por ela vale mais do que tê-lo agora .

Em 4 ou 5 anos? Bem, quem sabe. Provavelmente vamos olhar para trás para esta resposta (como fazemos com todas as respostas relacionadas ao computador que lidam com velocidades e feeds) e pensar: “Que estranho! Lembra quando 1 TB era inacessível ? ” 🙂

A propósito…

A razão pela qual o conceito entrou na discussão é que eu tive um cliente que fez uma grande quantidade de processamento na memória (1 TB, na verdade) , que precisava ser capaz de colocar todos os cálculos armazenados no disco em 8 segundos. O problema era (e ainda é) que, embora a carga de trabalho calculasse os resultados a uma taxa fenomenal, não havia como salvar os dados no armazenamento permanente no momento em que o sistema fosse desligado devido a uma emergência (alarme de incêndio, failover, avisos de limite do sistema, etc.).

Então, a questão é: quanto de RAM “vale a pena?” Qual é o valor de um pouco mais rápido por $ / £ / E? Bem, isso é para cada pessoa decidir. Para mim, essa linha de valor ainda não foi cruzada.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *