Discussion:
dos maquinas con una CPU o una con dos CPU ??
(demasiado antiguo para responder)
JB
2004-04-09 07:39:59 UTC
Permalink
Hola!

No se si este es el mejor grupo para mi consulta o si otras como esta se han
hecho ya mil veces. Si es asi pido disculpas por delante.

La cuestion es que en mi trabajo utilizo un par de PCs (Pentium 4 a 2.0 y
2.8 GHz) para aplicaciones de calculo intensivo (CAD) instaladas sobre
Mandrake 9.2. Tipicamente, algunas de ellas se tiran entre varias horas y
varios dias corriendo para resolver un problema. Ahora he decidido ampliar
el hardware dedicado a estas aplicaciones comprando un par de maquinas
adicionales y la duda que me planteo es si me vale mas la pena dos PCs
normales con un buen procesador cada uno (digamos P4 3.4 GHz + 1 GB de RAM +
un buen disco, etc...) o bien uno con CPU-dual.
Una parte del software que utilizo tiene la posibilidad de ejecutarse en
paralelo y/o en forma distribuida entre varias maquinas por tanto, en este
sentido, seria una ventaja disponer de una maquina con dos CPUs. Por otro
lado esta la cuestion monetaria. No estoy muy al corriente de como esta el
mercado de los ordenadores con dos procesadores, pero creo que son bastante
mas caros que dos maquinas con una. Tampoco tengo claro que configuraciones
hay (supongo que montones de ellas). Por ahi he leido que para calculo
intensivo de coma flotante van muy bien los sistemas equipados con dos AMDs
(athlon, supongo) pero que por otro lado para mover datos pueden ser mejor
los Xeons por su cache. En mi caso, lo mas importante seria la capacidad
para machacar numeros muy rapido. Hay tambien la posibilidad de poner dos P4
sobre la misma placa? Y respecto a la placa, puede alguien recomendar alguna
en particular.

En fin, algun comentario respecto a estas cuestiones seria muy agradecido.

Saludos,

JB
Diego Calleja (Arador)
2004-04-09 14:15:11 UTC
Permalink
Post by JB
adicionales y la duda que me planteo es si me vale mas la pena dos PCs
normales con un buen procesador cada uno (digamos P4 3.4 GHz + 1 GB de RAM +
un buen disco, etc...) o bien uno con CPU-dual.
Dos máquinas diferentes deberían ir mejor que una dual. Mas que nada, porque
en la dual compartes la memoria (y su bus) y un monton de elementos.
Post by JB
para machacar numeros muy rapido. Hay tambien la posibilidad de poner dos P4
sobre la misma placa? Y respecto a la placa, puede alguien recomendar alguna
Tienen que ser xeon tengo entendido.
Turtu
2004-04-09 16:26:50 UTC
Permalink
Post by Diego Calleja (Arador)
Dos máquinas diferentes deberían ir mejor que una dual. Mas que nada, porque
en la dual compartes la memoria (y su bus) y un monton de elementos.
Más bien, al reves:
Al compartir la memoria, lo que consigues es que la comunicación entre
los procesos que se ejecutan entre los 2 procesadores sea mucho más rápida.
En caso de que tengamos 2 procesos ejecutándose que sean completamente
independientes sí sería como tu dices. Pero para resolver cálculos, lo
que suele ocurrir, es que unos datos dependen de otros, por lo que los
procesos deben comunicarse constantemente. Cuando un proceso tiene listo
un dato y quiere pasárselo al otro, simplemente do deja en alguna zona
de la memoria compartida para que el otro lo lea. Estando en 2 máquinas
diferentes los datos deben viajar por la red que es varios ordenes de
magnitud más lenta (y pasar por diversas capaz software:aplicacion,
transporte, red ...).

Por lo tanto, la mejora del rendimiento depende mucho del tipo de
aplicación y como se haya programado. Si se intenta que cada proceso
realice el máximo número posible de cálculos antes de comunicarse con el
otro entonces se notará menos el efecto de la distancia.
Post by Diego Calleja (Arador)
[...] la duda que me planteo es si me vale mas la pena dos PCs
normales con un buen procesador cada uno (digamos P4 3.4 GHz + 1 GB de RAM +
un buen disco, etc...) o bien uno con CPU-dual.
En general, yo creo (que me corrijan si me equivoco) que un ordenador
Dual da mayor rendimiento para proceso numérico (siempre con
aplicaciones preparadas para procesar datos en paralelo) que dos
ordenadores independientes. Eso si, suponiendo las mismas características.
Por ejemplo 2 ordenadores con un procesador a 1Ghz y 512Mb deberían
resolver un cálculo entre los 2 tardando más que un equipo Dual con 2
procesadores a 1Ghz y 1Gb de ram.

