Para cálculos matemáticos complicados, ¿son más importantes los subprocesos adicionales o el acceso a disco de alta velocidad?

8

El próximo semestre, tengo la intención de comenzar a investigar en combinatoria. He usado y me he enamorado de las computadoras Mac y Wolfram Mathematica 8, y tengo la intención de usarlas para este proyecto y en la universidad. Seré doble licenciatura en Física y Matemáticas. Debido a que tengo un presupuesto limitado, me preguntaba cuál sería la prioridad para mis aplicaciones: tener un procesador de cuatro núcleos en lugar de un procesador de dos núcleos, o tener un SSD en lugar de un disco duro.

Fingolfin
fuente
1
Me tomé la libertad de editar el título de la pregunta tal vez un poco más al grano y, potencialmente, influir en el cierre de cualquier voto instintivo al no hacer una pregunta sustantiva. Personalmente, creo que esta es una buena pregunta para esta aplicación específica.
Shinrai
3
De hecho, diría que primero busca la mayor cantidad de RAM posible.
liori
1
Estoy de acuerdo con agregar más RAM. Tengo muy poca comprensión de la combinatoria, pero pueden ser adecuados para cálculos basados ​​en GPU. si se puede enhebrar en masa, es probable que se ejecute mucho más rápido en una GPU con CUDA o equivalente (muchas magnitudes más rápido en el craqueo de md5 que en las CPU de rango superior).
Silverfire
Tengo curiosidad por qué esto está obteniendo votos cercanos: ¿qué les parece objetable acerca de la pregunta?
Shinrai

Respuestas:

17

Para las aplicaciones que realizará, se preferirían 4 núcleos en lugar de un SSD.

Mathematica soporta específicamente procesadores multi-núcleo y escala extremadamente bien. Mira aquí:

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

No esperaría tanta diferencia de una unidad SSD en aplicaciones de matemáticas y física, que no procesan gigabytes de datos del disco.

bwall
fuente
+1: este es uno de los pocos casos en que un mayor número de núcleos / relojes más altos producirá un mayor beneficio que un SSD. También es lejos, MUCHO más fácil actualizar más tarde el almacenamiento en la mayoría de las Mac que en la CPU.
Afrazier
Usualmente no me gustan las preguntas como esta, pero esta es bastante objetiva; La velocidad de este tipo de cálculos (a menos que sean de complejidad trivial) va a obtener un gran impulso de los hilos de procesamiento adicionales.
Shinrai
1
Me enfrenté a una decisión similar hace años. Obtenga el i486DX33 con disco duro o un i486DX50 con solo unidades de disquete. Para cálculos matemáticos puros (como los que me preocupaban), el DX50 ganó sin dudas, ¡a pesar del acceso al disco dramáticamente más lento!
Brian Knoblauch
Voy a estar parcialmente en desacuerdo con los archivos enormes necesarios para obtener una ventaja de un disco rápido. Durante los últimos quince años he trabajado con una serie de motores de análisis de física nuclear y de partículas y Monte Carlos; y si bien estos tamizaron montones de datos moderadamente grandes, lo que tenían en común los IO enlazados era usar muchos archivos separados ... como diez archivos de configuración (incluye mecanismo y / o múltiples capas de fallas por defecto) y un disco de lado medio base de datos de geometría, tres archivos de registro, un sistema de punto de control, todo además de los grandes archivos de entrada y salida.
dmckee --- ex-gatito moderador
1
+1 - Pero también recomendaría asegurarse de que el sistema también tenga suficiente RAM. Asegúrese de tener 8 GB, no 4 en su sistema (realmente no es suficiente con Lion) y aproveche las CPU más rápidas a menos que vaya a procesar GB sobre GB de datos. (Encuestas de perforación, simulaciones de bombas nucleares, ese tipo de cosas) Si necesita más / más rápido almacenamiento más adelante, siempre puede usar una caja externa conectada a Thunderbolt. La CPU no es práctica para cambiar a menos que elija una Mac Pro.
SplinterReality
3

Al determinar sus nuevos requisitos informáticos, le recomiendo que obtenga las recomendaciones de sus profesores sobre cómo hacer frente a la explosión combinatoria . Sin duda tendrá que resolver algunos problemas que tienen este efecto secundario. Si sus requisitos de almacenamiento intermedio exceden su memoria principal disponible, su sistema comenzará a intercambiar ( sacudir ) la memoria del disco , e incluso los problemas simples tardarán "para siempre" en terminar.

