Risposta migliore
La prima cosa da sapere è che i computer con così tanta RAM sono più lenti di quanto pensi. La gestione di molti ram bank richiede una tecnologia che renda più lento laccesso alla RAM (NUMA, ECC, gli indirizzi sullaltro lato dello stick richiedono unazione di arresto …). Pensa a loro come a un grosso camion mentre il tuo laptop è unauto (forse una F1). Se hai bisogno di fare la spesa, la macchina sarà la tua scelta.
La seconda cosa è che quei computer sono molto costosi. Non solo a causa delle chiavette RAM, ma tutto deve essere ridimensionato. Scheda madre del server, molte CPU XEON, enormi ram stick … tutto questo cosiddetto hardware “professionale” veniva fornito con la “tassa sul server” il doppio del prezzo per ogni aumento del 10\% delle prestazioni. È possibile ottenere molta più potenza dal computer acquistando hardware di dimensioni ragionevoli.
Inoltre, la maggior parte delle volte un computer deve essere bilanciato. Se hai così tanta RAM, hai bisogno di molti core per lavorarci e di un array molto veloce di SSD per caricare e salvare i dati. Alcuni usi non sono bilanciati e richiedono più di una risorsa.
Per un utente domestico normale non cè bisogno di tanta ram.
Allora a che servono queste bestie? Sono utili quando è necessario lavorare su molti dati contemporaneamente. Anche se la loro RAM è più lenta della RAM di un normale computer, è ancora volte più veloce dellSSD più veloce.
Quindi gli usi comuni includono:
- database relazionale di grande memoria
- big key-value store (no sql)
- big graphs database
- alcuni lavori scientifici: studio del dna, simulazione
- enorme configurazione PLM server nellindustria automobilistica e dello spazio aereo
- che esegue VM (questo è un uso stupido, ma ancora uno dei più comunemente visti)
Anche nel mondo professionale, buoni team IT tendono a diffondere le attività su più computer utilizzando algoritmi come la riduzione delle mappe, il rendering delle fattorie per il rendering 3D … Se possibile, è molto più efficiente, più flessibile e più facile da gestire i guasti. Puoi spegnere i computer o aggiungerne altri per scalare con il carico.
Inoltre, la maggior parte di questi computer viene acquistata dal sistema di amministrazione per uno di questi stupidi motivi:
- Non vogliono assumersi alcuna responsabilità, quindi acquistano il computer più grande disponibile e se il software fallisce potrebbero dire che non è colpa loro perché hanno fatto il massimo.
- Sono geek e vogliono più grande giocattoli rispetto ai loro amici. Se il tuo lavoro ti paga lauto che desideri, prenderesti una Prius o una Bugatti?
- Il processo di acquisto è molto lento nella loro azienda e comporta molte azioni che costano anche di più in risorse umane che in hardware si. Nel momento in cui ottengono il server, è diventato hardware comorbidità (un po esagerato lì).
- Se il tuo capo sa che lIT funziona con $ 500 dai computer degli scaffali ti guarda come un idraulico, è più difficile giustifica il tuo stipendio che se gestisci un milione di infrastrutture e sembri un gestore di una centrale nucleare.
Sì, tutte queste cose sono stupide ma molto comuni. È il mio lavoro quotidiano riprogettare le infrastrutture e ottimizzare i costi.
Una piccola storia per finire: dopo 3 anni di servizio, è apparso un problema su un servizio di messaggistica (Kafka). Alcuni messaggi sono stati memorizzati più volte e il successivo software in catena fallisce (dovrebbe gestirlo). Dopo unanalisi, ho riscontrato nella documentazione che si trattava di un comportamento normale del sistema di messaggistica sotto carico. Garantisce che i messaggi arrivino almeno una volta, ma potrebbero esserci messaggi doppi. Ho detto “il sistema è sovraccarico”, il team IT ha riso di me “non stiamo nemmeno raggiungendo il 10\% sui nostri 3 nodi x 48 core, 1 TB di ram cluster, sei stupido” … Ho mantenuto la mia posizione e ho chiesto un accesso sul servizio per trovare il problema. Conoscendo le mie azioni precedenti e temendo che esponessi un errore, hanno ricontrollato tutto. Sembrava che nel file di configurazione di 10 righe di Kafka fosse scritto “number\_of\_thread = 4”. Sì, hanno eseguito un servizio su un cluster da $ 150.000 e utilizzano solo 4 core su ciascun nodo, ecco perché non supera mai il 10\% di utilizzo della CPU. Nessuna delle 20 persone coinvolte lo ha visto. Ha funzionato in questo modo per 3 anni, anche un laptop da $ 1000 avrebbe fatto il lavoro. Fanno lo stesso tipo di cose su tutte le applicazioni che ho visto in questa azienda. Eppure hanno più di 150.000 dipendenti e gestiscono 3 enormi data center. Molte aziende stanno facendo lo stesso, posso raccontarti tonnellate di storie come questa …
Risposta
Se il tuo computer avesse 1 TB di RAM, cosa ne faresti?
Grazie per lA2A. Onestamente … vendilo.
Seriamente, il denaro che otterrei da 1 TB di RAM vale più che la perdita di avere così tanta memoria volatile.
Ecco il punto. Se qualcosa va storto con il tuo computer, non è in alcun modo che tu possa trasferire 1 TB di RAM nella memoria permanente nel tempo necessario al collasso del sistema.
La RAM è una sorta di tecnologia “Riccioli doro”.Tutto ciò che è così grande da richiedere tanta RAM non sarebbe mai in grado di essere salvato in tempo. Persino le velocissime tecnologie di memoria persistente (PM) come Z-NAND o 3DXPoint semplicemente non riescono a tenere il passo con lenorme corsa di dati richiesta.
[Modifica – quasi un anno dopo]
Ok, quindi questa risposta ha ricevuto alcuni commenti e sembra che ci siano bisogno di ulteriori chiarimenti. Metterò insieme alcune delle mie risposte ai commenti per renderlo più fluido.
I computer sono progettati per salvare dati, non perderli. La RAM è volatile e quindi pone tali dati a grande rischio.
Alcuni dati sono dati “di supporto”. Supponiamo, ad esempio, i processi che vengono eseguiti nel tuo sistema che hanno una durata di conservazione molto breve (come i processi che aggiornano i metadati sul tuo file system). Vivono nella RAM perché la loro utilità è estremamente breve. Inoltre non richiedono un lotto di RAM.
Un altro esempio di dati “helper” è il tipo di dati utilizzato per il rendering audio e video di alta qualità, lavori fotografici, caricamento di mappe e trame nei videogiochi, ecc. Quei dati utilizzano molta RAM (non tanto quanto 1 TB, ma è comunque più del normale documento Microsoft Word), ma perdere quei dati non è così rischioso.
(Giochi a un videogioco e vedi lavviso di non spegnere la macchina quando vedi il simbolo “salva partita”? Sì, è allora che la tua macchina scrive i tuoi dati dalla RAM al disco. Scrivere dati dalla RAM al disco è anche una delle parti più rischiose dello spostamento dei dati. È così che i file salvati vengono corrotti più spesso .)
Avere 1 TB di RAM – per il costo coinvolto mentre ho scritto questa risposta – è utile solo per pochi carichi di lavoro selezionati. In generale, questi carichi di lavoro sono attività gravose di numeri che altrimenti richiederebbero enormi quantità di I / O.
Carichi di lavoro computazionali in memoria fanno richiedono enormi quantità di RAM. 1 TB non è abbastanza, in realtà. Contengono interi database nella RAM per eseguire calcoli incredibilmente veloci. Questo tipo di dati, tuttavia, non sono dati “di supporto”, né sono dati che possono essere facilmente ricostruiti o ricaricati (come faresti semplicemente con il rendering del tuo progetto video).
La maggior parte delle persone – me compreso – non esegue database in memoria o ha bisogno di conservare interi set di dati in memoria per lelaborazione.
Quindi, se si dispone di unapplicazione che salva spesso i dati (trasferimento I / O su disco), quindi non è necessaria una grande dimensione della RAM. Supponiamo che Microsoft Word in questo esempio salverà i tuoi dati su disco regolarmente in modo che il loro margine di errore sia piccolo (se la RAM si guasta tra i salvataggi, la quantità di dati / lavoro che viene eseguita dallultimo trasferimento I / O è perso, e questo è ridotto al minimo). Ciò non cambierà con la maggiore quantità di RAM disponibile.
La maggior parte delle applicazioni e dei carichi di lavoro non dicono al sistema operativo: “Dammi tutta la RAM che hai”. Quindi, quello che hai è un gran numero di applicazioni che creano carichi di lavoro con 1 TB di RAM. Certo, è veloce e sarebbe bello poterlo fare, ma ne vale la pena? Per me? No.
La maggior parte dei dati su cui lavora il consumatore medio non richiede una quantità così grande di capacità per essere conservata nella memoria volatile.
Ora, con 1 TB di RAM, alcune persone hanno dischi RAM consigliati. Purtroppo, questo è precisamente il caso duso a cui mi riferisco che 1 TB di RAM è meno adatto in termini pratici.
Nel caso in cui non hai familiarità con cosa sia un disco RAM, è un caso duso speciale in cui il sistema operativo tratta una quantità specifica di memoria come un disco rigido molto, molto veloce disco. Il problema è che tutto che è memorizzato su quel disco RAM è, hai indovinato, volatile. Lutilizzo di un disco RAM come spazio di lavoro principale per il computer è spesso troppo allettante per molte persone e sono scioccate nello scoprire che molti dati che ritenevano sicuri e sicuro non lo è mai stato.
Chiunque utilizzi dischi RAM per larchiviazione di dati mission-critical è in cerca di guai. Ogni volta che si lavora su un disco RAM e si “salva” il file, non viene salvato in modo permanente . Devi ancora riscrivere tutti i dati su un dispositivo di archiviazione permanente principale. Supponendo 1 TB di dati, è molto più lungo di quanto le persone credano.
(Nota: i dischi RAM possono essere automatizzati per salvarli su un dispositivo di archiviazione permanente, proprio come fa il tuo documento di Microsoft Word, ma 1 TB richiede ancora molto , molto tempo per passare al disco in caso di emergenza.)
Le VM sono utili per una menzione speciale, qui, e sono grato a Thomas Zoltan per averlo sollevato. Le macchine virtuali funzionano molto, molto bene con molta RAM e il sistema operativo host deve essere in grado di fornirla, soprattutto se si prevede di ospitare più VM sulla stessa macchina.
(NB: Inizialmente avevo frainteso il punto iniziale di Thomas, era che le VM usassero la RAM, non sarebbero state memorizzate in un disco RAM . Stava discutendo di entrambi i casi duso e io li avevo messi insieme. Penso di capire ora cosa stava cercando di dire, però.)
Ovviamente, uso tutte queste VM nel mio laboratorio di test il tempo. Le mie macchine di prova hanno 128 GB di RAM per essere in grado di gestire il rapido spin-up e spin-down delle VM, e TBH potrebbero sicuramente usare un po più di respiro, soprattutto perché il software di VMware non è così snello e cattivo come una volta essere.
La maggior parte delle persone, anche se (me compreso), non usa ambienti VSAN o vSphere nella propria casa. Ce lho a casa mia lab , ma su quelle macchine non cè niente che possa essere considerato mission critical anche in remoto.
E alla fine io penso che sia qui che si trova il malinteso in alcuni dei commenti a questa risposta. In qualche modo la gente ha pensato che stavo dicendo che non cera un caso duso per tutta quella memoria affatto . Lo trovo sconcertante, perché quello che ho detto è stato:
[I] i soldi che avrei ottenuto da 1 TB di RAM valgono più che la perdita di avere così tanta memoria volatile.
E questo è vero. Avendo 1 TB di RAM reale e accessibile ( nessuno dei miei computer può usare tanta RAM! Come in, non hanno la capacità di use it) è una proposta molto costosa, e il denaro che ne ricaverei vale più che averlo adesso .
Tra 4 o 5 anni? Bene, chi lo sa. Probabilmente guarderemo indietro a questa risposta (come facciamo con tutte le risposte relative al computer che si occupano di velocità e feed) e penseremo: “Che strano! Ricordi quando 1 TB era inaccessibile ? ” 🙂
A proposito …
Il motivo per cui il concetto è entrato in discussione è che ho avuto un cliente che ha eseguito una grande quantità di elaborazione in memoria (1 TB, infatti) , che doveva essere in grado di rilasciare tutti i calcoli memorizzati su disco in 8 secondi. Il problema era (ed è ancora) che mentre il carico di lavoro calcolava i risultati a una velocità fenomenale, non cera modo di salvare i dati in un archivio permanente nel tempo in cui il sistema si sarebbe spento a causa di unemergenza (allarme antincendio, failover, avvisi di soglia di sistema, ecc.).
Quindi, la domanda diventa: quanta RAM “ne vale la pena?” Qual è il valore di un “po” più veloce per $ / £ / E? Be , spetta a ogni persona decidere. Per me, quella linea di valore non è stata ancora superata.