Por otro lado, un solo ordenador cuyo procesador funcione a 2Ghz, será
más rápido que uno con 2 procesadores a 1Ghz, porque se acelera la parte
no paralelizable (que no se puede dividir entre 2 procesadores) del
cálculo. Es decir, duplicar los procesadores no duplica el rendimiento.
Post by Diego Calleja (Arador)
Una parte del software que utilizo tiene la posibilidad de ejecutarse en
paralelo y/o en forma distribuida entre varias maquinas por tanto, en este
sentido, seria una ventaja disponer de una maquina con dos CPUs.
Hombre ... si el software ya viene preparado para ejecutarse en varias
máquinas diferentes, supongo que ya habrá pensado en todo esto, y habrán
minimizado lo más posible las comunicaciones entre los distintos
procesos para aprovecharse al máximo de las dos máquinas. Si optas por
la opción de varias máquinas, tienes que asegurarte de que la
comunicación por red sea lo mejor posible (buenas tarjetas de red y buen
switch)
Post by Diego Calleja (Arador)
Por otro
lado esta la cuestion monetaria.
... y de licencias ... porque no siempre puedes poner todo el software
en todas las estaciones que quieras (al menos, no de forma legal :)
Post by Diego Calleja (Arador)
No estoy muy al corriente de como esta el
mercado de los ordenadores con dos procesadores, pero creo que son bastante
mas caros que dos maquinas con una. Tampoco tengo claro que configuraciones
hay (supongo que montones de ellas). Por ahi he leido que para calculo
intensivo de coma flotante van muy bien los sistemas equipados con dos AMDs
(athlon, supongo) pero que por otro lado para mover datos pueden ser mejor
los Xeons por su cache. En mi caso, lo mas importante seria la capacidad
para machacar numeros muy rapido. Hay tambien la posibilidad de poner dos P4
sobre la misma placa? Y respecto a la placa, puede alguien recomendar alguna
en particular.
En fin, algun comentario respecto a estas cuestiones seria muy agradecido.
Saludos,
JB
Diego Calleja (Arador)
2004-04-09 19:08:33 UTC
Permalink
Post by Turtu
Al compartir la memoria, lo que consigues es que la comunicación entre
los procesos que se ejecutan entre los 2 procesadores sea mucho más rápida.
¿Con un bus de memoria compartida? Lo dudo...
De todas maneras, esto es exactamente igual que si tienes un solo procesador.
Nada raro.
Post by Turtu
independientes sí sería como tu dices. Pero para resolver cálculos, lo
que suele ocurrir, es que unos datos dependen de otros, por lo que los
procesos deben comunicarse constantemente. Cuando un proceso tiene listo
Y si no esta bien diseñado tambien puedes encontrarte con el caso extremo
de que te vaya mas lento que con una sola CPU por la coherencia de caches.
Turtu
2004-04-09 20:56:14 UTC
Permalink
Post by Diego Calleja (Arador)
Post by Turtu
Al compartir la memoria, lo que consigues es que la comunicación entre
los procesos que se ejecutan entre los 2 procesadores sea mucho más rápida.
¿Con un bus de memoria compartida? Lo dudo...
entonces ... ¿Es más rápido comunicar 2 procesos a través de una LAN,
que compartiendo una zona de memoria? No lo creo.
Post by Diego Calleja (Arador)
De todas maneras, esto es exactamente igual que si tienes un solo procesador.
Nada raro.
Post by Turtu
independientes sí sería como tu dices. Pero para resolver cálculos, lo
que suele ocurrir, es que unos datos dependen de otros, por lo que los
procesos deben comunicarse constantemente. Cuando un proceso tiene listo
Y si no esta bien diseñado tambien puedes encontrarte con el caso extremo
de que te vaya mas lento que con una sola CPU por la coherencia de caches.
Ahí estamos de acuerdo, si el programa no está muy bien pensado para
ejecutarse en paralelo, da igual que pongas 2 cpus o que pongas 100.
Pero, puesto que JB nos ha dicho que el programa que usa viene pensado
para ello, pues he presupuesto que los que lo hicieron ya pensaron en ello.
Diego Calleja (Arador)
2004-04-09 22:15:16 UTC
Permalink
Post by Turtu
entonces ... ¿Es más rápido comunicar 2 procesos a través de una LAN,
que compartiendo una zona de memoria? No lo creo.
nadie ha hablado de comunicar nada a traves de nada.
Post by Turtu
Ahí estamos de acuerdo, si el programa no está muy bien pensado para
ejecutarse en paralelo, da igual que pongas 2 cpus o que pongas 100.
Pero, puesto que JB nos ha dicho que el programa que usa viene pensado
para ello, pues he presupuesto que los que lo hicieron ya pensaron en ello.
En cuyo caso hay que tener en cuenta de igual manera que maneje bien los datos
para evitar el mayor trafico posible entre CPUs, y tener en cuenta la
sobrecarga inevitable del sistema operativo (que no puede permitirse el lujo
de no bloquear en cientos de sitios del nucleo)
JB
2004-04-09 23:27:22 UTC
Permalink
Post by Turtu
Ahí estamos de acuerdo, si el programa no está muy bien pensado para
ejecutarse en paralelo, da igual que pongas 2 cpus o que pongas 100.
Pero, puesto que JB nos ha dicho que el programa que usa viene pensado
para ello, pues he presupuesto que los que lo hicieron ya pensaron en ello.
Bien, supongo (y espero) que si. Lo cierto es que se se trata de un paquete
de software comercial que llevo usando desde hace un año y pico, y que en la
nueva version que acabo de recibir, dicen lo siguiente

