Per complicati calcoli matematici, sono più importanti i thread aggiuntivi o l'accesso al disco ad alta velocità?


8

Il prossimo semestre, ho intenzione di iniziare a fare ricerca in combinatoria. Mi sono usato e mi sono innamorato dei computer Mac e Wolfram Mathematica 8, e ho intenzione di ottenerli da utilizzare con questo progetto e al college. Sarò un doppio maggiore in Fisica e Matematica. Poiché ho un budget limitato, mi chiedevo quale sarebbe stata la priorità per le mie applicazioni: avere un processore a quattro core invece di un processore a due core o avere un SSD anziché un disco rigido?


1
Mi sono preso la libertà di modificare il titolo della domanda per forse un po 'di più al punto e potenzialmente ondeggiare qualsiasi voto istintivo per chiudere sulla base del non porre una domanda sostanziale. Personalmente ritengo che questa sia una buona domanda per questa specifica applicazione.
Shinrai,

3
In realtà direi innanzitutto di utilizzare la maggior quantità di RAM possibile.
liori,

1
Sono d'accordo con l'aggiunta di più RAM. ho una conoscenza molto scarsa della combinatoria ma possono essere adatti per calcoli basati su GPU. se può essere sottoposto a thread di massa, probabilmente funzionerà molto più velocemente su una GPU usando CUDA o equivalente (molte più velocità sul cracking md5 rispetto alle CPU di fascia alta).
Silverfire,

Sono curioso di sapere perché questo sta ottenendo voti ravvicinati - cosa ritenete discutibili della domanda?
Shinrai,

Risposte:


17

Per le applicazioni che farai, 4 core sarebbero preferiti su un SSD.

Mathematica supporta specificamente i processori multi-core e si adatta in modo ottimale. Vedere qui:

http://www.wolfram.com/technology/guide/MulticoreSupport/

Non ci si aspetterebbe che molta differenza da un'unità SSD in applicazioni matematiche e fisiche, che non elaborano gigabyte di dati dal disco.


+1 - Questo è uno dei pochissimi casi in cui un numero maggiore di core / clock superiori produrrà un vantaggio maggiore rispetto a un SSD. E 'anche molto, FAR più facile da aggiornare dopo l'immagazzinamento nella maggior parte dei Mac rispetto alla CPU.
Afrazier

Di solito non mi piacciono le domande come questa, ma questa è piuttosto concreta; la velocità di questo tipo di calcoli (a meno che non siano di banale complessità) otterrà un enorme impulso dai thread di elaborazione aggiuntivi.
Shinrai,

1
Ho dovuto prendere una decisione simile anni fa. Ottieni i486DX33 con disco rigido o i486DX50 con solo unità floppy. Per calcoli matematici puri (come quelli di cui mi occupavo), il DX50 ha vinto a mani basse, nonostante l'accesso al disco drammaticamente più lento!
Brian Knoblauch,

Non sarò parzialmente in disaccordo per i file enormi necessari per ottenere un vantaggio da un disco veloce. Negli ultimi quindici anni ho lavorato con una serie di motori per l'analisi della fisica nucleare e delle particelle e Monte Carlos; e mentre questi setacci di pile di dati moderatamente grandi la cosa che avevano in comune quelli legati a IO stava usando molti file separati ... come dieci file di configurazione (include meccanismo e o più livelli di errore rispetto alle impostazioni predefinite) e disco a media faccia database di geometria basato su tre file di log, un sistema di checkpoint tutto in aggiunta ai grandi file di input e output.
dmckee --- ex gattino moderatore,

1
+1 - Ma consiglierei anche di assicurarsi che anche il sistema disponga di RAM sufficiente. Assicurati di avere 8 GB, non 4 nel tuo sistema (in realtà è appena sufficiente sotto Lion) e balza per le CPU più veloci a meno che non elaborerai GB su GB di dati. (Sondaggi di perforazione, simulazioni di bombe nucleari, quel genere di cose) Se in seguito è necessario uno stoccaggio più / più veloce, è sempre possibile utilizzare una scatola esterna collegata a Thunderbolt. La CPU non può essere modificata a meno che non si utilizzi un Mac Pro.
SplinterReality,

3

Nell'ambito delle nuove esigenze informatiche, ti consiglio di ottenere i consigli dei tuoi professori su come affrontare l' esplosione combinatoria . Senza dubbio dovrai risolvere alcuni problemi che hanno questo effetto collaterale. Se i requisiti di archiviazione intermedi superano la memoria principale disponibile, il sistema inizierà a scambiare la memoria del disco ( thrashing ) e anche i semplici problemi impiegheranno "per sempre" per terminare.