Cuando tuve que resolver esos problemas con Mathematica en los últimos años, mi lema era: "Si golpeas, estás muerto".

Ingeniero jubilado
fuente
2

Estoy ofreciendo esto como una respuesta separada porque nadie ha mencionado aún el elefante en el sofá:

No es práctico cambiar la CPU más adelante en la mayoría de las Mac (cualquier cosa que no sea una Mac Pro), pero se puede agregar almacenamiento externo rápido más adelante si tiene conjuntos de datos realmente enormes, lo que no sería práctico almacenar en las unidades internas de todos modos.

Para cualquier cosa que no requiera un alto GB a TB de datos, las CPU serán más beneficiosas, y si necesita un alto GB / TB de datos, el SSD tampoco lo cortará, y necesitará una caja externa.

Mi recomendación: 8 GB de RAM y las CPU más rápidas que puede pagar. Si luego necesita discos muy rápidos para procesar TB de datos, compre una caja externa con una interfaz Thunderbolt. (Los SSD más grandes no aguantarán tanto de todos modos)

SplinterReality
fuente
1

Si sus tareas pueden ser paralelas (y para las matemáticas / física normalmente pueden serlo), vaya con múltiples núcleos y la cantidad de RAM que pueda pagar / necesitará. En general, la situación será que necesita mucho espacio en disco para almacenar datos antiguos (procesados ​​por varios métodos) y las partes IO del cálculo serán insignificantes en comparación con las partes de la CPU. Posiblemente considere obtener una buena GPU que pueda programar para necesidades computacionales serias; pero esto es probablemente exagerado para su pregunta.

Cargar 1 GB de datos del disco en un búfer (que puede ir a la memoria) lleva aproximadamente 10 segundos con un disco duro de 7200 rpm; y ese es un costo único para la mayoría de los cálculos. En raras ocasiones, sus complicados cálculos matemáticos tomarán solo unos segundos (y si lo hacen, el cuello de botella es que está interpretando los resultados y asignando nuevas tareas para ejecutar, no la velocidad de E / S). No es nada extraordinario tener un cuello de botella computacional donde los datos se cargan en la memoria, y tomaría un núcleo de 2 días completar una tarea; pero 4 núcleos podrían hacerlo en medio día. Ahora no tener suficiente RAM y tener que leer / escribir RAM en el disco será una gran ralentización (incluso usando una unidad SSD como intercambio).

Como una guía aproximada; una lectura de acceso aleatorio de RAM toma el orden de 10 ns; de un SSD diez mil veces más lento que eso (100 micro-s); y un disco duro es aproximadamente 100 veces más lento que eso (10 ms). Por lo tanto, realmente no desea realizar lecturas de acceso aleatorio desde SSD o disco duro. También para lecturas consecutivas del disco (por ejemplo, si está leyendo un archivo con todo el conjunto de datos en la memoria) los discos duros no funcionarán tan mal.

dr jimbob
fuente
-1

Si está mirando MacBook Pros, pondría la preferencia de tamaño de pantalla por encima de todo. Por lo que puedo ver, esto también define efectivamente el número de núcleos en la máquina. Luego, maximice la RAM (de terceros, tal vez). Luego busque en un SSD. Dejaría la diferencia entre 2.0GHz y 2.2GHz Core para el modelo de 15 "hasta el final. Es una diferencia de rendimiento relativamente pequeña por la diferencia de precio.

Brett Champion
fuente
Supongo que para un trabajo serio como este, el OP está mirando una computadora de escritorio, no una computadora portátil. Obtiene mucha más potencia de procesamiento por su dinero (sí, incluso de Apple McOverpriced ...)
Shinrai
@Shinrai Es difícil de decir sin más información sobre lo que está considerando el OP, cuál es el rango de precios, si el OP ya tiene un monitor, etc. Los iMacs son máquinas bastante buenas por el precio, incluidas pantallas agradables, y todo tener procesadores de cuatro núcleos. Pero esta computadora también es para uso universitario, lo que creo que hace que las computadoras portátiles sean atractivas para llevarlas a la biblioteca, reunirse con grupos para trabajar en proyectos, etc. Con frecuencia, incluso en las computadoras portátiles, puede usar la GPU para obtener más (FAST ) núcleos para tipos específicos de cálculos (con programación adicional) desde Mathematica.
Brett Champion