"The forcefield code has been parallelized through the use of internal
threads. The best speedups are observed with 2 or 3 processors. MOE will
automatically use all available CPUs on a multi-processor."

Segun la compañia, esta posibilidad de ejecución en paralelo requiere una
maquina con multiples procesadores (ya que se basa en la utilización de
multiples threads.... o al menos eso es lo que me dijeron al
consultarles...) y no se le puede sacar partido corriendo el soft en forma
distribuida entre dos maquinas o mas. Quizas, como dice en los articulos que
reseña IRI, los nuevos Xeon o P4 con hyperthreading si puedan sacarle mas
jugo a la CPU con este tipo de aplicacion, lo cual apuntaria a que es mejor
optar por alguno de estos que por una maquina equipada con AMD, no?

JB

PD. Gracias a todos por los comentarios.
Seve
2004-04-11 19:14:56 UTC
Permalink
Un dia tal que el Sat, 10 Apr 2004 01:27:22 +0200, "JB"
Post by JB
"The forcefield code has been parallelized through the use of internal
threads. The best speedups are observed with 2 or 3 processors. MOE will
automatically use all available CPUs on a multi-processor."
Quizas, como dice en los articulos que
reseña IRI, los nuevos Xeon o P4 con hyperthreading si puedan sacarle mas
jugo a la CPU con este tipo de aplicacion, lo cual apuntaria a que es mejor
optar por alguno de estos que por una maquina equipada con AMD, no?
No mejor que AMD, sino mejor un dual que un monoprocesador. ¿Has mirado
los cacharritos don opteron duales? Como no llevan bus compartido como
los Intel, dicen que van muy bien.

Respecto al hyperthreading, te puede ir bien, te puede ir mal. Antes de
dejarlo puesto o quitado, hay que hacer sus pruebas a ver si te
interesa. He oído comentarios en los que hay veces que con
hyperthreading vas más lento (MS SQLServer parece ser uno de los casos).

- - - - - - - - - -
Seve.
EChMotor#486 BPD#6 Linux user#134969
306 XT HDI 2000-... Caleidoscopio Free
seve < @ > vicius < . > org
Las FAQ de es.comp.hardware.misc en http://www.escomphardwaremisc.org
2004. El año de Usenet. Las news cumplen 25 años (1979-2004) :).
Vaporetto
2004-04-09 16:00:19 UTC
Permalink
Hola, JB. Te contesto a lo poco que sé.

JB escribió [dos maquinas con una CPU o una con dos CPU ??] el Fri, 9 Apr 2004 09:39:59 +0200
[......] . No estoy muy al corriente de como esta el
mercado de los ordenadores con dos procesadores, pero creo que son bastante
mas caros que dos maquinas con una.
Hace poco estuve mirando máquinas en dell.com Tenían algunas con dos
procesadores que se me caía la baba. Por lo que recuerdo eran bastante
más caras que las de 1 CPU, pero no tango como dos máquinas sueltas.

Otra opción que tal vez te interese es comprar varias máquinas (más de
dos) con un procesador más ligerito, porque los procesdores más rápidos
cuestan un pico más que los inmediatamente anteriores.

Ángel.
--
aalcazar at euita upm es

"Se es viejo cuando se tiene mas alegría por el pasado que por el
futuro." -- John Knittel. (1891-1970)
IRI
2004-04-09 22:01:37 UTC
Permalink
Google es una buena opción :-P

por ejemplo me encontré con esto:

http://enter.terra.com.co/ente_eval/eval/ARTICULO-WEB-1001940-1134070.html
http://www.pcworld.com.pa/Articulos/2003/ene2003/09.htm
http://www.smaldone.com.ar/gnulinux/docs/scheduler/scheduler2.6_es.html

y con esta se aclaran los conceptos técnicos que ví le interesaban a
algunos:
http://www.intel.com/espanol/personal/resources/build/components/intgd.htm
http://www.intel.com/espanol/business/bss/products/hyperthreading/overview.htm

Estubo bueno la consulta, gracias a ella aprendi algo nuevo :-D


Salu2!!
Continúe leyendo en narkive:
Loading...