Quando ho dovuto affrontare problemi del genere con Mathematica negli anni passati, il mio motto era: "Se thrash, sei morto".


2

Lo sto offrendo come una risposta separata perché nessuno ha ancora menzionato l'elefante sul divano:

La CPU non può essere modificata in un secondo momento sulla maggior parte dei Mac (qualsiasi cosa diversa da un Mac Pro), ma è possibile aggiungere una memoria esterna veloce in un secondo momento se si dispone di set di dati davvero enormi, che sarebbe comunque impossibile archiviare sulle unità interne.

Per tutto ciò che non richiede GB o TB di dati elevati, le CPU saranno più vantaggiose e se hai bisogno di GB / TB di dati elevati, l'SSD non lo taglierà e avrai bisogno di una scatola esterna.

Il mio consiglio: 8 GB di RAM e le CPU più veloci che puoi permetterti. Se in seguito hai bisogno di dischi molto veloci per elaborare TB di dati, acquista una scatola esterna con un'interfaccia Thunderbolt. (I SSD più grandi non reggono così tanto comunque)


1

Se i tuoi compiti possono essere parallelizzati (e per la matematica / fisica in genere possono essere) vai con più core e tutta la RAM che puoi permetterti / di cui avrai bisogno. In generale, la situazione sarà se è necessario un sacco di spazio su disco per memorizzare vecchi dati (elaborati con vari metodi) e le parti IO del calcolo saranno trascurabili rispetto alle parti CPU. Forse prenderei in considerazione l'idea di ottenere una buona GPU da programmare per gravi esigenze computazionali; ma questo è probabilmente eccessivo per la tua domanda.

Per caricare 1 GB di dati dal disco in un buffer (che può andare in memoria) sono necessari circa 10 secondi con un disco rigido a 7200 rpm; e questo è un costo una tantum per la maggior parte dei calcoli. Raramente i tuoi complicati calcoli matematici impiegheranno solo pochi secondi (e se lo fanno - il collo di bottiglia è tu che interpreti i risultati e dai nuovi compiti da eseguire, non la velocità di I / O). Non è affatto fuori dal comune avere un collo di bottiglia computazionale in cui i dati vengono caricati in memoria, e ci vorrebbe un core 2 giorni per completare un'attività; ma 4 core potrebbero farlo in mezza giornata. Ora non avere abbastanza RAM e dover leggere / scrivere RAM su disco sarà un enorme rallentamento (anche usando un'unità SSD come swap).

Come guida approssimativa; un accesso casuale letto dalla RAM assume l'ordine di 10 ns; da un SSD diecimila volte più lento di quello (100 micro-s); e un disco rigido è circa 100 volte più lento di quello (10 ms). Quindi non vuoi davvero fare letture ad accesso casuale da SSD o disco rigido. Anche per letture consecutive dal disco (ad esempio, stai leggendo un file con l'intero set di dati in memoria) i dischi rigidi non funzioneranno in modo così scadente.


-1

Se stai guardando i MacBook Pro, metterei la preferenza sulla dimensione dello schermo sopra tutto il resto. Da quello che posso vedere, questo definisce efficacemente anche il numero di core nella macchina. Quindi massimizza la RAM (di terze parti, forse.) Quindi cerca un SSD. Lascerei la differenza tra 2.0 GHz e 2.2 GHz Core per il modello da 15 "fino alla fine. È una differenza relativamente piccola nelle prestazioni per la differenza di prezzo.


Suppongo che per un lavoro serio come questo l'OP stia guardando un desktop, non un laptop. Ottieni molta più potenza di elaborazione per i tuoi soldi (sì, anche da Apple McOverpriced ...)
Shinrai,

@Shinrai È difficile dire senza ulteriori informazioni su ciò che l'OP sta prendendo in considerazione, quale sia la fascia di prezzo, se l'OP ha già un monitor, ecc ... Gli iMac sono macchine piuttosto carine per il prezzo, compresi i bei display, e tutto hanno processori quad core. Ma questo computer è anche per uso universitario, che penso rende i laptop attraenti per portarlo in biblioteca, incontrarsi con i gruppi per lavorare su progetti, ecc ... Spesso anche sui laptop è possibile utilizzare la GPU per ottenere ulteriori (VELOCE ) core per tipi specifici di calcoli (con programmazione extra) dall'interno di Mathematica.
Campione di Brett,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.